推荐系统召回粗排的优化思路
召回
召回作为推荐庞大候选底池中捞取候选的入口,一个完整的推荐系统都是由多路召回组成,甚至一些大场景的召回路数几十上百路,每一路召回最终曝光的独占比非常低。从召回迭代初期来看,一般新增合理的召回通路都能带来新线上指标的提升。但随着召回通路不断增加,一是线上召回的机器资源压力激增,二是受边际递减的规律,新增召回的收益会越来越小,最终导致新增召回的 ROI(投入产出比)非常低。
因此,召回的迭代路线主要包括新增合理的召回通路,在已有的召回通路上优化迭代,在多路召回每路的权重。
-
新增合理的召回通路
-
召回通路上优化迭代:一般来说倒排类的召回一般构建好后就不再需要长期迭代,相当于“一锤子买卖”,上线就把这一路的收益拿完了;召回的优化迭代主要在向量化召回上,向量化召回可以像排序模型一样长期迭代,也是一个轻量级的深度神经网络模型。向量化召回的迭代出要可以从样本,特征和结构三个大方向优化;
- 样本:增加更多场域的样本,跨域样本的利用,负样本的选取,样本采样与LogQ纠偏等
- 特征:属性特征,序列特征,Dense特征(多模态等)
- 结构:双塔结构,序列建模等
-
多路召回的权重设计:每路召回一般根据整个召回的Quota配额按照一定的比例权重分配,通过Snake Merge算法将多路召回的候选结果合并送往推荐的下一环节。权重参数一般可以通过手动搜参、设计自适应权重算法进行动态调整等。
粗排
粗排受限于打分数量的限制,需要比较高的性能要求,所以粗排模型的结构相对来说比较简单,是一种介于向量召回和精排之间的一种结构。一般粗排也是双塔结构,在底层的特征处理过程都是User侧和Item侧分离的过程,因为一次请求下粗排会计算上千个Item