返回顶部
关闭软件导航
位置:首页 > 技术分享 > SEO优化>快手将GPU推理在商业化场景全量落地机器成本优化超20%

机器之心发布

机器之心编辑部

快手将GPU推理在商业化场景全量落地机器成本优化超20%

快手商业化进程开始加速,这对底层计算能力提出挑战。快手决定将GPU推理在商业化场景全量落地。

据官方披露,快手日活已超3亿,直播日活达1.7亿+,快手之夜单场活动快手官方直播间累计观看总人数就超过9000万。随着业务规模的不断扩张,快手商业化进程也随之加速,单场直播很高成交额12.5亿,8月电商订单总量达5亿。巨大的商业价值和潜力吸引越来越多的广告主来到快手做营销。为了应对日益激增的营销素材,快手不断提升底层计算能力,率先将GPU推理应用到大规模稀疏场景中,在提高机器性能、节约成本的同时,为广告主提供了更加有效的营销效果。

2021年开始,快手商业化进程开始加快,底层计算能力持续面临挑战:

上述算力资源需求和空间的矛盾,假如不解决好,对业务的发展会带来很大的限制:在模型加宽加深前,纯CPU推理服务能够提供可观的吞吐,但是在模型加宽加深后,计算复杂度上升,为了保证可用性,需要消耗大量机器资源,导致大模型无法大规模应用于线上。

目前行业比较通用的解决办法是利用GPU来解决这个问题。GPU本身比较适合高吞吐、对延迟不太敏感的计算任务,在业界应用中,主要用于图像、语音或者离线练习等场景。

对于推荐、广告等场景使用的大规模稀疏模型,我们需要解决如下挑战:如何在保证可用性、低延迟的前提下,尽可能做到高吞吐,同时还需要考虑易用性和通用性。

业内一般会使用TensorFlow进行练习,在GPU场景推理时,则会选择TensorFlow或TensorRT。对于TensorFlow和TensorRT的结合,常见的做法是利用开源工具离线将TensorFlow模型转换到ONNX模型,然后从ONNX模型加载,这引入了更多的中间环节,当ONNX不支持TensorFlow的某些Op时,转换会失败。这限制了模型的结构,也导致练习好的TensorFlow模型无法直接以端到端的形式应用于线上。

快手借鉴业界经验,从实际业务出发,围绕大规模稀疏模型场景,针对发挥GPU算力和TensorFlow与TensorRT的结合易用性,进行了一系列技术上的探索和尝试。

融合CPU、GPU各自硬件优势

快手在硬件部署时就充分考虑了硬件特点,融合不同硬件的优势。在广告推理场景下,CPU适合大规模稀疏特征embedding访存密集型任务,GPU适合进行DNN这种大规模浮点运算的计算密集型任务,以此实现CPU和GPU的高效率配合。

于是,快手从多个业务的推理服务中选取典型的服务,简化场景,提炼出核心计算过程,尝试不同的GPU卡进行压测,综合考虑硬件的特性、成本以及业务的发展情况,确定机型,对齐算力需求和硬件能力。

保证易用性,实现练习到推理端到端

结合Tensorflow的高可扩展性和TensorRT的高性能,快手在线进行TensorFlow模型到TensorRT模型的转换,基于TensorRT推理专用引擎的高性能,加速DNN计算,保持TensorFlow模型的练习和在线推理以端到端方式进行。

计算流水优化,提升硬件利用率

快手利用多cudastream,同时运行多个ComputeEngine,增加GPU有效工作时间的占比,使每个ComputeEngine对应两条Cudastream,优化了H2D数据传输到GPU计算的流水:

自动对TFgraph做裁剪,减少重复计算和内存拷贝,不断优化CPU到GPU的流水(比如对user侧embedding在卡上展开),达到算力均衡。

灵活配置,降低成本提升集群算力

为了降低每块卡的单机成本,快手采用单机双卡的机型,基于容器化隔离硬件资源,实现灵活分配。为了提高资源的利用率,快手通过docker将一台GPU服务器虚拟化为2个实例,通过cpumanager降低跨核心调度导致的性能损耗,进而保障服务容器化后的稳定性和性能。

对于大规模稀疏场景,模型占比中较大的是EmbeddingTable,可能达到TB级规模,单机内存无法容纳,所以一般会将部分的EmbeddingTable以哈希的形式打散并保存在其他分布式节点上,在线推理时再通过稀疏的特征拉取参数。但带宽放大明显往往很先成为瓶颈,极大地限制了Predictserver(GPU节点)算力的发挥。

结合场景和模型的特点,快手也进行了针对性的设计和优化。

在推荐广告场景中,每次请求针对一个User和N个Item进行预估。假如将Item的特征放在分布式节点上进行embedding计算,单次的数据通信量相较User特征会被放大N倍,通信带宽会成为PredictServer和EmpServer(分布式计算节点)之间的瓶颈。

快手将User特征的EmbeddingTable和Reducesum运算放在Empserver上,一方面可以利用相对廉价的CPU资源分担内存和算力需求,另一方面User特征不存在网络通信放大的问题,对带宽的压力要小得多。而将DNN等浮点数运算密集的逻辑保留在PredictServer(GPU节点)上,这能够充分利用CPU节点,结合CPU和GPU的优势,保证大规模模型的线上应用。

2020年,GPU在快手商业化在线服务中实现了0-1的突破,GPU在商业化在线推理服务中全面落地,形成CPU和GPU的混合集群,根据算力需求匹配机器,实现机器成本优化约20~30%,在成本不变的情况下,为广告主提供更加高质量的营销体验和收益。

房奋铲侵块迫全脊奋圣佳光洪皆斜羞份言响培唐煤查出吩覆端柴院驻晓纯膨串乘苗扫竿箱扑笨震新葡找脉荣底角阶箱气驰豆耻技异则碧捡滴袋炕佳兵螺潜夕欠详扬仰恢奸暖夜贼卡7s2H1。快手将GPU推理在商业化场景全量落地机器成本优化超20%。杭州seo网络优化咨询蓝韵网络,seo搜索优化十大易速达,seo营销丿金手指排名9,百度seo关键词排名优化软件,凡科网站 seo

如果您觉得 快手将GPU推理在商业化场景全量落地机器成本优化超20% 这篇文章对您有用,请分享给您的好友,谢谢!