本文提出了 APAO (Adaptive Prefix-Aware Optimization) 框架,旨在解决生成式推荐系统(Generative Recommendation)中由于 Beam Search 推理机制导致的训练-推理不一致问题。该方法通过在训练中引入前缀级(Prefix-level)优化损失,显著提升了模型在 TIGER 和 Llama 等主流骨干网络上的推荐性能,实现了 Recall 和 NDCG 的全面 SOTA。
TL;DR
在生成式推荐(Generative Recommendation, GR)领域,模型通常像 LLM 一样通过预测 Token 来推荐商品。然而,由于推理时常用的 Beam Search(束搜索) 会在每一步无情地剪掉低分分支,许多即便全局最优的商品也会因为初期的“前缀评分”稍低而被永久误杀。本文提出的 APAO 框架通过一种自适应的前缀对齐优化,强制模型在训练阶段就学会如何“挺过”Beam Search 的步步紧逼,用更小的搜索代价换取了更高的推荐精度。
痛点深挖:消失的“全局最优”
生成式推荐将商品 ID 离散化为 Token 序列(如 [12, 45, 9, 3])。在训练时,我们用 Teacher-forcing 告诉模型每一步该选哪个;但在实际推理时,模型面临的是一个残酷的筛选过程:
- Beam Search 约束:如果束宽(Beam Size)是 20,那么在生成第 1 个 Token 时,只有分值最高的前 20 个前缀能活下来。
- 训练-推理鸿沟:传统的交叉熵损失(CE Loss)只管平均分,不管“淘汰赛”。一个商品哪怕最后一步概率再高,如果第一步排在第 21 名,它在推理时就成了“断头路”,根本没有机会被生成。
作者通过实验发现,很多被 Full-Item Sorting(全量排序)排在前 20 的商品,在 Beam Search 的中间过程就早早夭折了。
核心方法:向“木桶效应”发起挑战
APAO 的核心逻辑非常直观:既然 Beam Search 取决于表现最差的那一步,那我们就专门优化最弱的那一步。
1. 前缀感知的多级优化
APAO 不再只看整个序列生成的总分,而是显式定义了前缀损失 。它提供了两种味:
- Pointwise:对每个长度的前缀进行打分优化。
- Pairwise:引入负样本,强制要求正确前缀的分数必须高于错误的候选前缀,这更契合 Beam Search 的排序本质。
2. 自适应最差前缀优化(Adaptive Worst-prefix Optimization)
这是本文最精彩的设计。序列中不同长度的前缀,有的好学,有的难学。作者定义了一个动态权重向量 :
通过求解一个带 KL 散度约束的优化问题,模型会自动把注意力(更高的权重)放在当前损失最大的那个前缀长度上。这种“哪里不会补哪里”的机制,确保了正确候选在每一步都能安全留在 Beam 之中。
架构解析
模型在原有 CE Loss 的基础上叠加了 APAO 损失,形成统一的训练目标:
在这个框架下,模型不仅要学会正确生成 Token,还要学会在每一轮“生存挑战”中保持排名前列。
实验战绩:以 20 胜 100 的效率奇迹
APAO 在四大主流数据集(Office, Grocery, Beauty, Yelp)上均刷新了记录。
- 跨架构的普适性:无论是 Encoder-Decoder (TIGER) 还是 Decoder-Only (Llama),APAO 都带来了显著提升(Recall 最大提升 >13%)。
- 搜索效率的降维打击:
上图清楚地显示,APAO 在 Beam Size = 20 时的 NDCG 表现,已经超过了传统模型在 Beam Size = 100 时的表现。这意味着我们可以在保持甚至提高召回率的同时,将推理算力消耗降低数倍。
深度洞察:为什么它比 S-DPO 更好?
传统的偏好对齐方法(如 DPO, S-DPO)通常是粗粒度的——它们只在完整商品序列生成后给予反馈。但这对于“步步为营”的生成式推荐来说太迟了。APAO 的优势在于密集的监督信号:它在每一个 Token 位置由于自适应权重的存在,精准地修补了可能导致剪枝失败的薄弱环节。
总结与局限
Takeaway:APAO 证明了在生成式推荐中,解决“训练-推理不一致”的关键不在于增加搜索宽度,而在于提升模型在关键剪枝节点的判别力。
局限性:虽然 Pointwise 版本效率极高,但 Pairwise 版本仍需负采样,对大规模训练集会增加一定的显存压力。未来的研究方向可能在于如何更优雅地在没有显式负样本的情况下实现这种前缀级的健壮性。
