← Back to list
APAO

APAO: Adaptive Prefix-Aware Optimization for Generative Recommendation

生成式推荐 学术
Abstract 7 Reading 7 Rating —
2026-03-03
Yuanqing Yu, Yifan Wang, Weizhi Ma, Zhiqiang Guo, Min Zhang
DCST, Tsinghua University, AIR, Tsinghua University
提出自适应前缀感知优化框架 APAO,通过引入前缀级别的优化目标和自适应最差前缀加权策略,解决生成式推荐中 beam search 解码带来的训练-推理不一致性问题
academic transformer semantic-id pretrained-lm

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)对比