← Back to list
STAMP

STAMP: Semantic Trimming and Auxiliary Multi-step Prediction for Generative Recommendation

生成式推荐 Alibaba
Abstract 8 Reading 8 Rating —
2026-04-07
Tianyu Zhan, Kairui Fu, Chengfei Lv, Zheqi Lv, Shengyu Zhang
Zhejiang University, Alibaba
针对 Semantic ID 生成式推荐的训练加速框架:SAP 依据语义显著性与注意力中心性在 Transformer 中层剪枝冗余 token,MAP 通过多步前瞻预测增稠监督信号,在 T5 与 Qwen 双架构上实现 1.23-1.38x 加速与 17-55% VRAM 节省,同时保持甚至提升推荐精度。
semantic-id transformer pretrained-lm industrial process-supervision

STAMP: Semantic Trimming and Auxiliary Multi-step Prediction for Generative Recommendation

  • 作者:Tianyu Zhan, Kairui Fu, Chengfei Lv, Zheqi Lv†, Shengyu Zhang†(浙江大学 & 阿里巴巴)
  • Arxiv:2604.05329(2026-04-07)
  • 关键词:Large Language Models; Generative Recommendation; Training Acceleration; Semantic ID

研究动机与背景

生成式推荐(Generative Recommendation, GR)近期的一个重要转变是从"原子级 item 索引"迁移到"基于 Semantic ID(SID)的框架"。SID 通过 RQ-VAE、RQ-Kmeans 等层次化向量量化把每个 item 编码为若干个编码本中的残差 token s_i = T(i) = RQ(h_i) = [c_{i,1}, c_{i,2}, ..., c_{i,L}],从而在一套共享的小词表 V 上对不同 item 分享语义,带来很强的泛化能力,尤其缓解长尾/冷启动问题。然而这一替换引入两个新的关键可部署性隐患:

  1. 高计算与慢速训练:一个 item 扩展成 L 个 SID token 后,序列长度乘上 L 倍,训练阶段的 VRAM、计算量以二次方增长(sequence length 与 attention)。对于工业级模型(如 AL-GR-Tiny 的 Qwen2.5-0.5B)这一放大是致命的。
  2. 大量性能不稳定性:尽管 SID 让模型能做"语义级"泛化,实际效果在不同数据集、不同 backbone 上存在显著抖动,常出现非单调的 Recall/NDCG 曲线——作者通过大量实验发现这一不一致背后的深层病因,并命名为 Semantic Dilution Effect(语义稀释效应)

Figure 1: 更细粒度的 SID(更长序列、更大词表)反而带来 Recall/NDCG 下降

作者把语义稀释效应拆成两个互为因果的现象:

  • Finding 1 — Information Non-uniformity(输入端,信息非均匀):用户交互历史 H_u = [i_1, i_2, ..., i_T] 经过 SID 展开后得到长度 N=T×L 的 token 序列,其中真正能反映用户兴趣的通常只是少数关键 token(比如某品类→某品牌→某属性这条链的"品牌"token),其余 token 是噪声或重复模板。SID 的层次化编码放大了结构性冗余:
  • Feature-level Redundancy:用户兴趣长期由少数关键语义特征主导,交易 attribute 如颜色/材质往往是当前预测任务的无关噪声。
  • Sequence-level Redundancy:同序列内不同 item 经常共享同一 SID 前缀(同类/同品牌),产生大量重复信息,导致边际信息量快速衰减。

  • Finding 2 — Supervision Sparsity(输出端,监督信号稀疏):与原子 ID 模式下"一个 item 一条监督信号"不同,SID-GR 的监督点按 L 同步扩张(需要对 L 个 token 顺序预测),但有效监督依然只在 ground-truth item 的这 L 个 token 上。并且预测一个 item 的概率需要链式相乘:

$$ P(\text{Item}) = \prod_{j=1}^{L} P(y_j \mid y_{\lt j}, \text{Context}) \tag{1} $$

这意味着任何一个子 token 出错都会经由 chain rule 放大为 item 级错误;粒度越大(L 越大),越需要模型具备长程依赖建模能力,而输入端被噪声稀释后恰恰难以满足。两者互相加剧,形成"Finding1 → Finding2"的恶性循环。

论文据此提出双端框架 STAMP(Semantic Trimming and Auxiliary Multi-step Prediction):输入端用 Semantic Adaptive Pruning(SAP)削减冗余;输出端用 Multi-step Auxiliary Prediction(MAP)增强监督密度,一次性同时治理两端。

Figure 3: 两个 Finding 的直观表达——左侧展示 feature-level 与 sequence-level 冗余;右侧展示联合概率约束对长程依赖的压迫

核心方法:STAMP 总体架构

Figure 4: STAMP 整体架构。SAP 在指定剪枝层 l_prune 上计算 token 重要性并压缩序列;MAP 在输出端并行预测 t+1、t+2、t+3 三步 item

STAMP 在标准 SID-GR 的 Transformer backbone 上嵌入两个模块:

  • SAP(Semantic Adaptive Pruning):在 Transformer 的第 l_prune 层上,依据每个 token 的"内在语义显著性 + 外在结构中心性"得到一个重要性分数,按比例保留 α·N 个 token 再送往后续层,直接把后续层的序列长度从 N 降到 α·N
  • MAP(Multi-step Auxiliary Prediction):在输出端,除了标准的 Next-Token Prediction(NTP)外,额外要求 backbone 同时预测 next-next item 的 SID(以及之后 1–2 个 item),从而把每个 item 对应的密集监督补回来,相当于在同一套表征上打多个监督点。

Semantic Adaptive Pruning(SAP)

SAP 的核心洞察:Transformer 里本身就自带 token 级的两类信号——feature-level 的 hidden-state 幅度,以及 attention 权重里蕴含的 context-level 影响力。把它们融合就能得到"内外兼顾"的 token 重要性评分,完全不引入额外可学习参数。

令第 l 层的 hidden state 为 H^(l) ∈ R^{B×N×d}

1) Semantic Saliency(语义显著性) —— 用 ℓ2 范数衡量信息密度:

$$ S_{\text{sem}}(i) = \text{Norm}\big(\|h_i^{(l)}\|_2\big) \tag{2} $$

其中 Norm 是一个批/序列内的归一化函数(防止数值不稳定)。作者引用了在 LLM 解释性领域的观察:hidden state 的 ℓ2 范数与 token 语义激活强度正相关,因此可作为一个便宜但可靠的"token 信息密度"代理。

2) Attention Centrality(注意力中心性) —— 刻画一个 token 在整张 attention 图里被多少其他 token"引用":

$$ S_{\text{attn}}(i) = \sum_{h=1}^{H}\sum_{j=1}^{N} A_{h,j,i} \tag{3} $$

其中 A_{h,j,i} 是 head h 下 query j 对 key i 的 attention 权重。一个"被大家重度 attend 到"的 token 通常是 hub 节点,承担大量上下文信息聚合。

3) 融合重要性(element-wise 乘积):

$$ \mathcal{I}_i = S_{\text{sem}}(i)\cdot S_{\text{attn}}(i) \tag{4} $$

一个 token 同时语义密集且被关注,才会得到高分——这有效挑出"同时内部丰富且外部枢纽"的 token。

4) 剪枝与压缩:先设定保留比例 α ∈ (0,1],目标是保留 |K| = ⌊α·N⌋ 个 token。为 decoder-only 架构(如 Qwen),直接预测当下 L 个 SID 的 token 一定要保留(即 W_{\text{recent}} ⊆ K,对应的"保护窗口"),其余位置由 I_i 从高到低填满。

随后为了不破坏序列的时序因果性(GR 中的次序对行为建模至关重要),把被选中的索引按原位置从小到大重新排列:

$$ K_{\text{sorted}} = \text{Sort}(K,\ \text{order}=\text{ascending}) \tag{5} $$

再用 gather 操作压缩 hidden states:

$$ H^{(l)}_{\text{compressed}} = \text{Gather}\big(H^{(l)},\ K_{\text{sorted}}\big) \tag{6} $$

从第 l_prune 层之后开始,序列长度从 N 变为 α·N,后续层的所有 attention / FFN 都在短序列上运作,达到线性级的显存与 FLOPs 节省。SAP 的一个重要优势:它完全挂载在训练阶段,推理时可以"关闭"或保留——论文中主要报告训练效率。

Multi-step Auxiliary Prediction(MAP)

SAP 只解决了 Finding 1(输入端噪声),Finding 2(监督稀疏+长程依赖压力)仍然存在。MAP 的思路参考近年 LLM 里的"multi-token prediction"与"dense supervision",在不改变解码器基本结构的前提下增加"前瞻性"监督:

h_t 为 backbone 第 t 步的 hidden state,E(y_{t+1}) 为真实 next token 的 embedding(即 lookahead 用的 teacher forcing 信号)。MAP 构造一个"foresight 表征":

$$ h_t^{\text{mtp}} = \text{MLP}\big(\text{Concat}(h_t,\ E(y_{t+1}))\big) \tag{7} $$

然后复用主干的 unembedding 矩阵 \text{LM\_Head} 做"跳一步"预测:

$$ P(y_{t+2}\mid h_t, y_{t+1}) = \text{Softmax}\big(\text{LM\_Head}(h_t^{\text{mtp}})\big) \tag{8} $$

通过共享 LM_Head,foresight 表征被迫与主任务的 token 空间对齐,避免额外参数和潜在的表征漂移。MAP 的损失定义为对 y_{t+2} 做负对数似然(以 y_{t+1} 真值作为条件输入):

$$ \mathcal{L}_{\text{MAP}} = -\sum_{j=1}^{L-1}\log P\big(y_{j+1}\mid h_j, y_j\big) \tag{9} $$

直观地说:MAP 要求模型用当前状态同时预测"下一个 token"和"再下一个 token"(甚至可扩展到 t+3),等价于一次训练步里对同一段 hidden trajectory 打多个监督点,直接对抗 Supervision Sparsity;同时多步预测迫使模型捕获跨多个 SID 的长程依赖,对抗 Finding 2 中的链式误差放大问题。MAP 只在训练阶段启用,推理时整个辅助头被丢弃,部署延迟零增加。

总优化目标

最终的训练损失是主任务 NTP 和辅助 MAP 的加权和:

$$ \mathcal{L}_{\text{NTP}} = -\sum_{j=1}^{L}\log P(y_j\mid X, y_{\lt j};\ \theta) \tag{10} $$

$$ \mathcal{L}_{\text{total}} = \mathcal{L}_{\text{NTP}} + \lambda\cdot\mathcal{L}_{\text{MAP}} \tag{11} $$

λ 作为超参数调节辅助监督强度——作者经验取 λ=0.3

实验设置

数据集与 Backbone

作者设计了学术 + 工业两条实验线:

  • GRID(Encoder-Decoder T5):在 Beauty / Sports / Toys 三个 Amazon 评论子集上使用 GRID 框架,backbone 为 Flan-T5-XL 的 8 层轻量 Encoder-Decoder(4 enc + 4 dec),隐层 128,4 head,FFN 1024。用 RQ-KMeans 生成 SID,每个 item L=4 个 token。训练 sequence length 120,batch 32,BF16,AdamW,学习率 1e-3,weight decay 1e-4,dropout 0.15,patience 10 次 eval(每 1600 步 eval 一次),5 个种子取平均。
  • FORGE(Decoder-Only Qwen):在阿里大规模工业数据集 AL-GR-Tiny(131M 用户、251M item、14B 交互,>250M 多模态特征)上用 Qwen2.5-0.5B-Instruct 初始化 backbone,序列长 1280,其中 1024 给历史 256 给目标,retention ratio α=0.6、MAP 系数 λ=0.3,单 epoch 100,000 步,bfloat16,2×A100-SXM4-80GB。

表1 数据集统计:

Dataset #Users #Items #Interactions
Sports 35.6K 18.4K 296.3K
Beauty 22.4K 12.1K 198.5K
Toys 19.4K 11.9K 167.6K
AL-GR-Tiny 131M 251M 14B

评估指标

  • GRID:Recall@K 和 NDCG@K(K=5,10),分别衡量召回率和排序质量。
  • FORGE:HitRate@K(K=20,100,500,1000),衡量 top-K 命中率。
  • 效率:Time(秒/训练时长)、Speedup(相对 base)、VRAM(MiB)、VRAM Reduction(%)。

Baseline

以各数据集对应框架提供的 Base(纯 NTP,不剪枝)作为对照,再引入 MAP-only 和不同剪枝层 L=1 / L=2 的 SAP 配置用于 ablation,以及其他剪枝策略:Max Pooling、Average Pooling、ℓ2-norm only、Attention only、Random Pruning。

主要实验结果

Table 2 —— GRID(T5)在 Beauty/Sports/Toys 上的总体表现

Backbone Dataset Method Recall@5 Recall@10 NDCG@5 NDCG@10 Time (s) ↓ Speedup ↑ VRAM (MiB) ↓ Reduction ↑
GRID (T5) Beauty Base 0.0426 0.0645 0.0295 0.0355 212 22234
MAP 0.0444 0.0655 0.0295 0.0363 170s 1.25× 13862 37.7%
STAMP (L=2) 0.0444 0.0655 0.0295 0.0363 154s 1.38× 10378 53.3%
STAMP (L=1) 0.0441 0.0648 0.0293 0.0363
Sports Base 0.0234 0.0354 0.0154 0.0193 205s 22234
MAP 0.0244 0.0352 0.0155 0.0193 166s 1.23× 13814 37.6%
STAMP (L=2) 0.0244 0.0352 0.0155 0.0193 151s 1.36× 13302 54.7%
Toys Base 0.0345 0.0499 0.0238 0.0287 216s 22268
MAP 0.0356 0.0503 0.0245 0.0293 174s 1.24× 14256 36.0%
STAMP (L=2) 0.0344 0.0509 0.0235 0.0286 159s 1.36× 10658 52.1%

解读:STAMP 在三个 Amazon 数据集上同时实现 1.23–1.38× 训练加速~37–55% 的 VRAM 节省,并且在推荐质量上不输甚至反超 base,在 Beauty 与 Toys 上 Recall@10 甚至有小幅超越。这说明 SAP 的剪枝"不但不损性能,反而去掉了对学习造成干扰的噪声"。剪枝层越靠前(L=1)带来的加速越显著但偶有精度掉点;L=2 是作者在三数据集上保守但稳定的默认选择。

Table 3 —— FORGE(Qwen2.5-0.5B)在工业 AL-GR-Tiny 上的表现

Backbone Dataset Method Hit@20 Hit@100 Hit@500 Hit@1000 Time (s) ↓ Speedup ↑ VRAM (MiB) ↓ Reduction ↑
FORGE (Qwen) AL-GR-Tiny Base 0.0209 0.0508 0.1155 0.1400 1139s 2^64232MB
STAMP (L=6) 0.0207 0.0506 0.1149 0.1405 851s 1.34× 2^53196MB 17.2%

解读:工业级 Qwen2.5-0.5B 设置下 STAMP(剪枝层 L=6)提供 1.34× 加速 + 17.2% VRAM 降低,Hit@K 几乎完全齐平 Base(Hit@1000 甚至微涨),证明该方法在 decoder-only 大模型 + 真实工业数据分布下依然有效。VRAM 节省相对 T5 更小(17% vs 55%),作者解释这是因为 Qwen 有 24 层、剪枝被放在第 6 层,前 6 层仍在全长序列上运算;同时 0.5B 静态参数本身占掉了一大块显存,激活比例相对较小,所以压缩带来的绝对收益比 T5 少。

Table 4 —— 效率汇总

STAMP(L=1) 在 Beauty/Sports/Toys 上可把训练时长从 212/205/216s 分别压到 146/143/147s(1.45×/1.43×/1.46×),VRAM 从 22234 MiB 压到约 10.3K MiB(53–54% reduction)。这一效率优势对于训练规模动辄数十 GPU 天的工业 GR 模型是极为关键的。

消融与分析

Ablation(RQ2)—— SAP vs MAP 各自贡献

Figure 5: T5 on Amazon 与 Qwen on AL-GR-Tiny 的 ablation;SAP-only、MAP-only、STAMP 对比 base

Figure 5 显示:

  • MAP-only:在三数据集上全面优于 Base,说明 MAP 并非仅仅"补偿 SAP 丢掉的信息",而是本身作为独立的密集监督机制,提升了 backbone 的长程依赖建模与表征鲁棒性。
  • SAP-only:大幅降低训练时间和 VRAM,精度上 Beauty/Toys 可达 Base 相当或略升,Sports 上略掉——这与 Sports 本身噪声结构更杂、在前层剪枝更容易误删有关。
  • STAMP (= SAP + MAP):同时获得 SAP 的效率收益和 MAP 的质量提升,两个模块"互补"而非冗余。

Figure 6 则进一步展示"Base vs SAP(L=2)"在 Beauty/Toys 上的逐指标曲线,SAP 不仅没有损失,反而由于"去噪"效应略微超过 Base。

RQ3 —— 剪枝策略与 Pruning Layer / Retention Ratio 敏感性

Figure 7: Beauty 上不同剪枝策略的训练曲线对比。SAP(ℓ2×attention)显著高于其他基线

对比 5 类剪枝策略:Max Pool、Avg Pool、ℓ2-norm only、Attention only、Random、SAP:

  • 训练曲线(左半)上 SAP 显著高于其他,其中单用 ℓ2-norm 和 attention 的变体比 pooling/random 好但仍不如 SAP,证明"内部语义 × 外部中心性"的乘积是有信息互补的。
  • 测试集 HR 和 NDCG(右半)上 SAP 同样明显领先。
  • 作者点出两点洞察:(1) 单靠 ℓ2-norm 会丢失"某些 token 低范数但高被引"的 hub;(2) 单靠 attention 会忽略"内部语义密集但被周边弱关注"的关键特征。两者乘积互为校验。

Figure 8: 不同 Pruning Layer L ∈ {1,…,6} 与 Retention Ratio α ∈ {0.3,…,0.9} 的网格实验(Qwen / AL-GR-Tiny)

Figure 8 的 HR@20/100/500/1000 面板展示:

  • 固定 L,α 从 0.3 拉到 0.9 曲线单调接近 baseline,说明保留更多 token 更安全,但收益递减;
  • 固定 α,L 越深越接近 baseline(越浅剪枝越激进越容易损伤),因为浅层正在构建基础特征,"过早剪枝会破坏语义聚合"。
  • 实际最优点由"收益 vs 风险"权衡决定,论文在 Qwen 上选 L=6, α=0.6。

Figure 9: SAP(L=6) 在 Qwen/AL-GR-Tiny 下 Retention Ratio α 对 Time / VRAM 的影响

Figure 9 定量:α 从 0.3 到 0.9 时 Training Time 从 540s 升到 1134s,VRAM 从 36.3K MiB 升到 58.5K MiB;α=0.6 是作者的折中点。

RQ4 —— 为什么剪枝是"安全"的?Attention 分布可视化

Figure 10: T5 on Beauty 的不同层 attention heatmap 示例。浅层形成"scaffolding token",深层逐渐信息聚合

作者从测试集抽取 3 条序列,绘制 T5 encoder 6 层的 attention 热图。观察到:

  • 浅层(1–2 层)大量"低 attention 权重"的 token 用于"搭建基础特征"(scaffolding tokens),它们既不是长期关注对象,也不是信息 hub;到了深层会迅速变成 dead weight;
  • 深层(4–6 层)attention 变得集中,信息已被头部少数 token 吸收。
  • 这解释了为什么剪枝不能做得过早(会破坏基础特征形成)也不能做得过晚(收益小)。中层剪枝既能安全去掉"已冷"的 scaffolding,又能把所有被"吸收"的信息保留在头部 token 里——这正是 SAP 在 L=2(T5)/ L=6(Qwen)附近收敛到最优点的根本原因。

讨论与局限性

核心贡献 1. 首次明确定义并诊断 SID-GR 中的 Semantic Dilution Effect,把它分解为输入端的 Information Non-uniformity 与输出端的 Supervision Sparsity。这一框架性诊断对后续 SID-GR 研究具有重要指导意义。 2. 提出 SAP:无需引入额外参数,用"语义显著性 × 注意力中心性"同时刻画 token 内外重要性,从 LLM 的中间表示里便宜地得到剪枝信号。 3. 提出 MAP:通过共享 LM Head 的 multi-step 前瞻预测增稠监督信号,不引入部署延迟。 4. 在学术数据集与工业级 AL-GR-Tiny 基准上跨 Encoder-Decoder(T5)与 Decoder-Only(Qwen)双架构验证,1.23–1.38× 训练加速 + 17.2–54.7% VRAM 降低,并保持或超越精度。

值得借鉴的设计

  • "输入稀释 → 剪枝、输出稀释 → 多步监督"的双端对偶思路对其他 SID / Tokenized Recommendation 工作都有参考价值。
  • 剪枝层位置不该放在模型最浅处(破坏基础特征)或太深处(增益递减),中层是最优区间。这与 LLM 社区关于 KV cache eviction、token pruning 的一些经验高度一致,但作者把它专门放在推荐语境下验证,非常扎实。
  • SAP 完全不需要额外参数或二阶段训练,工程实现简单(gather + sort 即可),并且天然兼容任何 Transformer-based GR backbone。

局限与可扩展方向

  • 作者未报告在线 A/B 实验收益——从论文结构看 AL-GR-Tiny 更像离线 benchmark,没有线上流量验证。工业落地的说服力可进一步加强。
  • MAP 目前只展示了 1 步前瞻(y_{t+2});多步(3+ 步)的边际收益与过度监督风险尚未充分刻画。
  • 剪枝策略目前依赖 hidden state + attention 的启发式组合,未探索可学习门控或基于重要性采样的替代;在 KV cache 压缩等推理阶段压缩上也未展开。
  • 对"Sports 数据集上 SAP-only 略掉点"的问题没有给出机理分析——这可能是 Sports 类目内 feature 分布更分散时,ℓ2 × attention 的 proxy 不够稳健。
  • 与 KV Caching / Efficient Attention / Token Pruning 等正交加速技术的叠加效果未测试。

与已有工作的差异

  • KV Caching / Efficient Attention(如 FlashAttention)关注推理侧长序列,STAMP 关注训练侧的序列压缩;
  • Token Pruning 主要面向 NLP/CV,剪掉"冗余词 / 背景 patch",但 SID-GR 里的"高粒度 SID token"具有严格的层次结构和时序依赖,直接搬用 NLP 剪枝会破坏 item 的完整语义——STAMP 专门为 SID-GR 设计了"Order-Preserving Sequence Compression + 保护窗口"来应对;
  • 近期 OneRec/RPG 等工作主要从编码器设计(RQ-Kmeans、OPQ)着手改进 SID 本身,STAMP 则从训练算法角度与之正交,可直接叠加。

结论

STAMP 是一篇"问题定义精准 + 方案简洁 + 实验扎实"的训练加速论文。它准确指出了 SID-GR 范式的结构性病灶 Semantic Dilution Effect,并给出一个可插拔、零推理开销、在学术和工业 backbone 上都验证过的双端修复方案。对所有基于 Semantic ID 的生成式推荐模型(OneRec、TIGER、GRID、FORGE 等)都可作为训练阶段的标配加速组件。作者浙大 + 阿里的联合组合也使得该工作兼具学术严谨性与工业可操作性,值得工业 GR 团队直接尝试。