美团外卖广告特征平台实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 美团外卖广告特征平台实践
美团外卖广告组,邹亚劼
美团到家事业部
2. 目录
1、特征平台需求理解
• 特征平台价值
• 特征需求演进
• 系统建设路径
2、特征平台架构
• Static Time需求架构
• Real Time需求架构
• Point Time 需求架构
3、总结与展望
• 长远看“存、算”的问题
3. 特征平台价值
搭天花板需要多长时间?
什么是天花板?
上线1次
离线N次
特征>60%
GPT的回答
特征做功空间很
大,每一次进
步,促进AI提效
模型30%
美团外卖广告下,特征应用情况
用户&商家精准的匹配,系统
决策全链路智能化部署,每
一次的特征体系&系统架构升
级,都是为了“帮大家吃得
更好,生活更好”
创意
相关性
召回
特征 模型
精排
4. 特征需求演进
需求关键词
用户数据全还原,超长的行
为序列,大模型助力业务
数据行规模3+倍,列规模
10+倍增长下高效生产
实时特征,特征快照实时一致
性,提升模型在业务上效果
统计类特征迭代为主,快速支
持业务迭代
算法需求 “Hive->KV->特征服务”迭
离线/在线数据、计算一致
Real Time
单个特征万长几十宽,
批的方式,一个作业万
级CU也要生产很久
代范式快
Static Time
搜推广高QPS下,海量
特征快照收集成本
工程难题
生产不稳定,影响在线
服务
Point Time
在线IO量巨大,性能问
题
离线计算流程如何对齐
在线计算流程
迭代一次特征,N个服
务开发一遍
特征演进
5. 特征系统建设路径
Real Time
Static Time
1.0阶段:
一站式生产、消费的特征平台
Point Time
2.0阶段:
在、离线强一致的特征平台
3.0阶段:
数据全还原的特征平台
2021
特征管理
特征在线服务
2019
特征治理能力
特征实时系统
特征补录系统
特征生产系统
特征流批架构
特征、推理一体架构
特征回流系统
特征列存架构
系统建设路径
6. 目录
1、特征平台需求理解
• 特征平台价值
• 特征需求演进
• 系统建设路径
2、特征平台架构
• Static Time需求架构
• Real Time需求架构
• Point Time 需求架构
3、总结与展望
• 长远看“存、算”的问题
7. Static Time需求架构
精排服务
机制服务
业务服务
业务支持
特征服务
任
务
调
度
监
控
报
警
元数据服务
特征生产
Hive
Spark
特征平台
特征注册
Cellar
MySQL
基础设施
8. Static Time需求架构-特征生产
特征具体理解
Uuid
性别
Uuid
相同 SQL 语义的合并
收藏的店
xxxx
品类
Sku
Sku
Poi
一、语义任务
特
征
生
产
调
度
二、聚合任务
Poi
Uuid
按维度聚合到宽表
三、同步任务
多版本存储
维度数据分发到线上KV存储
KV
V2,V1,V0
四、版本任务
多版本生产,分钟级回切
PB结构
销量
非定长
定长
xxxx
特征结构
特征是归属到具体
某一个维度上的
序号 类型
值
序号 类型
长度
值
PB,元数据服务翻译
9. Static Time需求架构-特征服务
均衡的IO访问策略
本地:高频Item数据内存IO
特征在线服务
Sku
Poi
远程:KV引擎的IO与存储Balance
I/O量,N条流量*(X+Y+Z)->N*X+Y+Z
调度层
Item
T
1
Uuid
T
n
Thread
Pool
BatchEventHandler
BatchEventHandler
Feature Fetch
上报
配置层
Y
组1
Z
组2
业务独
有特征
存储量, N*X+Y+Z ->X+Y+Z
数据驱动的DAG调度
执行层
公共特征
X个
组0
高性能特征计算引擎
Feature Compute
CodeGen,动态生成执行代码
分组策略
Feature Meta
MFDL
Op(slice)
Op(slice)
Literal(1)
Literal(0)
Op(read)
*
Attr(poi_id)
Literal(24)
常量折叠
Literal(60)
10. Static Time需求架构-特征迭代新流程
算法开发工作
简注册
配置读
新迭代
流程
全局用
稳定写
Poi …
… Query
Meta信息全局可视
化,血缘可追踪
零运维
自适应写,机器负
载状态,并发写 多个平台运维,XT、
Spark、线上服务
优先级写,保证重
要特征优先写 多套代码运维,算子
库、离线任务库等
多版本写,写错数
据,分钟级回切 多个组织交流
11. Real Time需求架构
模型推理
业务服务
离线训练
业务支持
特征服务
任
务
调
度
元数据服务
特征回流
特征生产
实时生产
Kafka
特征平台
特征注册
特征治理
特征补录
Hive
监
控
报
警
Spark
Flink
Cellar
HBase
基础设施
12. Real Time需求架构-实时特征
实时特征生产
Compatible
Get
Offline Produce
Feature Server
KV
Real Produce
Feature Meta
SQL描述
流量日志
对齐离线数据PB格式,分
组管理
Get Row
清洗
扩维
合流
BingLog
分流
裁剪
Message
流式同步
任务
KV
Append Col
And Put Row
Flink实时生产
13. Real Time需求架构-特征回流
Feature
0.1
1
2
在线预测
点击
数据一致性问题
0.1
3
2
0.1
点击
在线通过KV获取,离线通过
Hive获取,数据不一致
1
5
核心的两个不一致
样本零等待
③
Label流
HBase
④K Query
Join
特征实时回流
Window
Time Consume
极致成本
零内存Join
低数据流通
离线训练
算子在线、离线两套,计算不一致
Label+特征
极致效率
点击
HDFS
⑥
⑤Write Static
Feature
Sample
Batch
Training
Stream
Training
KV
②入Kafka
Context
+Real
Static
Feature
①Split Feature
Online
Serving
经常性case:离
线训练效果好,
线上效果不好
14. Real Time需求架构-特征补录
Feature
0.1
1
2
在线预测
点击
计算一致性问题
0.1
3
2
0.1
点击
在线通过KV获取,离线通过
Hive获取,数据不一致
1
5
点击
经常性case:离
线训练效果好,
线上效果不好
离线训练
算子在线、离线两套,计算不一致
核心的两个不一致
预估服务
特征计算
MFDL
对齐在线的补录
统一描述
语言
统一算子
库
PV粒度特征
现场
特征描述
特征算子
部署到线上
特征快照
复用一套描
述,算子
新特征调研
原始特征
模型特征
Label+
Training
15. Real Time需求架构-特征治理
特征平台的特征越聚越多,缺少高质量特征流通,没有实现1->N的辐射。其次,当一切变得实时落之后,特征快照量
带也来了很大的存储成本。
一、标准化特征输入,让模型可简单识别输入特征,比如Cate类特征做表征,Dense类直接到MLP。
二、采集高质量特征,监控所有特征在业务模型上线情况,效果正向的特征将会被纳入特征推荐系统。
三、特征在模型上实验,将该特征直接补录到当前模型的训练样本中,启动模型训练,然后进行模型评估。
四、通知模型负责人,AUC等效果报表推送到每个模型负责同学,去评估是否引入特征。
五、模型自动上线,将特征自动添加到线上,线上引流AB。
16. Point Time需求架构
模型服务
业务服务
离线训练
业务支持
特征、推理一体服务
元数据服务
特征回流
任
务
调
度
Hive
长序列生产 特征生产
特征回溯 特征补录
Kafka
Spark
Flink
实时生产
监
控
报
警
特征平台
特征治理
KKV
HBase
Hudi
基础设施
17. Point Time需求架构-超长序列特征生产
传统Lambda架构
一、流批分离,批每
天搅动N张行为表回
溯,大量Shuffle计算
二、在线合读,数据不
一致问题。时间缺口,
实时数据冗余1-2天
三、分散加工,存在大
量重复生产,资源浪费
流数据,Kafka实时消费
批数据,每天一个分区就绪
原始数据
行为源1
行为源n
行为源n
行为源1
等待所有就绪,大规模Shuffle计算
用户行为宽表,T-1分区
用户行为合流作
业,T数据
历史宽表
用户行为宽表,T-2分区
KV存储
实时宽表
Redis
Cellar
合读,完整行为数据
在线合并
T行为2
T行为1
T-1行为1
棘手的边界处理,在线RT影响
T-N行为1
18. Point Time需求架构-超长序列特征生产
流批统一架构生产
流批统一:流作为主要生产力,批作为一次性作业,“海啸式”生产弱化到“波浪式”,消除了天级等待的生产。
数据统一:收口到一个数据源,解决T数据,T-1数据合读问题,减少在线性能额外消耗。
作业统一:全局统一的作业,产出的数据,各个组织间复用、共享,资源得到极大节省。
冷启动一次
元数据
增量流
Flink运维一
个作业
生产配置
长作业监控
生产任务模块
HBase流批统一存
用户1
用户n
行为1
行为n
事件发送
监听与
微聚合
加工
插件
同步任务模块
KV
19. Point Time需求架构-超长序列特征回溯
什么是回溯
用户M
找到过去所有
发生的线索
点击
行为
行为
N
万级别
用户M
T
T-1
Poi1
亿级别行 x 万级别长
Join
十级别宽
大Shuffle计算
T-N
PoiN
计算量
商家品类
亿级别
十级别
用户X
销量
实验x特征
特征回溯
高频迭代区
附属信息
别名,Side Information
N种行为
x
180天分区
20. Point Time需求架构-超长序列特征回溯
大规模长序列SideInfo回溯方案
基于在线一致的大宽表,按需导出,减少了N个源头聚合生产,保证了数据一致
多级本地Join,数据量从亿级行x万级长 Join 十级宽的Shuffle,缩小到亿级行节点闭环Join
在线
批冷启动一
次
离线
流数据
①Label注
入辅助导出
Behavior
Sequence
②
HBase
PoiSideInfo 10个,8GB内存广播
PoiSideInfo 50个,30GB内存
/SSD/HDD广播
SkuSideInfo
HBase基于Label
部分行*部分列*部分时间版本序列
HBase压力大,影响线上
稳定性,更优的解法?
聚合、裁
剪
>50个,>50GB内存
/SSD/HDD/KV
③SideInfo内存、磁盘、远程多级
本地Join,解决大Shuffle问题
Serving
KV
④
补录系统
⑤
Training
21. Point Time需求架构-离线列存
Why 列存
列式存储
明细层
曝光明细
大宽层 Uuid
加工层 特征表1
快照数据
下单明细
Poi
特征表n
调研特征
Label
B样本 Label
C样本 Label
大宽层
Spu
Label
A样本
一、特征回溯
部分列需,但整行放
入Spark做Join
每个实验都拖着整行
快照数据做新特征拼
接
每个实验都会冗余
一份Base快照数据
二、特征补录
Tfrecord中间文件
模型训练
基于Hudi的大宽层
从
离
线
数
据
全
流
程
看
按需列取生产
调研特征
基于Hudi的调研特征存储
快照数据
基于Hudi的快照存储
双数据源直连到训练,
解决冗余存储
模型训练
22. Point Time需求架构-在线列存
Why KKV?
1、写的增量性,部分特征就绪,需
要直接写入
1、读的稀疏性,列需行取,I/O问题
凸显
行读列需,IO、
反序列化成本
Only Insert
读场景
2、读的下推性,部分过滤可以在存
储层
KV使用
现状
写场景
一年数据
需近60天,但整行拉过来
3、读的行版本性,特征回流场
景,延时消费
2、写的时效性,写的速度,流写、批
写,写完整体生效
3、写的稳定性,写失败断点重写,
写错数据回切
23. Point Time需求架构-在线列存
Create
Table
离线写
①创建
临时
万列表v2
HDFS
SST
WAL
③4K写文件
②按存储SlotID
Repartition
Store存储
万列表v1
Meta
SST
⑤切表
Check&
Rename
分片0
在线读
Key
Key
反序列化CPU
消耗下降
特征平台引擎
分片1
分片2
业务列读
列ID
Uuid,喜欢川菜
存、算分离
架构
④Notice Ingest
Key,Index
列
列
Server引擎
按需返回
IO下降50%
索引结构
Value
K、V分离
KKV存储引擎
24. Point Time需求架构-特征、模型在线一体
历史三个阶段演进
Proxy
Feature
Inference
CTR/CVR/Price/ROR
Model OOM
CVR
CTR
Feature
Inference
1.0 早期一体化
Feature
Feature
Inference
2.0 模型为中心拆分
CTR/CVR/Price/ROR
Feature Overlap
CVR
CTR
Inference
Inference
3.0 特征、模型独立
25. Point Time需求架构-特征、模型在线一体
需求的变化
在万长百宽的序列下,
I/O传输问题
多种机器学习场景,多
插件后端需求
技术的变化
更牛的硬件设施
①存储更大,HBM/Mem/SSD
②计算更强,GPU+新型的CPU
更精益的系统、算法架构
①大模型计算、存储分离架构
②多种软件加速手段
③算法体系升级,一模多出
存储异构支撑的一体化在线系统
26. 目录
1、特征平台需求理解
• 特征平台价值
• 特征需求演进
• 系统建设路径
2、特征平台架构
• Static Time需求架构
• Real Time需求架构
• Point Time 需求架构
3、总结与展望
• 长远看“存、算”的问题
27. 长远看AI数据“存、算”的问题
AI数据需求演进
统计类等静态数据
实时性数据
全还原行为序列数据
图片、音视频等多模态
突破硬件布局的需求?
能解吗?
大数据架构演进
离线数仓
Hive,Spark
实时数仓
Storm,Flink
湖仓一体
数据湖主流
增量数仓
Flink+数据湖,真正的
流批一体
HBM+Mem+SSD/HDD存
硬件层面应用
长期都是CPU + Mem的标配
CPU+GPU的算
开始崭露头角
28. Q&A
29. 招聘:XXX岗位
邮箱:XXX@meituan.com
更多技术干货
欢迎关注“美团技术团队”