1. 研究动机与问题定义¶
生成式推荐(Generative Recommendation, GR)将序列推荐建模为自回归生成过程:每个 item 被 tokenize 为多个离散 token,模型逐步生成 token 来预测下一个交互 item。训练阶段通常使用 cross-entropy (CE) loss + teacher forcing;推理阶段使用 beam search 解码来高效获取 top-K 候选。
本文指出这一范式存在根本性的 训练-推理不一致性(training-inference inconsistency):
- 训练时(Full-Space Ranking / Full Item Sorting):CE loss 优化的是所有 token 的平均 log-likelihood,只关心最终完整序列的总分。即使某个中间前缀的概率较低,后续 token 仍可补偿回来。
- 推理时(Beam Search):beam search 在每一步都进行 top-K 剪枝,施加逐步的局部排名约束。如果某个前缀在中间步骤排名跌出 beam 宽度 K,该候选将被永久丢弃,无论其最终总分多高。
Figure 1(c) 的实验验证了这一点:通过 Full Item Sorting 排在全局 top-20 的 item,在 beam search 中间步骤中被大量提前淘汰。
形式化分析¶
Full-Space Ranking 的成功条件(Eq. 8):
$$\mathbb{I}_{\text{Full}}(y) = \mathbb{I}(\text{rank}_y(S(y|x)) \leq K)$$
其中 $S(y|x) = \sum_{t=1}^{T} \log P(y^t | y^{\lt t}, x)$ 为完整序列的总分。只依赖最终累积和。
Beam Search 的成功条件(Eq. 9):
$$\mathbb{I}_{\text{Beam}}(y) = \prod_{t=1}^{T} \mathbb{I}(\text{rank}_t(S_t(y^{\lt t})) \leq K)$$
其中 $S_t(y^{\lt t}) = \sum_{j=1}^{t} \log P(y^j | y^{\lt j}, x)$ 为前缀的部分累积分。要求每一步前缀排名都在 top-K 内——任何一步失败则永久淘汰。
核心矛盾:CE loss 优化 token 平均似然(允许 trade-off),beam search 评估的是跨步骤的最小性能(不容忍弱前缀)。模型在 teacher forcing 下从未被惩罚过"掉出 beam"的情况,因而缺乏对 greedy pruning 的鲁棒性。
2. APAO 框架¶
2.1 前缀感知优化总目标¶
APAO 在原始 CE loss 基础上加入前缀级别的优化目标:
$$\mathcal{L}_{\text{unified}} = \mathcal{L}_{\text{CE}} + \beta \cdot \mathcal{L}_{\text{prefix}} = \mathcal{L}_{\text{CE}} + \beta \cdot \sum_{m=1}^{T} w_m \mathcal{L}_m(m)$$
其中 $\mathcal{L}_m(m)$ 是第 $m$ 个前缀的损失,$w_m \geq 0$ 控制各前缀权重,$\beta \geq 0$ 控制前缀损失的整体强度。
采用统一的单阶段训练框架(one-stage),而非 S-DPO 等方法的 SFT + alignment 两阶段流程。
2.2 前缀感知损失函数:Pointwise 与 Pairwise¶
Pointwise Loss¶
对长度为 $m$ 的前缀,定义 pointwise prefix loss(Eq. 12):
$$\mathcal{L}_{\text{point}}(m) = -\frac{1}{m} \sum_{i=1}^{m} s_i^t = -\frac{1}{m} \sum_{i=1}^{m} \log \frac{e^{z_i^t}}{\sum_{j \in V} e^{z_j^t}}$$
其中 $m \in \{1, \ldots, T\}$。本质上是对不同前缀长度的 CE loss 重新加权——等价于对 item 内不同 token 的加权方案。
优点:不需要负采样,计算高效,复杂度与 CE 相同 $O(B \cdot T \cdot (d^2 + |V| \cdot d))$。 缺点:侧重于数据分布建模而非相对排序关系。
Pairwise Loss¶
对每个前缀长度 $m$,采样 $N$ 个负样本 item 并截断到同样长度 $m$,构建 pairwise ranking loss(Eq. 14):
$$\mathcal{L}_{\text{pair}}(m) = -\log \sigma\left(-\log \sum_{j \in N} \exp\left(s_{j,-}^m - s_{i,+}^m\right)\right), \quad m \in \{1, \ldots, T\}$$
其中 $s_{i,+}^m = \sum_{t=1}^{m} s_t^t$ 是正样本前缀的累积分,$s_{j,-}^m$ 是第 $j$ 个负样本的前缀累积分。
结构上类似 S-DPO,但关键区别:S-DPO 在完整序列级别优化偏好,APAO 在每个中间前缀步骤都进行优化,提供更密集的监督信号。
优点:显式建模相对排名关系,与 beam search 的排名机制更对齐。 缺点:需要负采样,复杂度为 $O(B \cdot (N+1) \cdot T \cdot (d^2 + |V| \cdot d))$。
2.3 自适应最差前缀优化(Adaptive Worst-Prefix Optimization)¶
Eq. (9) 表明:beam search 的成功取决于最弱的前缀——任何一步 rank 超出 K 就失败。因此优化应聚焦当前最脆弱的前缀。
直接的 Hard-Max 方案(Eq. 15):
$$\mathcal{L}_{\text{worst}} = \max_{m \in \{1, \ldots, T\}} \mathcal{L}_m$$
但基于单 mini-batch 选最差前缀不稳定。APAO 引入软加权向量 $\mathbf{w} \in \Delta_T$(概率单纯形),通过带 KL 正则的优化问题平滑更新(Eq. 16):
$$\mathbf{w}^{t+1} = \arg\max_{\mathbf{w} \in \Delta_T} \sum_m w_m \mathcal{L}_m^{t+1} - \frac{1}{\eta} KL(\mathbf{w} \| \mathbf{w}^t)$$
存在闭式解(Eq. 17):
$$w_m^{t+1} = \frac{w_m^t \cdot \exp(\eta \mathcal{L}_m)}{\sum_{j=1}^{T} w_j^t \cdot \exp(\eta \mathcal{L}_j)}$$
$\eta$ 控制更新幅度:较大 $\eta$ 更激进地聚焦最差前缀,较小 $\eta$ 更平滑稳定。直觉上,loss 更高的前缀获得更大权重,模型动态聚焦于最难的前缀。
2.4 最终训练目标¶
Pointwise 变体(Eq. 18):
$$\mathcal{L}_{\text{total}} = \mathcal{L}_{\text{CE}} + \beta \sum_{m=1}^{T} w_m \mathcal{L}_{\text{point}}(m)$$
Pairwise 变体(Eq. 19):
$$\mathcal{L}_{\text{total}} = \mathcal{L}_{\text{CE}} + \beta \sum_{m=1}^{T} w_m \mathcal{L}_{\text{pair}}(m)$$
2.5 理论分析¶
Theorem 1(Optimization Consistency):最小化前缀感知 pairwise loss 等价于最大化 beam search recall 的下界。具体地:
$$\mathbb{I}_{\text{Beam}}(y) \geq 1 - \sum_{m=1}^{T} \exp(\mathcal{L}_{\text{pair}}(m))$$
证明通过 union bound + 指数代理函数将离散的 beam pruning 失败事件与连续的 pairwise loss 联系起来。
时间复杂度:Pointwise 变体与 CE 相同量级;Pairwise 变体与 S-DPO 相同量级 $O(B \cdot (N+1) \cdot T \cdot (d^2 + |V| \cdot d))$。前缀级别损失直接从 token-level logits 计算,无需额外前向传播。
3. 实验设置¶
3.1 数据集¶
| Dataset | # Users | # Items | # Interactions | Density |
|---|---|---|---|---|
| Office | 4,905 | 2,420 | 53,258 | 0.45% |
| Grocery | 14,681 | 8,713 | 151,254 | 0.12% |
| Beauty | 22,363 | 12,101 | 198,502 | 0.07% |
| Yelp | 30,431 | 20,033 | 316,354 | 0.05% |
数据预处理:5-core 过滤,丢弃少于 5 次交互的 user/item;leave-one-out 策略划分训练/验证/测试集。
3.2 Tokenization¶
使用 Llama-3.1-8B-Instruct 提取语义嵌入,然后用 4-level RQ-K-Means 量化器获得语义码(每个 item 表示为 4 个 token,即 $T=4$)。
3.3 Backbone 模型¶
- TIGER:encoder-decoder Transformer(4 层,6 头,hidden=64)
- Llama:decoder-only Transformer(8 层)
两者参数量约 0.01B,learnable token embedding dimension = 128。
3.4 Baselines¶
- CE:标准 cross-entropy loss
- MSL:通过 mask 无效 token 修改 softmax 归一化的 CE loss
- CE→DPO:两阶段,先 SFT 再 DPO alignment
- CE→DMPO:两阶段,先 SFT 再 DMPO(multi-preference DPO)
- CE→S-DPO:两阶段,先 SFT 再 S-DPO(softmax multi-negative ranking)
3.5 评价指标¶
Recall@K 和 NDCG@K,$K \in \{10, 20\}$。
3.6 实现细节¶
- 用户历史截断为最近 20 个 item
- 学习率 5e-4,1% warmup + cosine decay
- AdamW 优化器
- Batch size 1024,梯度累积 8 步(等效 128 samples/device)
- 最多 200 epochs,early stopping patience=20
- 1 张 NVIDIA A100-SXM4-40GB
- 推理时 beam size = 20
- 负采样数 N = 100(所有方法统一)
- $\beta$ 从 {0.05, 0.1, 0.2, 0.3, 0.4} 调优
- $\eta$ 从 {5e-6, 1e-5, 3e-5, 5e-5, 1e-4, 5e-4} 调优
4. 实验结果¶
4.1 RQ1:整体性能(Table 1)¶
TIGER (Encoder-Decoder) 上的结果:
| Methods | Office R@10 | Office N@10 | Grocery R@10 | Grocery N@10 | Beauty R@10 | Beauty N@10 | Yelp R@10 | Yelp N@10 |
|---|---|---|---|---|---|---|---|---|
| CE | 0.0608 | 0.0292 | 0.0775 | 0.0506 | 0.0928 | 0.0318 | 0.0384 | 0.0201 |
| MSL | 0.0638 | 0.0319 | 0.0762 | 0.0401 | 0.0873 | 0.0289 | 0.0384 | 0.0206 |
| CE→DPO | 0.0565 | 0.0275 | 0.0629 | 0.0322 | 0.0767 | 0.0246 | 0.0274 | 0.0141 |
| CE→DMPO | 0.0542 | 0.0258 | 0.0721 | 0.0370 | 0.0892 | 0.0294 | 0.0336 | 0.0171 |
| CE→S-DPO | 0.0628 | 0.0321 | 0.0770 | 0.0395 | 0.0929 | 0.0310 | 0.0389 | 0.0202 |
| APAO-Pointwise | 0.0667* | 0.0337* | 0.0815* | 0.0419* | 0.0940 | 0.0332* | 0.0411* | 0.0214* |
| APAO-Pairwise | 0.0671* | 0.0337* | 0.0811* | 0.0418* | 0.0964* | 0.0339* | 0.0412* | 0.0218* |
| Max Improv. | +5.17% | +4.98% | +5.19% | +3.92% | +3.77% | +6.60% | +5.91% | +5.83% |
Llama (Decoder-Only) 上的结果:
| Methods | Office R@10 | Office N@10 | Grocery R@10 | Grocery N@10 | Beauty R@10 | Beauty N@10 | Yelp R@10 | Yelp N@10 |
|---|---|---|---|---|---|---|---|---|
| CE | 0.0469 | 0.0236 | 0.0647 | 0.0343 | 0.0770 | 0.0274 | 0.0267 | 0.0141 |
| CE→DPO | 0.0477 | 0.0228 | 0.0620 | 0.0323 | 0.0597 | 0.0172 | 0.0171 | 0.0089 |
| CE→DMPO | 0.0442 | 0.0228 | 0.0649 | 0.0353 | 0.0714 | 0.0251 | 0.0383 | 0.0130 |
| CE→S-DPO | 0.0493 | 0.0256 | 0.0682 | 0.0371 | 0.0700 | 0.0262 | 0.0262 | 0.0138 |
| APAO-Pointwise | 0.0559* | 0.0265* | 0.0701 | 0.0379 | 0.0796* | 0.0300* | 0.0289* | 0.0152* |
| APAO-Pairwise | 0.0557* | 0.0269* | 0.0741* | 0.0390* | 0.0835* | 0.0293* | 0.0287* | 0.0149* |
| Max Improv. | +13.39% | +5.08% | +8.65% | +5.12% | +8.44% | +9.49% | +7.99% | +7.80% |
结论:
- APAO 在所有数据集、两种骨干网络上均取得最优结果(Recall 和 NDCG)
- 相对最强 baseline 的提升幅度:TIGER 上 +3.77%~+6.60%,Llama 上 +5.08%~+13.39%
- APAO 在 Llama(decoder-only)上的提升幅度更大,说明 decoder-only 架构更受益于前缀级别优化
- DPO/DMPO 在部分设置下甚至劣于 CE baseline,说明完整序列级别的偏好优化不一定有效
- APAO-Pairwise 和 APAO-Pointwise 各有优势:Pairwise 在大多数设置下略优,Pointwise 更稳定高效
4.2 RQ2:消融与深入分析¶
Per-Module 消融(Figure 2a, Beauty + Llama)¶
- 去除 Adaptive Weighting (w/o Adapt.W):NDCG@10 从 0.0300 降至 0.0286 (Pointwise) / 0.0293 降至 0.0274 (Pairwise)
- 去除 $\mathcal{L}_{\text{prefix}}$ (w/o $\mathcal{L}_{\text{prefix}}$):降至 0.0271 (Pairwise)
- 去除 $\mathcal{L}_{\text{CE}}$ (w/o $\mathcal{L}_{\text{CE}}$):降至 0.0207 (Pairwise) / 0.0254 (Pointwise)
所有组件均有贡献。去除 $\mathcal{L}_{\text{CE}}$ 影响最大,说明原始语言建模目标仍是基础。
Prefix 消融(Figure 2b, Beauty + Llama)¶
逐个去除不同 prefix 级别的 loss:
- 去除 Prefix 0(最早期前缀)影响最大:NDCG@10 从 0.0300 降至 0.0254
- 去除 Prefix 3(最后一步,等同完整 item)影响最小
- 说明早期前缀的监督对 beam search 引导最为关键
One-Stage vs Two-Stage(Table 3, NDCG@10)¶
| Methods | Office TIGER | Office Llama | Beauty TIGER | Beauty Llama |
|---|---|---|---|---|
| 1-Stage [CE + S-DPO] | 0.0116 | 0.0089 | 0.0167 | 0.0146 |
| 1-Stage [APAO-Pointwise] | 0.0337 | 0.0265 | 0.0332 | 0.0300 |
| 1-Stage [APAO-Pairwise] | 0.0337 | 0.0269 | 0.0339 | 0.0293 |
| 2-Stage [S-DPO] | 0.0321 | 0.0256 | 0.0310 | 0.0262 |
| 2-Stage [CE→point (Ours)] | 0.0323 | 0.0278 | 0.0310 | 0.0308 |
| 2-Stage [CE→pair (Ours)] | 0.0320 | 0.0260 | 0.0312 | 0.0281 |
APAO 在单阶段和两阶段设置下均有效,且单阶段性能通常优于两阶段,验证了统一训练框架的优势。
超参数敏感性(Figure 3)¶
- $\beta \in [0.1, 0.4]$ 范围内表现稳定
- 较大数据集倾向于使用更小的 $\eta$(如 Yelp 用 1e-5~1e-6),较小数据集可用更大的 $\eta$
Beam Size 可扩展性(Figure 4)¶
在 Beauty 和 Yelp 上,APAO 在 K=20 时达到的 NDCG@5 与 baseline 在 K=100 时相当或更优,同时时间开销大幅降低。
4.3 RQ3:前缀级别性能(Figure 5)¶
在 Office 和 Beauty 数据集上分析 prefix-level Recall@20(prefix 0~3,prefix 3 对应完整 item):
- APAO 在所有前缀长度上均优于最强 baseline
- 随前缀长度增加,相对提升幅度持续增长(Office: Prefix 0 ~7.25% → Prefix 3 ~15.58%;Beauty: Prefix 0 ~4.91% → Prefix 3 ~18.15%)
- 说明 APAO 有效防止了正确 item 在 beam search 中间步骤被提前淘汰
4.4 RQ4:训练效率(Table 4, TIGER backbone)¶
| Type | Methods | Office | Grocery | Beauty | Yelp |
|---|---|---|---|---|---|
| Pointwise | CE | 15s/45ep | 39s/63ep | 53s/74ep | 66s/123ep |
| Pointwise | APAO | 15s/45ep | 35s/63ep | 54s/83ep | 79s/165ep |
| Pairwise | S-DPO | 199s/93ep | 572s/106ep | 693s/109ep | 1175s/159ep |
| Pairwise | APAO | 163s/58ep | 456s/67ep | 637s/119ep | 946s/144ep |
- APAO-Pointwise 与 CE 训练时间几乎相同
- APAO-Pairwise 比 S-DPO 快(因为绕过了 SFT 阶段的额外推理开销),收敛所需 epoch 数更少
5. 与 S-DPO 的关键区别¶
S-DPO 在完整序列级别(complete item)优化偏好:
$$\mathcal{L}_{\text{S-DPO}} = -\log\sigma\left(-\log\sum_{j \in N}\exp\left(\beta\log\frac{\pi_\theta(e_{j,-}|x_u)}{\pi_{\text{ref}}(e_{j,-}|x_u)} - \beta\log\frac{\pi_\theta(e_{i,+}|x_u)}{\pi_{\text{ref}}(e_{i,+}|x_u)}\right)\right)$$
只涉及对完整 item 序列的单次求和。
APAO 在每个中间前缀步骤都进行优化(Eq. 25):
$$\mathcal{L}_{\text{pair}} = \mathcal{L}_{\text{CE}} + \beta \cdot \sum_{m=1}^{T} w_m \left[-\log\sigma\left(-\log\sum_{j \in N_m}\exp\left(s_{j,-}^m - s_{i,+}^m\right)\right)\right]$$
这种逐步密集监督对 beam search 至关重要,因为 beam search 的错误在早期步骤就会传播。
6. 总结与评价¶
核心贡献: 1. 首次系统识别并形式化生成式推荐中 beam search 解码导致的训练-推理不一致性 2. 提出 APAO 框架,包含 pointwise/pairwise 两种前缀感知损失 + 自适应最差前缀加权 3. 证明前缀感知 loss 优化 beam search recall 的下界(Theorem 1) 4. 在 4 个数据集 × 2 种骨干网络上取得一致的显著提升
优势:
- 问题定义清晰,形式化分析严谨
- 统一的单阶段训练框架,不需要 reference model
- Pointwise 变体几乎无额外计算开销
- 在不同骨干架构(encoder-decoder / decoder-only)上泛化良好
局限:
- 实验规模较小(最大 30K users,模型 ~0.01B 参数),在大规模工业场景的效果未知
- 仅验证了 4-token 的 RQ-VAE tokenization,不同 token 长度的效果未探索
- 自适应加权需要额外的超参数 $\eta$ 调优
- 未与非 beam search 的解码策略(如 constrained decoding)对比