
NAR4Rec:基于非自回归生成模型的推荐重排序方法解析
NAR4Rec通过非自回归生成、匹配模型和非似然训练,有效解决了传统方法的效率与效果问题,并在快手APP中成功落地,服务3亿日活用户。
摘要
本文详细解析快手团队发表于2024年的论文《Non-autoregressive Generative Models for Reranking Recommendation》。该论文提出了一种非自回归生成模型NAR4Rec,通过并行生成推荐列表解决自回归模型的效率问题,并结合匹配模型、非似然训练和对比解码提升效果。本文将从问题背景、模型创新、公式解析、实验验证等方面展开深入解读。
一、问题背景与动机
1.1 传统重排序方法的局限性
在推荐系统中,重排序(Reranking)是推荐流程的最后一步,旨在对初始排序列表进行优化,生成最终推荐列表以满足用户需求。传统方法主要分为两类:
- 单阶段方法(One-stage):直接对候选列表中的物品进行评分并贪心排序,但重排序后物品的上下文关系变化导致评分失效。
- 两阶段方法(Two-stage):使用生成器(Generator)生成多个候选序列,再由评估器(Evaluator)选择最优序列。生成器通常采用自回归模型(如Seq2Slate),但存在以下问题:
- 推理效率低:自回归模型需逐个生成物品,时间复杂度为 O ( m ) O(m) O(m)( m m m为序列长度)。
- 训练与推理不一致:训练时依赖真实标签,推理时依赖模型自身输出,导致误差累积。
- 忽略后续物品信息:左到右的生成方式无法利用后续物品的上下文。
1.2 非自回归生成模型的优势
非自回归模型(Non-autoregressive Model, NAR)可并行生成所有物品,时间复杂度降至 O ( 1 ) O(1) O(1)。然而,直接应用于推荐系统面临以下挑战:
- 数据稀疏性:用户曝光序列稀疏,训练难度大。
- 动态候选集:不同请求的候选物品不同,需动态匹配。
- 依赖关系建模:非自回归模型假设物品独立生成,难以捕捉列表内相关性。
二、模型创新点
2.1 核心贡献
- 非自回归生成模型(NAR4Rec):首次将非自回归生成引入推荐重排序,提升推理效率。
- 匹配模型(Matching Model):通过候选编码器和位置编码器动态建模候选物品与位置的关系。
- 非似然训练(Unlikelihood Training):根据序列整体效用(Utility)区分正负样本,优化生成方向。
- 对比解码(Contrastive Decoding):通过相似性惩罚增强物品间依赖关系,避免重复推荐。
三、模型架构与公式解析
3.1 整体架构
NAR4Rec采用生成器-评估器框架:
- 生成器(Generator):基于匹配模型生成候选序列。
- 评估器(Evaluator):计算序列整体效用,选择最优序列。
3.2 关键公式解析
公式1:非自回归生成的概率分解
p NAR ( Y ∣ X ; θ ) = ∏ i = 1 m p ( y i ∣ X ; θ ) p_{\text{NAR}}(Y|X;\theta) = \prod_{i=1}^{m} p(y_i | X;\theta) pNAR(Y∣X;θ)=i=1∏mp(yi∣X;θ)
- 符号解释:
- Y Y Y:生成的目标序列。
- X X X:候选物品集合。
- m m m:目标序列长度。
- 作用:非自回归模型假设每个位置的物品生成相互独立,仅依赖候选集 X X X。
公式2:匹配模型的概率计算
p ^ i j = exp ( x i ⊤ t j ) ∑ l = 1 n exp ( x l ⊤ t j ) \hat{p}_{ij} = \frac{\exp(\mathbf{x}_i^\top \mathbf{t}_j)}{\sum_{l=1}^n \exp(\mathbf{x}_l^\top \mathbf{t}_j)} p^ij=∑l=1nexp(xl⊤tj)exp(xi⊤tj)
- 符号解释:
- x i \mathbf{x}_i xi:候选物品(i)的编码(来自候选编码器)。
- t j \mathbf{t}_j tj:位置(j)的编码(来自位置编码器)。
- p ^ i j \hat{p}_{ij} p^ij:将物品(i)分配到位置(j)的概率。
- 作用:通过矩阵乘法计算候选物品与位置的匹配得分,并归一化为概率。
公式3:非似然训练目标
L ul = − ∑ i = 1 n ∑ j = 1 m p i j log ( 1 − p ^ i j ) \mathcal{L}_{\text{ul}} = -\sum_{i=1}^n \sum_{j=1}^m p_{ij} \log(1 - \hat{p}_{ij}) Lul=−i=1∑nj=1∑mpijlog(1−p^ij)
- 符号解释:
- p i j p_{ij} pij:真实标签(1表示物品(i)在位置(j),否则为0)。
- τ \tau τ:效用阈值,区分正负样本。
- 作用:降低低效用序列的生成概率,优化模型对用户反馈的敏感性。
公式4:对比解码策略
y t = arg max x ∈ X ( ( 1 − α ) ⋅ p ( x ∣ p t , X ) − α ⋅ max j < t s ( x , x j ) ) y_t = \arg\max_{\mathbf{x} \in X} \left( (1-\alpha) \cdot p(\mathbf{x}|p_t, X) - \alpha \cdot \max_{j < t} s(\mathbf{x}, \mathbf{x}_j) \right) yt=argx∈Xmax((1−α)⋅p(x∣pt,X)−α⋅j<tmaxs(x,xj))
- 符号解释:
- s ( x , x j ) s(\mathbf{x}, \mathbf{x}_j) s(x,xj):物品 x \mathbf{x} x与已选物品 x j \mathbf{x}_j xj的余弦相似度。
- α \alpha α:平衡生成概率与多样性惩罚的权重。
- 作用:通过相似性惩罚避免生成重复物品,增强列表多样性。
四、实验与结果
4.1 数据集
- Avito:公开广告点击数据集,包含5300万次搜索记录。
- Kuaishou:快手短视频平台真实数据,包含18亿次请求。
4.2 离线实验
-
性能对比:NAR4Rec在AUC、NDCG等指标上显著优于基线模型(如PRM、Seq2Slate)。
方法 AUC LogLoss NDCG PRM 0.6881 0.0594 0.7380 Seq2Slate 0.7034 0.0486 0.7225 NAR4Rec 0.7234 0.0384 0.7409 -
效率对比:NAR4Rec的推理速度是自回归模型的5倍。
方法 训练时间 推理时间 Seq2Slate 283分钟 0.186秒 NAR4Rec 58分钟 0.037秒
4.3 在线A/B测试
- 效果提升:在快手APP中,NAR4Rec显著提升用户观看时长和互动率。
指标 提升幅度 观看量(PV) +1.16% 点赞率 +1.71% 完播率 +2.45%
五、总结与展望
5.1 论文总结
NAR4Rec通过非自回归生成、匹配模型和非似然训练,有效解决了传统方法的效率与效果问题,并在快手APP中成功落地,服务3亿日活用户。
5.2 未来方向
- 长序列优化:支持更长的推荐列表生成。
- 多目标优化:结合点击率、观看时长等多指标联合优化。
作者注
本文详细解析了NAR4Rec的核心思想与技术细节,适合推荐系统从业者与研究者参考。代码与数据集已开源,欢迎进一步探索!
更多推荐
所有评论(0)