分支路径图调度框架在vivo效果广告推荐系统中的实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 分支路径图调度框架
在vivo效果广告推荐系统中的实践
周保建丨vivo互联网效果广告AI架构师
2. 目录
图调度框架简介
分支路径图调
度框架的实现
在效果广告推荐统
中的落地过程
3. Chapter 1
4. 异步调度
实时AI预估服务
ABT
效果广告
推荐系统
Predictor
上下游依赖众多
Schedule
健壮和高可用
高可扩展性
Feature
Server
Kafka
5. 曾经的异步调度方法
面向过程 树调度 DAG
callback函数 框架调控 有向无环图
可读写性差 可读性比较优雅、清晰 图广度遍历
可扩展性差 扩展性较面向过程方法要好 扩展性较好
可维护性差 但不能准确地描述服务调用流程 但对分支
尤其是失败和超时管理较差
大量的控制状态
导致可扩展性不断降低
?
需要新方法
6. 推荐系统流程
开始
开始
解析请求
获取用户
特征
获取 ABT
参数
获取本地
广告特征
Game
User Emb
Game
User pay
Pre-rank
前置策略
Rank
预估 CTR
预估 CVR
预估 CVR2
粗排 Recall
Rerank)
后置策略
拼接结果并返回
结束
全链路 debug(Kafka)
结束
理
想
状
态
7. 推荐系统流程
正常
开始
超时
异常
解析请求
获取用户
特征
获取 ABT
参数
获取本地
广告特征
Game
User Emb
Game
User pay
异常处理
超时处理
异常处理
前置策略
预估 CTR
预估 CVR
预估 CVR2
粗排 Recall
后置策略
拼接结果并返回
结束
异常处理
超时处理
全链路 debug(Kafka)
兜底逻辑
现
实
状
态
8. 推荐系统服务调用流程
0
input
1
Pre-rank
2
rank
3
rerank
4
output
5
-1
-2.1
-5
output
-3.0
0
input
1
Pre-rank
2
-2.0
rank
3
-3.0
-3.1
rerank
4
output
5
9. Chapter 2
10. 现有问题
开始 开始
解析请求 解析请求
Skip()
Pre-rank
Pre-rank
Skip()
关闭个性化
推荐
关闭个性化
推荐
前置策略
前置策略
Skip()
rank
rerank
异常
异
常
和
超
时
Skip()
异
常
和
超
时
rank
Skip()
rerank
异常
Skip()
接口结果
并返回
结束
全链路debug
(Kafka)
接口结果
并返回
结束
全链路debug
(Kafka)
11. 熵增
struct GraphContext {
bool skip_1 = true;
bool skip_2 = true;
bool skip_3 = true;
bool skip_4 = true;
bool skip_5 = true;
bool skip_XX = true;
};
开始
解析请求
Skip()
Pre-rank
Skip()
关闭个性化
推荐
前置策略
Skip()
Skip()
异
常
和
超
时
rank
全路径DAG中, 每增添一个节点 ,导致:
控制变量数量 +1
状态全集 x2 , 复杂度成 指数 增长
Skip()
rerank
异常
Skip()
接口结果
并返回
结束
全链路debug
(Kafka)
12. 原理
0
0
0
分支节点
1
1
路径 0
路径 1
路径 2
1
13. 原理
NFA
DAG
DFA
DDAG
转换表
Deterministic Directed Acyclic Graph
输入
状态
1
NFA: start
A
ε
B
R=0*1*2*
2
ε
C
0
DFA: start
A,B,
C
2
B
C
1
1
A
B,C
2
C
0 1 {A,B,C} {B,C} {C}
{B,C} {C}
ø {C}
ø
ø
2
14. Chapter 3
在效果广告推荐系统中的
落地过程
15. 在效果广告推荐系统中的落地过程
正常
开始
超时
异常
解析请求
获取用户
特征
获取 ABT
参数
获取本地
广告特征
Game
User Emb
Game
User pay
异常处理
超时处理
异常处理
前置策略
预估 CTR
预估 CVR
预估 CVR2
粗排 Recall
后置策略
拼接结果并返回
结束
异常处理
超时处理
全链路 debug(Kafka)
兜底逻辑
16. 在效果广告推荐系统中的落地过程
开始
开始
解析请求
解析请求
Pre-rank
Pre-rank
关闭个性化
推荐
关闭个性化
推荐
前置策略
前置策略
异常和超时
rank
rank
异常和超时
rerank
拼接结果
并返回
结束
异常
rerank
全链路debug
(Kafka)
拼接结果
并返回
结束
异常
全链路debug
(Kafka)
17. 现有问题&后续优化
start
整体超时、异常管理
abt
节点超时、异常管理
复杂图结构的自动化简
ctr
cvr
end
cvr2
18. 迭代提速
调度逻辑控制路径分支
消除状态控制
提升系统可扩展性
减轻系统熵增
降低风险
19.