← Back to list
HRPO

Hierarchical Residual Policy Optimization for Generative Recommendations

生成式推荐 Kuaishou
Abstract 8 │ Reading 7 │ Rating —
2026-08-01
Kaifeng Guo, Yiming Yang, Jingtong Gao, Guolei Zeng, Fukang Yang, Yukang Liang, Peng Jiang, Qingpeng Cai, Xiangyu Zhao
City University of Hong Kong, Kuaishou Technology
HRPO 把 SID 生成式推荐后训练的 item 级终端反馈,先用 cohort 分组+收缩估计出 SID prefix 效用,再沿 trie 做残差分解并累积成 credit-to-go(telescoping 到终端效用减前缀基线,从而同位置跨候选可比),最后用逐位置组内归一化+PPO 截断+KL trust region 的 RRPO 保守更新策略。
评分原因
摘要评分:正面命中生成式推荐主线,把 item 级稀疏结果反馈拆到 SID token 层级做分层信用分配,机制具体且直击 GR 后训练的核心痛点,并有线上 A/B 与业务指标背书,属必读档;扣分点是离线只用了一个公开数据集,对比面偏窄。
精读评分:问题诊断精准(把SID后训练瓶颈定位到token级信用分配)、机制干净(残差credit的telescoping恒等式+credit-to-go闭式给出同位置跨候选可比性)、工程友好(免critic、免propensity),属扎实工作;但离线只有KuaiRand-Pure单一小数据集(5.6k item)+同团队出品的KuaiSim模拟器、骨干仅3层d=128单卡玩具规模,线上A/B唯一一致为正的是未定义的内部校准指标Target Cost且两个分段Exposure为负,附录C的scaling-law只有训练loss曲线,实证强度明显弱于方法论主张。
rl semantic-id process-supervision industrial ad-rec
目录

HRPO: Hierarchical Residual Policy Optimization for Generative Recommendations

KDD '26 (Jeju Island)|City University of Hong Kong × Kuaishou Technology|arXiv 2608.00750(2026-08-01) 代码:https://github.com/Applied-Machine-Learning-Lab/KDD2026-HRPO

1. 研究动机与背景

1.1 生成式推荐的两段式训练范式

生成式推荐(Generative Recommendation, GR)把"从海量物料里选一个 item"重写成"自回归地逐 token 生成一个 item 标识符"。主流做法采用 Semantic Identifier (SID):通过编码函数 $\phi$ 把每个 item $v$ 映射成一条定长 $L$ 的 token 路径

$$\phi(v) = \mathbf{y} = (y_1, \dots, y_L) \in \mathcal{V}_1 \times \cdots \times \mathcal{V}_L \tag{1}$$

其中 $\mathcal{V}_t$ 是第 $t$ 层的 token 词表。token 的位置天然诱导出一个从粗到细(coarse-to-fine)的物品空间层级:靠前的 token 选定一个粗粒度分区,靠后的 token 在该分区内不断细化,直到唯一确定一个 item。这种层级分解把巨大的物品空间拆成少数几个顺序 token 决策,极大改善了可扩展性。

论文定义 SID prefix:

$$\mathbf{y}_{1:t} \triangleq (y_1, \dots, y_t), \qquad \mathbf{y}_{1:0} \triangleq \epsilon \tag{2}$$

一个 prefix 对应 SID trie 上的一个节点,代表共享该前缀的物品子集:

$$\mathcal{I}(\mathbf{y}_{1:t}) \triangleq \{\, v \in \mathcal{I} \mid \phi(v)_{1:t} = \mathbf{y}_{1:t} \,\} \tag{3}$$

解码是合法性受约束的:在第 $t$ 步,下一个 token 被限制在当前前缀诱导的可行集 $\mathcal{A}(y_{<t})$ 内,并在该集合上重新归一化:

$$\pi_\theta(\mathbf{y} \mid x) = \prod_{t=1}^{L} \pi_\theta(y_t \mid x, \mathbf{y}_{1:t-1}) \tag{4}$$

SID 生成器通常两段式训练:第一阶段 SFT 用 teacher forcing 在日志 SID 轨迹上最大化 next-token 似然,得到一个稳定可部署的初始化;第二阶段 post-training 用日志结果反馈提升期望效用。

1.2 核心矛盾:模仿式训练 vs 结果式评估

SFT 本质是似然驱动的——它建模的是"在行为策略下、给定日志前缀时下一个 token 的条件分布",而不是直接优化下游评估用的、基于结果的效用。而工业推荐/广告系统的评估是多目标的(互动、转化、成本类信号),这些信号只在 item 被生成并曝光之后才能观测到,反映的是隐式用户偏好与业务约束。这种"模仿式训练 vs 结果式评估"的错配,正是需要第二阶段后训练的原因。

1.3 真正的瓶颈:token 级信用分配

论文把中心问题凝练为:如何把 item 级的结果转化成对逐 token SID 解码有效的学习信号。

现有 SID 生成器的后训练大多仍是 item-centric 的,把曝光 item 的终端结果映射成 token 级更新,常见两条路径:(i) 把同一个终端奖励均匀广播到解码路径上的所有 token;(ii) PPO 式优化,token 优势由终端反馈导出。

Figure 1: Token-level credit assignment for hierarchical Semantic IDs (SIDs). Logged feedback is only observed after a complete SID path is generated. (a) Uniformly assigning the terminal item reward to every token yields undifferentiated supervision. (b) Token-level credit assignment decomposes the outcome into layer-specific credits, enabling targeted post-training along the SID hierarchy.

图 1 说明了为什么 item 级处理对层级 SID 解码是次优的。左侧的交互日志中,被偏好的 item SID 是 <a_28, b_51, c_29, d_17>,不被偏好的是 <a_28, b_51, c_64, d_22>——两者共享前两层前缀,只在第三层才分叉。图 1(a) 的 item 级奖励给正样本每个 token 都发 $+1$、给负样本每个 token 都发 $-1$:于是 a_28、b_51 这两个完全相同的 token 同时收到 $+1$ 和 $-1$,产生互相冲突的梯度,监督信号既微弱又不具判别性。图 1(b) 的 token 级信用分配则给出 $+0.2/+0.3/+0.6/+0.8$ 与 $-0.1/-0.1/-0.4/-0.6$ 这样的层特异性 credit:分叉点之前的 credit 很小,真正的差异被定位到 c_29 vs c_64、d_17 vs d_22 这两层上。

更一般地说:item 级更新掩盖了应该调整 SID 哪一层。

1.4 三个具体障碍

想从曝光受限的日志中导出可靠的 token 级信号,一个实用信号需同时满足三条:对长尾 SID prefix 可估计、在结果延迟到序列末尾时仍可归因、在同一 token 位置上跨候选可比较。但日志数据很少同时满足,论文归纳出三个障碍:

  1. SID-prefix 稀疏性:交互在各 SID prefix 上高度不均,长尾 prefix 的观测量不足以可靠估计 prefix 级效用,导致 credit 噪声大、不稳定。
  2. 延迟归因:反馈只在 SID 路径走完之后(对最终曝光 item)才被观测到,终端结果无法直接指示应该调整哪个中间 token 决策。
  3. 尺度不可比:条件于不同 prefix 的 credit,其尺度与方差可能差别巨大,使得逐位置优势难以比较,进而在大规模场景中破坏 PPO 式更新的稳定性。

1.5 主要贡献

  • 识别出后训练 SID 生成器时的 token 级信用分配瓶颈:奖励广播在共享前缀上提供弱监督,而 prefix 条件化的 credit 跨位置往往不可比,会破坏 PPO 式更新;
  • 提出 HRPO:通过特征分组稠密化稀疏反馈,通过残差 credit 与 credit-to-go 回报导出位置对齐的学习信号,并实例化 RRPO 作为保守的优化目标;
  • 在公开数据集与线上 A/B 上验证:既有受控仿真中的增益,也有生产环境中目标业务指标的正向效果。

2. 问题设定与形式化

2.1 任务定义与多路反馈日志

设 $\mathcal{U}$ 为用户集、$\mathcal{I}$ 为物品集、$\mathcal{X}$ 为请求上下文空间。每次曝光记为 $(u_i, x_i, v_i, \mathbf{b}_i)$,其中 $x_i$ 包含用户/画像特征、截断后的交互历史与情境特征,$v_i$ 是展示 item,$\mathbf{b}_i \in \{0,1\}^M$ 是多路反馈向量($M$ 为反馈通道数,$b_{i,m}=1$ 表示第 $m$ 路信号被记录,如 click、long-view)。离线数据集为 $\mathcal{D} = \{(u_i, x_i, v_i, \mathbf{b}_i)\}_{i=1}^{N}$。

多目标行为通过一个可配置的线性效用标量化:

$$r(\mathbf{b}_i) = \sum_{m=1}^{M} w_m b_{i,m} \tag{5}$$

其中 $\{w_m\}_{m=1}^{M} \subset \mathbb{R}$ 是预设权重。简记 $r_i := r(\mathbf{b}_i)$。目标是学习一个在部署约束下最大化曝光 item 期望效用的生成策略 $\pi_\theta$。

3. 核心方法:HRPO

Figure 2: Overview of HRPO.

HRPO 面对的关键困难是:离线日志只对最终曝光 item(一条完整 SID 路径)提供效用反馈,而策略在每个 SID token 上都要做决策。HRPO 通过把 item 级结果转成稠密的、位置对齐的 token 级学习信号,并保守地更新策略以缓解离线分布漂移,来处理这种 action–feedback 错配。

给定日志交互与一个可部署的基座生成器(如 SFT 模型),HRPO 分三个阶段(对应图 2 的三个面板):

  • (a) 用户分组与 SID-prefix 聚合:确定性地把每个用户映射到一个特征定义的 cohort $c$,在 SID trie 上聚合日志结果,估计每个 prefix 的平滑期望效用 $\hat\mu(c, \mathbf{y}_{1:t})$。这一步把稀疏、重尾的 prefix 统计量转成解码时对任意 prefix 都可查询的稳定效用。
  • (b) 残差回报与 credit-to-go:对任意候选 SID 路径,把 prefix 效用转成 token 级残差 credit(在当前前缀下选择 $y_t$ 的边际收益),再累积成位置对齐的 credit-to-go $\hat G_t(c, \mathbf{y})$,代表超出当前前缀基线之外的剩余效用。
  • (c) RRPO:对每个日志请求上下文 $x$,用冻结的参考策略 $\pi_{\theta_{\text{old}}}$ 构造一个小的提案集 $Y(x) = \{\mathbf{y}^{(w)}\}_{w=1}^{W}$,然后用 RRPO(PPO 式 clipped token 目标 + 组内逐位置归一化优势 + KL 正则)更新策略。

一个重要的概念澄清:$\pi_{\theta_{\text{old}}}$ 是 RRPO 内部的参考/提案策略,不是产生历史日志的那个未知行为策略。这意味着 RRPO 不需要日志中记录 serving 概率——新旧策略是在同一批 SID 前缀上被评估的,冻结参考只充当 token 级更新的保守锚点。这一点对工业落地非常关键,因为绝大多数生产日志并不回写 propensity。

3.1 用户分组与 SID-prefix 聚合

最朴素的做法是把所有共享该 prefix 的日志记录的终端效用取平均,但这对长尾 prefix 极不可靠。困难在于 prefix 统计高度不均衡且重尾:很多长尾 prefix(以及很多 user–prefix 对)只有寥寥数次曝光,per-user 估计要么噪声极大要么无定义。

为了在保留有意义的个性化的同时得到良定义、低方差的 prefix 效用,HRPO 在特征定义的用户 cohort 内做数据池化。由于该聚合要在部署时使用,分组函数必须是确定性的:基于一小组稳定的用户特征(如活跃度、消费档位、地域)把用户 $u$ 映射到 cohort

$$c(u) = g(u) \tag{6}$$

其中 $g(\cdot)$ 是系统中实现的固定映射。

对每条 cohort 为 $c = c(u)$、路径为 $\mathbf{y}$ 的记录,沿 trie 路径更新 cohort 条件的 prefix 统计量:

$$n(c, y_{1:t}) \leftarrow n(c, y_{1:t}) + 1, \qquad s(c, y_{1:t}) \leftarrow s(c, y_{1:t}) + r, \qquad t \in [1, L] \tag{7}$$

经验均值 $s/n$ 在长尾上仍不稳定,因此用一个轻量的收缩(shrinkage),以伪计数 $\alpha$ 向全局均值 $\mu_{\text{glob}}$ 收缩:

$$\hat\mu(c, y_{1:t}) = \frac{s(c, y_{1:t}) + \alpha \mu_{\text{glob}}}{n(c, y_{1:t}) + \alpha}, \qquad \mu_{\text{glob}} = \frac{1}{|\mathcal{D}|}\sum_{(u,x,v,\mathbf{b}) \in \mathcal{D}} r(\mathbf{b}) \tag{8}$$

实现上,对极罕见的 cohort-specific prefix 会回退到更宽的(全局)估计。最终用终端前缀估计 $\hat\mu(c(u), y_{1:L})$ 给候选 SID 路径打分。

这里的设计本质是一个 James–Stein / 经验贝叶斯式的收缩估计器(论文引用了 Efron & Morris 1975),把"完全个性化但噪声大"和"完全全局但无判别力"之间做了一个可调的插值,调节旋钮就是 $\alpha$。

3.2 残差回报与 credit-to-go

已有 cohort 条件的 prefix 效用后,需要构造位置对齐的 token 级目标。论文明确指出现有做法(包括终端奖励 RL 与 item 级 reranking 后训练)的通病:把整条 SID 路径当作单个 action,把同一个终端奖励广播给路径上所有 token。这种均匀分配模糊了究竟哪一层 SID(或哪个前缀转移)真正贡献了结果,而且因为所有位置共享同一个无差别的监督信号,往往产生噪声大、方差高的 token 更新。

HRPO 的解法是沿前缀序列做残差化。把 $\hat\mu(c, y_{1:t})$ 视为 cohort $c$ 下 prefix $y_{1:t}$ 对应 trie 节点的估计价值,赋给 token $y_t$ 的 credit 就是从父前缀 $y_{1:t-1}$ 移动到子前缀 $y_{1:t}$ 的边际效用增益:

$$\hat r_t(c, \mathbf{y}) = \hat\mu(c, y_{1:t}) - \hat\mu(c, y_{1:t-1}), \qquad y_{1:0} \triangleq \epsilon, \quad \hat\mu(c, \epsilon) \triangleq \mu_{\text{glob}} \tag{9}$$

这个残差 credit 移除了 cohort 特定的前缀基线,把效用局部地归因到位置 $t$ 的 token 选择上。它还是可加的、与 trie 遍历一致的——求和会望远镜式抵消(telescope):

$$\sum_{t=1}^{L} \hat r_t(c, \mathbf{y}) = \hat\mu(c, y_{1:L}) - \mu_{\text{glob}}$$

即 token credit 构成终端 prefix 得分(相差一个常数基线)的一个精确分解。这正是 Ng et al. (1999) 势能型 reward shaping 的结构——用一个势函数 $\Phi = \hat\mu$ 做差分,因此在理论上不改变最优策略,只改变学习信号的稠密度。

但只用瞬时增量 $\hat r_t$ 是不够的:两个候选可能在位置 $t$ 有相近的局部增量,却因后缀展开方式不同而有截然不同的剩余效用;反过来,把终端得分广播到每个位置又丢弃了当前前缀状态、退化为无差别监督。因此 HRPO 从当前位置开始向后累积残差 credit,既保留 $y_{1:t-1}$ 处的前缀基线,又考虑了其后的剩余潜力。定义累积残差回报(credit-to-go):

$$\hat G_t(c, \mathbf{y}) = \sum_{k=t}^{L} \hat r_k(c, \mathbf{y}) \tag{10}$$

它同样望远镜式化简为:

$$\hat G_t(c, \mathbf{y}) = \hat\mu(c, y_{1:L}) - \hat\mu(c, y_{1:t-1}) \tag{11}$$

式 (11) 表明 $\hat G_t$ 度量的是超出当前前缀基线 $\hat\mu(c, y_{1:t-1})$ 之外的剩余效用。因此 $\hat G_t$ 在同一位置 $t$ 上跨候选(同 $t$、不同 $\mathbf{y}$)天然可比,同时又与 cohort 条件的终端 prefix 得分保持一致——这恰好正面回应了 §1.4 的第三个障碍"尺度不可比"。这使 $\hat G_t$ 成为组内归一化与保守 token 级优化的合适学习信号。

图 2(b) 直观展示了这一过程:上方 trie 的节点标注的是 $\hat\mu$(如根 0.9,子节点 0.8/1.2,叶 0.8/1.4/0.5/0.8/1.6),下方 trie 标注的是残差 $\hat r_t$($+0.2$、$-0.1$、$+0.3$、$-0.3$ 等),红色箭头表示沿路径向上累加得到 credit-to-go $= \sum \hat r_k$。

3.3 Residual-Return Policy Optimization (RRPO)

RRPO 把 token 级 credit-to-go $\hat G_t(c, \mathbf{y})$ 当作回报信号,对 trie 受约束的生成策略做保守的离线更新。论文强调离线策略精炼对分布漂移非常敏感,而且在 trie 约束下,提高一个早期 token 的概率会把解码重定向到一棵完全不同的可行子树,在后续 token 分布上诱发被放大的变化。RRPO 用三件套缓解这些风险:(i) 提案内、逐位置的归一化,(ii) PPO 式 clipped 更新,(iii) 显式的 trust-region 惩罚。

(i) 逐位置组内归一化。 固定上下文 $x$(用户 $u$),记 $c \triangleq c(u)$。先从 $\pi_{\theta_{\text{old}}}$ 采样提案集 $Y(x) = \{\mathbf{y}^{(w)}\}_{w=1}^{W}$($W$ 为提案规模)。对每个候选定义 $\hat G_t^{(w)} \triangleq \hat G_t(c, \mathbf{y}^{(w)})$,然后在每个位置 $t$ 上在提案组内归一化,得到无量纲优势:

$$A_t^{(w)} = \frac{\hat G_t^{(w)} - \frac{1}{W}\sum_{j=1}^{W} \hat G_t^{(j)}}{\mathrm{Std}\left(\{\hat G_t^{(j)}\}_{j=1}^{W}\right) + \varepsilon} \tag{12}$$

注意归一化是按位置独立做的——这与 GRPO 把一个 rollout 级标量优势广播到全部 token 有本质区别。

(ii) PPO 式 clipped 更新。 在与式 (4) 相同的自回归分解与 trie 合法条件分布下构造 token 级似然比。对候选 $w$ 在位置 $t$、前缀 $\mathbf{y}_{1:t-1}^{(w)}$、token $y_t^{(w)}$:

$$\rho_{w,t}(\theta) = \exp\left( \log \pi_\theta(y_t^{(w)} \mid x, \mathbf{y}_{1:t-1}^{(w)}) - \log \pi_{\theta_{\text{old}}}(y_t^{(w)} \mid x, \mathbf{y}_{1:t-1}^{(w)}) \right) \tag{13}$$

为防止过大的离线更新,施加 PPO 式截断:

$$\bar\rho_{w,t}(\theta) = \mathrm{clip}\left(\rho_{w,t}(\theta),\, 1 - \epsilon_{\text{clip}},\, 1 + \epsilon_{\text{clip}}\right) \tag{14}$$

(iii) 目标函数与 trust region。 RRPO 最大化由 $A_t^{(w)}$ 加权的 clipped token 级 surrogate,并用 KL 项惩罚对 $\pi_{\theta_{\text{old}}}$ 的偏离:

$$\max_\theta \; \frac{1}{W} \sum_{w=1}^{W} \sum_{t=1}^{L} \min\left( \rho_{w,t}(\theta) A_t^{(w)},\; \bar\rho_{w,t}(\theta) A_t^{(w)} \right) - \beta_{\text{KL}} \, \mathrm{KL}_{\text{TR}}(\theta) \tag{15}$$

$$\mathrm{KL}_{\text{TR}}(\theta) = \mathbb{E}_{\mathbf{y} \sim \pi_{\theta_{\text{old}}}(\cdot \mid x)} \left[ \log \pi_{\theta_{\text{old}}}(\mathbf{y} \mid x) - \log \pi_\theta(\mathbf{y} \mid x) \right] \tag{16}$$

训练在三件事之间交替:(i) 在 $\pi_{\theta_{\text{old}}}$ 下生成提案,(ii) 从 cohort 条件的 prefix 效用计算 $\hat G_t$ 与 $A_t$(式 (8)–(12)),(iii) 通过最大化式 (15) 更新 $\pi_\theta$。每隔一段周期同步 $\theta_{\text{old}} \leftarrow \theta$。

图 2(c) 展示了 RRPO 的数据流:Constrained Beam Search 从 Recommender Policy 生成 $W$ 个不同的 4 层 SID item,每个 item 在每一层都有自己的 $\hat G_t^{(w)}$,同一层的 $\{\hat G_t^{(w)}\}_{w=1}^{W}$ 进入该层的 "Token RRPO Comput." 模块算出优势,最后汇总更新策略。

3.4 完整算法

Algorithm 1: HRPO Post-Training (Offline)

输入:日志数据集 $\mathcal{D} = \{(u_i, x_i, v_i, \mathbf{b}_i)\}$;映射 $\phi(\cdot)$;可行集 $\mathcal{A}(\cdot)$;预训练策略 $\pi_\theta$;冻结参考策略 $\pi_{\theta_{\text{old}}}$;最大 cohort 数 $C$;组规模 $W$;平滑 $\alpha$;截断 $\epsilon_{\text{clip}}$;$\beta_{\text{KL}}$;小常数 $\varepsilon$;同步周期 $M_{\text{sync}}$。

  1. (Cohorts) 构建 cohort id $c(u)$,并额外包含一个全局 cohort $c = -1$(式 6)。
  2. (Prefix tables) 为 $c \in \{-1, 0, \dots, C-1\}$ 与所有 trie prefix $y_{1:t}$ 初始化统计量 $n(c, y_{1:t}), s(c, y_{1:t})$。
  3. for 每条 $(u, x, v, \mathbf{b}) \in \mathcal{D}$ do
  4. $y \leftarrow \phi(v)$,$r \leftarrow r(\mathbf{b})$(式 1);对 $y$ 的所有前缀,同时为 $c(u)$ 和 $c = -1$ 更新 $(n, s)$(式 7)。
  5. end for
  6. 计算平滑 prefix 均值 $\hat\mu(c, y_{1:t})$(式 8)。
  7. for 每个训练步 $s = 1, 2, \dots$ do
  8. 从 $\mathcal{D}$ 采样 minibatch $\{(u_i, x_i, v_i, \mathbf{b}_i)\}_{i=1}^{B}$。
  9. for minibatch 中每条实例 do
  10. $c_i \leftarrow c(u_i)$;$y_i^{(1)} \leftarrow \phi(v_i)$。
  11. (Proposals) $Y(x_i) \leftarrow \{y_i^{(1)}\} \cup$ 在 $\pi_{\theta_{\text{old}}}$ 下用受约束解码($y_t \in \mathcal{A}(y_{<t})$)得到的至多 $W-1$ 个额外唯一候选,然后去重。
  12. (Returns & advantages) 对每个 $y_i^{(w)} \in Y(x_i)$,由 $\hat\mu(c_i, \cdot)$ 按式 (11) 计算 $\{\hat G_t^{(w)}\}_{t=1}^{L}$,再按位置跨 $w$ 归一化得到 $\{A_t^{(w)}\}$(式 12)。
  13. end for
  14. (RRPO update) 在 minibatch 上最大化式 (15)(含 trust-region 惩罚 $\mathrm{KL}_{\text{TR}}$)更新 $\theta$。
  15. if $s \bmod M_{\text{sync}} = 0$ then 同步 $\theta_{\text{old}} \leftarrow \theta$。
  16. end for

值得注意的第 11 行:提案集显式包含日志中真实曝光的 SID 路径 $y_i^{(1)} = \phi(v_i)$,其余 $W-1$ 条来自参考策略的受约束解码并去重。这保证了每个组内至少有一个"有真实反馈支撑"的锚点,避免组内全是策略自采样导致的信号退化。

4. 实验设置

4.1 研究问题

  • RQ1:HRPO 与主流后训练方法相比,在优化即时(单步)效用与长程(session 级)回报上表现如何?
  • RQ2:结果对关键超参数与设计选择有多敏感?
  • RQ3:HRPO 各组件分别贡献多少?
  • RQ4:改进能否在线上持续兑现?

4.2 数据集与模拟器

离线训练与评估日志构建自公开的 KuaiRand 数据集,使用 Pure 子集,并把曝光流按「用户-天」切成 session。每条曝光记录包含用户 $u$、上下文 $x$、曝光 item $v$ 与多行为反馈 $\mathbf{b}$,后者经式 (5) 标量化为效用 $r(\mathbf{b})$。

Table 1: sessionized KuaiRand-Pure 日志统计

统计量 数值
时间跨度 2022-04-09 ~ 2022-05-08(30 天)
#Users 19,574
#Items (videos) 5,659
#Interactions 1,341,250
#Sessions (user-day) 303,472
Avg. interactions/user 68.5(中位 50)
Avg. interactions/session 4.42(中位 2,p90 10)
Avg. active days/user 15.5(中位 15)
Density $\lvert\mathcal{D}\rvert/(\lvert\mathcal{U}\rvert\lvert\mathcal{I}\rvert)$ 0.012109

由于纯静态日志的离线评估难以诊断"交互诱发"的效应,也难以比较需要交互的方法,作者额外使用建立在同一批公开日志之上的受控模拟器 KuaiSim,提供逐步反馈与状态转移,从而支持 session 级评估(累计模拟器奖励)与 simulator-interactive baseline。论文明确声明:把模拟器当作代理而非生产的完美复刻,模拟器结果仅用于共享环境下的受控相对比较,生产结论一律来自线上 A/B。

4.3 实现细节

  • SID 深度 $L=4$,每层词表大小 $|\mathcal{V}_t| = 32$;解码遵循共享 SID trie 的可行集(式 4),默认使用 constrained beam search(beam 宽度 50) 并取 top-1 beam。
  • 所有 SID 后训练 baseline 与 HRPO 共享同一个小 Transformer decoder 骨干(3 个 block,隐层宽度 $d=128$,4 个注意力头,最大历史长度 50),并从同一个 SFT checkpoint 出发(teacher-forced next-token prediction 训练 5 个 epoch)。
  • 日志-only 后训练统一使用 AdamW,学习率 $1\times10^{-5}$,weight decay 0.01,batch size 1024,梯度裁剪 1.0,在离线日志上跑 1 个 epoch。
  • HRPO 专属超参:提案规模 $W = 18$,PPO clip $\epsilon_{\text{clip}} = 0.2$,KL 系数 $\beta_{\text{KL}} = 0.1$,平滑伪计数 $\alpha = 100$,每 20 个更新步同步一次冻结参考策略。
  • 硬件:单张 NVIDIA RTX 4090 (24GB)——作者自述这属于离线研究中的小模型范畴。生产骨干的 scaling 诊断另见附录 C 的 0.005B–0.2B 模型族。

4.4 Baseline

  • Score-based(离线日志):DT(behavior cloning)、GRU4Rec、SASRec、TIGER。
  • SID 后训练(离线日志):SFT、DPO、S-DPO、SPRec、GRPO。
  • Simulator-interactive RL(KuaiSim):TD3、DDPG、A2C、HAC,以及一个 interactive DT。

4.5 评估指标

遵循 KuaiSim 的 whole-session 评估协议:

  • EpisodeLen:对应 KuaiSim 的 Depth,即用户离开 session 前的请求-反馈交互次数(在评估 session 上取平均)。
  • Total reward:无折扣 session 回报,即每 session 即时 click 奖励之和的平均 $\frac{1}{N}\sum_{i=1}^{N}\sum_{t=1}^{T_i} r_{i,t}$,其中 $r_t = b_t^{\text{click}} \in \{0,1\}$。
  • Avg. reward:per-request 平均回报,即 Total reward 除以 EpisodeLen。
  • Coverage:不同曝光 item 的数量占比。
  • Click / Long:impression 级的对应二值行为经验频率。Long 作为辅助行为指标单独报告,不计入 Avg./Total reward。
  • 单步评估时 EpisodeLen $=1$,Avg. reward 等于 Total reward。

5. 主要实验结果(RQ1)

Tables 2–4 覆盖三种互补的评估设定。

5.1 离线训练 + session 级 rollout

Table 2: 离线训练、KuaiSim session 级 rollout 评估

Method EpisodeLen Avg. reward Total reward Coverage Click Long
Random 11.16 0.1898 2.1170 100% 18.97% 12.32%
DT 12.79 0.4274 5.4660 91% 42.74% 37.19%
GRU4Rec 11.52 0.2573 2.9650 84% 25.73% 21.79%
SASRec 12.09 0.3351 4.0530 72% 33.51% 26.75%
TIGER 13.85 0.5442 7.5370 70% 54.42% 46.78%
SFT 14.02 0.5642 7.9110 60% 56.41% 49.80%
DPO 13.99 0.5610 7.8490 58% 56.10% 49.49%
S-DPO 13.64 0.5240 7.1470 60% 52.39% 45.52%
SPRec 14.14 0.5753 8.1370 57% 57.52% 51.29%
GRPO 14.07 0.5690 8.0060 58% 56.90% 50.49%
HRPO 15.33 0.6869 10.5280 56% 68.69% 63.04%

结论分析:

  1. score-based 推荐器优于 Random 但落后于 SID 生成策略,说明在这个模拟器中,合法性受约束的 SID 解码提供了一个更强的长程优化动作空间。
  2. 在 SID 后训练 baseline 中,HRPO 取得最好的 session 回报:Total reward 从 8.137(SPRec)提升到 10.528(+29.4%),EpisodeLen 从 14.14 提升到 15.33。
  3. Coverage 与其他离线 baseline 相当(56% vs SPRec 的 57%),说明增益并非来自把曝光过度集中到一小撮 item 上——这是一条重要的反驳"刷指标"的证据。
  4. 值得注意的是 DPO / S-DPO 相对 SFT 基本没有增益甚至倒退(S-DPO 的 Total reward 7.147 < SFT 的 7.911)。这从侧面印证了论文的诊断:偏好-only 的 item 级目标在层级 SID 解码上确实缺乏定位能力。GRPO 与 SPRec 只带来边际提升(8.006 / 8.137 vs 7.911)。

5.2 离线训练 + 单步评估

Table 3: 离线训练、KuaiSim 单步评估(EpisodeLen = 1),隔离即时效用

Method EpisodeLen Avg. reward Total reward Coverage Click Long
Random 1.0 0.2130 0.2130 100% 21.30% 13.00%
SFT 1.0 0.4510 0.4510 28% 45.10% 34.20%
S-DPO 1.0 0.4600 0.4600 23% 46.00% 36.80%
SPRec 1.0 0.4570 0.4570 21% 45.70% 35.30%
GRPO 1.0 0.4620 0.4620 23% 46.20% 36.90%
HRPO 1.0 0.5480 0.5480 15% 54.80% 44.70%

结论分析:HRPO 取得最高的单步奖励(0.548 vs GRPO 的 0.462,+18.6%),与"首个决策处更强的局部偏好对齐"一致。单步 Coverage 更低(15%)说明 HRPO 更有选择性地把概率质量分配给高效用 item;在更长的时间跨度上,这些局部增益会跨多步复合放大——这也解释了为何 session 级的相对增益(+29.4%)大于单步增益(+18.6%)。

不过这里也埋着一个需要警惕的信号:单步 Coverage 从 SFT 的 28% 掉到 15%,几乎腰斩。虽然 session 级 Coverage 保持在 56%,但单步分布明显更尖锐。

5.3 Simulator-interactive 训练

Table 4: simulator-interactive 训练、session 级评估

Method EpisodeLen Avg. reward Total reward Coverage Click Long
Random 11.16 0.1898 2.1170 100% 18.97% 12.32%
TD3 13.52 0.5128 6.9330 10% 51.27% 45.41%
A2C 12.19 0.3468 4.2270 50% 34.68% 27.60%
DDPG 13.71 0.5359 7.3470 3% 53.59% 48.98%
HAC 13.97 0.5604 7.8270 3% 56.04% 50.84%
DT 13.98 0.5624 7.8630 12% 56.24% 50.17%
HRPO 15.50 0.6931 10.7460 57% 69.31% 63.79%

结论分析:在匹配的交互预算下,这些 KuaiSim RL baseline 取得中等回报,但 Coverage 极低(3%–12%),这与"最近邻动作实现(nearest-neighbor action realization)下的 mode-seeking 行为"一致——连续动作空间 RL 把动作向量投影回离散 item 时,很容易塌缩到少数几个 item。HRPO 同时取得最好回报(Total reward 10.746)与显著更高的 Coverage(57%),表明更稳定的探索-利用行为。这一对比其实是 SID trie 受约束解码相对"连续动作 + 最近邻投影"这条路线的结构性优势,而非仅仅 HRPO 本身的功劳。

6. 超参数敏感性(RQ2)

Figure 3 (a) Group size W, (b) KL beta_KL: Hyperparameter sensitivity under offline training with session-level evaluation. Bars indicate EpisodeLen; the line indicates Total reward.

Figure 3 (c) Clip epsilon_clip, (d) Smooth alpha: Hyperparameter sensitivity under offline training with session-level evaluation.

四个旋钮的扫描(每次只变一个,其余固定为 §4.3 的默认值)显示:性能在一个较宽的邻域内保持稳定,最优区间始终对应适度的聚合/正则化,在鲁棒性与学习能力之间取得平衡。

  • 组规模 $W$(图 3A):增大 $W$ 会提升回报与 EpisodeLen,直到一个饱和区(本文设定下最优约 $W \approx 18$,扫描范围 6–24)。更大的组强化了上下文内归一化,也暴露出更多有信息量的 hard negative,使 token credit 更具对比性;越过饱和点后,额外候选带来的信息递减,甚至引入过难/冗余的负例,增加梯度噪声、轻微损害稳定性。
  • KL 正则 $\beta_{\text{KL}}$(图 3B):非零的 $\beta_{\text{KL}}$ 是有益的(峰值约 $\beta_{\text{KL}} \approx 0.10$,扫描 0.00–0.20),说明约束更新贴近冻结参考/SFT 策略,可以防止在曝光受限日志下对一小撮 hard negative 过拟合。但过大的 $\beta_{\text{KL}}$ 让更新过于保守,同时压制 EpisodeLen 与回报的改进空间。注意 $\beta_{\text{KL}} = 0$ 时 Total reward 掉到约 9.9,是整条曲线的最低点之一。
  • PPO 截断 $\epsilon_{\text{clip}}$(图 3C):适中的 $\epsilon_{\text{clip}}$ 权衡最好(0.1–0.2 区间峰值,扫描 0.0–0.4)。太小会抑制似然比变化、拖慢学习;太大则允许剧烈的策略跳变,跨 SID 层放大 token 级方差并可能破坏解码稳定性。这与 RRPO 追求"保守、增量式改进"的目标一致:当 token credit 高方差时,截断控制步长,对那些会引发大规模子树切换的早期 SID token 尤其重要。
  • prefix 效用估计的收缩 $\alpha$(图 3D):$\alpha$ 控制长尾上的方差-偏差权衡(扫描 1, 10, 50, 100, 200, 500,峰值在 50–100)。弱收缩让稀有 prefix 效用噪声大、传播高方差 credit;过强收缩把 prefix 差异塌缩向全局均值,削弱层特异性信用分配所需的判别力。$\alpha = 500$ 时 Total reward 掉到约 8.8,几乎回到 SPRec 水平——这从反面证明了 §3.2 残差机制的价值完全依赖于 $\hat\mu$ 本身有足够判别力。

综合看,这些扫描支持"HRPO 并不脆弱"的结论:它受益于 (i) 足够有信息量的组($W$)、(ii) 保守的策略改进(KL 与截断)、(iii) 对长尾 prefix 的校准平滑($\alpha$),分别对应设计中组归一化、保守优化、鲁棒奖励估计三个角色。

7. 消融与组件分析(RQ3)

Table 5: HRPO 消融(Total reward 为无折扣 episode 回报;one-step 列为 EpisodeLen = 1 下的 Avg. reward)

Variant EpisodeLen Avg. reward Total reward One-step Avg. reward
HRPO (full) 15.33 0.6869 10.5280 0.5480
w/o cohorting 14.72 0.6338 9.3310 0.4280
w/o residual credit 15.13 0.6696 10.1320 0.4880
w/o credit-to-go 15.14 0.6522 9.8720 0.4670
w/o KL 15.10 0.6657 10.0490 0.4930

逐项分析(结果揭示了流水线上清晰的分工):

  1. 去掉 cohorting:session 回报从 10.528 掉到 9.331($-11.4\%$),单步奖励从 0.548 掉到 0.428($-21.9\%$)——在两项指标上都是最大跌幅。这说明在曝光受限日志下,稳定的 prefix 效用估计才是主要瓶颈:没有 cohorting,prefix 效用在异质上下文之间缺乏校准,组内比较更嘈杂,并在 SID 路径早期放大虚假优势。

  2. 去掉 residual credit:session 回报 10.528 → 10.132,单步 0.548 → 0.488。这支持了"需要 token 对齐的残差优势来解耦每一层的贡献"的论断。这种局部化能防止后段 token 的噪声(细粒度错误)被错误归因到早期的粗粒度决策,对 coarse-to-fine 解码至关重要。注意:残差 credit 对单步指标的影响($-11.0\%$)远大于对 session 回报的影响($-3.8\%$),说明它主要改善的是单次决策的层级定位精度。

  3. 去掉 credit-to-go:session 回报进一步掉到 9.872,单步 0.467。说明在剩余后缀上累积残差 credit,比只用局部 token credit 提供了更有信息量、更低方差的训练信号。特别地,credit-to-go 通过计入超出当前前缀基线的剩余效用,让同一 SID 位置上的优势更可比,减少了短视更新。有意思的是,去掉 credit-to-go 比去掉 residual credit 掉得更多——即"只有局部增量"比"只有终端广播"更差,说明式 (11) 的跨候选可比性确实是关键。

  4. 去掉 KL:session 回报降到 10.049,单步 0.493,是一致的退化。这说明在组式目标中针对 hard negative 优化时,把更新锚定在 SFT 初始化上是有益的。KL 充当 trust region,限制对有限提案集的过度反应,否则容易在稀有 token/prefix 上过拟合,损害受约束解码的稳定性。

8. 线上部署与 A/B(RQ4)

Figure 4: Production-backbone architecture used for A/B serving and the scaling-law diagnostic.

图 4 展示了 A/B 服务所用的生产骨干:encoder memory 序列由「交互历史 token」与「静态特征 token」拼接而成(各自经 Embedding Layer → RMS Norm → Linear Layer 后 Concat),SID decoder 通过 cross-attention 读取这段 memory,同时自回归解码 SID token([BOS], A_48, B_21, C_67, D_9)。Decoder Block × N 内部是标准的 pre-norm 结构:Masked self-attention → Cross-attention(K/V 来自 encoder memory,Q 来自 decoder)→ FFN → Linear Layer。注意这与离线实验用的 decoder-only 小骨干(3 blocks / $d=128$)并非同一个模型——线上是 encoder-decoder 架构。

Figure 5: Online/simulator serving and offline RRPO training loop.

图 5 概括了 online/simulator serving 与 RRPO 式续训共享的部署闭环:

  • 面板 (a):已部署的 SID 策略响应请求并生成曝光(如 User Id 12 → item Id 397),用户响应被记录并存为交互日志(User_id / item_id / is_click / ...)。
  • 面板 (b):把日志结果通过层级信用分配转成 token 级 credit,用 RRPO 优化 SID decoder 得到 New Policy,周期性部署以刷新线上策略。

论文在此再次强调 old policy 是 RRPO 训练中用于生成提案组与计算 PPO 式似然比的冻结参考策略,而不是对历史线上行为策略的估计。因此 RRPO 不要求日志中记录 serving 概率;新旧策略在相同的 SID 前缀上被评估,冻结参考只作为 token 级更新的保守锚点。

Table 6: 按 in-app advertising (IAA) 流量分段的线上 A/B 结果(相对 control 的变化)

Segment Exposure Cost Target Cost
Short-Drama IAA -0.117% +0.024% +0.168%
Mini-Game IAA -0.132% -0.283% +0.186%
Fiction IAA +0.750% +0.823% +3.490%

指标含义:Exposure 衡量服务流量体量,用作 guardrail;Cost 衡量观测到的业务成本;Target Cost 是上线评审中使用的校准目标成本指标。

结论分析:三个分段的 Target Cost 全部为正,Fiction IAA 增益最强(+3.490%),而 Exposure 与 Cost 都贴近 control。这一模式表明线上增益不是由大的流量体量迁移驱动的,也不是靠普遍抬升成本换来的;相反,HRPO 是在既有服务分布内改善目标指标,这与其保守 token 级更新的设计以及"保持业务流量稳定"的部署要求一致。

9. 附录中的补充证据

9.1 Cohort 构造与敏感性(附录 A.2)

默认 cohort 映射 $g(u)$ 使用 KuaiRand 中稳定、粗粒度用户侧属性的确定性元组分桶。映射在后训练之前就固定,忽略空桶,默认设定下产生 120 个有效 cohort。

Table 7: 不同 cohort 构造策略下的分组敏感性

Strategy Session length Avg. reward Total reward One-step reward
No cohorting 14.72 0.6338 9.3310 0.4280
Coarse buckets 15.01 0.6615 9.9300 0.4960
Default buckets 15.33 0.6869 10.5280 0.5480
KMeans clusters 15.27 0.6812 10.4010 0.5330
Overfine buckets 15.09 0.6704 10.1180 0.5070

Table 8: 非空 cohort 构造策略的支撑度统计

Strategy Effective cohorts P25 Median P75 Mean
Coarse buckets 63 87 133 367 380.14
Default buckets 120 34 62 137 216.34
KMeans clusters 192 12 42 84 142.11
Overfine buckets 424 1 5 24 64.35

分析:结果呈现清晰的支撑度-粒度权衡。无 cohorting 时,全局 prefix 统计对异质用户过于粗糙;Coarse buckets(63 个)对用户欠划分;Overfine buckets(424 个,中位支撑仅 5 条)碎片化支撑,使 prefix 估计噪声化。Default buckets 与 KMeans clusters 表现接近(10.528 vs 10.401),说明 HRPO 受益的是 cohort 级平滑本身,而非某个特定的手工划分——这是一个相当稳健的结论,也降低了方法对特征工程的依赖。

9.2 Agent4Rec-MovieLens 跨模拟器验证(附录 B)

为检验 HRPO 的收益是否超出 KuaiRand/KuaiSim 环境,作者在公开的 Agent4Rec-MovieLens 模拟器上做了补充评估。Agent4Rec 用 MovieLens-1M 画像构造 LLM 驱动的用户 agent,逐页模拟推荐 session。报告两个 session 级指标:AvgR(模拟交互上的平均奖励)与 Avg. Session Length(用户离开前消费的推荐页数)。

Table 9: Agent4Rec-MovieLens 模拟器评估(两项指标均越高越好)

Model AvgR Avg. Session Length
Random 0.558 4.67
GRU4Rec 0.797 6.96
SASRec 0.859 7.79
TD 0.878 8.85
DDPG 0.878 9.02
HAC 0.873 8.94
A2C 0.869 8.73
TIGER 0.853 8.33
TIGER+DPO 0.861 8.48
TIGER+GRPO 0.869 8.70
TIGER+HRPO 0.884 9.12

分析:TIGER+HRPO 在两项指标上都最好。相较 TIGER,HRPO 把 AvgR 从 0.853 提到 0.884,session length 从 8.33 提到 9.12,也优于同骨干上的 DPO 与 GRPO。由于 Agent4Rec 在模拟器构造与用户建模上都不同于 KuaiSim,这个结果说明增益并不绑定于单一 rollout 环境。不过这里的绝对提升幅度(AvgR +3.6%)明显小于 KuaiSim 上的 +29.4%。

9.3 A/B 模型的 scaling-law 日志(附录 C)

Table 10: scaling-law 诊断所用的 A/B 模型配置(FLOPs 按 batch size 1 报告)

Size FLOPs $d$ #L #H emb bs lr
0.005B 20M 64 6 4 16 896 0.0030
0.01B 40.6M 128 8 4 16 512 0.0010
0.02B 83.2M 256 12 8 16 256 0.0005
0.05B 160.5M 512 6 8 16 128 0.0004
0.1B 243.8M 768 8 12 16 64 0.0003
0.2B 332.7M 1024 12 16 16 32 0.0001

Figure 6: Scaling-law diagnostic for A/B model sizes.

图 6 给出对应的训练 loss 曲线。更大的模型通常更快到达更低的 loss,且所有曲线平滑下降、无不稳定尖峰。作者把这些日志定位为对线上实验的诊断性补充,说明生产训练在 A/B 模型规模区间内数值稳定;而 HRPO 的主要结论仍来自受控的离线、模拟器与线上对比。

需要注意的是:这组 scaling 日志只报告训练 loss,与 HRPO 方法本身没有直接关联——它既不显示 HRPO 与 SFT 的 loss 对比,也不显示模型规模与 HRPO 增益的关系。作为"scaling-law 诊断",它的信息量相当有限。

10. 核心贡献总结

  1. 问题诊断:把 SID 生成式推荐后训练的瓶颈精确定位为 token 级信用分配,并拆解成 SID-prefix 稀疏性、延迟归因、尺度不可比三个可操作的障碍。这个诊断本身比方法更有价值——它解释了为什么 DPO/S-DPO 在层级 SID 上几乎无效(Table 2 中 S-DPO 甚至低于 SFT)。

  2. cohort 条件的 prefix 效用估计:用确定性用户分桶 + James–Stein 式收缩(式 8),把"完全个性化但噪声大"与"完全全局但无判别力"之间做出可调插值,解决长尾 prefix 的估计问题。消融显示这是贡献最大的单一组件。

  3. 残差 credit 与 credit-to-go 的望远镜结构:式 (9)–(11) 的设计非常干净——残差保证可加性与 shaping 不变性,credit-to-go 的闭式 $\hat\mu(c, y_{1:L}) - \hat\mu(c, y_{1:t-1})$ 直接给出"同位置跨候选可比"的性质,从而让组内归一化在数学上是良定义的。

  4. RRPO 的三重保守性:逐位置组归一化 + PPO 截断 + KL trust region,针对的是 trie 约束下"改早期 token 会切换整棵子树"这一特有的放大效应。

  5. 不需要 propensity 的工程友好性:$\pi_{\theta_{\text{old}}}$ 被明确定义为内部参考策略而非行为策略,因此不需要日志回写 serving 概率——这是很多离线 RL 方法在工业落地时的硬门槛。

11. 与已归档相关工作的对比

SAPO SAPO: Step-Aligned Policy Optimization for Reasoning-based Generative Recommendation (University of Virginia, 2026-05-17)

关系:独立并发(本文未引用 SAPO,两者殊途同归)· 已加载对方精读

  • 共同关注的问题:两篇论文对 root cause 的命名几乎逐字相同。SAPO 称之为 action-granularity mismatch——"outcome-reward GRPO 给整条 rollout 的所有 token 广播同一个标量优势,与 SID 解码的层次结构完全错位";HRPO 称之为 item 级广播"obscure which SID layer should be adjusted"。两者都用同一个具体反例论证:near miss(只有最后一层错)与 coarse error(全错)在 rollout 级奖励下不可区分,SAPO 用 $(s_\star^{(1)}, s_\star^{(2)}, \tilde s^{(3)})$ vs 全错元组,HRPO 用图 1 中共享 a_28, b_51 前缀的正负样本对。
  • 相近的技术骨架:两者的方法流程图可以叠合——(1) 把 reward 从 rollout 末端下沉到 SID token 位置;(2) 在每个位置独立做组内 group-relative 归一化(SAPO 式 (8) 的 $\hat A_{i,k}$ vs HRPO 式 (12) 的 $A_t^{(w)}$,两者都是「减该位置组均值、除该位置组标准差」);(3) 套用 PPO/GRPO 的 clipped surrogate。连"组内必须含真值锚点"这个工程细节都一致(SAPO 靠 exact-match 可验证奖励,HRPO 靠 Algorithm 1 第 11 行把日志 SID 路径塞进提案集)。
  • 本文的差异与推进:最大分歧在 credit 从哪里来。SAPO 的 per-step reward 是 verifiable exact-match 指示 $r_{i,k} = \alpha\mathbb{1}[s_i^{(k)} = s_i^{\text{gt},(k)}]$——只需要 ground-truth SID,无需任何价值估计,但也因此只能优化"命中日志 item"这一个目标。HRPO 的 credit 来自 cohort 条件的经验效用表 $\hat\mu(c, y_{1:t})$——需要额外维护一张 trie 上的统计表,但换来的是可以优化任意多目标标量化效用 $r(\mathbf{b}) = \sum_m w_m b_{i,m}$(点击、长播、成本等),这正是工业广告场景所需要的。换句话说,SAPO 走的是 RLVR(可验证奖励)路线,HRPO 走的是 logged-bandit 价值估计路线。
  • 可比的方法/实验差异:SAPO 额外处理了 reasoning trace(thinking block 与 SID token 配对为 action unit,并用 $1/|y_i^{(k)}|$ 做步内长度归一化以压制 verbosity drift),HRPO 完全不涉及 CoT。SAPO 证明了 objective consistency(Proposition 1,match reward 的最优解与 exact-match 最优解一致),HRPO 则依赖 telescoping 恒等式给出可比性论证,但没有给出对应的最优性保持定理。实验面上 SAPO 用三个 Amazon 类目 + Recall/NDCG,HRPO 用 KuaiRand/KuaiSim + session 回报并附线上 A/B——两者的证据类型互补但都不完整。

DeGRe DeGRe: Dense-supervised Generative Reranking (Zhejiang University × 淘宝闪购, 2026-05-25)

关系:独立并发(本文未引用 DeGRe)· 已加载对方精读

  • 共同关注的问题:DeGRe 把自己的第二个核心挑战直接命名为 信用分配问题(Credit Assignment Problem)——"reward 模型通常依赖 list 级别的事后稀疏奖励(如整体 CTR 或 GMV)。这种粗粒度的标量信号很难归因到序列生成过程中的每一个局部决策"。把"list"换成"SID path"、"item 位置"换成"SID 层",这段话可以原样搬到 HRPO 的引言里。两者面对的是同一个结构:策略在序列的每一步都做决策,但监督只在序列末端出现一个标量。
  • 相近的技术骨架:两者都通过在前缀/子序列上定义一个价值函数来把终端稀疏信号铺展成 step-wise 稠密信号。DeGRe 的 Lookahead Evaluator 用累积回归估计 $\mathbb{E}[V \mid l_{1:t}] = \sum_{k=1}^{t} P(V \ge k \mid l_{1:t})$,HRPO 用 cohort 平滑估计 $\hat\mu(c, y_{1:t})$——两者都是"给定前缀的期望累积效用",只是一个用神经网络参数化、一个用 trie 上的计数表。两者也都需要在未曝光空间中获取候选:DeGRe 用 Lookahead Evaluator 引导的 beam search 挖掘前瞻序列,HRPO 用冻结参考策略 $\pi_{\theta_{\text{old}}}$ 的受约束解码采样提案集。
  • 本文的差异与推进:分歧出现在如何把稠密信号灌进策略。DeGRe 走蒸馏路线:把 evaluator 的 step-wise 估值转成硬标签(CE)+ 软标签(KL)+ 序列权重 $w_l$,用监督式混合蒸馏(式 13)训练一个轻量生成器,线上只做一次贪心解码,evaluator 无需部署。HRPO 走 RL 路线:把 credit-to-go 当作 PPO 优势,直接做 clipped policy gradient + KL trust region。DeGRe 的优势是训练稳定、推理极快;HRPO 的优势是不需要额外训练和维护一个 evaluator 网络——它的"价值函数"就是一张从日志直接统计出来的表,且天然携带 cohort 级个性化。此外 HRPO 的残差分解具有 telescoping 的精确可加性,而 DeGRe 的累积回归是一个学习出来的近似。
  • 可比的方法/实验差异:DeGRe 的场景是重排(从 12 个候选选 6 个定序,排列空间 $\approx 6.6\times10^5$),HRPO 是 SID 检索(4 层 × 32 词表的 trie)——前者的"步"是位置,后者的"步"是语义层级,后者的层级具有粗到细的语义含义,这是 HRPO 残差 credit 能被解释为"层特异性贡献"的前提。线上结果上 DeGRe 报告淘宝闪购 GMV +3.75%,HRPO 报告快手 IAA Target Cost +0.168%~+3.490%,DeGRe 的业务指标提升更直接可读。

DIRECTOR DIRECTOR: Dynamic Index-based Recommendation with Transport-Oriented Reranking (USTC × Kuaishou, 2026-07-29)

关系:独立并发(本文未引用 DIRECTOR,且两者同期、同为快手系)· 已加载对方精读

  • 共同关注的问题:DIRECTOR 把它的挑战 (b) 表述为"当下游 Evaluator 只对完整列表暴露一个标量效用时,如何优化这个被耦合起来的 Generator",并在论文中反复用 "opaque list-wise feedback"(不透明的 list 级反馈)指代。HRPO 的表述是"logged feedback is only observed for the final exposed item"。两者的 root cause 完全同构:一个不透明的终端标量,必须被拆解到序列内部的每个决策点上。
  • 相近的技术骨架:这是三篇里数学机制最接近的一篇。DIRECTOR 构造一条"保持合法性的、前缀锚定(prefix-anchored)的路径",连接生成列表 $\mathbf{y}$ 与 baseline 列表 $\mathbf{b}$,把位置 $i$ 的优势定义为该路径上两个相邻混合列表之间的奖励差 $\Delta_i$,并明确指出这些局部优势构成全局奖励改进的一个精确 telescoping 分解。HRPO 的式 (9) $\hat r_t = \hat\mu(c, y_{1:t}) - \hat\mu(c, y_{1:t-1})$ 是同一个技巧:沿一条前缀链取相邻两点的价值差,其和 telescoping 为端点差 $\hat\mu(c, y_{1:L}) - \mu_{\text{glob}}$。两者都用"前缀锚定 + 相邻差分 + telescoping"把单一标量精确地拆成逐位置 credit,且都把结果直接用作 policy gradient 的优势。
  • 本文的差异与推进:差异在价值从哪里读与链条怎么造。DIRECTOR 的链条是"从 baseline 列表逐位置替换成生成列表"的 $n+1$ 个混合列表,每一步都要实际调用下游 Evaluator 打一次分——这意味着推导 credit 的代价是 $O(n)$ 次 reward model 前向,且要求有一个可反复查询的 Evaluator。HRPO 的链条是 SID trie 上的天然前缀链,价值直接从离线预计算的统计表 $\hat\mu$ 中查表读出,代价 $O(L)$ 次哈希查找、无需任何模型前向,因此可以直接嵌进训练内循环(Algorithm 1 第 12 行)。代价是 HRPO 的 $\hat\mu$ 只是经验平均的收缩估计,判别力受日志覆盖度限制(图 3D 的 $\alpha$ 扫描显示,收缩过强时收益几乎全部消失);而 DIRECTOR 的 Evaluator 是学习出来的 list-wise 模型,能建模位置效应与 item 间竞争/互补——这类上下文效应是 HRPO 的表格化 $\hat\mu$ 表达不了的。
  • 可比的方法/实验差异:DIRECTOR 关心的是组合去重(同一 item 不能分配给多个位置),因此引入容量约束最优传输 + 矩形最短增广路做全局硬分配;HRPO 的 trie 约束天然保证输出唯一合法 item,不存在这个问题。反过来 HRPO 面对的是 DIRECTOR 没有的问题——早期 token 的改动会整体切换可行子树,这正是它需要 PPO 截断与 KL trust region 的原因。两者同为快手体系但一在重排、一在检索/广告投放,且互不引用,属于典型的同期独立收敛。

12. 讨论与局限性

12.1 值得借鉴的设计

  1. 用 telescoping 把"分解"变成"恒等式"而非"启发式"。很多 credit assignment 方案是靠启发式规则分配权重的,HRPO 的式 (9)–(11) 则保证了分解在数学上精确、可加,并且 credit-to-go 有闭式表达 $\hat\mu(c, y_{1:L}) - \hat\mu(c, y_{1:t-1})$。这个闭式直接推出"同位置跨候选可比"这一性质,从而让式 (12) 的组内归一化在数学上是良定义的。这套"势能差分 → 望远镜求和 → 可比性"的推理链条可以迁移到任何有层级/前缀结构的生成式决策问题上。

  2. 把价值函数做成表而不是网络。在 RL for RecSys 中,critic 网络往往是训练不稳定的主要来源。HRPO 用一张 cohort × prefix 的计数表 + 收缩估计替代 critic,既免去了 critic 的训练,又天然带来了可解释性(可以直接查某个 cohort 在某个品类前缀上的历史效用)和可运维性(表可以离线批量刷新)。代价是它无法建模上下文效应,也不随模型参数量增长而增强。

  3. 不依赖 propensity 的离线策略优化。论文反复澄清 $\pi_{\theta_{\text{old}}}$ 是内部参考而非行为策略,因此不需要日志回写 serving 概率。这在工程上极大降低了落地门槛——大多数生产日志确实没有 propensity 字段。

12.2 局限与争议

  1. 离线证据面偏窄,且规模极小。主实验只用了 一个 公开数据集(KuaiRand-Pure,5,659 个 item、19,574 个用户),且评估依赖 同一团队出品的模拟器 KuaiSim(KuaiSim 与 KuaiRand 均出自快手/中科大系)。生成式推荐领域的标准 benchmark(Amazon Beauty/Toys/Sports、MovieLens-1M 的常规 Recall/NDCG 协议)完全没有出现在主实验中——附录 B 的 Agent4Rec-MovieLens 虽然补了一个跨模拟器验证,但仍是 LLM-agent 模拟而非真实留出集评估,且增益幅度(AvgR +3.6%)远小于 KuaiSim(Total reward +29.4%)。这个落差本身就提示 KuaiSim 上的增益可能有相当一部分来自"模拟器与训练数据同源"。

  2. 实验骨干是玩具规模。3 个 Transformer block、$d=128$、单张 RTX 4090、$L=4 \times |\mathcal{V}|=32$(理论容量 $32^4 \approx 10^6$,实际只覆盖 5,659 个 item,trie 极其稀疏)。在这个规模下,"cohort 平滑的表格价值估计"当然能工作得很好;但当 item 数上到千万级、SID trie 的叶子远多于日志曝光量时,$\hat\mu(c, y_{1:L})$ 在终端层几乎必然退化为全局均值,残差 credit 在深层将失去判别力。论文没有报告任何关于 prefix 表覆盖率随 item 规模变化的分析,而这恰恰是该方法能否规模化的决定性因素。

  3. 线上 A/B 的证据强度有限。三个分段的 Exposure 有两个是负的(-0.117%、-0.132%),Cost 也有正有负;唯一一致为正的是 Target Cost,而这是一个"上线评审中使用的校准目标成本指标"——论文没有给出它的定义、校准方式,也没有给出置信区间或实验时长。除 Fiction IAA 的 +3.490% 外,另两个分段的提升(+0.168%、+0.186%)在广告系统的日常波动范围内很难说是显著的。此外全文没有报告任何用户侧互动指标(CTR、转化率、时长),对一个声称优化多路反馈标量化效用 $r(\mathbf{b})$ 的方法来说,这是明显的证据缺口。

  4. 附录 C 的 "scaling law" 名不副实。Table 10 + Figure 6 只展示了 6 个模型规模的训练 loss 曲线单调下降、无尖峰,既没有拟合任何幂律,也没有把模型规模与 HRPO 相对 SFT 的增益关联起来。作者自己也把它定位为"diagnostic complement",但用 "Scaling-Law Logs" 作为标题仍有夸大之嫌。

  5. cohort 分组的静态性。$g(u)$ 被要求是"在后训练之前就固定"的确定性映射,理由是部署时要用。这带来两个隐患:其一,用户属性(活跃度、消费档位)本身会漂移,静态分桶会逐渐失配;其二,$\hat\mu$ 表是在历史日志上统计的,对新品/冷启 item 的 SID 前缀没有任何支撑,只能回退到全局估计——论文完全没有讨论冷启动场景,而这恰是生成式推荐的主战场之一。

  6. 缺少最优性保持的理论保证。式 (9) 的残差形式实际上就是 Ng et al. (1999) 的势能型 shaping(论文确实引用了 [32]),按该理论在 shaping 不变的条件下最优策略不变。但 HRPO 用的是 credit-to-go(式 10)而非单步 shaping reward,且优势又经过了逐位置组内归一化(式 12)——归一化会破坏 shaping 的势能结构。论文没有讨论这一点是否影响最优解,相比之下 SAPO 给出了明确的 optimum-preservation 命题(其 Proposition 1)。

  7. 对 GRPO 类 baseline 的比较可能不够充分。Table 2 中 GRPO 的 Total reward 只有 8.006(相对 SFT 的 7.911 仅 +1.2%),这个增益低得反常。论文没有说明 GRPO baseline 的 reward 如何定义(是否也用了式 (5) 的多目标标量化)、组规模是否与 HRPO 的 $W=18$ 对齐。如果 GRPO 用的是更弱的奖励设计或更小的组,则 +29.4% 的差距会被高估。

12.3 工业落地价值

从工程角度看,HRPO 的落地成本相当低,这是它最实际的优点:

  • 不改动推理链路:SID decoder 的架构、beam search、trie 约束全部保持不变,HRPO 只是换了一个后训练目标。
  • 不需要 propensity:不要求日志回写 serving 概率,直接消费现有曝光日志。
  • 不需要 critic 网络:价值估计是一张可离线 MapReduce 刷出来的 cohort × prefix 计数表,加上一个 $\alpha$ 收缩,工程实现极简。
  • 闭环可持续(图 5):线上策略产生日志 → 离线做层级信用分配 + RRPO → 周期性刷新线上策略,形成自迭代循环。
  • 保守更新契合业务约束:Table 6 显示 Exposure 与 Cost 都贴近 control,说明 PPO 截断 + KL trust region 确实兑现了"在既有服务分布内改善目标指标"的部署承诺,这对广告系统的风险控制很重要。

总体而言,这是一篇问题诊断清晰、机制设计干净、工程友好度高的 KDD 论文,其 telescoping 残差信用分配的思路值得在任何层级化生成式决策系统中借鉴;但它的实证支撑(单一小规模公开数据集 + 同源模拟器 + 增益微弱且指标不透明的线上 A/B)明显弱于其方法论主张的普适性。