推荐系统在腾讯游戏运营中的实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 推荐系统在腾讯游戏运营中的实践
2.
3. 自我介绍
王佳强
腾讯
专家工程师
多年搜索、机器学习平台及推荐系
统实践经验
现为IEG数据中台算法工程负责人
4. 大纲
• 腾讯游戏在运营上的实践
• 推荐系统整体架构
• 在推荐系统建设过程中的优化
5. 腾讯游戏在运营上的实践
6. 全生命周期精细化运营
摘自《2021年中国游戏产业报告》
7. 全生命周期精细化运营
活跃度
拉新
引导
成⻓关怀
激活
挽回
理想曲线
时间
潜在用户阶段
新手阶段
有效活跃阶段
活跃下降阶段
流失阶段
8. 全生命周期精细化运营
9. 全生命周期精细化运营 -方案
多合作方
多增⻓方案
英雄联盟
端
游
QQ⻜⻋
逆战
网⻚
游戏
QQ炫舞
王者荣耀
手
游
乱世王者
斗地主
和平精英
嵌入方
游戏
请
求
接
入
日志
业
务
逻
辑
推
理
服
务
模
型
流
转
多数据格式
训
练
流
水
线
一站式机器学习平台
离
线
数
据
实
时
数
据
10. 全生命周期精细化运营 -方案
多合作方
多增⻓方案
英雄联盟
端
游
QQ⻜⻋
逆战
网⻚
游戏
QQ炫舞
王者荣耀
乱世王者
手
游 跑跑卡丁⻋
和平精英
嵌入方
游戏
请
求
接
入
日志
业
务
逻
辑
推
理
服
务
模
型
流
转
多数据格式
训
练
流
水
线
一站式机器学习平台
离
线
数
据
实
时
数
据
11. 推荐系统整体架构
12. 架构总览 -基础设施的重要性
google NIPS:Hidden Technical Debt in Machine Learning Systems
13. 架构总览 -一站式机器学习平台
14. 架构总览
item下发给用户
离
数据源
ETL
样本拼接
线
样本生成
样本处理
业务逻辑
样本
特征抽取
下发给用户的item
模型/评估
离线训练
在线推理
召回
特征转储
拉特征
用户
灌特征
上报日志
在
实时消费
特征快照
实时特征
线
特征存储
样本拼接/样本处理/特征抽取
样本生成
在线学习
更新模型
特征快照
15. 整体效果统计
业务相关指标
架构总览 -监控
业务逻辑
用户
灌库延迟、成功率
db监控数据
存储
灌库
延迟
字段级统计
记录数等
特征快照
道具特征表
用户特征表
样本
拼接
样本
处理
特征
抽取
训练
用户行为表
延迟问题
字段级统计
记录数
在线AUC等
延时、成功率、
产出分布、链路
跟踪等
成功率
运行时⻓、
产出数量等
实际正负样本比
字段级统计
记录数
特征抽取一致性
更新及时性
输出值分布
NaN/Inf
指标过滤
推理
延时、成功率、
特征缺失率、外
部请求成立率延
时、打分分布等
单条样本打分一致性
16. 在推荐系统建设过程中的优化
17. 概览
运营方案1
运营方案N
...
方案1
游戏A
方案2
方案1
游戏B
方案2
游戏C
推荐系统管线
推理
样本拼接
训练
模型优化
...
特征管理标准化
一站式机器学习平台
18. 性能优化 —样本拼接
N万个key
用户触发
用户曝光&行
为&特征快照
特征数据
mem
Key
Key
Key
Key
Master
MQ
Scheduler
indexer
blockid
blockid
blockid
blockid
Driver
实时流
go
indexer
find
py
一个block
拼接前
worker
worker
拼接
拼接后
分布式文件系统HDFS
ssd中的一个文件
offset
offset
offset
offset
19. 性能优化 —训练优化
parameter server(PS)
adam优化器
参数
参数更新
获取本
batch数
据的参数
参数m
参数v
...
N个
PS
梯度传输
M*N条连接
• 样本量
• 模型复杂度
• 模型参数量
Worker
样本读取
参数获取
参数训练
模
型
计
算
...
分布式文件系统
M个Worker
• 通信
• 计算
20. 性能优化 —训练优化可观测
21. 性能优化 —训练优化方案
parameter server(PS)
参数*
计算:
• 算子并行化
• hash表优化
通信:
• 训练流水线并行化
• 算子、数据放置位
置
insertOp
更新
hashtables
adam优化器
参数m
参数v
beta1/2
lr
...
PS
lookupOp
lookupOp
Worker
loss
反向计算
前向计算
...
样本读取
dataset
ids
分布式文件系统
unique
Worker
22. 性能优化 —推理优化
计算图裁剪
输出模型
输入模型检查
自动模型优化 计算图冻结、裁剪、算子融合等
优化后
模型 测速,生成profile信息
算子融合
运算并行
无效计算清除
优化前后模型输出对比检查
Serving
优化结果上报,失败告警
等价替换
......
23. 训练流程
原始样本
特征抽取在模型中
python
特征
抽取
训练
统计
推理流程
客户端
重复N遍
user feature
tfserving
item feature
.......N个item........
user feature
item feature
推理服务
假设user feature M1维,item feature M2维数据有效率:(M1+N*M2)/(N*(M1+M2))
真实案例:M1=38000,M2=7488 N=100,数据有效率:17%
推理
慢!
特征
抽取
模型
拉取user特征
流程改变
拉取item特征
spark
特征抽取是个动态库
原始样本
特征提取
特征
抽取
特征
抽取
训练样本
特征
存储
流程改变
训练
推理逻辑
平台支持 tfserving
平台支持
统一灌库组件和 SDK
分析请求
拉取user特征
分析请求
特征提取
模型
用户id+N个itemid,约1KB
统计
配置
动态库
推理
业务自己编写模块、灌数据
item特征缓存
特征提取
推理逻辑
标准
化的
特征
存储
24. 总结
运营方案1
运营方案N
...
方案1
游戏A
方案2
方案1
游戏B
方案2
游戏C
成效
推荐系统管线
• 减轻算法工作负担
• 提升整体上线效率
推理
样本拼接
训练
模型优化
...
特征管理标准化
一站式机器学习平台
25.
26.
27. • Thanks