OxygenREC-v2:把判别性内化进生成式推荐¶
JD.COM, Beijing, China。作者 Guo Tang*、Hanye Wu*、Changjiang Han*、Qingyang Li、Ming Zhang†、Xiangyu Qian、Yanchen Qiao、Huanjie Wang、Zhi Ma、Zhen Li、Yaqiang Zang†、Pinghua Gong†(* 共同一作,† 通讯作者)。arXiv:2607.24255v1,2026-07-27。
研究动机与背景¶
生成式推荐(Generative Recommendation, GR)把工业推荐系统里"召回—排序"的级联流水线换成一个单一的生成模型:直接从用户上下文自回归解码出物品标识符(Semantic ID, SID)。把两个阶段统一进一次解码过程消除了它们之间的目标失配,近期的 GR 系统在工业规模上已经能匹配甚至超越流水线式推荐器。
但论文指出这些系统只是间接地使用了来自点击、加购、下单的判别式反馈。绝大多数做法把这个信号放在生成之后注入:训练一个独立的排序模型充当强化学习的代理奖励(proxy reward),论文自己的工业基线(OxygenREC-v1)就是把 format、relative-order、ranking、diversity 四路奖励从这样一个模型里融合起来(Figure 1(a))。

这套设计里反复出现两个问题:
- 离线排序模型对分布外(out-of-distribution)输出打分不可靠,于是策略可以在不真正改善推荐质量的前提下把代理分数刷上去——这是一种 reward hacking。
- 相互竞争的奖励项把优化拉向不同方向,平衡它们的权重本身变成了一个独立的调参问题。
论文的关键论断是:这两个问题共享同一个根因——预训练期间生成器从未见过它应该促成的那个行为。一个点击目标和一个下单目标携带完全相同的指令,因此模型对二者返回同一个候选分布,行为信号只能在事后才进场。由此提出核心研究问题:
判别式的行为信号能否被直接内化进生成模型的训练目标,而不是委派给一个独立的外部奖励模型?
把行为放在输出端并不能回答这个问题。 一个 GR 模型可以在物品标识符之后追加一个行为 token,或者从最终 decoder 状态预测行为,让生成与判别共享一个骨干(Figure 1(b))。但两种做法都是在生成之后预测行为,而不是用它去条件化生成,所以候选分布在不同目标行为之间是完全一样的。重排(reranking)只能重排已解码的物品,无法改变哪些物品被生成出来。
论文的做法是直接用行为条件化生成。 行为层级本就已经躺在会话日志里,按意图强度排序为 exposure ≺ click ≺ add-to-cart ≺ order——这是一个贯穿两个训练阶段、不需要任何额外模型的监督信号:一个在预训练期条件化生成的行为标签,在后训练期自然地被保留为监督信号(Figure 1(c))。让信号成为内部的而非外部的,就从源头上移除了代理奖励问题。
后训练侧还有一个挑战。 行为感知的预训练把行为内化进了生成,但要在后训练期做行为引导的策略优化、同时又不依赖外部奖励模型仍然困难:可验证奖励(verifiable reward)给出了一个不依赖外部奖励模型的优化目标,但只提供稀疏的监督。近期的 On-Policy Distillation(OPD)能为行为感知的策略更新提供 token 级的师生蒸馏信号,但在推荐系统里维护一个外部的、快速迭代的 teacher 代价高昂。一个自然的想法是把用户未来的交互行为当作特权信息(privileged information)做 On-Policy Self-Distillation(OPSD)。但直接套用特权自蒸馏不可避免地引入特权依赖偏置(privilege-dependent bias)——teacher 看得见未来,student 看不见,teacher 在某些位置的自信是"作弊"来的,硬蒸会把 student 推向它自己无法支撑的分布。
OxygenREC-v2(IDGR,Internalizing Discrimination into Generative Recommendation) 因此在两个训练阶段都把行为信号折进生成器的目标函数:
- 预训练:行为感知指令 $I_b$ 编码每个 target 的真实行为标签,进入 decoder prefix,从第一个解码步就条件化生成,使候选分布随目标行为发生偏移;
- 后训练:EA-TOSD(Entropy-Aware Trajectory Optimization Self-Distillation)框架。在行为条件生成器的基础上,进一步利用用户未来交互行为作为 teacher 的特权知识做偏好对齐,同时用熵感知策略防止特权蒸馏偏置。
结果:在 JD.com 工业电商平台上,OxygenREC-v2 相对预训练基线把 HR@1 从 4.62% 提到 5.64%、HR@512 从 43.24% 提到 44.14%,并在七项检索与排序指标里的六项领先代理奖励基线,增益最大的是下单(order)行为——最稀疏、价值最高的那个。部署为 3B 参数、1B 激活(3B-A1B)的 MoE 后,线上 UCTCVR 提升 1.6–4.4%、GMV 提升 2.8–6.8%。
三条贡献:(i) 行为条件化预训练($I_b$ + 行为感知训练);(ii) 熵感知自蒸馏后训练框架 EA-TOSD——一个不依赖奖励模型的统一后训练框架,联合可验证轨迹优化、被用户未来行为告知的 teacher、以及熵感知特权蒸馏;(iii) 工业验证。
相关工作¶
生成式推荐中的行为信号。 生成式检索自回归地解码物品标识符(TIGER、OneRec)。经典工业推荐器用多任务判别器建模异质行为(ESMM、PLE)。近期的生成式系统大体保留了这一扩展:OneRec 用一个学习出来的奖励模型,OneMall 用一个在线 ranker 作为奖励,GenRec 用一个带 relevance gate 的稠密偏好模型。这类代理稠密化了反馈,但在策略偏移(policy shift)下会招致奖励过优化。一条互补的线是 MBGen 联合生成行为 token 与物品 token,PinRec 把生成条件化在期望的参与结果上——这些工作确立了行为条件化生成,本文研究的是它在没有外部行为打分器情况下的可靠后训练。
可验证优化与特权 on-policy 蒸馏。 推荐策略长期从日志反馈学习,包括生产规模的 off-policy REINFORCE。带可验证奖励的 RL 转而把更新锚定到 ground-truth 检查上,避开学习出来的裁判的代理误差(Tülu 3、DeepSeek-R1)。OneRec-V2 同样优化真实用户反馈,降低了 reward hacking 风险,但保留了稀疏正样本与困难的多目标信用分配。蒸馏提供更稠密的监督:P5 把任务与偏好编码进 prompt,PFD 迁移事后特权特征,AFE 蒸馏未来交互。对 LLM 而言,OPD 用稠密 token 分布监督 student rollout;OPSD 则用同一个骨干但配以特权输入。然而特权 teacher 可能强化无依据的推理,因此催生了纯化(Purified OPSD)与基于熵的选择(Entropy-aware OPD)。本文把这条线适配到生成式推荐:把可验证轨迹优化与熵感知特权自蒸馏结合起来。
预备知识¶
生成式推荐设定。 采用 encoder–decoder 生成式推荐器。Encoder 把用户交互上下文 $X$(行为序列、画像特征、上下文信号)映射为一串隐状态。Decoder 自回归地把推荐结果产出为一串 SID token。每个物品经残差量化(residual quantization)被 tokenize 成一个来自三个层级码本的有序三元组 $(s^1, s^2, s^3)$,所以解码一个物品需要三步。把解码出的推荐写作扁平化的 SID-token 序列 $Y = (y_1, \ldots, y_L)$,$y_t$ 是单个 SID token,$L$ 是解码步数;单个物品对应 $L=3$。
遵循所构建工业系统(OxygenREC-v1)的 instruction-following 设计,decoder 条件化在一个复合指令 prompt $P = (I_s, I_r)$ 上,其中 $I_s$ 是场景指令(编码场景上下文与一个可选的 trigger item),$I_r$ 是上下文推理指令——一个由近线大语言模型从用户意图信号合成出来的稠密 embedding。预训练目标最大化给定用户上下文与指令下目标 SID 序列 $Y$ 的似然:
$$p_\theta(Y \mid X, I_s, I_r) \tag{1}$$
这个设定定义了本文框架赖以运作的界面:指令 prompt 是模型唯一的输入侧塑形生成的把手,而 SID 序列是它唯一的输出。
外部判别器范式(External Discriminator Pattern)。 Eq.(1) 的预训练目标只反映用户与哪些物品发生了交互,而不反映交互的类型。关于行为的判别信息按惯例是在预训练之后通过一个外部模块注入的:一个单独训练的排序模型 $R_\phi(\hat Y, X)$ 给生成的候选 $\hat Y$ 打分,策略再用强化学习针对一个代理奖励项的融合去微调:
$$\mathcal{R}(\hat Y, X) = \sum_j \alpha_j\, r_j(\hat Y, X) \tag{2}$$
其中每个 $r_j$ 瞄准一个不同的目标(format、ranking、diversity、relevance),权重 $\alpha_j$ 由人手工设定。论文把这种"预训练生成器 + 外部训练的判别器供给代理奖励"的两阶段安排称为外部判别器范式,它是工业 GR 系统里的主导配方,也是本文对照的基线。
核心方法 / 模型架构¶
在预备知识的生成式推荐器之上,本文通过四个组件把行为信号加进训练目标:行为感知指令把生成条件化在目标行为上;行为感知训练把监督重加权到信息量更大的行为上;后训练用一个可验证的行为匹配替换代理排序奖励,并蒸馏一个能看到用户未来行为的特权 teacher。
一条单一的行为层级——从曝光经点击、加购到下单——贯穿全部四个组件:它设定指令优先级、监督损失权重、以及 teacher 的行为阈值。Figure 2 展示同一个信号如何被复用三次:通过 $I_b$ 条件化被部署的 student;把可验证奖励锚定到观测到的 target 上;过滤只对特权 teacher 可见的近未来上下文。

4.1 行为感知指令 $I_b$¶
场景指令与推理指令指定了"在哪里推荐"和"推给谁",但没有指定推荐应当驱动什么行为。同一个用户在首页(目标是点击)和在购物车页(目标是下单)应该收到不同的候选,然而在没有行为信号时模型读到的是相同的指令、返回相同的分布。行为正是推荐目标彼此区分的那根轴:点击目标偏好探索与多样性,下单目标偏好高转化物品。只通过一个事后给候选打分的外部模型来表达这种差异是间接的,并且让生成器本身仍然行为无关。
行为指令 $I_b$ 的构造。 把目标行为 $b \in \{\text{click}, \text{cart}, \text{order}\}$ 编码为一条指令 $I_b$ 并前置到 decoder。行为映射到一个保留的词表 token,其 embedding 从 decoder 的共享 embedding 表中读出,再经过一个两层前馈投影 $\psi$,得到 $I_b = \psi(\mathrm{Emb}(b))$。把 $I_b$ 拼接在场景指令与推理指令之后,于是 decoder prefix 变成 $[\textsc{bos}, I_s, I_r, I_b]$。
训练时 $b$ 是 logged target 的行为,按优先序 order ≻ cart ≻ click ≻ exposure 选取;推理时 $b$ 由场景的业务目标设定,不涉及任何辅助模型。Decoder 在每一步都 attend 到 $I_b$,所以目标行为塑形整个自回归生成过程,其中对固定物品大类的第一层码本 $s^1$ 影响最强。这给出行为条件化的目标:
$$p_\theta(Y \mid X, I_s, I_r, I_b), \qquad I_b = \psi(\mathrm{Emb}(b)) \tag{3}$$
实现细节(Appendix B)。 行为 token 先映射到保留标识符 $\mathrm{tok}(b) = \tau_0 + \rho(b)$,其中 $\rho(\text{click})=1,\ \rho(\text{cart})=2,\ \rho(\text{order})=3$,$\tau_0$ 是一个固定偏移量、保留出一整块连续的行为 token,使行为 token 永不与物品编码碰撞。该 token 通过 decoder 的共享 embedding 表嵌入:$e_b = \mathrm{Emb}_{\mathrm{dec}}(\mathrm{tok}(b)) \in \mathbb{R}^{d_{\mathrm{model}}}$。复用 decoder 的 embedding 表(而不是引入单独的行为 embedding)把行为信号保持在与 decoder 所生成 token 相同的表示空间里,且不增加任何新的查表参数。投影网络为:
$$I_b = \psi(e_b) = W_2\big(\mathrm{drop}(\sigma(W_1 e_b))\big) \tag{4}$$
其中 $W_1 \in \mathbb{R}^{d_{\mathrm{ff}} \times d_{\mathrm{model}}}$、$W_2 \in \mathbb{R}^{d_{\mathrm{model}} \times d_{\mathrm{ff}}}$,$\sigma$ 是 LeakyReLU(负斜率 0.01),层间有 dropout,隐层宽度与骨干的前馈尺寸 $d_{\mathrm{ff}}$ 一致。$\psi$ 从骨干初始化器初始化、与模型联合训练,是为行为指令新增的唯一参数,并且在三种行为之间共享。默认关闭可选的 RMSNorm。
4.2 行为感知训练¶
一次用户会话记录了大量行为事件,但每个样本只在少数几个 target 上训练会丢掉大部分可用监督,而且频繁的曝光会淹没稀有的加购与下单事件——后者恰恰携带最高价值。这与行为指令的意图直接冲突:$I_b$ 指名了一个目标行为,而被曝光主导的损失把模型往反方向拉。
4.2.1 目标选择与展开。 对每个用户样本遍历它全部的 logged target,把它们展开为相互独立的训练实例,每个实例配上自己的 $I_b$。丢弃只有曝光、无点击/加购/下单的 target,只保留行为具有判别性的实例。每个存活实例都是"一个带行为标签的 target + 与之匹配的指令"的配对,因此监督与指令按构造保持一致。
在 listwise 的日粒度设定下,把一个用户上下文的 $N$ 个存活 target 打包进单条序列一起解码,每个 target 写作它的 SID 三元组 $(s^1, s^2, s^3)$。在三个码本层级上扁平化后得到 $L = 3N$ 步的 SID-token 序列 $Y = (y_1, \ldots, y_L)$。Decoder 因此在一次 pass 中产出一个含 $N$ 个物品的列表,而不是单个物品——这个 listwise 序列正是后训练期可验证奖励与蒸馏所操作的同一种形式。
4.2.2 行为加权目标。 给每种交互类型一个行为价值权重 $w_b$ 来加权损失,得到预训练目标:
$$\mathcal{L}_{\mathrm{pre}} = \frac{1}{|\mathcal{T}|}\sum_{(y_t, b) \in \mathcal{T}} w_b\, \mathrm{CE}\big(p_\theta(y_t \mid X, I_s, I_r, I_b),\, y_t\big) \tag{5}$$
其中 $\mathcal{T}$ 是 batch 内所有展开训练实例上的 (SID token, 行为) 对集合:每个目标 token $y_t$ 继承它所属物品的行为标签 $b$,$w_b$ 是该行为的价值权重。权重序与指令优先级、以及后面 teacher 的行为阈值一致,因此一条单一的行为价值尺度贯穿整条流水线。 默认权重 $w_b = \{1.2,\ 1.5,\ 2.0\}$ 分别对应 click / cart / order。
4.3 后训练:可验证奖励与特权蒸馏(EA-TOSD)¶
论文提出 EA-TOSD,一个把可验证最优轨迹优化与熵感知双路特权自蒸馏耦合起来的后训练框架。它通过三个组件优化 student 轨迹:(i) 通过可验证奖励选出最优生成轨迹;(ii) 构造一个被未来行为信息增广的特权 teacher;(iii) 执行熵感知的双路自蒸馏,使监督自适应于 teacher 的不确定性。
4.3.1 用于轨迹优化的可验证奖励¶
推荐里的奖励信号通常来自一个训练出来的排序模型。本文转而把生成 SID 的命中率当作可验证奖励。设 $X$ 是从数据集 $\mathcal{D}$ 采样的用户上下文,$Y^\star = (y_1^\star, \ldots, y_L^\star)$ 是对应的 ground-truth SID token 序列,在 $N$ 个 listwise target 上共 $L = 3N$ 步。给定 $X$,当前 student 策略生成一组 $G$ 条候选序列 $\{\hat Y_i\}_{i=1}^G \sim \pi_S(\cdot \mid X)$,其中 $\hat Y_i = (\hat y_{i,1}, \ldots, \hat y_{i,L})$。对候选序列 $i$,读出逐步命中:
$$h_{i,t} = \mathbb{1}\big[\hat y_{i,t} = y_t^\star\big], \qquad t = 1, \ldots, L \tag{6}$$
再用几何加权方案把它们聚合成一个标量。这里的设计动机是:更早的解码步对应更粗的码本层级、固定物品的大类,因此应当被赋予更高权重:
$$\omega_t = \frac{\gamma^{t-1}}{\sum_{j=1}^L \gamma^{j-1}}, \qquad R_i = \sum_{t=1}^L \omega_t\, h_{i,t} \in [0, 1] \tag{7}$$
其中 $\gamma$ 是几何衰减因子,$\omega_t$ 是第 $t$ 步的权重,$R_i$ 是生成序列 $i$ 的可验证奖励值。对每个从 $\mathcal{D}$ 采样的上下文 $X$,从当前 student 策略抽 $G$ 条候选轨迹,令 $k$ 为可验证分数最高的那条轨迹,$R_k = \max_{i \in \{1,\ldots,G\}} R_i$。然后用它的可验证分数作为轨迹级权重强化被选中轨迹里的所有 token:
$$\mathcal{L}_{\mathrm{VR}} = \mathbb{E}_{X \sim \mathcal{D}}\left[-R_k \sum_{t=1}^L \log \pi_S\big(\hat y_{k,t} \mid X, \hat y_{k,<t}\big)\right] \tag{8}$$
期望隐式地包含了"从候选组采样"与"选出其中最高分轨迹"两重随机性。后续的蒸馏(§4.3.2、§4.3.3)都在这条被选中的轨迹 $k$ 上执行。
4.3.2 特权 teacher 的结构¶
已有的 OPD 方法依赖一个单独的、更强的 teacher。OPSD 转而让 student 模型在更丰富、更有信息量的监督下从自己生成的轨迹中学习,为 LLM 提供了一个有效的后训练范式。在工业推荐里,一个自然的扩展是给 teacher 装上特权输入。
本文把用户未来的交互当作特权信息给 teacher。如 Figure 2 所示:取用户在未来实际交互的物品——包括点击、加购、以及完成的购买——把它们作为一个特权解码前缀 $F$ 前置到 decoder 输入。$F$ 是一个只有 teacher 才有的 token 块,由至多 $m$ 个近未来 target 的 SID 构成。
Teacher 与 student 共享骨干,仅由这个额外前缀区分,从而给出 student 策略 $\pi_S$ 与 teacher 策略 $\pi_T$。在 student 生成序列的每个位置上,特权 teacher 产出一个更自信的预测分布,因此它的蒸馏信号能把 student 引导向更高质量的序列。
未来目标前缀的构造(Appendix E.1)。 按整条流水线通用的同一优先序对行为排序:
$$\rho(\text{any}) = 0 \prec \rho(\text{click}) = 1 \prec \rho(\text{cart}) = 2 \prec \rho(\text{order}) = 3 \tag{9}$$
并为 teacher 变体固定一个阈值 $\rho_{\min}$。设当前样本的时间戳为 $t_0$,logged target 携带时间戳 $\{t_j\}$ 与行为 $\{b_j\}$;按时间序扫描 target,当 target $j$ 严格位于未来且通过阈值时保留它:
$$t_j > t_0 \quad \text{and} \quad \rho(b_j) \ge \rho_{\min} \tag{10}$$
每个保留的 target 映射到它的 $c$ 个 SID token($c = 3$,即码本深度),含 padding code 的 target 被跳过;至多收集 $m$ 个未来 target(默认 $m = 2$)。结果被截断或 pad 到固定长度 $m \cdot c$,给出 token 块:
$$F = \big[\mathrm{sid}(j_1),\ \mathrm{sid}(j_2),\ \ldots\big] \in \mathbb{Z}^{m \cdot c} \tag{11}$$
该块通过与行为指令、SID token 相同的共享 decoder embedding 表嵌入,并拼接在 student 前缀之后,于是 teacher 从 $[\textsc{bos}, I_s, I_r, I_b, F]$ 解码,而 student 从 $[\textsc{bos}, I_s, I_r, I_b]$ 解码。Teacher 前缀比 student 前缀长 $m \cdot c$ 个 embedding,损失例程按这个固定偏移量对齐两者。
论文特别强调这一设计的经济性:因为 teacher 就是策略自己加上一段短的前瞻,student 与 teacher 的分布始终保持接近,蒸馏是 on-policy 的,也就不需要任何单独的或更大的奖励模型。
4.3.3 来自特权 teacher 的熵感知双路自蒸馏¶
为了补足稀疏的命中式信号,用特权 teacher 提供稠密的 token 级蒸馏监督。给定 teacher 策略 $\pi_T$ 与 student 策略 $\pi_S$,预测位置 $t$ 的特权优势(privilege advantage)为:
$$\mathcal{A}_t = \log \pi_T\big(\hat y_t \mid X, F, \hat y_{<t}\big) - \log \pi_S\big(\hat y_t \mid X, \hat y_{<t}\big) \tag{12}$$
其中 $\hat y_t$ 是被选中轨迹在第 $t$ 步的 SID token,$F$ 是只在训练期存在、编码用户近未来目标的特权前缀。$\mathcal{A}_t$ 把 teacher 被未来告知的偏好信号迁移给只条件化在可观测历史上的 student 策略。
但特权 teacher 并非在每个预测位置都提供有益的蒸馏信号。 对每个 SID 生成前缀,计算特权 teacher 在 next-token 位置的预测熵,并用一个熵门(entropy gate)决定对应的 token 级蒸馏损失是否激活。$H_t^T$ 表示 teacher 在第 $t$ 步的 token 级熵:
$$H_t^T = -\sum_{v \in \mathcal{V}} \pi_T\big(v \mid X, F, \hat y_{<t}\big) \log \pi_T\big(v \mid X, F, \hat y_{<t}\big) \tag{13}$$
其中 $v$ 是词表 $\mathcal{V}$ 中的候选 token。低熵位置表明存在一个清晰的 token 级蒸馏方向,高熵位置则捕获多个同样合理的未来偏好。 因此用一个二值低熵门 $g_t^l = \mathbb{1}(H_t^T < \tau_l)$ 和一个高熵门 $g_t^h = \mathbb{1}(H_t^T > \tau_h)$ 在每个生成位置上选择性地蒸馏偏好信息。归一化权重为:
$$\bar g_t^l = \frac{g_t^l}{\sum_{j=1}^L g_j^l + \epsilon}, \qquad \bar g_t^h = \frac{g_t^h}{\sum_{j=1}^L g_j^h + \epsilon} \tag{14}$$
低熵门下,特权 teacher 供给有清晰用户偏好方向的可靠蒸馏信号,这就在工业推荐规模上实现了 OPSD。由此得到的熵感知自蒸馏损失为:
$$\mathcal{L}_{\mathrm{SD}} = \mathbb{E}_{X \sim \mathcal{D}}\left[-\sum_{t=1}^L \bar g_t^l\, \mathrm{sg}(\mathcal{A}_t)\, \log \pi_S\big(\hat y_t \mid X, \hat y_{<t}\big)\right] \tag{15}$$
其中 $\mathrm{sg}(\cdot)$ 是 stop-gradient 算子——特权优势只作为一个标量权重参与,梯度不回流到 teacher 分支,这一点是防止特权信息污染 student 参数的关键。
高熵门下,为了保留多个合理的未来用户偏好、防止 student 过早地坍缩到单一模式,进一步在高熵位置($H_t^T > \tau_h$)施加前向 KL 散度,它迁移 teacher 的不确定性与全局结构:
$$\mathcal{L}_{\mathrm{FKL}} = \mathbb{E}_{X \sim \mathcal{D}}\left[\sum_{t=1}^L \bar g_t^h\, D_{\mathrm{KL}}\Big(\pi_T\big(\cdot \mid X, F, \hat y_{<t}\big)\ \big\|\ \pi_S\big(\cdot \mid X, \hat y_{<t}\big)\Big)\right] \tag{16}$$
这套"低熵走 advantage 加权自蒸馏、高熵走 forward-KL"的双路设计,正是论文对特权依赖偏置的答案:不在 teacher 明显不确定的位置强推它的 mode,也不在 teacher 明确的位置浪费掉稠密监督。
4.3.4 训练目标¶
后训练并行优化三项的加权和——可验证奖励目标 $\mathcal{L}_{\mathrm{VR}}$、低熵特权蒸馏 $\mathcal{L}_{\mathrm{SD}}$、高熵前向 KL 项 $\mathcal{L}_{\mathrm{FKL}}$,权重 $\lambda, \beta, \zeta$ 手工设定:
$$\mathcal{L}_{\text{EA-TOSD}} = \lambda\, \mathcal{L}_{\mathrm{VR}} + \beta\, \mathcal{L}_{\mathrm{SD}} + \zeta\, \mathcal{L}_{\mathrm{FKL}} \tag{17}$$
有监督微调的 next-token 损失(SFT)与 RL 更新并行运行而非交替。它把策略锚定到预训练分布上,并在稀疏的命中信号旁边补上稠密监督,扮演 pre-training-mix(PTX)正则的角色。在外部排序模型被移除之后,奖励收缩为一个单一的可验证信号,而有监督项与蒸馏项充当互补的正则项。 Algorithm 1(Appendix D)给出的完整实现里目标为 $\lambda\mathcal{L}_{\mathrm{VR}} + \beta\mathcal{L}_{\mathrm{SD}} + \zeta\mathcal{L}_{\mathrm{FKL}} + \lambda_{\mathrm{sft}}\mathcal{L}_{\mathrm{SFT}}$。
Algorithm 1:EA-TOSD 的一个后训练步(改写自原文)
输入: minibatch B ⊂ D,含 listwise gold Y* = (y*_1,...,y*_L) 的上下文 x;
骨干 π_θ;rollout 组大小 G;几何衰减 γ;
teacher 熵门 τ_l ≤ τ_h;目标权重 λ, β, ζ, λ_sft;学习率 η;常数 ε
1: 令 π_S(·|X) 与 π_T(·|X,F) 为同一模型 π_θ 在 student / teacher 条件下的两种形态,
F 为未来目标特权前缀
2: for all x ∈ B do
3: 从 π_S(·|X) 采样 G 条 on-policy 轨迹 {Ŷ_i}
4: 计算几何加权的逐轨迹可验证奖励,选出最高分段:
ω_t = γ^{t-1} / Σ_j γ^{j-1}; R_i = Σ_t ω_t · 1[ŷ_{i,t} = y*_t]; k = argmax_i R_i
5: 在选中轨迹上构造可验证奖励目标 L_VR
6: 沿段 k 计算 teacher 熵 H^T_t 与归一化的低/高熵门 ḡ^l_t, ḡ^h_t
7: 用特权优势 A_t 做熵感知特权蒸馏,得到 L_SD 与 L_FKL
8: 在 gold target y* 上构造行为加权 next-token 交叉熵锚 L_SFT
9: L_EA-TOSD = λL_VR + βL_SD + ζL_FKL + λ_sft·L_SFT
10: end for
11: L = (1/|B|) Σ_x L; θ ← θ − η∇_θ L
默认超参:$\lambda = 0.1$、$\beta = 0.01$、$\zeta = 0.01$、$\tau_l = 0.75$、$\tau_h = 2.6$。
实验设置¶
数据。 来自 JD.com 的专有交互日志。每个样本把一个用户上下文与该用户交互过的物品配对,物品按行为类型(曝光、点击、加购、下单)标注。预训练遵循 listwise 日粒度设定:一个用户上下文匹配一组被交互物品,解码为一条打包序列。训练覆盖一个月日志(2026-03-25 至 2026-04-25),评估使用次日(2026-04-26)。
Table 11:数据与物品 tokenizer 配置
| 字段 | 取值 |
|---|---|
| Domain | 工业电商(专有) |
| Format | Parquet, random seed 1 |
| Train span | 2026-03-25 → 2026-04-25 |
| Eval day | 2026-04-26 |
| Behavior types | exposure, click, add-to-cart, order |
| Short seq. length | 20 |
| Lifelong seq. length | 256 |
| Listwise group size $G$ | 16–20 |
| SID codebooks | 3 × 8192(残差量化) |
指标。 检索侧报告 HR@$K$ 与 Recall@$K$,$K \in \{1, 128, 512\}$,捕获生成的候选是否召回了被交互物品。排序侧在解码列表上报告 NDCG@512 与 MRR@512,外加 GAUC(Group Area Under the Curve):模型给 logged 候选列表打分,GAUC 按用户计算再在测试集上平均,既报总体也分 click / cart / order 分别报告。所有指标越高越好。
对比方法(同一骨干、同一解码格式下的三个变体):
- OxygenREC-v1 (PT-only):不做后训练的预训练 checkpoint,设定与 v1 论文相同;
- Proxy-RM:遵循先前工业系统(OneRec / OneMall / OxygenREC-v1)的外部判别器范式,用一个统一的排序模型作为代理奖励去微调 OxygenREC-v1 (PT-only);
- OxygenREC-v2:本文方法。
三者共享一个骨干,且都不增加任何推理期模块。
Table 12:骨干架构与优化设置(所有 run 共享)
| 字段 | 取值 |
|---|---|
| $d_{\mathrm{model}} / d_{\mathrm{ff}}$ | 2048 / 2048 |
| Encoder / decoder 层数 | 4 / 8 |
| Attention heads / $d_{kv}$ | 8 / 128 |
| Decoder experts (MoE) | 8 |
| Tied embeddings | yes |
| Vocabulary size | 25,000 |
| Optimizer | AdamW, lr $= 1\times10^{-4}$ |
| LR schedule | WarmupCosine,warmup 20k,total 1M |
| Global batch size | $1024 \times 16 = 16{,}384$ |
| ZeRO stage | 1(overlap comm.,50MB bucket) |
| Precision | bf16 |
| Training steps | ≈295k(EOS-terminated) |
| Decoding | beam 512,length 4,greedy |
| Eval sample count | 102,400 |
骨干是一个带 MoE decoder 的 encoder–decoder transformer。Appendix G.2 声明离线研究用的是 0.7B 参数配置,线上部署(§6.3)把同一架构 scale 到 3B 参数、1B 激活的 3B-A1B MoE;后训练复用这套骨干与解码格式,不增加推理期模块。(注:正文 §5 写的是"所有离线研究使用 3B encoder–decoder 骨干",与 Appendix G.2 的 0.7B 表述矛盾,见"讨论与局限性"。)
在线 A/B 协议。 把 OxygenREC-v2 部署为 3B-A1B MoE,在 JD.com 工业电商平台的六个生产 surface 上跑分桶 A/B,每个都与当时在线的模型对比。分桶接收该 surface 5–20% 的流量,运行五到八天;报告 UCTR、UCTCVR、GMV 的相对提升,显著性来自平台标准的双侧检验。Surface 按 OxygenREC-v1 的用户生命周期阶段分组,跨越首页楼层、频道信息流、结算路径、商详页。
主要实验结果¶
主结果(Table 1)¶
Table 1:同一骨干下的主要对比。 Proxy-RM 把本文的可验证奖励替换为一个外部排序模型。括号内绿色数字为 OxygenREC-v2 相对 OxygenREC-v1 (PT-only) 基线的增益。
| Method | HR@1 | HR@128 | HR@512 | Recall@512 | NDCG@512 | MRR@512 | GAUC |
|---|---|---|---|---|---|---|---|
| OxygenREC-v1 (PT-only) | 4.62% | 33.08% | 43.24% | 34.95% | 0.6211 | 0.5143 | 0.6207 |
| Proxy-RM | 5.54% | 33.89% | 43.09% | 36.24% | 0.6246 | 0.5343 | 0.6195 |
| OxygenREC-v2 | 5.64% (+1.02) | 33.76% (+0.68) | 44.14% (+0.90) | 36.39% (+1.44) | 0.6254 (+0.0043) | 0.5369 (+0.0226) | 0.6218 (+0.0011) |
分析。 OxygenREC-v2 赢下了决定候选集的那些检索指标:HR@512 达 44.14%、Recall@512 达 36.39%,分别领先 v1 基线 0.90 / 1.44 个点、领先 Proxy-RM 1.05 / 0.15 个点。差距在榜单顶端被进一步拉大:HR@1 从 4.62% 升到 5.64%,1.02 个点的增益把最难的检索指标提升得最多。排序侧三项指标同样全面领先,NDCG@512 0.6254、MRR@512 0.5369、GAUC 0.6218,相对 v1 分别提升 0.0043、0.0226、0.0011。
Proxy-RM 的表现恰好说明了为什么外部奖励不够:它相对 v1 改善了排序(NDCG 0.6246、MRR 0.5343),但在 HR@512 上停滞甚至倒退(43.09%,低于 v1 的 43.24%)。代理奖励只是把候选重新排序,并没有把行为相关的物品拉进候选集里。OxygenREC-v2 通过把生成条件化在目标行为上避开了这一点,于是检索与排序的收益同时到来。唯一让给 Proxy-RM 的一项是 HR@128(33.76% vs 33.89%),这也是"六 / 七"这个说法的来源。
Takeaway(原文):把行为信号内化、而不是作为外部奖励挂上去,改善的是候选集本身。
消融实验¶
预训练消融(Table 2)¶
Table 2:预训练消融,每次加一个组件。
| Ablation | HR@1 | HR@128 | HR@512 | Recall@512 | NDCG@512 | MRR@512 | GAUC |
|---|---|---|---|---|---|---|---|
| (a) OxygenREC-v1 (PT-only, w/o $I_b$) | 4.62% | 33.08% | 43.24% | 34.95% | 0.6211 | 0.5143 | 0.6207 |
| (b) + $I_b$ | 4.78% | 33.47% | 43.55% | 35.11% | 0.6223 | 0.5166 | 0.6218 |
| (c) + $w_b$ | 4.91% | 33.63% | 43.82% | 35.25% | 0.6224 | 0.5166 | 0.6218 |
分析。 在与主对比相同的检索与排序指标上,两个组件单调地改善检索:HR@512 从 43.24%(Base)→ 43.55%(加 $I_b$)→ 43.82%(再加行为加权损失);Recall@512 走同样的路径(34.95% → 35.11% → 35.25%)。NDCG@512 在完整配置下最高,而 MRR@512 与 GAUC 在加入 $I_b$ 后即饱和,(b) 与 (c) 打平在 0.5166 与 0.6218。每个组件贡献一个小而一致的增益,两者是互补而非冗余的。
值得注意的是:$I_b$ 单独就把 GAUC 从 0.6207 顶到 0.6218(即主表 v2 的最终 GAUC 水平),说明排序质量的提升几乎完全来自输入侧的行为条件化,而非后训练;后训练主要贡献在检索侧(HR@1 4.91% → 5.64%、HR@512 43.82% → 44.14%)。
特权信息选择消融(Table 3)¶
Table 3:用于增广 teacher 的特权信息消融。
| Method | HR@1 | HR@512 | Recall@512 |
|---|---|---|---|
| Proxy-RM | 5.54% | 43.09% | 36.24% |
| Privileged Teacher (Expo) | 5.62% | 43.80% | 36.19% |
| Privileged Teacher (Click) | 5.64% | 44.14% | 36.39% |
分析。 给 teacher 的特权信息选择不是任意的。Expo 设定下特权信息包含全部未来交互物品,涵盖仅曝光、曝光并点击、点击并加购、加购并购买四类行为;Click 设定则排除仅曝光物品,特权信息只由"曝光并点击 / 点击并加购 / 加购并购买"三类构成。
结果显示 Click 设定取得最好的总体表现(5.64% HR@1、44.14% HR@512、36.39% Recall@512);纳入仅曝光物品会把 HR@512 与 Recall@512 分别轻微降到 43.80% 与 36.19%。这说明仅曝光物品引入噪声,而与更深交互相关联的点击物品给出更干净的特权信号。 这与 Appendix E.2 中的 teacher 变体表(Table 10)设计一致:$\rho_{\min}$ 越低,未来目标池越稠密但越噪;越高越稀疏但越精确。
Table 10:由行为阈值 $\rho_{\min}$ 设定的 teacher 变体。
| Teacher variant | Behaviors kept | $\rho_{\min}$ | Pool |
|---|---|---|---|
| Add exposure (default) | expo, clk, cart, ord | 0 | dense / noisy |
| Add click | clk, cart, ord | 1 | medium |
| Order only | ord | 3 | sparse / precise |
后训练目标消融(Table 4)¶
Table 4:后训练目标消融(对应 Eq.(17) 的损失权重,默认 $\lambda = 0.1$、$\beta = \zeta = 0.01$)。
| Method | HR@1 | HR@512 | Recall@512 |
|---|---|---|---|
| EA-TOSD(全组件) | 5.64% | 44.14% | 36.39% |
| w/o FKL($\zeta = 0$) | 5.59% | 43.80% | 36.21% |
| w/o FKL & SD($\beta = \zeta = 0$,仅 VR) | 5.64% | 43.65% | 36.14% |
| SFT only($\lambda = \beta = \zeta = 0$) | 5.52% | 43.65% | 36.20% |
分析。 从完整的 EA-TOSD 出发逐步移除组件:
- 移除 FKL 把 HR@512 从 44.14% 降到 43.80%、Recall@512 从 36.39% 降到 36.21% —— 说明熵感知的前向 KL 为不确定的预测位置提供了互补监督;
- 进一步移除特权自蒸馏 把 HR@512 降到 43.65%、Recall@512 降到 36.14% —— 说明来自特权 teacher 的稠密 token 级监督确实有效;
- 最后移除 VR 使 HR@1 从 5.64% 掉到 5.52% —— 证实所提的轨迹优化与熵感知自蒸馏共同贡献了性能增益。
一个值得注意的细节:w/o FKL & SD(只留 VR)在 HR@1 上与全配置打平(都是 5.64%),说明HR@1 主要由可验证奖励的轨迹选择驱动,而两路蒸馏的贡献集中在列表深处(@512 的 HR / Recall)。这与两者的机制分工一致:VR 是一个轨迹级的稀疏"选最优"信号,蒸馏是逐 token 的稠密分布对齐。
基于熵的 token 路由(Table 5)¶
由于特权 teacher 并非在每个预测位置都提供同等可靠的监督,论文调节熵阈值 $(\tau_l, \tau_h)$ 来控制路由到 SD 与 FKL 的预测位置比例(记作 $\rho_L$、$\rho_H$)。
Table 5:基于熵的 token 路由消融。
| Distillation Token Ratio | HR@1 | HR@512 | Recall@512 |
|---|---|---|---|
| $\rho_L = \rho_H = 100\%$ | 5.42% | 43.87% | 36.27% |
| $\rho_L = \rho_H = 40\%$ | 5.44% | 43.80% | 36.21% |
| $\rho_L = \rho_H = 20\%$ | 5.64% | 44.14% | 36.39% |
分析。 对所有预测位置施加蒸馏(100%/100%)并不能取得最好表现。把路由覆盖率降到 20% 使 HR@1 从 5.42% 提到 5.64%、HR@512 从 43.87% 提到 44.14%、Recall@512 从 36.27% 提到 36.39%;把覆盖率提到 40% 也不如 20% 设定。这直接验证了论文关于特权依赖偏置的论点:只有一小部分预测位置提供可靠的特权监督,无差别的全 token 蒸馏会把 teacher 的"作弊性自信"一并灌进 student。
熵门的敏感性分析(Figure 5)进一步给出峰值位置:固定最佳高熵阈值、扫描 $\tau_l \in \{0.1, 0.75, 1.0, 3.0\}$,峰值在 $\tau_l = 0.75$;固定最佳低熵阈值、扫描 $\tau_h \in \{0.1, 1.5, 2.6, 10.0\}$,峰值在 $\tau_h = 2.6$。两个面板共享同一纵轴刻度以便直接比较——曲线在峰值两侧都明显下滑,说明该超参不是平坦的,需要实际调优。

行为权重敏感性(Appendix F,Figure 6)¶
为探究行为之间的对比度(而非绝对尺度)的影响,引入一个 gap-scaling 因子 $k$ 缩放每种行为相对 click 权重的偏移:order 与 cart 设为 $1.2 + k\,(w_b - 1.2)$,click 固定在 1.2。$k=1$ 恢复默认权重,$k<1$ 把权重压平向均匀加权,$k>1$ 锐化高价值与低价值行为之间的对比。所有变体共享 $I_b$ 与曝光过滤,仅在 $k$ 上不同,且都在相同数据与优化设置下训练同样约 295k 步。

两个指标都在默认 $k=1$ 处达到峰值:压平($k = 0.5$)与锐化($k = 1.5, 2.0$)都降低命中率,更大的对比度伤害最重(hit3@512 从 $k=1$ 时的 43.34 掉到 $k=1.5$ 时的 42.95)。这表明默认行为权重已落在一个有利区域:模型受益于把高价值的下单与点击区分开,但把对比推过默认值会过度强调稀有的高价值行为,代价是整体检索质量。因此全程保持 $k=1$。
在线 A/B 实验(Table 6)¶
Table 6:跨部署 surface 的在线 A/B 结果,按用户生命周期阶段分组(相对生产模型的提升;* 表示 $p < 0.05$ 显著)。
| Stage | Surface | UCTR | UCTCVR | GMV |
|---|---|---|---|---|
| Homepage Floor | Scenario 1 | +0.09% | +3.62%* | +21.21%* |
| Channel Feeds | Scenario 2 | +0.08% | +1.61%* | +2.80% |
| Channel Feeds | Scenario 3 | +1.39%* | +4.44%* | +6.86% |
| Channel Feeds | Scenario 4 | +0.01% | +2.90%* | +1.09% |
| Checkout Path | Scenario 5 | −0.34% | +2.15%* | −2.34% |
| Checkout Path | Scenario 6 | −0.03% | +0.56% | +4.25%* |
Scenario 1:Budget & Free Shipping 首页楼层;Scenario 2:Billion Subsidy 频道流;Scenario 3:Budget & Free Shipping 频道流;Scenario 4:Seckill 流;Scenario 5:加购浮层(Add-to-Cart Overlay);Scenario 6:RecForU(商详页)。
分析。
- 预训练升级(listwise 解码 + 行为指令)在信息流与楼层 surface 上驱动转化:UCTCVR 提升 1.6–4.4% 且在每一个上都显著,而 UCTR 基本持平——也就是说升级改变的是哪些物品发生转化,而不是把点击灌水灌上去。这是全文最重要的线上证据:它与离线 Table 1 里"Proxy-RM 提排序但不提 HR@512"的对照互为印证——内化行为信号改的是候选集组成。
- GMV 沿同方向移动但更嘈杂,这对一个长尾主导的指标是预期之内的:在首页楼层达到显著(+21.2%),在信息流上保持方向性为正。
- 加购浮层(Scenario 5)是唯一的例外:其 GMV 轻微为负但不显著(−2.3%,$p = 0.23$),落在日常波动范围内而非真实回退。
- 后训练升级(可验证奖励 + 特权蒸馏)在商详 surface(Scenario 6)上以统一全场景策略评估,把 GMV 提升 4.3%($p = 0.048$)。
- 跨 surface 看,增益在符号上是一致的,并且在决定营收的指标上、即便测量窗口很短也达到了显著。
分析:行为指令如何重塑生成¶
论文用一整节回答一个关键的怀疑:$I_b$ 是真的在操控生成,还是模型学会了把它当作一个被动标签忽略掉? 探针方法是直接在预训练模型上做:对固定的一组用户上下文,只改变注入的 $I_b$,检查检索质量与生成候选的成分。

发现一:行为条件化对稀疏、高价值的行为改善最大。 Figure 3(a) 报告有 / 无行为指令时的逐行为 HR@512(每种情况条件化在其真实目标行为上)。加入 $I_b$ 提升了每一种行为,但增益高度集中在下单行为上:图中标注的增量分别为 click +0.14、cart +0.93、order +3.38,下单的改善远超点击。行为信号最有用的地方,恰恰是行为无关的生成最没有依据可循的地方——它把建模容量导向平台真正关心的转化。
发现二:强制指令会操控候选集。 Figure 3(b) 检验 $I_b$ 是否控制生成而非仅仅标注它。做法是在推理期覆盖指令:把每个上下文都在单一固定行为下解码,并用一个无泄漏的物品–行为先验测量生成的 Top-$K$ 候选的行为成分。候选混合显著地移向被强制的行为:强制 order 把候选集拉向下单关联物品(下单关联份额约为强制 click 时的 3.7×),强制 click 则把它拉向点击关联物品(点击关联份额高出约 17.4 个百分点)。
这一点在"真实目标"指标下同样成立(Appendix B.5,Table 8):
Table 8:insert-right 布局下的行为操控。每行把 $I_b$ 强制为一个固定行为;列是 click / cart / order 子集上的 HR@512(%)。"Actual" 是真实行为的上界,对角线加粗。
| Forced $I_b$ | clk | cart | ord |
|---|---|---|---|
| Actual | 42.99 | 48.29 | 53.02 |
| Force clk | 42.99 | 46.65 | 48.33 |
| Force cart | 40.20 | 48.29 | 50.02 |
| Force ord | 34.54 | 44.85 | 53.01 |
每个子集上的最好分数都落在对角线上,或落在真实行为上界的噪声范围内。 强制 order 把 order 子集保持在 53.01(真实上界 53.02),同时把 click 子集从 42.99 砸到 34.54;强制 click 保住了 click 子集,却在 order 上丢掉近五个点(53.02 → 48.33)。指令不只是标注 target——它把生成重定向到被条件化的行为上,这正是把行为标签放在输入侧优于 Appendix C 各种输出侧 suffix 变体的原因。
输出侧的替代方案无法提供这种性质。 一个行为分类器或一个自回归的行为后缀只能对一个行为无关地生成出来的候选集重新排序,改变的是候选如何被打分,而非哪些候选被产出。把信号放在输入侧(如 $I_b$ 所做)把干预上移到生成本身,于是候选分布按构造就是行为感知的——而这恰恰是下游可验证奖励所强化的对象。
发现三:行为信号分离了内部生成状态。 前两个效应都是在模型的输出上测量的;这里则看进 decoder 内部。对每个上下文,取第一个解码步的 decoder 隐状态——即在前缀 $[\textsc{bos}, I_s, I_r, I_b]$ 被消费之后、任何 SID token 被吐出之前,这正是 $I_b$ 能够操控生成的位置。把这些状态投影到一个行为监督 LDA 的前两个线性判别轴上:

行为无关的模型把三种行为坍缩成一片无法区分的云,而本文的模型把它们解析成三个分离的簇。指令因此在第一个 token 被产出之前就按目标行为重组了生成状态——这就是上面报告的候选集偏移背后的机制。
输出侧行为建模的三种替代方案(Appendix C)¶
论文系统地探索了把行为标签放在输出侧的三种变体,它们共享同一骨干与 SID tokenizer,只在行为标签如何进入训练目标与推理过程上不同:
-
Suffix AR(行为作为自回归 token):把 SID 序列延长第四个自回归步来解码行为 $b$,物品身份与行为意图由同一生成器联合建模: $$p_\theta(s^1, s^2, s^3, b \mid X, I_s) = \prod_{t=1}^3 p_\theta(s^t \mid s^{<t}, X, I_s) \cdot p_\theta(b \mid s^{1:3}, X, I_s) \tag{18}$$ 训练优化四个 token 上的标准加权 next-token 损失,不引入辅助头。推理时 beam search 产出 $(s^1, s^2, s^3, \hat b)$ 形式的假设,按联合 log 概率排序。行为在物品之后被解码,因此无法影响哪些物品被提出——候选分布本身仍是行为无关的。
-
Suffix Head(行为作为辅助分类器):decoder 照常产出 SID 序列,一个轻量三路分类头 $\mathcal{F}_{\mathrm{CE}}$ 施加于完整 SID 被消费之后的最终 decoder 隐状态 $h_b$: $$\mathcal{L}_{\mathrm{SuffixHead}} = \mathcal{L}_{\mathrm{NTP}} + \lambda\,\mathrm{CE}\big(\mathcal{F}_{\mathrm{CE}}(h_b),\, y_b\big) \tag{19}$$ 推理走 generate-then-rerank 两阶段:阶段一 beam search 产出 $K$ 个候选(不带任何行为条件化);阶段二把每个候选的 SID 块喂回 decoder、从头部读出行为概率 $\mathbf{p}^{(k)} \in \Delta^3$,再按匹配部署目标 $b^\star$ 的分量重排: $$\mathrm{score}^{(k)} = \mathbf{p}^{(k)}_{b^\star} \tag{20}$$ 这套重排策略的好处是服务期可改而无需重训(结算路径场景按 $P(\text{order})$ 重排,首页场景按 $P(\text{click})$ 重排),行为预测与物品生成解耦、给重排步骤充分灵活性。
-
Suffix MultiTower(独立行为塔):把三种行为当作独立的二值标签而非互斥类别。三个分类塔 $\mathcal{F}_{\mathrm{clk}}, \mathcal{F}_{\mathrm{cart}}, \mathcal{F}_{\mathrm{ord}}$ 接到同一隐状态 $h_b$,辅助损失是二值交叉熵之和: $$\mathcal{L}_{\mathrm{beh}} = \sum_{t \in \{\mathrm{clk}, \mathrm{cart}, \mathrm{ord}\}} \mathrm{BCE}\big(\mathcal{F}_t(h_b),\, y_t\big) \tag{21}$$ 这放松了 Suffix Head 的单标签假设:一个被点击且被加购的物品对两个塔都贡献正监督。
Table 9:基于后缀的行为建模变体(Appendix C),单位 %(↑)。HR 与 Recall 在 Top-1/512,Top-512 列给出逐行为分解。beam 是原始 beam 输出,+rerank 是 generate-then-rerank 输出;Top-512 列不受重排影响。
| Variant | Stage | HR@1 all | HR@512 all | ord | cart | clk | Recall@1 all | Recall@512 all | ord | cart | clk |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Suffix AR | beam | 4.74 | 42.42 | 47.58 | 45.45 | 41.79 | 2.92 | 34.17 | 40.67 | 39.01 | 33.67 |
| Suffix Head | beam | 4.11 | 43.66 | 50.04 | 47.59 | 42.86 | 2.50 | 35.37 | 43.13 | 41.21 | 34.73 |
| Suffix Head | +rerank | 4.88 | 43.66 | 50.04 | 47.59 | 42.86 | 2.99 | 35.37 | 43.13 | 41.21 | 34.73 |
| Suffix MultiTower | beam | 4.44 | 43.65 | 50.01 | 47.62 | 42.84 | 2.70 | 35.32 | 43.19 | 41.28 | 34.68 |
| Suffix MultiTower | +rerank | 4.87 | 43.65 | 50.01 | 47.62 | 42.84 | 2.99 | 35.32 | 43.19 | 41.28 | 34.68 |
分析。
- Suffix AR 在 Top-512 上最弱(HR 42.42、Recall 34.17),比另外两个落后一个多点。把行为解码成第四个自回归 token 在一个无法影响物品提出的标签上浪费了一个解码步,并且增加的序列长度稀释了 SID 预测。
- Suffix Head 与 Suffix MultiTower 在每个指标上都相差 0.01–0.05,说明把单标签假设放松成独立的逐行为塔没有带来可测量的收益——共享的 decoder 隐状态本身已经携带了一个行为分类器所能抽取的全部信息。
- 重排锐化了榜首但改变不了榜单本身:Suffix Head 的 HR@1 从 4.11(beam)升到 4.88(+rerank)、Recall@1 从 2.50 升到 2.99,而每一个 Top-512 列在重排前后完全相同;Suffix MultiTower 同理(HR@1 4.44 → 4.87)。
这是输出侧行为建模的定义性极限:候选集在行为信号被查询之前就已经生成完了,所以标签只能重排一个固定的 beam,而无法把行为相关的物品拉进来。 把行为指令放在输入侧(如主模型所做)才是让目标行为在生成过程中、而非生成之后塑形候选集的原因。
指令位置消融(Appendix B.4,Table 7)¶
BOS token 与指令块 $[I_s, I_b]$ 的相对顺序是一个可配置选择,论文把它当作一根消融轴。记 $E = [I_s, I_b]$ 为指令 embedding,考察三种把 decoder 暴露给相同内容但位置不同的放置方式:insert-right(默认) $[\textsc{bos}, E]$,指令跟在 BOS token 之后;insert-left $[E, \textsc{bos}]$,指令在前;add-to-BOS $\textsc{bos} + E$,把单个指令 embedding 加到 BOS embedding 上而非拼接(适用于指令缩减为一个 token 时)。
Table 7:行为指令 $I_b$ 的位置(在每个样本的真实行为下)。"None" 是仅 BOS 的基线;列为总体 Top-1/512 的 HR(%,↑)与 Top-512 的逐行为分解。
| Placement | Overall @1 | Overall @512 | ord | cart | clk |
|---|---|---|---|---|---|
| None (BOS only) | 4.85 | 43.60 | 49.67 | 47.36 | 42.85 |
| Insert-left | 4.96 | 43.89 | 52.76 | 48.01 | 42.92 |
| Insert-right (default) | 5.02 | 43.99 | 53.02 | 48.29 | 42.99 |
| Add-to-BOS | 4.97 | 44.16 | 52.97 | 48.27 | 43.17 |
分析。 $I_b$ 的任何放置方式都优于基线,且增益集中在 order 子集——最稀疏、最高价值的那个——它从 49.67 升到 53.02(+3.35 点),远超 click 子集的 42.85 → 42.99(+0.14 点)。这与 Figure 3(a) 的结论完全一致。三种放置方式在总体率上彼此相差 0.3 以内,说明模型对 $I_b$ 相对 BOS token 的位置并不敏感;默认采用 insert-right,因为它在 order 与 click 子集上最强。
(注:Table 7 的 "None (BOS only)" 行给出 4.85 / 43.60,与 Table 2 (a) 的 4.62 / 43.24 不一致——两表虽都声称同窗口同骨干,但 Table 7 是"在每个样本的真实行为下"条件化评估的,评估协议与主表不同,因此两表的绝对数值不可直接跨表比较。)
训练动态(Appendix H)¶

预训练动态。 两个配置遵循同一条轨迹,从刚过 13 掉下来,约 100k 步后走平。指令只增加了一段短的 decoder 前缀,因此既不减慢收敛也不扰动梯度范数——两者在 warmup 期同时达峰、随后衰减进单一稳定带。缩放插图展示了回报所在:在收敛尾部,$+I_b$ 持续保持在 Base 之下一道小而一致的间隙,与 Table 2 的检索增益相匹配。把生成条件化在目标行为上,降低的是它所训练的那个目标本身,而非仅仅重加权输出。

后训练动态。 有监督损失下降的同时 HR@512 爬升到 44.1%,说明可验证奖励与特权蒸馏在没有引发"无约束代理奖励会造成的发散"的前提下改善了检索。两个蒸馏项同步收敛:可验证奖励命中损失与高熵前向 KL 项都下降并走平,而有监督锚把策略保持在预训练分布附近(可见于全程平滑的损失轨迹)。
核心贡献总结¶
- 诊断层面:把生成式推荐中"外部奖励模型不可靠 + 多路奖励难以配平"这两个症状归结为同一个根因——预训练期生成器从未见过它应促成的行为,候选分布对不同目标行为完全相同,行为信号只能事后进场。这个归因是全文最有力的部分。
- 预训练层面:行为指令 $I_b$ 从 decoder prefix 进入、从第一个解码步条件化生成,配合 target 展开与行为加权损失 $w_b$,让同一条行为层级同时设定指令优先级与损失权重。$\psi$ 是唯一新增参数、复用共享 embedding 表,推理期零额外模块。
- 后训练层面:EA-TOSD 用"命中率可验证奖励 + best-of-$G$ 轨迹选择"替代代理奖励模型;用"同骨干 + 近未来 SID 前缀 $F$"构造特权 teacher(因而蒸馏天然 on-policy、无需更大的模型);用熵门双路(低熵→advantage 加权自蒸馏,高熵→前向 KL)解决特权依赖偏置。
- 实证层面:输入侧 vs 输出侧的对照(Table 9 + Table 8 + Figure 4)从三个角度——列表指标、强制操控、内部隐状态 LDA——共同证明"重排改不了候选集,条件化才能改"。工业验证覆盖六个 surface,UCTCVR +1.6–4.4% 且 UCTR 持平,是"改变哪些物品转化而非灌点击"的干净证据。
与已归档相关工作的对比¶
OneBar OneBar: 端到端内容接地生成式查询推荐(Zhejiang University + Kuaishou, 2026-06-13)¶
关系:独立并发(本文未引用 OneBar,两者殊途同归)· 已加载对方精读
- 共同关注的问题:两篇论文都把矛头指向同一个 root cause——生成式推荐/查询推荐的偏好对齐依赖一个单独训练的奖励模型,而该奖励模型与日志分布天生耦合,会继承偏置反馈、被 reward hacking 利用。OneBar 明确写道"奖励模型与日志数据分布、训练策略天生耦合,可能继承偏置反馈、放大长尾分布偏差,并被 reward hacking 利用";OxygenREC-v2 写的是"离线排序模型对分布外输出打分不可靠,策略可以在不改善推荐质量的前提下刷高代理分数"。两者的答案都是把奖励模型整个删掉。
- 相近的技术骨架:两者的后训练几乎是同一张流程图。(i) 特权 teacher = 同一骨干 + 后验/未来信息注入 decoder 前缀:OneBar 的 teacher 输入是"视频信息 + 该视频被点击的 query",OxygenREC-v2 的 teacher 输入是"用户上下文 + 近未来交互物品的 SID 块 $F$";(ii) student 从不观测该特权信息,蒸馏在 student 自采样的 rollout 前缀上执行(on-policy),因而部署产物仍是一个只以标准输入为条件的单一模型、服务接口不变;(iii) 都用前向 KL 承担"覆盖 teacher 支持的多个备选"这一角色;(iv) 都识别出并显式对抗同一个失败模式——student 分布过度集中 / 过早坍缩到单一模式。
- 本文的差异与推进:机制上最重要的差别在于如何抑制过度集中。OneBar 用一个全局的熵正则项 $\mathcal{L}_{\mathrm{Ent}}$ 无差别地推高 student 熵,并额外用 R-Drop + FGM 做输出/输入空间平滑;OxygenREC-v2 则用 teacher 熵作为逐 token 的路由信号——低熵位置走 advantage 加权自蒸馏、高熵位置走前向 KL、其余位置不蒸馏。Table 5 显示这个路由不是锦上添花:把覆盖率从 100% 降到 20% 才拿到最好结果(HR@1 5.42% → 5.64%)。换句话说,OneBar 把"teacher 可能不可靠"当作一个需要在 student 侧全局补偿的问题,OxygenREC-v2 则把它当作一个需要在 teacher 侧逐位置甄别的问题。另一处差异是 OxygenREC-v2 还额外配了一个可验证奖励(best-of-$G$ 命中率)做轨迹级选择,而 OneBar 的 Stage II 用的是 listwise Softmax DPO,仍在 logged 候选上优化。
- 可比的方法 / 实验差异:任务与输出空间不同——OneBar 生成自然语言 query(BART encoder-decoder,严苛 20–30ms 延迟窗口),OxygenREC-v2 生成 SID 三元组(3B-A1B MoE encoder-decoder)。OneBar 的 teacher 用随机位置插入后验 query 以防 teacher 学到位置捷径,OxygenREC-v2 则是固定追加在 prefix 末尾、靠固定偏移量对齐损失——后者没有报告位置捷径问题,可能因为 SID 块与指令块的类型差异足够大。线上收益上,OneBar 报 +21.67% Guided GMV(对照传统 MCA 级联),OxygenREC-v2 报 GMV +2.8–6.8%(对照已经很强的生成式生产模型),基线强度不同、不可直接比较。
AdaGRPO AdaGRPO: 生成式推荐中噪声鲁棒 GRPO 的自适应损失平衡(JD.com, 2026-06-07)¶
关系:独立并发(同为 JD.com、相隔七周,本文未引用 AdaGRPO)· 已加载对方精读
- 共同关注的问题:两篇 JD 的论文对同一个病灶给出了近乎相同的诊断。AdaGRPO 说:"工业 ranker 是在曝光偏置的日志上训练的……它对高频曝光物品的打分可能很准,但对长尾、新上架、或落在它有效训练分布之外的物品却不可靠",并把中心挑战概括为"不是设计更强的奖励,而是辨别奖励信号何时可被信任"。OxygenREC-v2 说的是"离线排序模型对分布外输出打分不可靠,所以策略可以在不真正改善推荐质量的前提下把代理分数刷上去"。两者都认定:把生产 ranker 当 reward model 是 GR 强化学习的结构性风险来源。
- 相近的技术骨架:两者都保留一个监督 NLL/SFT 项作为静止锚(AdaGRPO 的 $L_{\mathrm{NLL}}$、OxygenREC-v2 与 RL 并行运行的 $\mathcal{L}_{\mathrm{SFT}}$ PTX 正则),都在这个锚之上叠加一个被选择性激活的强化项。而且两者的"选择性"都是二值门控 + 只在可信位置放行:AdaGRPO 用 $\alpha_i = f_1 \cdot f_2$ 做样本级 clip,OxygenREC-v2 用 $g_t^l / g_t^h$ 做 token 级熵门。两者也都强调门控量是 detached / stop-gradient 的,只重塑优化 landscape 而不引入有偏代理梯度。
- 本文的差异与推进:分歧点是对奖励模型本身的处置。AdaGRPO 选择"保留 RM 但只在它局部可信时准入"——它花了整整一节(§4)做分层实证,证明 RM 在全样本上的聚合影响近零($\Delta = +0.48$ / $-0.28$),但在"困难 + 高判别"的 12–13% 子集上影响被放大到 $\Delta = +23.24$ / $+59.93$。OxygenREC-v2 选择"把 RM 整个删掉",换成一个不需要任何模型的可验证命中率奖励,并把行为信号提前搬到输入侧的预训练阶段。这是同一诊断下的两条互斥路线:一条是"精修如何用 RM",一条是"取消 RM 这个概念"。 更关键的是,AdaGRPO 完全在后训练里做文章,OxygenREC-v2 的核心主张却是"后训练怎么修都晚了——问题出在预训练期生成器就没见过行为",因此它的 $I_b$ 是 AdaGRPO 这条路线没有覆盖的维度。
- 可比的方法 / 实验差异:两者都在 JD 的生成式推荐栈上、都报告 HR 类指标,但数值不可比——AdaGRPO 报 HR@10 从 11.01% 到 12.18%(离线,beam 50/128),OxygenREC-v2 报 HR@1/@128/@512(beam 512、listwise $N=16$–$20$)。线上侧 AdaGRPO 报 +0.43% effective IPV,OxygenREC-v2 报 UCTCVR +1.6–4.4% / GMV +2.8–6.8%,量级差距很大但对照基线与 surface 都不同。一个有意思的方法论互补:AdaGRPO 的 $f_2$ 诊断需要一个 RM 来给 ground-truth 和 in-batch 干扰项打分,而 OxygenREC-v2 的可验证奖励与之等价的"锚定"来自 ground-truth SID 本身——若把 AdaGRPO 的样本级难度诊断 $f_1$ 接到 OxygenREC-v2 的 best-of-$G$ 轨迹选择上,是一个自然的融合方向(论文双方均未探索)。
DIG DIG: Discrimination Is Generation — 从 tokenizer 视角统一排序与检索(Meituan, 2026-05-14)¶
关系:独立并发(本文未引用 DIG;两篇标题分别是 "Internalizing Discrimination into Generative Recommendation" 与 "Discrimination Is Generation")· 已加载对方精读
- 共同关注的问题:两篇论文用几乎相同的措辞攻击同一个结构性缺陷——判别信号从未流进生成过程,只在生成之后才被咨询。DIG 的归因是"判别梯度从未回流到 codebook……同一 item 对所有用户分到同一个 SID,无论用户与该 item 是高度匹配还是完全错配",结论是 codebook 边界反映的是内容相似度等高线而非推荐决策边界。OxygenREC-v2 的归因是"一个点击 target 和一个下单 target 携带相同指令,模型对二者返回同一个候选分布",结论是候选分布在不同目标行为之间完全一样。两者说的是同一件事在不同粒度上的两个投影:DIG 抱怨 SID 对用户不敏感,OxygenREC-v2 抱怨 SID 序列对目标行为不敏感。
- 相近的技术骨架:两者都拒绝"生成后打分/重排"这一范式,主张判别信号必须在候选被产出之前就参与塑形;都把这一主张落实为"让判别目标直接驱动生成侧的某个组件,端到端联训";并且都不在推理期增加任何额外模块(DIG 用 $\mathrm{MLP}_{\mathrm{u2t}}$ 蒸馏出线上可得的 u2t 近似,OxygenREC-v2 的 $\psi$ 与 $I_b$ 都是 prefix 内的、teacher 与 $F$ 训练后即丢弃)。两者也都用蒸馏来把一个训练期可得、推理期不可得的信号搬进参数(DIG 蒸 batch 统计的 u2t,OxygenREC-v2 蒸未来行为的 teacher 分布)。
- 本文的差异与推进:介入点不同。DIG 把判别信号打进tokenizer / codebook 层——把 RQ 量化器嵌入 DIN+DCNv2+MoE 排序器内部,让排序 BCE 损失驱动码本构造,从而"释放已经潜伏在判别式排序器内部的生成式检索能力";OxygenREC-v2 保持 tokenizer 不动(3×8192 残差量化码本是给定的),把判别信号打进 decoder prefix / 训练目标层。两条路线的代价结构截然不同:DIG 的路线要求重训 tokenizer 并与排序器联训,对已有工业栈是伤筋动骨的改造,但换来"一次训练得到排序器 + 检索器";OxygenREC-v2 的路线只加一个两层 MLP $\psi$、复用共享 embedding 表,对已上线的 GR 系统是低成本增量,但生成的 SID 本身仍是行为无关的,行为敏感性完全由 decoder 的条件化承载。
- 可比的方法 / 实验差异:DIG 报的是公开数据集 + 美团工业数据集上 R@10 相对五个 SID baseline 的 +52%–+220%,同时报 ranking AUC;OxygenREC-v2 只报 JD 专有数据 + 线上 A/B,没有任何公开数据集结果,因此两者的离线指标不可比。一个有价值的对照是:DIG 证明了"用判别目标塑形 SID 空间"能同时改善检索与排序,OxygenREC-v2 证明了"用行为条件化 decoder"也能同时改善检索与排序(Table 1 六 / 七项领先)——两条路径在效果方向上互相印证,且原则上正交、可以叠加(用 DIG 式的判别驱动 codebook + OxygenREC-v2 式的行为条件化 prefix),这是两篇论文都未触及的组合。
被剔除的近似候选(记录于此以防门槛放水): - OneRec-V2(2508.20900, Kuaishou)——本文引用 [29] 并承认它"同样优化真实用户反馈、降低 reward hacking 风险",但其 GBPO 仍是围绕反馈建模的策略梯度变体,没有输入侧行为条件化、也没有特权 teacher;属基线家族,交由 DAG 结构化对比处理。 - ReCast(2604.22169, Huawei)——共享"GR 强化学习中可验证奖励稀疏"这一症状,但解法是组内 ground-truth anchor 注入 + 边界对比更新,问题被定义为 group-level learnability degeneracy,与"行为信号该放在哪一侧"不同构。 - UniPinRec(2606.00422, Pinterest)——用 Masked Action Modeling 把排序监督加进生成骨干,这正是本文 Figure 1(b) 所批判的联训范式;但 UniPinRec 自陈的问题是服务统一与效率(−11.1% 延迟、+63.6% QPS),不是行为信号的可靠性,问题不同构。 - GR2(2606.31984, Meta AI)——后训练配方重叠度高(On-Policy Distillation + 可验证奖励 RL + conditional reward 防 reward hacking),但其 root problem 是把显式 CoT 推理引入工业重排并压低服务成本,"行为信号放置"根本不是它的轴。 - DeGRe(2605.25749, Zhejiang University)——Lookahead Evaluator → 稠密步级蒸馏进单次贪心解码的在线生成器,形似特权 teacher 模式;但其特权信息是未曝光排列空间的离线 beam search而非用户真实未来行为,且任务是对固定候选列表做重排,本文赖以立论的"哪些物品被生成"这条轴在 DeGRe 里不存在。
讨论与局限性¶
核心贡献与值得借鉴的设计。
论文最值得借鉴的不是任何单个技术组件,而是它把一堆看似独立的工程症状收敛到一个归因上的能力:reward hacking、多路奖励配平、重排改不动候选集——全都被追溯到"预训练期生成器没见过目标行为"。一旦接受这个归因,$I_b$ 这个改动的简洁性就变得有说服力:一个保留 token、一个共享 embedding 表查表、一个两层 MLP,就是全部新增参数,推理期零额外模块,却能让 order 子集的 HR@512 涨 3.35 个点。这是典型的"改归因比改算法值钱"。
第二个值得借鉴的是一条行为层级贯穿四处的设计纪律:exposure ≺ click ≺ cart ≺ order 同时设定了 (i) 训练期 $I_b$ 的 target 选取优先级、(ii) 预训练损失权重 $w_b = \{1.2, 1.5, 2.0\}$、(iii) 特权 teacher 的未来目标过滤阈值 $\rho_{\min}$、(iv) 可验证奖励所对齐的 ground-truth 行为过滤。工业系统里最常见的复杂度来源就是多套并行的价值定义互相打架,本文用一把尺子量到底,这在可维护性上是实打实的收益。
第三是 teacher = student + 一段短前瞻前缀这个构造。它同时消掉了 OPD 路线的两个成本:不需要训练和维护一个更大的外部 teacher(Rec-Distill 式的代价),也不需要担心 teacher 与 student 分布漂移导致蒸馏 off-policy。代价是 teacher 的能力上界被 student 的骨干锁死,它只能"知道得更多"而不能"想得更好"。
局限与争议。
-
一处硬性文本矛盾:离线骨干规模。 正文 §5 明确写 "All offline studies use a 3B encoder-decoder backbone",而 Appendix G.2 明确写 "The offline studies use a 0.7B-parameter configuration; the online deployment (Section 6.3) scales the same architecture to a 3B-parameter, 1B-activated (3B-A1B) MoE"。Table 12 给出的 $d_{\mathrm{model}}=2048$、encoder/decoder 4/8 层、8 experts、词表 25k 更接近 0.7B 量级。这个矛盾没有在文中被消解,而它直接影响到所有离线消融结论能否外推到线上 3B-A1B 配置——特别是熵门阈值 $(\tau_l = 0.75, \tau_h = 2.6)$ 与 20% 路由覆盖率这类超参,本质上依赖于 teacher 熵的绝对尺度,而熵尺度随模型规模变化。
-
完全没有公开数据集实验。 全部离线结果都在 JD 专有日志上(一个月训练 + 单日评估)。这使得 (i) 与外部工作无法直接比较,(ii) 熵门、几何衰减 $\gamma$、$m = 2$ 等设计选择的普适性无法被第三方验证。同期的 DIG、ReCast、OneBar 等工作至少给了公开数据集或多数据集结果。
-
超参敏感且门控是硬阈值。 Figure 5 显示熵门在 $\tau_l$ 与 $\tau_h$ 上都有明显的单峰结构,两侧下滑显著;Table 5 显示路由覆盖率从 20% 到 40% 就掉指标。也就是说这套机制的收益带较窄,需要在每个新场景 / 新规模上重扫。而且 $g_t^l, g_t^h$ 是二值硬门,$\tau_l = 0.75 < \tau_h = 2.6$ 之间的"中熵"位置被完全丢弃——论文没有讨论这部分位置占比多少、丢掉它们是否浪费了监督(从 Table 5 的 20% 覆盖率推断,被丢弃的位置是绝大多数)。一个自然但未被探索的替代是用熵做连续权重而非硬门。
-
奖励虽"可验证",但仍是对日志的模仿。 可验证奖励 $R_i$ 的本质是"生成的 SID 与 logged ground-truth SID 的几何加权前缀匹配率"。这确实消除了代理模型的 OOD 打分误差,但也把优化目标牢牢锚死在历史日志上——它无法奖励一个"日志里没出现、但用户其实会喜欢"的物品,这是 AdaGRPO 所诊断的曝光偏置问题的另一面。论文用特权 teacher 的稠密分布来缓解(teacher 看到未来 target,能给日志外的 token 分配概率质量),但 teacher 的未来信息同样来自日志。从"外部奖励模型的偏置"换到了"日志本身的偏置",后者更可控但并未消失。
-
GMV 的显著性证据偏弱。 Table 6 六个 surface 里 GMV 只有两个显著(+21.21%、+4.25%),其中 +21.21% 这个量级对一个推荐模型升级而言异常之大,论文除了"长尾主导的指标更嘈杂"外没有给出更多解释(如是否受某次大促影响、桶间基线是否可比)。而 Scenario 5 的 −2.34% 被解释为"日常波动"($p = 0.23$)——这个解释本身合理,但与 +21.21% 采用同一套"噪声大"的说辞时,就显得对正负结果的解释标准不够对称。真正干净的证据是 UCTCVR 那一列(六个里五个显著、方向全正、UCTR 持平),论文的核心主张其实应该主要靠它支撑。
-
listwise group size 与 rollout group size 共用符号 $G$。 Table 11 用 $G = 16$–$20$ 指 listwise 打包的物品数(即 $N$),而 §4.3.1 用 $G$ 指 rollout 候选轨迹数。这是纯记号问题,但在阅读 $L = 3N$ 与 $\max_{i \in \{1,\ldots,G\}} R_i$ 时容易混淆,论文的 Table 13 记号表也没有区分。
-
方法论可扩展性。 从"参数量 scaling 时表征能力与序列建模能力能否一起长"的角度看,本文的路线是健康的:SID tokenizer 虽是两阶段固化的(3×8192 残差量化),但行为条件化完全发生在 decoder 内部、随骨干一起 scale;特权 teacher 与 student 共骨干,也随 scaling 同步增强。真正的瓶颈在固化的码本——这是 TIGER 系全家的共同上限,不是本文特有的。相比之下,Proxy-RM 路线需要同步 scaling 一个外部 ranker,本文的路线把这个负担消掉了,这本身就是一个 scaling 友好性上的实质改进。
工业落地价值。 部署细节相当扎实:3B-A1B MoE、六个生产 surface、5–20% 流量、5–8 天窗口、平台标准双侧检验、按用户生命周期阶段(首页楼层 / 频道流 / 结算路径 / 商详页)分组报告。推理期不增加任何模块这一点对工业落地尤其重要——$I_b$ 只是 prefix 里多一个 embedding,teacher 与特权前缀 $F$ 在训练结束后即丢弃。对已经在跑"生成器 + 外部 ranker 做 RL 奖励"这套配方的团队,本文给出的迁移路径是清晰且低成本的:先加 $I_b$ 与 $w_b$ 重训预训练(Table 2 显示这一步就能拿到 GAUC 的全部增益),再把代理奖励换成可验证命中率 + 特权自蒸馏(Table 4 显示这一步主要提检索深度)。