x

携手NVIDIA in Aauto,更快部署业界最先进的GPU计算基础设施。

2023-11-09 07:03:46编辑:沉舟

日活2亿多条快手、库存短视频超过130亿条,以每天上传1500万条以上短视频的速度新增,拥有海量的超大型数据应用场景。

携手NVIDIA in Aauto,更快部署业界最先进的GPU计算基础设施。

第一基础设施规模已经位居国内顶级互联网公司前列。

目前,快速服务的规模已经超过10万台,数据总量达到EB级别,每天添加的数据量超过5PB。

为了确保千亿级数据量的处理、基础架构的稳定和高效运行,快速通道服务器选定和业务优化团队(下称“快速通道团队”)选择了合作伙伴,与新一代图灵体系结构TESLA T4/V100

快手SAT团队成员经验丰富,人均工作经验10年左右,专注硬件的成员多来自国内外大型服务器或硬件制造商,专注软件的成员多来自国内头部互联网企业

正是这样软硬结合的团队,为快手超过2亿的日活量级提供了坚实的保障。

快手SAT团队研发人员表示,快手大数据的应用场景,如视频推荐平台、音视频理解、风控、商业化广告、强化学习等都是公司的核心业务,很多业务场景的数据处理需求量很大,NVIDIA全新的特斯拉结合现有的计算平台( CPU、FPGA等),快速将TESLA T4部署到新的软件包中,同时以最快的速度适应公司的核心业务,确保硬件基础架构处于行业领先地位。

GPU体系结构优化性能提高一倍成本降低30%

为了满足快速发展的业务需求,必须尽可能地满足业务的灵活性和多样性需求。 此外,在避免过于发散包装数量的同时,还必须兼顾成本优化目标,面临的问题非常复杂。

为了最大限度地平衡需求和复杂性,快速通道团队最终决定部署两个GPU软件包,并将其与虚拟化容器相结合,以满足不同业务场景的不同需求。

GPU服务器,尤其是多卡GPU服务器在实际计算中,通常会遇到CPU性能成为瓶颈的问题。

为了解决CPU性能瓶颈、GPU利用率不高的问题,快手SAT团队联合算法团队,通过在Resnet50/SSD中将Resize、Augment等从CPU端转移到GPU端的方法,实现CPU的加载

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的高性能归功于t42个nvdec引擎,在解码Hevc时投入了比H264更多的计算单元

T4的Fast Preset和P4的Slow preset在质量和数量上大致相同

与文本类标识相比,使用TensorRT-Inference-Server的性能提高了两倍左右

从以上对比图中可以看出,现阶段的GPU计算体系结构优化使业务性能平均提高了两倍,成本比以前节约了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设定10个以上的监控参数,通过训练这些积累的数据得到阈值,并利用该阈值进行故障预判。

通过该训练预测了不断循环的过程,使故障的预判越来越准确。

后续计划

快手的日活度不断增加,用户数据不断丰富,模型数量不断增加,越来越复杂,空间占有率呈几何级增长。

目前,SAT团队正在做一些事情。 我们结合了大容量、低成本的NVM和GPU来部署异构计算异构存储服务器。 结合100G/200G/400G RDMA,构建CPU offload体系结构,提高分布式计算效率; 将存储资源与计算资源分离。

快手选型在线流程和NVIDIA企业级技术支持团队已有一年多的合作经验,以TESLA GPU的部署为契机,快手SAT团队整理规范了一套针对GPU服务器部署和应用而优化的科学体系,具有良好的实践体验大大节约了企业的时间成本,同时计算能力更好的GPU计算架构也为未来快手关键业务线的更复杂模型奠定了坚实的基础。

更多排行: