← Back to list
GR4AD

Generative Recommendation for Large-Scale Advertising

生成式推荐 Kuaishou
Abstract 9 Reading 9 Rating —
2026-02-26
Ben Xue, Dan Liu, Lixiang Wang, Mingjie Sun, Peng Wang, Pengfei Zhang, Shaoyun Shi, Tianyu Xu, Yunhao Sha, Zhiqiang Liu, Bo Kong, Bo Wang, Hang Yang, Jieting Xue, Junhao Wang, Shengyu Wang, Shuping Hui, Wencai Ye, Xiao Lin, Yongzhi Li, Yuhang Chen, Zhihui Yin, Quan Chen, Siyang Wen, Wenjin Wu, Han Li, Guorui Zhou, Changcheng Li, Peng Jiang, Kun Gai
Kuaishou Technology
提出GR4AD,一个面向大规模实时广告场景的生产级生成式推荐系统,通过UA-SID、LazyAR、VSL和RSPO的协同设计,在快手4亿用户广告系统上实现4.2%的广告收入提升
ad-rec industrial semantic-id transformer rl pretrained-lm

GR4AD: 面向大规模广告的生成式推荐

1. 研究背景与动机

近年来,生成式推荐(Generative Recommendation)在工业界受到广泛关注,其核心思路是将推荐任务建模为基于 Semantic ID 的自回归 next-token prediction。代表性工作如 TIGER、LC-Rec、LETTER、OneRec 等已在推荐场景取得显著进展。然而,将生成式推荐直接应用于大规模广告系统面临三大独特挑战:

  1. 广告 Tokenization 困难:广告内容融合短视频、商品详情和 B2B 广告主元数据,现有 MLLM 无法端到端地产出广告专用 embedding;同时广告平台存在大量非语义业务信号(如转化类型、广告账户等),传统语义量化方法难以处理
  2. 学习范式不适配:广告推荐优化的是 ranked lists 下的业务目标(如 eCPM),需要 list-wise 的 per-item 监督,现有 LLM-style 训练方法缺少面向广告的 ranking-aware、list-wise 学习设计
  3. 实时服务约束严格:广告系统需要在严格延迟和 QPS 预算下生成多条高质量候选,与 LLM 交互式解码(单条响应容忍较长延迟)根本不同

为解决上述问题,本文提出 GR4AD(Generative Recommendation for ADvertising),一个面向实时大规模广告场景的生产级生成式推荐系统,覆盖 tokenization、架构、学习和服务的协同设计。

2. 方法论

2.1 Unified Advertisement Semantic ID (UA-SID)

UA-SID 的目标是为每条广告分配一个离散的语义 ID 序列 $\mathbf{y} = (s_1, s_2, \ldots, s_T)$,其中 $s_t \in \mathcal{V}_t$ 是第 $t$ 层的 token,$\mathcal{V}_t$ 是第 $t$ 层的词表。

2.1.1 Unified Advertisement Embedding (UAE)

采用端到端微调的广告 MLLM embedding 模型,包含两个训练阶段:

Instruction Tuning (IT):对 LLM 进行指令微调,使其理解广告场景下的多样内容格式。针对快手 6 种广告类型设计了不同的 prompt 模板,例如:

  • 直播类:分析主播人设、地域属性、品牌信息
  • 商品类:聚焦产品行业、品类、品牌等离散字段
  • 内容类:解构广告创意的叙事手法和心理驱动因素

Co-occurrence Learning (CL):通过共现对比学习引入协同信号。基于 Swing 方法估计 item 共现强度,构建 (Video, Product, Advertiser) 三元组,采用 InfoNCE 损失:

$$\mathcal{L}_{\text{NCE}}(i) = -\log \frac{\sum_{j \in \mathcal{P}_i} \exp(\mathbf{z}_i^\top \mathbf{z}_j / \tau)}{\sum_{k \neq i} \exp(\mathbf{z}_i^\top \mathbf{z}_k / \tau)}$$

其中 $\mathbf{z}$ 为 MLLM 的最后隐层状态。

2.1.2 Multi-Granularity-Multi-Resolution (MGMR) RQ-Kmeans

标准 RQ-Kmeans 存在 codebook 利用率低和 SID 碰撞率高的问题。GR4AD 采用 MGMR 策略:

  • Multi-Resolution (MR):低层使用更大的 codebook 以捕获主要语义因子,高层使用较小的 codebook 建模低熵残差。每层应用 Balanced K-means 聚类以提升 codebook 利用率
  • Multi-Granularity (MG):广告中存在大量非语义数值信号(如转化类型、广告账户 ID 等),在最后一层用基于 hash 的数值映射替代向量量化,显著改善全局平衡并降低碰撞率

最终 UA-SID 配置为 (16384, 4096, 1024*),其中 * 表示最后一层使用 hash 策略。

量化消融实验 (Table 2)

Embedding 优化 R@1 R@5 R@10
QARM [19] 0.541 0.812 0.893
Qwen3-VL-7B [2] 0.769 0.948 0.977
Qwen3-VL-7B + IT + CL (UAE) 0.896 0.985 0.994
量化优化 Cpr↓ Col↓ Util↑
RQ-Kmeans [19,39] (4096,4096,4096) 3.54 85.44% 0.10%_s
RQ-Kmeans + MR (16384,4096,1024) 1.78 59.72% 0.20%_s
RQ-Kmeans + MG + MR (UA-SID) (16384,4096,1024*) 1.07 18.26% 0.34%_s

结论:IT + CL 微调使 embedding 的 photo-to-photo recall R@1 从 0.541 (QARM) 提升到 0.896;MGMR 方案将压缩比从 3.54 降至 1.07,碰撞率从 85.44% 降至 18.26%,codebook 利用率提升至 0.34%。

2.2 Lazy Autoregressive Decoder (LazyAR)

背景

传统自回归解码器对 $T$ 层 UA-SID 逐层解码,每层需通过 $L$ 层 decoder:

$$p(\mathbf{y} \mid \mathbf{X}) = \prod_{t=1}^{T} p(s_t \mid s_{\lt t}, \mathbf{X})$$

其中上下文 $\mathbf{X} = (\mathbf{x}_1, \ldots, \mathbf{x}_S)$ 包含结构化特征和用户行为序列,由轻量级 linear context processor 处理。每一步需要以上一层 SID embedding 作为输入,形成严格的自回归依赖。

LazyAR 核心思想

观察到第一层 UA-SID ($s_1$) 的 loss 最大且最难学习,但其对 beam search 代价贡献极小(因为从 BOS 开始解码,有效 beam 为 1);而后续层 beam 更大但学习更容易。LazyAR 利用这种学习难度与推理代价的不匹配,将自回归依赖推迟到中间层:

对于给定的 $K$ ($1 \leq K \lt L$),每个 UA-SID level $t$ 的解码过程:

前 K 层(无自回归依赖): $$\mathbf{m}_t^{(0)} = \mathbf{p}_t$$ $$\mathbf{m}_t^{(\ell)} = \text{Dec}^{(\ell)}\left(\mathbf{m}_t^{(\ell-1)}, \mathbf{X}\right), \quad \ell = 1, \ldots, K$$

第 K 层融合上一级 SID embedding: $$\bar{\mathbf{m}}_t^{(K)} = \text{Fuse}\left(\mathbf{m}_t^{(K)}, \mathbf{s}_{t-1}\right)$$

后 L-K 层(自回归): $$\mathbf{h}_t^{(\ell)} = \text{Dec}^{(\ell)}\left(\mathbf{h}_t^{(\ell-1)}, \mathbf{X}\right), \quad \ell = K+1, \ldots, L$$

其中 $\mathbf{h}_t^{(K)} \triangleq \bar{\mathbf{m}}_t^{(K)}$,最终预测: $$p(s_t \mid s_{\lt t}, \mathbf{X}) = \text{Softmax}\left(\mathbf{W}_t \mathbf{h}_t^{(L)}\right)$$

融合函数实现为轻量级门控投影: $$\text{Fuse}(\mathbf{m}, \mathbf{s}) = \mathbf{W}_f[\mathbf{m} \odot (\mathbf{W}_g \mathbf{s}); \mathbf{s}]$$

为什么 LazyAR 更快

前 K 层 $\{\mathbf{m}_t^{(K)}\}_{t=1}^T$ 不依赖 $s_{t-1}$,可以对所有 level 和所有 beam 并行计算:

$$\{\mathbf{m}_t^{(K)}\}_{t=1}^T = \text{Dec}^{(1:K)}\left(\{\mathbf{p}_t\}_{t=1}^T, \mathbf{X}\right)$$

只有剩余的 $L-K$ 层需要逐级自回归。在实验中 $L=9$,$K=6$,即 2/3 的 decoder 层可并行共享,推理吞吐量接近翻倍。

为什么 LazyAR 保持性能

  1. 第一层 $s_1$ 的解码不变:仍然从初始化 embedding 通过全部 $L$ 层 decoder 生成
  2. 后续层直接利用前 $K$ 层产出的 latent representation,这些中间状态不是随意的——它们在 latent space 中编码了关于候选的有用信号
  3. 引入 MTP-style 辅助损失,设 $\mathbf{h}_t^{(K)} \triangleq \mathbf{m}_t^{(K)}$ 绕过 fusion projection,强制 trunk 直接提供足够信息用于下游解码

2.3 Value-Aware Supervised Learning (VSL)

SID 损失

标准自回归 token prediction:

$$\mathcal{L}_{\text{SID}} = -\sum_{t=1}^{T} \log p(s_t \mid s_{\lt t}, \mathbf{X})$$

eCPM-Aware Token Prediction

为将业务价值引入训练目标,将连续 eCPM 离散化为等频桶,附加到 UA-SID 序列末尾作为额外 token 预测:

$$\mathcal{L}_{\text{eCPM}} = -\log p(v \mid \mathbf{y}, \mathbf{X})$$

综合 NTP 损失:

$$\mathcal{L}_{\text{NTP}} = \mathcal{L}_{\text{SID}} + \lambda_e \mathcal{L}_{\text{eCPM}}$$

价值感知样本加权

广告训练样本的价值分布高度偏斜,为每个样本分配权重 $w = w_{\text{user}} \cdot w_{\text{behavior}}$:

  • $w_{\text{user}}$:用户长期广告价值
  • $w_{\text{behavior}}$:交互深度(如购买行为 > 点击行为)

辅助 MTP 损失

对 LazyAR 的前 $K$ 层引入多 token 预测辅助损失 $\mathcal{L}_{\text{MTP}}$,令 $\mathbf{h}_t^{(K)} \triangleq \mathbf{m}_t^{(K)}$,要求 trunk 直接预测目标 token。

最终 VSL 目标:

$$\mathcal{L}_{\text{VSL}} = \mathbb{E}_{\mathcal{D}}\left[w\left(\mathcal{L}_{\text{NTP}} + \lambda_{\text{mtp}} \mathcal{L}_{\text{MTP}}\right)\right]$$

2.4 Ranking-Guided Softmax Preference Optimization (RSPO)

VSL 主要拟合历史用户兴趣分布,不能直接优化下游业务目标。RSPO 是一种 ranking-aware、list-wise 的 RL 方法。

RSPO 目标

设候选列表 $\mathcal{Y} = \{y_1, \ldots, y_n\}$,$v_i$ 为对应 eCPM 奖励。定义 $\mathcal{E}_i = \{y_j \mid v_j \lt v_i\}$ 为排名低于 $y_i$ 的候选集。RSPO 直接对齐 RL 目标与 ranking NDCG:

$$\mathcal{L}_{\text{RSPO}} = -\mathbb{E}_{(X,y_i,\mathcal{E}_i) \sim \mathcal{D}} \left[\log_2 \sigma\left(-\log \sum_{y_j \in \mathcal{E}_i} \mathcal{M}_{ij} \exp\left(\beta \log \frac{p_\theta(y_j \mid X)}{p_{ref}(y_j \mid X)^{C_{ij}}} - \beta \log \frac{p_\theta(y_i \mid X)}{p_{ref}(y_i \mid X)^{C_{ij}}}\right)\right)\right]$$

其中系数 $\mathcal{M}_{ij} = \left|\frac{1}{D_{|i-j|}} - \frac{1}{D_{|i-j|+1}}\right| |G_i - G_j|$,$G_i = \frac{2^{v_i}-1}{2}$,$D_i = \log_2(1+i)$,直接来源于 LambdaLoss 框架。

论文在附录 A.1 中证明 $\mathcal{L}_{\text{RSPO}}$ 是 NDCGcost 的上界:

$$\text{NDCGcost} = \sum_{i=1}^{n} G_i - \sum_{i=1}^{n} \frac{G_i}{D_i} = \sum_{i=1}^{n} G_i - \text{NDCG}$$

$$\text{NDCGcost} \leq \mathcal{L}_{\text{RSPO}}$$

Reference Distribution 的可靠性门控

训练样本来自异构来源(GR4AD 自身生成 + 其他 pipeline),$p_{ref}$ 可能不可靠或过期。引入二值门 $C_{ij}$:

$$C_{ij} = \begin{cases} 1 & \text{if } \frac{1}{|\mathcal{E}_i \cup \{y_i\}|} \sum_{y_f \in \mathcal{E}_i \cup \{y_i\}} \left|\log \frac{p_\theta(y_f \mid X)}{p_{ref}(y_f \mid X)}\right| \lt \delta \\ 0 & \text{otherwise} \end{cases}$$

当 $C_{ij} = 0$ 时,退化为无 reference 的优化。

VSL 与 RSPO 的统一在线学习

定义 normalized rank discrepancy:

$$A^{(i)} = \frac{|r_p^{(i)} - r_v^{(i)}|}{n-1}, \quad A^{(i)} \in [0, 1]$$

其中 $r_p^{(i)}$ 和 $r_v^{(i)}$ 分别为模型 likelihood 排名和 reward 排名。

  • 当 $A^{(i)}$ 大时,模型排名偏离 reward 排名,增加 VSL 权重
  • 当 $A^{(i)}$ 小时,模型已大致对齐,增加 RSPO 权重

$$w_{\text{VSL}}^{(i)} = w_0 \cdot \exp\left(A^{(i)} \cdot \log(1 + v_i)\right)$$

$$w_{\text{RL}}^{(i)} = w_0 \cdot Z_{\max}(1 - A^{(i)})$$

最终统一在线训练目标:

$$\mathcal{L} = \mathbb{E}_{t \sim \mathcal{D}}\left[w_{\text{VSL}}^{(i)} \mathcal{L}_{\text{VSL}}^{(i)} + w_{\text{RL}}^{(i)} \mathcal{L}_{\text{RSPO}}^{(i)}\right]$$

3. 系统部署

3.1 系统总览

GR4AD (0.16B 参数) 部署于快手广告系统,服务 4 亿+ 用户,由四个组件构成闭环:

  1. Realtime Serving:处理用户请求,返回排序广告列表,同时记录 serving context 和用户反馈
  2. Realtime Index:基于 SID 的双向索引 (UA-SID <-> Item ID),新广告到达时秒级更新,无需频繁重建 embedding 索引
  3. Online Learning:处理实时训练信号,持续 mini-batch 训练 VSL 和 RSPO
  4. Reward System:在宽松延迟约束下生成更大 beam 的候选并引入受控随机探索,输出 eCPM 估计用于 RSPO

3.2 效率优化

Dynamic Beam Serving (DBS)

Dynamic Beam Width (DBW):采用逐层递增的 beam schedule(如 128-256-512 替代固定 512-512-512),减少早期层的计算量同时保持最终候选质量。

Traffic-Aware Adaptive Beam Search (TABS):根据实时 QPS $Q_t$ 动态调整 beam scale $B_t = B_{\text{base}} \cdot f(Q_t, C_{\text{avail}})$,在非高峰期增加 beam 利用空闲算力。

其他优化

优化技术 QPS 提升
Beam-shared KV Cache +212.5%
TopK Pre-Cut +184.8%
Low-Precision Inference (FP8) +50.3%
Reco Result Cache +27.8%
  • Beam-shared KV Cache:多 beam 共享单个 encoder KV cache,消除冗余计算,per-step KV read 复杂度从 $O(B \cdot L)$ 降至 $O(L)$
  • TopK Pre-Cut:每步对各 beam 并行 top-$k$,再全局 top-$k$,提升 GPU 并行度
  • FP8 推理:收入变化约 -0.1%,吞吐量提升 50.3%
  • Reco Result Cache:1 分钟窗口内缓存结果,命中率 27.8%

4. 实验结果

4.1 整体性能 (Table 1 - 在线 A/B 测试)

Model Settings ΔRevenue vs. Base ΔQPS vs. GR-Base
Baselines
DLRM (Base) - -
OneRec-V2 [40] (GR-Base) +1.68% -
Tokenization Optimizations
+ UA-SID +1.92% 0%
Learning Optimizations
+ VSL +2.80% -25%
+ VSL + DPO [24] +3.16% -25%
+ VSL + GRPO [26] +3.21% -25%
+ VSL + RSPO +3.86% -25%
+ Unified VSL & RSPO (UVR) +4.01% -25%
Serving Optimizations
+ UVR + DBS +4.32% +20%
+ UVR + DBS + DeepSeek-MTP [5] +3.98% +117%
GR4AD (+ UVR + DBS + LazyAR) +4.28% +117%

关键结论

  1. VSL 显著提升收入:通过用户和行为加权以及 eCPM token 预测,VSL 直接对齐广告业务目标,收入从 +1.92% (UA-SID only) 提升到 +2.80%
  2. RSPO 优于 DPO/GRPO:RSPO 以 list-wise 方式对齐生成概率与排名顺序,是学习组件中提升最大的(+3.86% vs +3.16% DPO, +3.21% GRPO)
  3. 统一 VSL+RSPO 进一步提升:通过 sample-level alignment indicator 动态平衡,稳定在线训练并带来额外收入(+4.01%)
  4. LazyAR vs DeepSeek-MTP:两者 QPS 提升相同(+117%),但 LazyAR 收入更高(+4.28% vs +3.98%),因为 LazyAR 不引入额外参数,不阻止早期 decoder 层参与后续推理
  5. DBS 提升效率与收入的平衡:DBW + TABS 在保持收入的同时将 QPS 提升 20%,进一步加上 LazyAR 后 QPS 提升至 +117%

4.2 Scaling Laws

Model Scaling

在 0.03B、0.08B、0.16B、0.32B 四个模型尺度下进行在线 A/B 测试(beam width 固定 512):

  • Training loss 随模型增大单调下降:3.359 -> 3.203 -> 3.015 -> 2.907
  • 广告收入提升单调增加:+2.13% -> +2.65% -> +4.01% -> +4.43%

Inference Scaling

固定 0.16B 模型,增大 beam width(128 -> 256 -> 512 -> 1024):

  • QPS 下降(200% -> 100% -> 55% -> 30%)
  • 广告收入提升单调增加:+2.33% -> +2.77% -> +4.01% -> +4.21%

两个维度均呈现清晰的 Scaling Law。

4.3 Dynamic Beam Width 策略对比 (Table 4)

DBW Strategy Beam Width ΔRevenue ΔQPS
GR-Base [512,512,512] - -
1st-level Reduction [128,512,512] -0.10% +27%
2nd-level Reduction [512,128,512] -0.23% +27%
3rd-level Reduction [512,512,128] -0.85% +5%
Progressive Increasing [128,256,512] -0.15% +45%

结论:Progressive Increasing 策略(低层窄 beam、高层宽 beam)收入损失最小(-0.15%)而 QPS 提升最大(+45%)。这验证了模型在初始层具有最高预测可靠性的假设——早期层不需要宽 beam,而后续层需要更宽 beam 进行精细决策。

4.4 业务指标

  • 中小广告主广告投放增加 17.5%
  • 广告转化率提升 10.17%
  • 低活用户转化率提升 7.28%

这些提升归因于基于内容的 SID 更好地支持冷启动,以及实时索引提升了 item freshness。

5. 技术亮点与贡献总结

  1. UA-SID:首个端到端微调的广告专用 MLLM embedding + MGMR 量化方案,碰撞率降至 18.26%
  2. LazyAR:创新的懒惰自回归解码器,将 2/3 decoder 层的计算从自回归依赖中释放,吞吐量翻倍且性能无损
  3. RSPO:首个面向广告推荐的 ranking-guided、list-wise RL 算法,直接优化 NDCG 上界
  4. 统一在线学习框架:通过 alignment score 动态平衡 VSL 和 RSPO,适应非平稳广告市场
  5. 系统级优化:DBS(DBW + TABS)、Beam-shared KV Cache、TopK Pre-Cut 等技术组合,实现 500+ QPS per L20、<100ms 延迟

6. 与相关工作的对比

  • 相比 OneRec/OneRec-V2:GR4AD 专门针对广告场景设计了价值感知学习(VSL+RSPO)和广告专用 tokenization(UA-SID 含非语义 hash 层),而 OneRec 主要面向内容推荐
  • 相比 GPR:GR4AD 同样将生成式范式扩展至广告,但更系统地解决了在线学习、list-wise RL 和推理效率问题
  • 相比 DPO/GRPO:RSPO 是 list-wise 的且直接优化 NDCG,在广告场景中效果显著优于 pair-wise (DPO) 和 group-wise (GRPO) 方法
  • 相比 DeepSeek-MTP:LazyAR 不引入额外参数,不阻止早期层参与后续推理,在推荐场景中更优