这道题其实是在问:粗排承接召回候选、再交给精排,怎样在服务预算内保留高质量物品,同时还要解决新用户新物品没行为数据的问题。核心矛盾就是效率跟精度的平衡,评估和冷启动都是围绕这个来的。
先说评估。离线我最看两个:一个是 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兜底,再逐步用元学习或跨域迁移优化。