小红书推荐中台实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 小红书推荐平台实践
秦波
小红书推荐引擎(北京)工程负责人
2.
3. 关于我自己
• 小红书推荐引擎(北京)工程负责人
• 全程参与小红书推荐平台的建设,目前正致力于
公司内多业务域推广/技术支持中台化推荐平台服
务。
小红书技术部智能分发部
平台架构组
4. 小红书推荐引擎介绍
小红书推荐引擎核心实现
展望
5. 关于小红书
Inspire Lives 分享和发现世界的精彩
国内领先的生活分享社区
月活超过1亿
每天百亿次笔记曝光
6. 小红书推荐引擎开发背景
需求如山,
响应慢
基础框架/引擎沉淀少,
开发姿势各异,维护成本高
人效比变低
7. 多样的推荐业务
主推荐/相关推荐
人的推荐
电商推荐
新业务推荐
8. 小红书推荐引擎的定位
• 快速支持主端推荐业务快速迭代
• 支持新推荐业务/新推荐场景快速上线
• 对创新产品快速提供推荐能力集成
9. 推荐引擎的落地
• 存量业务/新业务统一开发方式
基础框架及各类引擎抽象
对推荐链路各个服务统一抽象,抽象出底层开发框架及长层若干引擎,实现开发方式的标准化。
新业务上线周期缩到2周~4周
考虑新业务账号及内容独立性,对召回数据/特征模型/冷启动策略等按需拼装,实现新业务快速上线。
同业务域多场景推荐实现一套代码开发
例:homefeed/relatedfeed/peoplefeed 等推荐业务一套代码支持,多种角色部署。
• 业务开发方式从杂糅式变为配置化/积木式开发
10. 小红书推荐引擎介绍
展望
11. 推荐中台一览
全量
内容同步
样本流
breakdown service
OLAP平台
AB实验
指标平台
离线算法计算
(用户画像/算法拉链/词典等)
larc tensorflow机器学习平台
(实时/全量训练)
aceflow推荐业务引擎
实时
zprofile
内容中心
日志流
特征管理平台
lambda特征服务
(统一特征读及计
算,包括user特征、
item特征、
breakdown特征,并
负责交叉特征计算)
acededup
统一
去重服务
manta召回
引擎
倒排
向量
lambda模型推理引擎
向量计算模型
排序模型
(rank/rerank)
12. 推荐在线核心服务
在线推荐服务
业务定制插件、算子
Redcast
P2P数据分发
特征处理/预估算
子
特征管理/模型发
布平台
lambda op开发框架
索引构建服务
AB实验平台
DEBUG平台
配置平台等
K8s资源调度
13. 技术准备-基础框架
• aceframework
基于
框架/lambda框架
BRPC 实现的支持代码逻辑动态配置/加载的通
用插件式开发框架。
统一管理外部
RPC 资源(Redis/HTTP/Thrift 等)/集
成词典加载逻辑/业务代码 so 化/集成部分个性化降级
策略/各类标准化打点监控等功能。
业务逻辑以
processor/op 方式动态配置、注册、运
行及生命周期管理。
C++
开发门槛降低到 STL 数据和容器开发水平。
• 演进
业务逻辑
DAG 化,内嵌图执行引擎。
14. 技术准备-协议和数据统一
• 服务协议标准化
统一的推荐业务引擎服务协议/召回协议/预估协议等。
个性化传参通过协议中扩展字段实现。
• 数据
Schemaless
离在线用数据
字段
DataLake 格式做 schemaless
ID 化管理,字段类型固化为若干类型
字段集中管理,id->name通过配置
mapping
15. 中台化的 aceflow 推荐业务引擎
• 推荐过程标准化
将推荐过程抽象为若干固定步骤
算法逻辑适当解耦,以服务方式通过标准化协议接入
• 兼顾共性&特性逻辑
特性逻辑影响范围尽量缩小
特性逻辑定期抽象为共性可模板化逻辑
• 新业务/新场景开发模式
从各个服务理清算法边界(zprofile
aceflow
内容平台/manta倒排及向量检索索引同步/lambda 特征平台等)
业务引擎通过 插件复用/配置修改/策略集成 全链路上线。
16. aceflow 在主端业务的上线
• 现状
Java
代码开发,GC 问题
通用功能抽象少,各推荐业务重复代码
多
• 解决方案
S0
链路通用逻辑/部分特性逻辑放在
aceflow 业务引擎
算法逻辑放在
Java 算法服务,通过微服
务解耦
算法服务通过标准接口返回特定结果
主端推荐业务引擎层运行模式
17. 适合推荐的召回引擎
• 解决召回的灵活性问题
索引类型多样性:倒排检索、KV
过滤的多样性:DSL
检索、向量检索集成等
filter 语法,支持自定义的 filter 插件
截断的多样性:提供基建(统一的词典/schema
• 索引标准化
通过算法侧沉淀,将召回方式抽象为若干种
打通算法中台,将索引的生产标准化
• 自运维
各项配置自动校验,自动上线
管理),支持自定义的召回内 rank 截断插件
18. manta 召回引擎架构
Merger Cluster
requestsp
lit
result
merge
searcher shardA instance1 searcher shardB instance1
自定义filter/rank插件 自定义filter/rank插件
DSL语法解析/filter
过滤
DSL语法解析/filter
过滤
x2i/kv/向量召回
倒排召回检索框架
ace插件
开发框
架
multi
recall
向量检
索服务
表meta/分片管理
多表联合查询
索引加载
倒排召回检索框架
ace插件
开发框
架
查询检索
x2i/kv/向量召回
表meta/分片管理
多表联合查询
索引加载
查询检索
索引seek(by scan) 索引seek(by scan)
rocksdb索引库 rocksdb索引库
• index
索引构建
realtime
build
full/inc index load
searcher shardA cluster
searcher cluster(行+列)
向量检
索服务
• index
索引构建
realtime
build
full/inc index load
searcher shardB cluster
19. lambda 特征平台及模型预估引擎
• 基于
Web 特征统一管理平台,方便特征管理
统一的特征元数据管理/缓存策略/特征监控等
方便特征跨业务复用
支持离在线特征统一等
• 特征抓取下移到预测引擎,降低预测服务接入成本
笔记预测时只需要传入笔记
用户侧特征仅需要传入
ID 即可。
context 特征及用户 ID 即可。
20. lambda 特征服务
原始数据抓
取op
特征计算op(s)
其他op
用户/笔记画像
预估特征获取
lambda op执行框架
特征
多策略
特征缓存
数据源
管理所有特征(包括
item静态
特征
item
breakdown
user
profile
zprofile内容中台
user
breakdown
aceflow推荐
业务引擎
lambda模型
预估引擎
回流
online training
user、item 静态动态特征/交叉特征计算), 打造特征全周期一站式管理
千级别量级特征管理能力大幅提高
特征开发及上线周期缩短到天级别
方便特征跨业务复用
21. lambda 特征平台
22. 小红书模型推理服务演进
• 2016年以前 人工精选
• 2018/07 SparkML GBDT (小几万参数)
• 2018/12 GBDT + LR (大几万参数)
• 2019/02 GBDT + Deep & Wide (几百
万参数)
• 2019/12 Sparse D&W (十几亿级参数)
• 2020/08 Sparse D&W (近千亿级参数,
小时级别更新)
• 2021/04 千亿级模型 + 分钟级更新
• 2021/09 GP U推理加速
23. 模型训练及 lambda 模型推理引擎
24. lambda 模型推理引擎核心关键词
• 分布式
sparse
ps 服务/training ps 与 online ps 参数准实时同步
训练参数分钟级生效
• 模型预估所需特种由特征服务
特征计算内嵌于预估服务内,由
sidecar 方式提供
lambda 特征服务 op 计算生成
特征缓存策略由特征管理系统统一管理
• GPU/CPU
GPU
模型预估服务
比 CPU 在精排模型的上线中,资源使用降低 23%
25. 其他
• RedCast
数据分发服务
P2P 方式文件分发/多级流式数据分发,让数据分发更快/成本更低
融合 sidecar 本地内存存储,打造 EdgeStorage 本地数据服务
• reco-trace
推荐业务级 Debug 系统
requestId 串起推荐在线全链路 debug 数据,方便在线问题定位
打点数据 schemaless 化,自定义 debug 信息添加
• 支持跨业务/session
的统一去重服务
支持不同类型的跨业务/session
去重策略组合
灵活的去重数量截断/自定义过期时间管理等
26. 小红书推荐引擎介绍
27. 展望
• 业界领先的推荐业务引擎/召回引擎/特征平台/模型预估引擎建设
• 在线图引擎的进一步探索与实践
• 更高效低成本的推荐数据分发方式的探索(P2P
分发+数据多级缓存方案)
28.
29.
30.