快手精排模型实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 快手精排模型实践
牛亚男 社区科学部
资深推荐算法工程师
2. 目录
• 自我介绍
• 快手推荐系统
• CTR模型 – PPNet
• 多domain多任务学习框架
• 短期行为序列建模
• 长期行为序列建模
• 千亿特征,万亿参数模型
• 总结和展望
3. 01
自我介绍
4. 自我介绍
2017年加入快手
快手精排模型组负责人
负责场景
主站双列发现页,精选
极速版发现页
短视频推荐
超3亿用户,数百亿分发
快手核心迭代&活动
双列,设置版,极速版,精选,全局上下滑
K3,春节红包 etc.
5. 02
快手推荐系统
6. 快手推荐系统
类信息检索范式
用户无显式query
推荐系统数据漏斗结构
• 候选集 ~tens of billions
• 召回(Retrieval)
• 排序(Ranking)
•
•
•
粗排 ~tens of hundreds
精排 ~hundreds
重排 ~tens
7. 快手推荐系统
快手推荐特点
• 数亿用户,百亿短视频
• 行为数据差异大
• 内容更丰富,玩法多样
• 用户兴趣广泛&多变
• 用户交互类型多,场景复杂
主站发现页
主站发现页内
流
主站精选 极速版发现页
直播 电商直播
挑战:用户兴趣精准建模!
关注页
同城页
8. 03
CTR模型
9. CTR模型
个性化预估模型是推荐系统的核心
• 预估用户click的概率
• 预估效果直接影响用户体验
业界模型演化
• 从特征,行为序列提升模型个性化
• DNN核心为全连接网络(FCN)
• 全局共享
DNN作用
• 所有用户视频共享
• 捕捉全局用户视频语义模式
• 但没有用户个性化
启发:如何为DNN网络增加个性化?
模型演化
双列发现页
10. CTR模型
全局网络+个性化局部网络
• 现有DNN网络stack用户网络
• Resnet layer
用户个性化偏置
• LHUC算法
•
•
learning hidden unit contributions
激活函数乘以个性化偏置
• DNN网络乘用户个性化偏置
• 初始为1向量
问题
• 单用户行为不足以保证收敛
• 不稳定的网络导致embedding变差
• User bias vector缺少动态表征能力
Stacking 方法
11. CTR模型
全局网络+个性化局部网络
• 现有DNN网络stack用户网络
• Resnet layer
用户个性化偏置
• LHUC算法
•
•
learning hidden unit contributions
激活函数乘以个性化偏置
• DNN网络乘用户个性化偏置
• 初始为1向量
问题
• 单用户行为不足以保证收敛
• 不稳定的网络导致embedding变差
• User bias vector缺少动态表征能力
个性化偏置
12. CTR模型
全局网络+个性化局部网络
• 现有DNN网络stack用户网络
• Resnet layer
用户个性化偏置
• LHUC算法
•
•
learning hidden unit contributions
激活函数乘以个性化偏置
• DNN网络乘用户个性化偏置
• 初始为1向量
问题
• 单用户行为不足以保证收敛
• 不稳定的网络导致embedding变差
• User bias vector缺少动态表征能力
Stacking 方法
个性化偏置
13. CTR模型 PPNet(Parameter Personalized Net)
PPNet
• 全局共享为基础,个性化微调
• 设计gate网络拟合个性化偏置参数
• Base网络不BP
通用的提升模型个性化方法
• 与特征优化方法正交
• DNN模型通用
• 多场景应用
GPU加速预估服务
• 服务性能显著提升
• 机器成本优化
• GPU预估
PPNet
14. 04
多domain多
任务学习框架
15. 多domain多任务学习框架
业务背景
多产品,多场景
主站发现页
主站精选
发现页内流
极速版发现页
多人群
新用户,老用户,etc.
多交互
问题
几十个目标
业务独占模型
训练资源低效
迭代低效
业务间不共享网络
不能动态建模目标,业务间关系
双列发现页
底导精选
发现页内流
极速版
16. 多domain多任务学习框架
业务背景
多产品,多场景
主站发现页
主站精选
发现页内流
极速版发现页
多人群
新用户,老用户,etc.
多交互
问题
几十个目标
业务独占模型
训练资源低效
迭代低效
业务间不共享网络
不能动态建模目标,业务间关系
老用户
新用户
低活用户
17. 多domain多任务学习框架
业务背景
多产品,多场景
主站发现页
主站精选
发现页内流
极速版发现页
多人群
新用户,老用户,etc.
多交互
问题
几十个目标
业务独占模型
训练资源低效
迭代低效
业务间不共享网络
不能动态建模目标,业务间关系
精排模型预估目标(部分)
18. 多domain多任务学习框架
目标:模型融合下多任务学习
挑战
• 交互,样本,目标差异
• 特征语义差异
• Embedding分布差异
• 特征重要性差异
• 多目标表征差异
精排模型预估目标(部分)
19. 多domain多任务学习框架
算法框架
特征语义对齐
• 删减无用特征
• 改正语义不一致特征
• 添加单列播放列表类特征,交叉特征
Embedding空间对齐
•
Embedding transform gate,直接学习映射关系
特征重要性对齐
•
slot gate,参考业务,用户,视频,学习特征级别重要性
EVA model
目标个性化MMoE
• 以MMoE为基础,动态建模目标之间关系
• 每个task tower输入添加个性化偏置项
20. 多domain多任务学习框架
算法框架
特征语义对齐
• 删减无用特征
• 改正语义不一致特征
• 添加单列播放列表类特征,交叉特征
Embedding空间对齐
•
Embedding transform gate,直接学习映射关系
特征重要性对齐
•
slot gate,参考业务,用户,视频,学习特征级别重要性
EVA model
目标个性化MMoE
• 以MMoE为基础,动态建模目标之间关系
• 每个task tower输入添加个性化偏置项
21. 多domain多任务学习框架
算法框架
特征语义对齐
• 删减无用特征
• 改正语义不一致特征
• 添加单列播放列表类特征,交叉特征
Embedding空间对齐
•
Embedding transform gate,直接学习映射关系
特征重要性对齐
•
slot gate,参考业务,用户,视频,学习特征级别重要性
EVA model
目标个性化MMoE
• 以MMoE为基础,动态建模目标之间关系
• 每个task tower输入添加个性化偏置项
22. 多domain多任务学习框架
算法框架
特征语义对齐
• 删减无用特征
• 改正语义不一致特征
• 添加单列播放列表类特征,交叉特征
Embedding空间对齐
•
Embedding transform gate,直接学习映射关系
特征重要性对齐
•
slot gate,参考业务,用户,视频,学习特征级别重要性
EVA model
目标个性化MMoE
• 以MMoE为基础,动态建模目标之间关系
• 每个task tower输入添加个性化偏置项
23. 多domain多任务学习框架
总结
• 模型融合,在离线一套模型
• MMoE首次落地
• 全业务推全
• 交互涨幅显著
EVA model
24. 05
短期行为序列
建模
25. 短期行为序列建模
业务背景
单双列业务下的用户行为序列差异
单列更适合做E&E
Transformer有效对文本序列建模
Transformer序列模型
Google于2017年提出
替代RNN成为主流
快手推荐情况
用户行为特征占主导
RNN表现不如sum pooling
相关性大于时序性
Transformer
26. 短期行为序列建模
算法改进
使用encoder部分
•
对历史序列进行表征
使用用户视频播放历史序列
• 包含用户更多信息(观看时长,交互label)
• 不同业务语义一致
Transformer layer self attention替为target attention
• Self attention无明显收益
• 使用当前embedding层对sequence做attention
• 简化计算复杂度 O(n 2 d) -> O(nd)
log(now - 视频观看时间戳) 代替position embedding
• 最近观看视频更相关,log处理更合适
• 更久之前观看视频体现用户长期兴趣分布
EVA model
27. 06
长期行为序列
建模
28. 长期行为序列建模
推荐系统短时记忆
• 信息茧房
• 推荐多样性
建模用户多序列不同行为
• Like follow forward等不同交互目标
• 不同目标稀疏程度不同
• 能捕捉到不同长度的用户兴趣偏好
扩长用户交互历史序列
• 小时->年
• 万级别用户行为序列
超长序列上如何建模?
• 短时Transformer收益显著
• 扩长list带来收益
EVA model
29. 长期行为序列建模
Transformer建模问题
• 结构限制:过长的 list 上收敛性不好
• 复杂度高:Target Attention 计算成本过
高
SIM
• 存储用户长期交互历史行为
• GSU:基于item相似检索历史行为
• ESU:基于GSU做MTA
SIM用户历史索引问题
• 扩展性差:对于后续的迭代不友好
• 类目问题:短视频类目精准度和覆盖率问
题
30. 长期行为序列建模V1.0
基于Tag检索
快手方案
• 独立存储方案:依托 AEP高密度存储设备
直接存储用户超长行为历史
•
• 进一步完善类目体系
GSU检索采用回溯补全算法,最大路径匹
配的算法衡量相似度;ESU采用短时
Transformer方案
项目难点:计算量增加
•
•
算法优化
• 合并相同Tag候选视频的搜索过程
• 提前建立类目倒排链,简化搜索流程
成本优化:利用线上 GPU 推理服务器的
闲置 CPU 资源
总结
• SIM算法首次在短视频推荐落地
• 业界首次覆盖用户历史至年,数万级别
• 收益巨大,建立护城河
• 扩展到其他场景
31. 长期行为序列建模V1.0
基于Tag检索
快手方案
• 独立存储方案:依托 AEP高密度存储设备
直接存储用户超长行为历史
•
• 进一步完善类目体系
GSU检索采用回溯补全算法,最大路径匹
配的算法衡量相似度;ESU采用短时
Transformer方案
项目难点:计算量增加
•
•
算法优化
• 合并相同Tag候选视频的搜索过程
• 提前建立类目倒排链,简化搜索流程
成本优化:利用线上 GPU 推理服务器的
闲置 CPU 资源
总结
• SIM算法首次在短视频推荐落地
• 业界首次覆盖用户历史至年,数万级别
• 收益巨大,建立护城河
• 扩展到其他场景
32. 长期行为序列建模V1.0
基于Tag检索
快手方案
• 独立存储方案:依托 AEP高密度存储设备
直接存储用户超长行为历史
•
• 进一步完善类目体系
GSU检索采用回溯补全算法,最大路径匹
配的算法衡量相似度;ESU采用短时
Transformer方案
项目难点:计算量增加
•
•
算法优化
• 合并相同Tag候选视频的搜索过程
• 提前建立类目倒排链,简化搜索流程
成本优化:利用线上 GPU 推理服务器的
闲置 CPU 资源
总结
• SIM算法首次在短视频推荐落地
• 业界首次覆盖用户历史至年,数万级别
• 收益巨大,建立护城河
• 扩展到其他场景
33. 长期行为序列建模V2.0
基于Embedding距离检索
V1.0的问题
• 路径长度:检索的视频粒度差异很大
• 节点距离:粒度太粗,兄弟节点距离
• 覆盖率不足
思考
检索核心不是完备的标签体系
而是更好更高效的视频相似性检索方案
优化方向
• 视频100%覆盖类目体系
• 类目细粒度表征
• 类目间距离可度量
• 高效
用户长期兴趣建模
34. 长期行为序列建模V2.0
基于Embedding距离检索
快手方案
基于视频内容embedding聚类
GSU检索算法
1. 优先聚类内视频
2. 最近聚类补全
近似做了余弦相似度检索
又节省了余弦相似度计算量
总结
• 快手特色的长期行为建模
• 收益巨大,建立护城河
• 扩展到其他场景
目标视频
类簇
类簇
用户历史行为
35. Put it together
快手精排模型
• PPNet
• 多domain模型融合
• 多任务学习
• 短期行为序列建模
• 长期行为序列建模
快手精排模型结构示意图
36. 07
千亿特征,万
亿参数模型
37. 1.9万亿参数模型
特征规模限制精排模型迭代
• 模型收敛不稳定
• 模型更容易逐出低频特征
• 冷启动效果变差
改进参数服务器(GSET)
• 更好的控制内存使用
• 定制feature score淘汰策略
全局贡献的嵌入
表
• 效果优于LFU,LRU等淘汰策略
• 结合新的硬件:非易失内存(Intel AEP)
• 底层KV引擎NVMKV来支撑GSET
NVMKV索引和内存管理
38. 总结和展望
未来优化重点
• 模型融合
• 多任务学习
• 用户长短期兴趣建模&融合
• 用户留存建模
39. Thank you !
欢迎加入我们
牛亚男 niuyanan@kuaishou.com
微信:elbasawiwasable
40. 非常感谢您的观看