完整题目
请说明评估粗排模型性能的关键指标和方法。当新用户或新物品缺乏行为数据时,粗排模型如何实现冷启动?有哪些可行的技术路径?
本文目录
粗排评估指标
粗排的核心矛盾是效率与精度的平衡,评估要分两层:
离线指标
- AUC/GAUC:AUC看整体区分度,GAUC按用户分组平均,消除用户间差异,更适合推荐场景
- LogLoss:校准概率质量,粗排输出给精排的分数需要概率意义
- 目标保留Recall@K:预先定义相关目标/精排oracle Top-M集合,计算其中有多少被粗排Top-K保留;Hit@K则只看每请求是否至少保留一个目标,不能混用。
- RT(响应时间):按实际端到端预算设P99与QPS门槛;10ms不是粗排的通用硬性标准。
线上指标
- 目标覆盖需用独立黄金集或精排oracle候选作分母;“最终曝光里来自粗排的比例”只是来源占比,若所有精排候选都经过该粗排,它恒为100%,无法发现漏掉的好物品。
- 端到端CTR/CVR变化,粗排通常承接召回候选再交给精排;阶段组织依系统而异,最终业务质量与资源指标要联合评估
冷启动技术路径
新用户冷启动
- side information融合: demographics + 上下文(时间、地理位置、设备)→ 共享embedding层
- 元学习(MAML):学一个"好初始化",新用户几步梯度快速适应
- 跨域迁移:用站外行为预训练(如有),或站内其他业务线数据
新物品冷启动
- 内容理解embedding:视频标题/封面/标签走多模态编码(CLIP类),与ID embedding对齐到同一空间
- 作者/品类先验:新视频继承作者历史表现、同品类热门物品的embedding
- 探索机制:ε-greedy或Thompson Sampling,冷启动物品给额外曝光机会
关键工程点
- 冷启动可选择独立探索通道或在统一模型中显式建模内容/缺失历史特征;按数据和风险决定,线上实验分新老用户与物品观察。
学习建议
掌握推荐系统粗排流程,理解常用评估指标如AUC、GAUC,并学习冷启动场景下的embedding初始化与迁移学习方法。
参考资料
换一种问法,检查是否真正理解
场景切入
假设你在做电商推荐的新用户冷启动,用户刚注册,没有任何点击行为,粗排模型需要给精排提供候选物品。你怎么评估这个粗排模型的效果?特别是对于这些新用户,模型怎么做到冷启动?
层层追问
粗排模型一般怎么评估?……离线指标和线上指标分别看什么?……那对于新用户和新物品,缺乏行为数据,冷启动怎么处理?有哪些技术路径可以走?
直球架构
请说明评估粗排模型性能的关键指标和方法,以及当新用户或新物品缺乏行为数据时,粗排模型如何实现冷启动?有哪些可行的技术路径?
练习口述回答 · 约4分钟
- 粗排的本质是效率与精度的博弈
- 评估指标分离线与线上两层
- 冷启动用side info和元学习
- 工程上要有独立通道和实验
这道题其实是在问:粗排承接召回候选、再交给精排,怎样在服务预算内保留高质量物品,同时还要解决新用户新物品没行为数据的问题。核心矛盾就是效率跟精度的平衡,评估和冷启动都是围绕这个来的。
先说评估。离线我最看两个:一个是 GAUC,不是全局AUC。因为推荐场景里用户差异很大,全局AUC可能被头部用户带偏,GAUC按用户分组算再平均,更能反映每个用户视角的排序质量。再看预先定义的相关目标或精排oracle集合,有多少被粗排Top-K保留,这是目标Recall;Hit@K只表示每请求至少保留一个目标。“最终曝光里来自粗排的比例”是来源占比,单路漏斗中可能恒为100%,不能据此证明没有漏掉好物品。当然端到端CTR这些最终指标也得看,但粗排本身更关注召回率。
这里有个坑:离线指标做得再好,线上可能完全不一样。我见过一个案例,粗排离线AUC改善,但独立目标集上的保留率反而下降,因为模型过度拟合了某些特征,把一些长尾好内容排掉了。所以上线前一定要做分桶AB,而且 不能只看整体,要拆新老用户、新老物品分别看。
再讲冷启动。新用户没行为,我会从两个方向入手。第一是 side information融合,把用户的人口属性、设备、当前时间这些特征跟共享[[embedding]]层结合,让模型能利用跨用户的共性。第二是元学习,比如MAML,学一个初始参数,新用户来了只做几步梯度更新就能快速适应。不过元学习工程代价大,得看业务规模,小流量没必要上。
新物品冷启动更常见。我会用内容理解embedding,比如视频的标题、封面图、标签,走[[多模态]]编码,像 [[CLIP]] 那样,把内容embedding跟ID embedding映射到同一空间。这样新视频一进来,即使没点击,也能靠内容相似度找到位置。另外还可以继承作者或品类的先验,新视频就带上它所属品类的平均embedding。
但冷启动有个关键前提:可以比较独立探索通道与统一模型中的内容/缺失历史特征方案,不存在冷启动必须独立通道的通则。我通常会开一个单独的探索池,用ε-greedy或Thompson Sampling分配额外曝光,同时依据体验风险和实验结果设置流量预算,不把5%当通用门槛。线上实验也得单独分桶看纯新用户子集的效果,否则整体指标可能被老用户稀释。
其实冷启动还有一个方向是跨域迁移,比如用站外行为或站内其他业务的数据来预训练embedding,这个在数据充足时效果很好,但前提是领域分布不能差太远,否则会负迁移。
所以整体上,我会把粗排看成漏斗的守门员,评估上先保召回率再提精度,冷启动上先用内容embedding兜底,再逐步用元学习或跨域迁移优化。