首页 >>

快手联手英伟达部署业界最先进GPU计算基础架构

日活超过 2 亿的快手,库存短视频超过 130 亿条,仍以每日超过 1500 万条短视频上传的速度新增,拥有海量超大数据应用场景。快手基础设施的规模已经处于国内顶级互联网公司头部行列。目前快手服务器规模已经超过十万台,数据总量达到 EB 级别,每天新增数据超过 5PB。

为保障千亿级别数据量的处理和基础设施稳定、高效运行,快手服务器选型和业务优化团队(以下简称「快手 SAT 团队」)选用合作伙伴英伟达新一代图灵架构的 TESLA T4/V100,在业内率先完成计算架构的全新升级。

据了解,快手 SAT 团队的成员经验丰富,人均工作经验在 10 年左右,专注于硬件方面的成员大多来自于海内外大型服务器或者硬件厂商,专注于软件方面的成员大多数来自国内头部互联网企业。正是这样的一个软硬结合的团队,给快手超过 2 亿 的日活量级提供了坚实的保障。

据快手 SAT 团队研发人员介绍,快手大数据应用场景如视频推荐平台、音视频理解、风控、商业化广告、强化学习等都是公司的核心业务,多个业务场景数据处理需求量大,英伟达推出新的特斯拉架构产品之后,SAT 团队将 TESLA T4/V100 GPU 的引入列为首要任务,使用新一代的 GPU,搭配现有的计算平台(CPU、FPGA 等),第一时间将 TESLA T4 引入到新的套餐上,同时以最快速度适配给公司内的核心业务,保障硬件基础架构走在业界前列。

GPU 架构优化性能提升 2 倍成本节省 30%

针对快手快速增长的业务需求,既需要尽可能的满足业务灵活多变的需求,又不能使得套餐数量过于发散,同时要兼顾成本优化目标,所面临的问题十分复杂。为最大限度的平衡需求和复杂性,快手 SAT 团队最终决定引入了 2 个 GPU 套餐,搭配虚拟化容器,满足不同业务场景下的不同需求。

GPU 服务器特别是多卡 GPU 服务器在实际计算中,普遍会面临 CPU 性能成为瓶颈的问题。为了解决 CPU 性能瓶颈、GPU 利用率不高的问题,快手 SAT 团队联合算法团队,通过在 Resnet50/SSD 上将 Resize、Augment 等从 CPU 端迁移至 GPU 端的方法,将 CPU 的 loading 逐步迁移到 GPU 上,进一步利用了 GPU 强大的计算能力,解放了 CPU,达到了 CPU 和 GPU 之间的最佳的均衡计算效果。

GPU 之间的性能均衡是另一个问题。部分业务场景的模型体积非常巨大,单 GPU 显存往往没有办法存下整个模型,这时候通常会将模型存在内存中,由 CPU 来进行相对应的运算操作,快手 SAT 团队通过优化 CPU 亲和性,避免了负载不均和查找路径较远的问题。

快手的训练模型要求精度较高,之前普遍使用 FP32,模型较大,目前正在慢慢使用混合精度来替代原来方案,性能得到明显提升。在实际使用中,快手 SAT 团队也发现 AMP(自动混合精度)虽然使用起来简单,但并不能适配所有业务。所以需要快手 SAT 团队和业务团队一起尝试不同方法,结合 FP32、AMP 以及手动混合精度等手段为业务方的训练提供最佳的计算性能。

推理模型相对于训练模型,普遍存在 batchsize 较小的问题,需要对内存进行频繁的读写访问,同时推理相较于训练,要求的精度没有那么高。为解决这些问题,同时为更好的利用新架构中的 Tensor Core 的性能,快手 SAT 团队在第一时间引入了 TensorRT,帮助业务快速使用在 GPU 上,使得运行速度大大提升,编译后的代码所占内存的大小大大缩减。

解码 H264:T4 / P4 = 2.6 倍左右;解码 Hevc:T4/P4 = 4 倍左右。在 Hevc 下的高性能,得益于 T4 的 2 个 nvdec 引擎,解码 Hevc 时比 H264 投入的计算单元更多

T4 的 Fast Preset 与 P4 的 Slow preset 在质量和并发数量上大致相当

使用 TensorRT-Inference-Server,对比 text-classification,性能提升 2 倍左右

从以上对比图中可以看出,通过现阶段 GPU 计算架构的优化,业务的性能平均增长了 2 倍,成本较之前节省了 30% 以上。

软硬结合,优化落地

为了让新产品的特性更好的助力快手的业务,快手 SAT 团队提供了一整套的流程方案。了解业务使用需求后,通过分析目前的瓶颈点和高频使用资源,合理选择硬件产品,将这些产品快速集成在套餐之中。新硬件往往伴随着一些新的框架和指令集的支持,例如 TESLA T4 对于 FP16 的支持,使得 T4 的性能大幅提升。参考这些新特性,业务部门将代码优化后部署上线。通过 Vtune/Nsight 等工具对代码进行分析,优化低效的部分,最终呈现最好效果后上线灰度,追求高效迅捷,使得快手一直走在技术的前沿。

(图示:快手选型上线流程)

(图示:快手新硬件/新技术引入平台模块)

自定义监控,防范故障于未然

如果说使用是第一步的话,那么运维就是第二步。快手 SAT 团队针对 GPU 的监控,一共做了三件事,一是自主开发的 GPU 使用率监控,二是自定义的 GPU 故障监控,三是 GPU 的故障预判。

监控 GPU 的使用率,可以使得业务更加了解自己的负载情况,也可以验证前面选型配置的合理性。通常来说业内大多使用 smi 中的 GPU-Util 参数来判断 GPU 的使用情况,但快手在实际使用中发现,判断 GPU 的使用率是一个较为复杂的问题,GPU-Util 反应的只是单位时间内 GPU 的整体使用情况,并不能清晰地反应 GPU 的负载情况。针对这种情况,快手 SAT 团队手动开发了一套使用率监控脚本,从 SM 单元、编解码单元采样值、带宽负载、读写时间比等多个维度进行分析,最终得出 GPU 的综合使用率。

故障的监控,是一个比较老生常谈的问题,在任何硬件产品上都会遇到,GPU 因为其较高的功耗和温度,以及业务对其的强依赖性,最初快手 SAT 团队设置了非常多的监控指标,这些监控指标都是通过 GPU 设备的 API 提炼抽取出来的,但是随着监控实例的增加,告警的数量也随之大幅提高。这些告警里包括持续告警、波动告警、关联告警,当然这些告警的出现,使得快手在第一时间发现了问题,但是也给快手的运维人员造成了极大的困扰。为了解决告警泛滥的问题,快手 SAT 团队对监控参数进行分析整合,针对不同业务使用 GPU 时的不同需求,制定业务生死标准:影响业务生存的标准优先报,在单位时间内发生的告警只报一个。

故障的预判,是为了避免有可能发生的故障对业务带来损失,这个预判的准确性是关键。故障的预判在很多情况下都是一个导火索,是一个随着时间的推移慢慢变成现象级的过程。快手 SAT 团队在故障的预判方面针对 GPU 设定了十余个监控参数,通过对这些积累下来的数据进行训练,得到一个阈值,再使用这个阈值进行故障预判。通过这个训练预测不断循环的过程,使得故障的预判越来越精准。

后续规划

随着快手日活量不断增加,用户数据不断丰富,模型的数量越来越多,越来越复杂,在空间的占用上呈几何级数增长。目前快手 SAT 团队正在做几件事:引入大容量低成本 NVM 与 GPU 组成异构计算+异构存储服务器;搭配 100G/200G/400G RDMA,做 CPU offload 的架构,提高分布式计算的效率;将存储资源和计算资源解耦分离。

快手选型上线流程和英伟达企业级技术支持团队已经有了一年多的合作经验,以 TESLA GPU 引入为契机,快手 SAT 团队整理规范了 GPU 服务器引入和应用优化一整套的科学体系,并在实践中获得了极佳的业务收益,为公司节省了大量的时间成本,同时计算力更加出色的 GPU 计算架构也为未来快手关键业务线上线更加复杂的模型打下了坚实的基础。

文章来源:高颜值兵哥哥刷屏

标签:丰巢回应诱导消费,海军招飞宣传片发布,印度放宽对华签证,小说唇枪将影视化,宁波达能电器集团有限公司