微软用预测效用筛推理链再做排序强化学习,Games 上 NDCG@10 相对涨 32.5%

Learning Better Reasoning for Generative Recommendation with Semantic IDs

Mengdan Zhu, Yufan Zhao, Sophie Di, Yao Zhao, Tao Di, Yulan Yan, Sridhar Iyer, Liang Zhao

cs.IR, cs.AI

2026-09-24

微软与埃默里提出 Evo-Rec,先按预测效用筛选推理链,再按排序指标做强化学习;游戏数据上超过最强推理推荐基线,Recall@5 从 0.0710 升到 0.0847。

这篇在解决什么

生成式推荐把「下一个商品」写成自回归生成。Semantic ID(SID)再把每个商品压成短离散码,语义相近的商品共享码前缀,冷启动不再完全靠交互次数。最近一批工作让模型在吐 SID 之前先写一段推理,用来概括兴趣、猜测偏好跳转。

问题是:推理本身不保证有用。同一段历史可以写出几种都像那么回事、却指向不同下一件商品的理由。把这些轨迹一视同仁拿去监督微调,后面的强化学习还会把坏习惯加固。现有方法多半在「让模型会推理」,很少问「哪条推理对预测真有帮助」。

方法

Evo-Rec 分三阶段,骨干是 Qwen3-1.7B,每个商品 3 段 SID。

阶段一做 SID 与语言对齐。历史和目标在 SID 与标题之间交叉翻译,再混入 SID–文本交错样本和通用推理样本,让新加的商品 token 在语言模型里有语义。这一阶段不定哪条思维链。

阶段二是 Best-of-N Rejection Sampling SFT。教师 GPT-5.4 对每条历史采样 N=5 条思维链。冻结的打分模型比较「有这条推理」和「只有历史」时,真实 SID 的对数似然差 Δ。只保留 Δ 最大且为正的那条,再拿去微调。随机抽一条、或碰到第一条正 Δ 就收下,都当对照。

阶段三用 GRPO 继续改推理策略。每条历史采样 16 条推理;每条推理后,在商品目录的 SID 前缀树上做 beam=10 的约束束搜索,保证解码出来的都是目录里的商品。奖励是真实 SID 在这 10 个结果里的 NDCG@10:没进前 10 就 0,进了按名次打折。精确匹配奖励把第二名和没进榜一视同仁,这里不用。

评测在 Amazon Review 的 Video Games、Office、Industrial 三个 5-core 子集上,时间切分 80/10/10,全目录排序,指标 Recall@K 和 NDCG@K,K=5/10。

结果

三套数据、全部指标上,Evo-Rec 超过判别式(SASRec 等)、生成式(TIGER、LC-Rec 等)和带推理的基线(ReaRec、R2ec、SIDReasoner)。Games 上相对最强基线 SIDReasoner:R@5 从 0.0710 到 0.0847(+19.3%),N@10 从 0.0563 到 0.0746(+32.5%),N@5 相对提升 41.1%。NDCG 的涨幅大于 Recall,和阶段三直接优化名次一致。

方法Games R@5Games N@10Office R@5Industrial R@5
SASRec0.05010.04160.10190.0807
SIDReasoner0.07100.05630.13730.1109
Evo-Rec0.08470.07460.14760.1167

消融说明筛选规则才是关键。同样 5 条候选,Best-of-N 的 N@10 比随机选高 27.1%,比「第一条正 Δ 就收」高 37.1%;R@1 相对随机选高 83.8%。94.0% 的候选 Δ 已经为正,二值过滤几乎等于乱抽。N 从 1 到 5,N@10 从 0.0571 升到 0.0746。纯 NDCG 奖励优于精确匹配、前缀匹配和 NDCG+Recall 混合。阶段三之后推理变短,目标里没有长度惩罚,短是排名称号自己挤出来的。Games 上思维模式 R@1 从阶段二的 0.0103 升到 0.0443。

为什么重要

给推荐加思维链,缺的是按下游效用挑轨迹,再按名次给强化学习信号。目录约束束搜索让奖励落在真实可售商品上,不会把概率洒到非法 SID。代码已公开。代价是教师要为每条样本写 5 条链,且每个数据集单独训一个模型,离工业大盘还有距离。Amazon 5-core 目录只有三千出头 SKU,数字不能直接外推到亿级商品库。

局限与存疑

基线数字引自 SIDReasoner 原文,本仓库只复现了评测协议。教师是 GPT-5.4,阶段二的成本不低。三个领域各训各的,没有跨域共享。N=5 还在涨,更大采样预算没测。历史窗口截到 10,更长行为序列会不会改变 Δ 的分布,论文没说。

术语

原文与代码

社区讨论

相关论文

全部论文解读