【第五章:计算机视觉-项目实战之推荐/广告系统】2.粗排算法-(1)粗排用来干什么?“我大体筛一下“
第五章:计算机视觉-项目实战之推荐/广告系统
第二部分:粗排算法
第一节:粗排用来干什么?"我大体筛一下"
在推荐系统中,召回阶段已经从海量候选池(百万/千万级)中,粗略筛选出了数百到几千个候选内容(例如 Top 2000 的候选商品、视频、内容)。然而,这个数量显然无法直接拿去精排或最终展示给用户,因此系统需要一个 “承上启下的阶段” 来进行进一步筛选,这个关键角色,就是——粗排(粗排序,Coarse Rank)。
一句话概括粗排:
粗排的目标是:在“准确率”和“系统实时性能”之间保持平衡,从数千候选中过滤到数百个候选(通常是 Top 200 ~ Top 500),为后续精排争取空间。
粗排处在什么位置?
推荐系统简化流程如下:
(数百万级候选池)↓ 召回(Recall)
(Top 5000 / Top 2000)↓ 粗排(Coarse Rank)
(Top 300 / Top 500)↓ 精排(Fine Rank / Ranking)
(Top 50 / Top 100)↓ 重排(Rerank)
(Top 10 / Top 20 展现给用户)
粗排阶段最关键的词只有两个:
目标关键词 | 解释 |
---|---|
快 | 模型必须足够轻,毫秒级推理 |
稳 | 效果不能太差,否则精排救不回来 |
粗排不追求特别高的预测精度,但追求性价比最大化。
粗排为什么是“必要存在”?
如果没有粗排 | 会发生什么? |
---|---|
直接把几千候选交给精排 | 精排模型太大,耗时严重,卡死 QPS |
直接从召回跳到重排 | 分数不准,推荐变得粗糙,体验差 |
全用 DNN 精排模型 | 性能瓶颈,延迟不可接受 |
所以在工业推荐系统中,粗排属于不可省略的阶段,它是整个推荐流水线的“分水岭”:
召回:保证有东西
粗排:保证不差太多
精排:负责“尽最大可能做得好”
重排:保证多样、组合策略、展示体验
粗排模型一般长什么样?
粗排常用:
粗排模型 | 特点 | 是否可线上落地 |
---|---|---|
LR(逻辑回归) | 极快、鲁棒、特征可控 | 工业常用 |
GBDT / XGBoost | 表达能力更强 | 常用 |
DIN / 简化版 DNN | 引入兴趣注意力 | (淘宝 & 信息流常见) |
双塔模型裁剪版本 | 与召回 embedding 对齐 |
特点总结:
粗排模型 = 轻量特征 + 小模型结构 + 高吞吐推理
它与召回最大的区别是:
对比项 | 召回 | 粗排 |
---|---|---|
主要目的 | 找可能性 | 粗筛可信度 |
算法类型 | 向量检索 / Graph | LR/GBDT/小DNN |
计算特点 | 召回更粗、更快 | 精度更高但仍需快速 |
粗排关注的指标
粗排最看重:
指标 | 解释 |
---|---|
AUC | 衡量正负样本排序质量 |
Recall@K / HitRate | Top-K 能否命中真实正样本 |
Latency(延迟) | 线上必须毫秒级 |
QPS(吞吐量) | 能抗大流量 |
召回偏 覆盖率
粗排偏 排序 + 性能
精排偏 精准度与收益
粗排阶段常用特征
粗排不使用超复杂特征,只使用轻特征集合,例如:
特征类型 | 示例 |
---|---|
用户侧 User Feature | 性别、年龄、兴趣主题 |
物品侧 Item Feature | 类目、时长、热度、CTR |
行为特征 | 点击次数、曝光次数、最近点击时间 |
User-Item 交叉特征 | 用户是否看过同类 item |
特征原则:
够用即可,越轻越好
粗排一句核心总结
粗排的使命:在性能可控的前提下,把 Top2000 缩到 Top300,并尽量保证后续精排还能救。
它既是召回后的质量过滤器,也是精排前的减负器。