小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... ·...
Transcript of 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... ·...
![Page 1: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/1.jpg)
小红书大数据在推荐中的应用
郭一
小红书推荐架构负责人
![Page 2: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/2.jpg)
小红书: 找到你想要的生活
月活
8500万年同比增长
300%每天笔试展示
30亿
![Page 3: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/3.jpg)
目录
• 实时计算在推荐业务中的场景
• 实时归因: 一个推荐业务的Flink实时计算任务的实践
• Red Flink实时流计算平台
• Red ML平台
• 总结和展望
![Page 4: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/4.jpg)
推荐 & 实时计算
![Page 5: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/5.jpg)
根据用户画像从笔记池中召回(多种策略)
给每个笔记打分Score = pCTR * (pLike * Like权重 + pCmt * Cmt权重 … )
笔记位置多样性调整
分页显示, 有交互之后重排
线上推荐过程
![Page 6: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/6.jpg)
算法推荐
用户消费笔记产生交互
训练样本
预测模型
用户/笔记画象
分析报表
策略
笔记索引
推荐系统架构
实时
离线
![Page 7: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/7.jpg)
离线批处理
客户端用户交互
LogServer
Hive 报表 (T+1)
训练样本 (T+1) 模型训练
BI工具
用户笔记画象(T+1)
![Page 8: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/8.jpg)
实时流处理
Kafka 实时归因
Kafka
训练样本
实时指标 ClickHouse
Hive
数据接入 数据计算 数据落地 数据应用
模型训练
BI工具
客户端用户交互
LogServer
Hive
实时用户/笔记画象
实时用户/笔记画象
![Page 9: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/9.jpg)
实时归因
![Page 10: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/10.jpg)
实时流计算:实时归因
1. 曝光
1 2
3 4
2. 点击
4. 点击
3. 点赞
曝光笔记 有无点击
1 No
2 Yes
3 No
4 Yes
点击模型数据标签
点赞和时长模型数据标签
点击笔记 有无点赞 停留时长
2 Yes 20s
4 No 10s
笔记1 曝光笔记2 曝光笔记3 曝光笔记4 曝光笔记2 点击笔记2 点赞笔记2 回退, 时长20s笔记4 点击笔记4 回退, 时长10s…
用户行为流:
![Page 11: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/11.jpg)
• Flink任务
• Kafka Source => Kafka Sink
• keyBy (user_id, note_id, 曝光/点击)
• 使用Process Function API
(SessionStateProcesser)
• SessionStateProcesser
• 创建一个定时的20分钟窗口
• 创建维护ValueState<SessionState>状态
• 窗口结束的时候
• 根据SessionState输出下游记录
• 清除ValueState<SessionState>
Flink Job – Session Labeler
![Page 12: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/12.jpg)
• Flink集群管理
• Checkpoint & 状态持久化
• Backfill
实际生产需要解决的问题
![Page 13: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/13.jpg)
Flink集群部署 on K8s (Standalone)
![Page 14: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/14.jpg)
Checkpoint和State持久化
FsStateBackend RocksDBStateBackend
• state 存储在HDFS
• 不支持增量checkpoint
• state 存储在RocksDB on HDFS
• 利用RocksDB的compaction机制合并,
支持增量Checkpoint
• 适用于state比较大的情况
![Page 15: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/15.jpg)
• 磁盘I/O高,反压上游
• 内存OOM
• 本地 HDD => SSD
• 堆外内存 = MemTable * #Parallelism
• Checkpoint频率 1min = > 10 min
• RocksDB Compaction Threshold => 1G
RocksDB参数挑优
![Page 16: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/16.jpg)
• Source流控
• 支持Kafka Source和文件
• 期待Flink 1.9 对批的支持加强
Backfill
![Page 17: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/17.jpg)
Red Flink实时流计算平台
![Page 18: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/18.jpg)
![Page 19: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/19.jpg)
配置目的地
自动识别格式
自动产成FlinkSQL ETL命令
![Page 20: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/20.jpg)
Red ML平台
![Page 21: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/21.jpg)
• 9个预测任务 (click, hide, like, fav, comment, share, follow, …)
• Click模型规模: 5亿样本/天, 1T数据/天
小红书推荐预测模型的演近
GBDT (SparkML)
GBDT + LR(TensorFlow)
GBDT +
Deep & Wide (TensorFlow)
Online Training
12/2018 Coming soon
GBDT +
Sparse D&W (Tensorflow on
KubeFlow)
07/2019
![Page 22: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/22.jpg)
• 开源社区支持
• TFJob支持TensorFlow的分布式训练
Red ML on KubeFlow
![Page 23: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/23.jpg)
• 依赖开源社区
• 期待Flink 1.9新功能
• 模型训练算力需求增加, 效率敏感
• Flink + AI
总结与展望
![Page 24: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/24.jpg)
扫码加入社群与志同道合的码友一起
Code Up
阿里云开发者社区
粘贴二维码
![Page 25: 小红书大数据在推荐中的应用 - ucc.alicdn.comƒ一 小红书... · 小红书:找到你想要的生活 月活 8500万 年同比增长 300% 每天笔试展示 30亿](https://reader030.fdocuments.net/reader030/viewer/2022040110/5ec6cbc80ae1fb38721ad9b3/html5/thumbnails/25.jpg)
谢谢!