推荐模型深度学习系统设计
推荐场景与目标
- 推荐场景深度学习系统需解决千亿级特征(TB级)模型的在线/离线训练、在线推理服务和持续上线问题,并针对推荐特点进行深度优化。
- 应用场景覆盖腾讯PCG全部业务(IEG、CSIG、QQ音乐、阅文等)及部分IEG、CSIG业务,推理成本占AI推理成本的>72%。
推荐系统核心特点
- 基本特点:
- 用户与系统交互为7*24小时流式学习。
- Item和User的动态变化导致特征随时间新增、遗忘,Embedding空间动态变化。
- Hotkey现象显著,训练与推理的Hotkey高度重合。
- 数据的时空特点:
- 短时间内只有部分Item和User被命中,部分参数被用到。
- 机器学习的特点:
大规模推荐模型深度学习系统基本解决维度
- 分布式系统:解决TB级模型训练和优化问题。
- 大规模模型优化算法:追求高性能且效果无损的优化。
训练框架
- 基于参数服务器架构的分布式训练框架:
- TB级模型分片存储/更新,百TB数据分片训练。
- 参数按需获取/更新,解决动态空间问题。
- 异步训练流水线和多级存储:
- 降低参数准备与更新耗时(训练耗时下降超50%)。
- 内存消耗下降30%-70%。
- 基于GPU的多级存储训练:
- 显存优化:将参数按显存容量分片(内存参数、显存参数、SSD磁盘参数)。
- 提升性价比:减少节点数,提升节点同构性。
推理服务
- 分布式Serving架构:
- 读写架构:多线程无锁(基于模型版本读写分离)、多机多副本并行读取、CPU基于L1缓存查询优化。
- 支持多模型和多版本,解决模型大小超TB、请求量大(>10000请求/秒)、耗时要求<10ms等业务需求。
- TB级模型实时上线:
通讯与模型优化
- 参数/梯度压缩:
- 混合压缩方案(量化、稀疏化)效果提升~90%-50%,训练速度提升10%-30%。
- 模型压缩:
- 减少Key+Embedding values,支持混合精度、key级别稀疏化、值长度缩短等。
- Embedding Table优化:
- Double Hashing技术,内存节省188%-264%。
未来方向
- 算法工程协同:
- 多场景建模、端云一体化协同推荐技术(如DCAF、UNBERT、One Model to Serve All)。
- 推荐全链路自适应,削峰填谷,资源最大化利用。
- 预训练模型(Bert、GPT-3)在推荐领域的应用。
- 解决推荐链路漏斗资源浪费、结果利用不充分等问题。
总结
千亿级推荐模型应用需解决TB级特征训练、在线推理和持续上线问题,针对推荐特点进行深度优化。系统需具备分布式训练、异步流水线、GPU显存优化、多级存储、高效推理服务等能力,并通过参数/梯度压缩、模型压缩、Embedding Table优化等技术降低成本。未来方向包括多场景建模、端云协同、全链路自适应等算法工程协同方案。