NVIDIA 助力腾讯 PCG 加速无量推荐系统

作者 英伟达中国

案例简介
• 本案例中通过使用 NVIDIA GPU 加速平台,腾讯平台与内容事业群(PCG)深度学习平台实现了”无量推荐系统”模型训练到在线推理的全流程GPU加速,整体效能性价比提升1~3倍。
• 本案例主要应用到 NVIDIA A100 Tensor Core GPU以及相关软件的加速平台。

客户简介及应用背景
无量推荐系统承载着腾讯平台与内容事业群的推荐场景, 包括: 腾讯看点(浏览器,QQ看点,商业化),腾讯新闻,腾讯视频, 腾讯音乐,阅文,应用宝,小鹅拼拼等。无量推荐系统支持日活跃用户达数亿级别, 其中的模型数量达数千个,日均调用服务达到千亿级别。
无量推荐系统在模型训练和推理都能够进行海量Embedding和DNN模型的GPU计算, 是目前业界领先的体系结构设计。

客户挑战
传统推荐系统具有以下特点: 训练是基于参数服务器的框架,解决海量数据和稀疏特征的分布式训练问题。推理通常分离大规模Embedding和DNN,只能进行DNN的GPU加速。

所以,传统的推荐系统架构也具有局限性:

  1. 大规模分布式架构有大量的额外开销,比如参数和梯度的网络收发。
  2. 随着DNN模型复杂性的的进一步提升,CPU的计算速度开始捉襟见肘。

随着业务的快速增长,日活用户增多,对其调用数量快速增加,给推荐系统后台带来了新的挑战:
1, 模型更加复杂,计算量更大,但是参数服务器的分布式架构有效计算比很低。
2, 海量Embedding因为规模庞大,查询和聚合计算难以有效利用GPU高性能显存和算力的优势。

应用方案

基于以上的挑战, 腾讯选择使用基于NVIDIA A100 Tensor Core GPU的分布式系统架构来创建无量推荐系统。
1, 通过多级存储和Pipeline优化,在HPC上完成大规模推荐模型的GPU的高性能训练。
2, 基于特征访问Power-law分布的特性,GPU缓存高频特征参数,同时从CPU中动态获取低频特征参数,实现了大规模推荐模型完整的GPU端到端模型推理。

使用效果及影响

腾讯平台与内容事业群有多种类型的推荐业务场景。比如信息流推荐的QQ浏览器、QQ看点,新闻推荐的腾讯新闻,视频推荐的腾讯视频、微视,App推荐的应用宝,以及腾讯音乐的音乐推荐和阅文集团的文学推荐。
无量推荐系统承载了这些推荐业务场景的模型训练和推理服务。基于传统的推荐系统架构,无量使用大量CPU资源,通过分布式架构可以扩展到TB级模型的训练和部署,取得了巨大的成功。
随着业务的快速增长,日活用户增多,对其调用数量快速增加,传统架构局限性限制了推荐系统的架构扩展和性能提升。


通过使用GPU训练和推理,单机多卡的GPU算力可以达到数十台CPU机器的算力,节省了大量的额外分布式开销。通过充分利用A100 GPU高性能显存快速访问Embedding,以及并行算力处理DNN推理,单张A100 GPU可以在相同的延迟下推理10倍于CPU的打分样本。
目前基于GPU的推荐架构可以提升模型训练和推理性价比1~3倍。
展望未来,无量推荐系统将不断优化推荐模型在GPU上的应用,利用HPC多机多卡,混合精度等能力,进一步提高推荐场景使用GPU的性价比。