← Back to list
TAGR

TAGR: Temporally Adaptive Generative Recommendation for Industrial Live-Streaming Advertising

生成式推荐 Kuaishou
Abstract 8 │ Reading 8 │ Rating —
2026-08-25
Wencai Ye, Guangyi Liu, Chaoyi Wang, Wenbin Luo, Shengyu Wang, Mingjie Sun, Peng Wang, Quanming Yao, Wenjin Wu, Peng Jiang
Kuaishou Technology, Tsinghua University
TAGR 把直播广告的"投放目标本身在分钟级漂移"识别为生成式推荐失效的共同根因,并沿 token/意图/对齐三层做时序自适应:LSID 保持层次化码本词表固定、仅按当前直播场景与带货商品每分钟重算并重分配 token(末层用主播 ID 哈希,Cpr 1.42→1.01、碰撞率 0.42→0.02,level-1 稳定性仍 ≥90%),IAG 用 stride {1,2,10} 的多尺度进房主序列加分通道辅助行为构造请求时意图,并以"post-request 反馈深度 × 用户价值 × eCPM 分位"加权 NTP,IOPO 则每 200 步做一小段当前策略 GRPO(行为对齐的 token 余弦 reward + 价值对齐的 RM reward)、其间穿插 NTP 维护步以保住已学行为分布;在快手 4 亿日活直播广告平台部署为生成式召回通道,进房率 +8.5%、加购点击率 +7.4%、收入 +16.1%,冷启动直播流 +18.4%、低价值用户 +28.8%,腰部主播召回占比 87.1% 对比判别式通道的 76.5%/54.8%。
评分原因
摘要评分:快手直播广告的系统级生成式推荐:token/意图/对齐三层时序自适应都提出了具体机制(每分钟刷新的 LSID、多尺度意图与业务价值加权 NTP、间歇式 on-policy GRPO),并在 4 亿日活平台完成部署与多周线上 A/B——进房率 +8.5%、加购点击 +7.4%、营收 +16.1%,还给出 2500 QPS/L20、端到端 <100ms 的服务细节,工业价值与方法创新兼备。
精读评分:系统级创新扎实且工业验证充分——把"时序非平稳"这一 root cause 沿 token/intent/alignment 三轴分解并逐层验证,LSID"固定词表+分钟级重分配"让动态 SID 免于全局索引重建、IOPO 用调度而非算力换 RL 稳定性(1/3 训练成本下 NTP loss/reward/stability 全面最优),部署细节完整(4 亿 DAU、2500 QPS per L20、<100ms、10% 流量多周 A/B、收入 +16.1%);扣分在于全部实验只在内部十亿级数据上、无任何公开数据集复现路径,消融是累加式而非留一式因而读不出组件交互,且与同场景的 SSRLive/OneLive 完全没有实验对比。
semantic-id rl contrastive-ssl transformer ad-rec industrial
目录

TAGR:面向工业直播广告的时序自适应生成式推荐

快手科技(Kuaishou Technology)+ 清华大学。TAGR 已作为生成式召回通道(channel ID 249)部署在快手电商直播广告系统,服务 4 亿+ 日活用户。核心主张:直播广告的投放目标本身在分钟级漂移,因此生成式推荐必须在 token(LSID)、意图(IAG)、偏好对齐(IOPO)三个层面同时做时序自适应,而不是把为静态 item 域设计的生成式推荐直接平移过来。

研究动机与背景

直播广告为什么不是"另一种 item 推荐"

直播已成为短视频与电商平台的重要变现形态。与传统广告"一条相对稳定的创意/商品"不同,一条直播广告由两个随时间变化的对象共同定义:

  • 当前直播场景(live scene) $S_a(t)$——主播此刻怎么卖(讲解方式、直播间氛围、实时片段内容);
  • 当前带货商品集合(promoted products) $P_a(t)$——此刻卖什么,连同当下的价格、促销、库存。

论文强调:即使直播间本身没变,场景或商品集也可能在几分钟内改变。Figure 1 用一个真实带货直播间的三帧截图给出直观例子——同一个主播(EasyLiving Official)从"Live Ad Starts"(讲解 Portable Soy Milk Maker,$24.99,观看 12.3K)→"Live Scene Changes"(切到限时 10% OFF 的 Smart Multi-Cooker,$53.99,观看 15.8K)→"Live Product Changes"(进入"ONLY 23 LEFT"的多商品清单,观看 21.4K)。与此同时,用户侧的行为链路也在多个时间尺度上演进:曝光($t_1$)→ 进房(Live-room Entry,$t_2$)→ 购物车点击(Live-cart Click,$t_3$)→ 下单支付。

Figure 1: Live-stream advertising evolves at multiple time scales: live scenes and promoted products reshape live-ad tokens, user actions reveal shifting intent, and post-exposure feedback provides delayed preference signals.

这带来一个根本结论:既不是持久的直播间 ID、也不是单个商品 ID 能代表投放目标。直播广告必须按"当前场景 + 当前商品 + 多时间尺度的用户意图"来召回时效敏感的候选。

生成式推荐搬到直播广告的三重时序挑战

工业广告系统通常是多级判别式流水线(DLRM、SIM、DIN 谱系):召回阶段用固定索引和缓存表征构造候选集,下游模型逐级估计互动与转化。生成式推荐(TIGER、OneRec、LC-Rec、GR4AD 等)提供了另一条路径——直接从用户历史与上下文自回归产出离散候选标识符,其层次化输出空间天然支持端到端召回与结构化搜索,也为稀疏/新出现的目标提供了表达接口。但论文指出,把它直接用于直播广告会在三个层面同时失效:

挑战一:token 侧必须随直播广告演化。 大多数非直播生成式推荐使用静态 semantic ID。近期的直播方法(OneLive、SSRLive)已引入动态 token,但其目标主要刻画直播流或主播本身;直播广告还要求 token 同时追踪当前场景与带货商品,并且必须保留一个稳定的生成空间——否则自回归解码与 beam search 无从学起。

挑战二:意图侧必须同时考虑行为尺度、行为类型与监督可靠性。 常规序列生成只在单一时序粒度的一条按时间排列的行为历史上条件化,这既会掩盖瞬时意图、也会淹没长程意图,还会丢失行为类型特有的信号。更重要的是,标准 next-token 学习平等对待所有 logged target——但一次短暂的进房,与一次加购或下单,作为"该曝光是否命中用户意图"的证据强度完全不同。

挑战三:偏好对齐侧必须在"策略反馈新鲜度"与"行为分布保持"之间取舍。 现有 off-policy 对齐(OneRec、GR4AD 谱系)从滞后策略采集的候选池学习,随着策略与流量分布漂移会产生 reward 错配;而持续在线 RL 虽然新鲜,却会反复扰动监督 NTP 学到的行为分布,导致训练不稳。

TAGR 的回应是三层时序自适应:LSID(token 层)、IAG(意图层)、IOPO(对齐层)。论文自称是首个针对工业直播广告的生成式推荐系统级研究。

问题形式化与整体流程

对时刻 $t$ 的每个用户请求,系统观察到用户上下文 $\mathcal{C}_u(t)$(画像、历史行为、近期交互)和当前可投放的直播广告集合 $\mathcal{A}(t)$。每条广告 $a \in \mathcal{A}(t)$ 由场景 $S_a(t)$ 与带货商品集 $P_a(t)$ 共同定义。目标是生成一个 Top-$K_{\text{serve}}$ 投放列表,既反映用户当前意图,又包含更可能带来深度互动与广告收入的直播广告。

三层组件在一条生成流水线上串起来:

  1. LSID 把每条活跃直播广告的当前场景与商品集转成时间索引的离散目标 $\mathbf{y}_a(t)$;这些刷新后的分配同时充当生成的监督标签与线上 LSID–LiveID 索引;
  2. IAG 从多尺度进房序列、分通道辅助行为、长期画像构造请求时表征 $\mathbf{M}_u(t)$,并在新行为到达时刷新它,然后训练 decoder 预测 $\mathbf{y}_a(t)$;其中 MF-NTP 用 post-request 反馈作为意图证据、用用户与商业信号作为业务价值权重,决定每个 logged target 对 base generator 的监督强度;
  3. IOPO 以监督好的 generator 初始化,周期性地从当前策略采样新鲜候选组做偏好更新,并在其间穿插 NTP 步以维持已学到的行为分布。

服务时,精调后的 generator 用 beam search 产出 Top-$K_{\text{serve}}$ 个 LSID,同一套索引把它们解析回活跃直播广告。

Figure 2: Overview of TAGR, which performs temporal adaptation at three levels: token-side target construction (dynamically updating identifier tokens for live ads), intent-side generation (modeling multi-scale, request-time user intent), and alignment-side optimization (intermittent on-policy preference optimization to align ranking with feedback).

核心方法

LSID:Live Semantic-Collaborative ID(token 层时序自适应)

设计动机:静态标识符既无法同时表示多个商品,也无法区分"同一商品集在不同直播场景下"的差异;而纯语义标识符又丢掉了来自用户反馈的协同证据。LSID 的做法是——周期性更新每条活跃直播广告的 token 分配,但保留一个稳定的层次化词表,并通过"用户–场景–商品"对齐把协同信息注入这个目标空间,同时保证每条广告的分配是规范化的、与请求无关的(request-independent)。

三个编码器

LSID 从直播广告的两个定义性对象(场景、商品)构造 token 表征,并用用户表征在表征学习阶段注入协同偏好:

  • 场景编码器:汇总主播的历史带货风格 $\mathbf{v}_{\text{style}}$、实时直播片段表征 $\mathbf{v}_{\text{clip}}(t)$、其他场景侧特征 $\mathbf{f}_S(t)$;
  • 商品编码器:汇总商品文本嵌入 $\mathbf{e}_{\text{title}}$/$\mathbf{e}_{\text{caption}}$、结构化属性 $\mathbf{a}_{\text{attr}}$、实时订单状态 $\mathbf{o}_{\text{order}}(t)$、其他商品特征 $\mathbf{f}_P$;
  • 用户编码器:汇总全局兴趣 $\mathbf{g}_{\text{interest}}$ 与画像特征 $\mathbf{h}_{\text{profile}}$。

三者均实现为带 ReLU 的 MLP,把异构输入投影到共享空间:

$$ \begin{aligned} \mathbf{s} &= \mathrm{Enc}_S\big([\,\mathbf{v}_{\text{style}};\ \mathbf{v}_{\text{clip}}(t);\ \mathbf{f}_S(t)\,]\big),\\ \mathbf{p} &= \mathrm{Enc}_P\big([\,\mathbf{e}_{\text{title}};\ \mathbf{e}_{\text{caption}};\ \mathbf{a}_{\text{attr}};\ \mathbf{o}_{\text{order}}(t);\ \mathbf{f}_P\,]\big),\\ \mathbf{u} &= \mathrm{Enc}_U\big([\,\mathbf{g}_{\text{interest}};\ \mathbf{h}_{\text{profile}}\,]\big). \end{aligned} \tag{1} $$

三向对比对齐

论文沿三个互补方向对齐这三种表征,让目标空间既有语义意义、又感知行为:User-to-Scene (U2S) 与 User-to-Product (U2P) 用进房与加购信号编码协同偏好,Scene-to-Product (S2P) 捕捉直播场景与带货商品之间的共现结构。对比对齐损失(InfoNCE 形式):

$$ \mathcal{L}_{\text{align}} = \mathcal{L}_{\text{U2S}}(\mathbf{u}, \mathbf{s}) + \mathcal{L}_{\text{U2P}}(\mathbf{u}, \mathbf{p}) + \mathcal{L}_{\text{S2P}}(\mathbf{s}, \mathbf{p}). \tag{2} $$

对齐完成后,融合当前场景与商品表征、再做 L2 归一化,得到时间相关的直播广告嵌入:

$$ \mathbf{z}_{\text{live}}(t) = \mathrm{norm}\big(\alpha\,\mathbf{s}(t) + \beta\,\mathbf{p}(t)\big). \tag{3} $$

关键设计:用户表征只参与对比对齐,token 分配本身只依赖场景与商品表征(Eq. 3)。也就是说,协同信息通过 U2S/U2P 对比目标塑造共享嵌入空间(从而塑造量化/码本几何),然后才做与请求无关的场景–商品融合与 token 分配。LSID 由此在不让服务目标变成"针对某个请求用户"的前提下吸收了协同结构——这对工业索引至关重要,因为一条广告在索引里必须只有一个规范 token。

量化与末层哈希

$\mathbf{z}_{\text{live}}(t)$ 用 RQ-KMeans 码本量化为层次化 token 序列,该码本定义了 generator 使用的词表。直播广告嵌入周期性地从最新场景与商品侧特征重算,并对着这套(固定的)词表重新分配。为在不过拟合单个直播流的前提下降低碰撞,最后一级使用 streamer-aware hash bucket(主播 ID 哈希,桶数 256)。于是每条直播广告表示为:

$$ \mathbf{y}_a(t) = (s_1, s_2, \ldots, s_D),\qquad s_\ell \in \mathcal{V}_\ell, \tag{4} $$

其中 $s_\ell$ 是第 $\ell$ 级的 token,$D$ 是 LSID 深度,$\mathcal{V}_\ell$ 是该级词表。上下文明确时省略 token 上的请求时刻索引。

LSID 由此实现 token 级时序自适应:让每条活跃直播广告跟随其当前场景与带货商品,同时保留一个一致的层次空间供学习与解码使用。

IAG:Intent-Aware Generation(意图层时序自适应)

IAG 用一个 Lazy Decoder(轻量 Transformer decoder,源自 OneRec-V2 谱系)实现,包含两个互补设计:MSI-Encoding(多尺度意图编码)构造请求时表征 $\mathbf{M}_u(t)$,MF-NTP(多因子加权 next-token prediction)决定每个 logged target 的监督强度。给定 $\mathbf{M}_u(t)$ 与已生成前缀,decoder 自回归预测 LSID 序列:

$$ P_\theta(\mathbf{y} \mid \mathbf{M}_u(t)) = \prod_{\ell=1}^{D} P_\theta\big(s_\ell \mid s_{<\ell},\ \mathbf{M}_u(t)\big). \tag{5} $$

一句话概括分工:MSI 决定"请求时用哪些行为信号来表示意图",MF-NTP 决定"对应的 logged target 该以多强的力度监督 generator"。

MSI-Encoding:多尺度 + 多行为通道

论文把请求时输入组织成三部分:主意图序列(进房 live-room entry)、辅助行为序列(点赞、加购、下单等)、长期用户画像。这种分离让模型同时捕捉"密集覆盖的宽泛探索意图""稀疏但高置信的购买导向意图""稳定的偏好先验"。

为什么进房是主序列:它比下游购买类行为密集得多,能为曝光后的请求时意图建模提供宽覆盖。设 $\mathbf{a}^{\text{entry}}(t) = [\mathbf{a}^{\text{entry}}_1, \ldots, \mathbf{a}^{\text{entry}}_L]$ 为请求时刻 $t$ 可得的最近进房动作($L = 300$)。MSI 施加 stride 集合 $\mathcal{S} = \{1, 2, 10\}$ 构造细/中/粗粒度进房 token:

$$ \mathbf{T}^{(s)}_{\text{entry},j}(t) = \mathbf{W}_s\Big[\mathbf{a}^{\text{entry}}_{s(j-1)+1};\ \ldots;\ \mathbf{a}^{\text{entry}}_{sj}\Big] + \mathbf{p}^{(s)}_j,\qquad j = 1, \ldots, \Big\lfloor \frac{L}{s} \Big\rfloor. \tag{6} $$

细粒度 token 保留快速的短期意图切换,粗粒度 token 概括更长程的行为模式。三个 stride 的结果拼成主意图的多尺度表征:

$$ \mathbf{T}^{\text{multi}}_{\text{entry}}(t) = \Big[\mathbf{T}^{(s_1)}_{\text{entry}}(t);\ \mathbf{T}^{(s_2)}_{\text{entry}}(t);\ \mathbf{T}^{(s_3)}_{\text{entry}}(t)\Big]. \tag{7} $$

为什么辅助行为要分通道编码:进房刻画的是"愿不愿意进去看看",而辅助行为刻画意图深度与商品级偏好——点赞表示内容认可,加购表示购买考虑,下单表示已完成购买承诺。这些流在稀疏度与时间模式上差异巨大,因此 TAGR 分别编码每条流,而不是把所有动作合并成一条按时间排列的历史,从而保留动作语义。最终请求时表征:

$$ \mathbf{M}_u(t) = \mathrm{LN}\Big(\big[\mathbf{T}^{\text{multi}}_{\text{entry}}(t);\ \mathbf{T}_{\text{like}}(t);\ \mathbf{T}_{\text{cart}}(t);\ \mathbf{T}_{\text{order}}(t);\ \ldots;\ \mathbf{T}_{\text{profile}}\big]\Big). \tag{8} $$

$\mathbf{M}_u(t)$ 把行为尺度与行为类型同时暴露给 decoder,于是 attention 不仅能挑选与当前请求最相关的时间视野,还能挑选最能表达用户当前决策阶段的动作通道。新行为进入序列时刷新 $\mathbf{M}_u(t)$,即可在不丢弃粗粒度模式与画像特征的前提下完成自适应。

MF-NTP:意图证据 × 业务价值

多尺度条件化解决了"用请求时可得信息表示意图",但没有解决"随后的 logged target 有多可靠地表达了那个意图"。在直播广告里,一次短暂曝光或进房只提供弱证据,而加购、下单提供逐级增强的证据。若平等对待所有 logged target,频繁但弱的信号会主导 next-token 学习。因此为每个训练样本 $x$ 赋予一个乘性权重:

$$ w(x) = \underbrace{w_{\text{feedback}}(x)}_{\text{Intent Evidence}} \cdot \underbrace{w_{\text{user}}(x) \cdot w_{\text{eCPM}}(x)}_{\text{Business Value}}. \tag{9} $$

  • 意图证据 $w_{\text{feedback}}(x)$:用 post-request 行为深度作为"logged target 命中用户意图"的证据。后续跟随更深反馈(加购、下单)的样本获得更多 likelihood mass;只有浅层曝光/进房反馈的样本获得更少。
  • 业务价值:$w_{\text{user}}(x)$ 依据用户的长期广告价值标签 $u_{\text{type}}$ 赋予分层基础权重;$w_{\text{eCPM}}(x)$ 把 eCPM 映射到归一化分位空间并提升高区间样本的贡献——分位归一化防止极端值主导优化。

论文特别澄清这三个因子的角色区分:行为深度意图证据权重估计的是"logged target 反映用户意图的可靠程度",而用户价值层与商业价值项决定的是"该样本在广告推荐里应获得多少价值权重"——三者都不是在估计一个校准过的结果概率。

由于 LSID 生成从粗到细逐级进行,还额外引入层级因子 $\gamma = [\gamma_1, \ldots, \gamma_D]$。MF-NTP 目标为:

$$ \mathcal{L}_{\text{NTP}} = -\frac{\sum_{x \in \mathcal{B}} w(x) \sum_{\ell=1}^{D} \gamma_\ell \cdot \log P_\theta\big(s^x_\ell \mid s^x_{<\ell},\ \mathbf{M}^x_u(t_x)\big)}{\sum_{x \in \mathcal{B}} w(x) \cdot \sum_{\ell=1}^{D} \gamma_\ell} \tag{10} $$

其中 $\mathcal{B}$ 是训练 batch,$t_x$ 是样本 $x$ 的请求时刻。实现上样本权重会做归一化与截断($w_{\max} = 5.0$)以保证鲁棒性。

一个容易被忽视但重要的工程约束:post-request 真实用户反馈只用于训练时加权监督;服务时的生成只依赖请求时上下文 $\mathbf{M}_u(t)$,不需要未来反馈。这保证了训练目标与线上可行性的一致。

IOPO:Intermittent On-Policy Preference Optimization(对齐层时序自适应)

off-policy 的两个代价

传统 SID 生成式推荐系统(OneRec、GR4AD)通常做 off-policy 偏好优化——依赖一个滞后策略 $\pi_{\text{old}}$ 产生的候选(类似高效 RL 训练流水线里被观察到的 off-policy 效应)。Figure 3(a) 画出了这个范式:NTP sample flow 训 policy model,policy model 同步给一个 Infer Server(旧模型 $t-n$),旧模型 beam 出 SID 候选,Reward Model 打分后进 RL sample flow 再回来做 GRPO。论文列出两个具体代价:

  • 策略错配与训练不稳:$\pi_{\text{old}}$ 产生的候选随 generator 与流量分布演进而逐渐偏离当前策略 $\pi_\theta$,由此产生的分布错配让 reward 监督有偏且带噪,在快变的直播场景里会破坏训练稳定性。
  • 高运维成本:运行 sample server 在 SID 生成、reward 计算、候选池管理上开销巨大;当多个策略版本并发迭代时,每个版本都要一套独立样本池,资源需求进一步叠加。

Figure 3: Preference alignment in SID-based generative recommendation systems: (a) Typical off-policy preference optimization learns from a lagged-policy candidate pool, whereas (b) IOPO performs on-policy candidate generation and applies intermittent preference updates while jointly training the Reward Model.

Figure 3(b) 是 IOPO:统一样本流同时训 policy model 与 Reward Model,policy model 自己 beam 出候选、RM 直接打分、间歇地做 GRPO 更新——"更低成本 + 高训练稳定性"。

两阶段调度

IOPO 是一个即插即用的 RL 偏好优化方法,集成进流式在线训练策略。新采集的真实用户反馈同时用于在线更新 NTP 模型与 RL 策略。IOPO 把在线学习组织成两个顺序阶段:

  1. Warmup:联合训练 NTP 模块与 Reward Model(RM),得到可靠的 base policy $\pi_\theta$ 与稳定的价值估计器(warmup 步数 20K);
  2. Intermittent on-policy adaptation:当前策略周期性生成新鲜候选组,随后是每 $T$ 步一小段($T = 200$)group-relative policy optimization(GRPO)更新;其间的在线 NTP 维护步继续从 logged 用户反馈学习,把 generator 锚定到观测到的行为分布上,缓解灾难性遗忘。

每一小段 GRPO 都同时包含 BA-GRPO(保持对用户行为的忠实度)与 VA-GRPO(纳入下游商业效用)。

BA-GRPO:行为对齐

BA-GRPO 提供当前策略适配期间所需的行为锚:它鼓励生成的 LSID 在学到的 token 嵌入空间中靠近用户的下一个实际观察到的交互,防止价值优化把生成漂离真实用户行为。论文用的是一个轻量 on-policy GRPO 变体——直接用截断的组归一化优势加权当前策略序列的 log-likelihood(不带 importance ratio)。

设 $\hat{s}^{(k)} = [\hat{s}^{(k)}_1, \ldots, \hat{s}^{(k)}_D]$ 为第 $k$ 条生成的 LSID 序列,$s^* = [s^*_1, \ldots, s^*_D]$ 为 ground-truth LSID(与监督 NTP 用的是同一个 next-LSID 标签,即下一个观测交互在同一标注流水线下映射得到的 LSID)。两条序列都用逐级 token 嵌入求和来嵌入:

$$ \hat{\mathbf{e}}_k = \sum_{\ell=1}^{D} E_\ell\big(\hat{s}^{(k)}_\ell\big),\qquad \mathbf{e}^* = \sum_{\ell=1}^{D} E_\ell\big(s^*_\ell\big) \tag{11} $$

$$ r^{\text{ba}}_k = \frac{1 + \cos(\hat{\mathbf{e}}_k,\ \mathbf{e}^*)}{2} \in [0, 1] \tag{12} $$

$$ \hat{A}^{\text{ba}}_k = \mathrm{clip}\!\left(\frac{r^{\text{ba}}_k - \mu_{\text{ba}}}{\sigma_{\text{ba}} + \epsilon},\ c_{\text{low}},\ c_{\text{high}}\right) \tag{13} $$

$$ \mathcal{L}^{\text{ba}}_{\text{GRPO}} = -\frac{1}{|\mathcal{B}|G} \sum_{x \in \mathcal{B}} \sum_{k=1}^{G} w(x)\,\log \pi_\theta\big(\hat{s}^{(k)} \mid \mathbf{M}^x_u(t_x)\big)\,\hat{A}^{\text{ba}}_k \tag{14} $$

其中 $\mu_{\text{ba}}, \sigma_{\text{ba}}$ 是同一请求下 $G$ 个候选内部的均值与标准差($G = 20$),$\epsilon$ 是数值稳定项,$w(x)$ 就是 Eq. (9) 的意图–效用样本权重。组归一化优势让 reward 在每次当前策略 rollout 内部可比。

值得注意的是:BA-GRPO 的 reward 是参数无关的(纯 token 嵌入余弦),不需要额外模型;而它复用 MF-NTP 的样本权重 $w(x)$,等于把"该样本的监督强度"也传导到 RL 阶段。

VA-GRPO:价值对齐

仅有行为相似性不能保证生成集里含有高价值候选。VA-GRPO 因此用一个 RM 对生成的 LSID 打分,RM 与 TAGR 共享底层 LSID 嵌入以保证表征一致性,任务专属头预测曝光后进房率与归一化 eCPM;在系统中,eCPM 标签取自生产精排分,曝光后 LRE 标签是曝光之后的真实用户反馈。RM 打分时施加 stop-gradient 以保持 reward 估计稳定。

设 $\mathbf{c}_k$ 为 eCPM 上下文特征,$\bar{\mathbf{M}}_u(t_x)$ 为用户表征的池化形式,价值对齐 reward 为:

$$ r^{\text{post}}_k = \sigma\Big(\mathrm{MLP}_{\text{post}}\big([\bar{\mathbf{M}}_u(t_x);\ \hat{\mathbf{e}}_k]\big)\Big) \tag{15} $$

$$ r^{\text{eCPM}}_k = \mathrm{clamp}\Big(\mathrm{MLP}_{\text{eCPM}}\big([\bar{\mathbf{M}}_u(t_x);\ \hat{\mathbf{e}}_k;\ \mathbf{c}_k]\big),\ 0,\ 1\Big) \tag{16} $$

$$ r^{\text{va}}_k = r^{\text{post}}_k + \beta_{\text{va}} \cdot r^{\text{eCPM}}_k \tag{17} $$

$$ \hat{A}^{\text{va}}_k = \mathrm{clip}\!\left(\frac{r^{\text{va}}_k - \mu_{\text{va}}}{\sigma_{\text{va}} + \epsilon},\ c_{\text{low}},\ c_{\text{high}}\right) \tag{18} $$

$$ \mathcal{L}^{\text{va}}_{\text{GRPO}} = -\frac{1}{|\mathcal{B}|G} \sum_{x \in \mathcal{B}} \sum_{k=1}^{G} w(x)\,\log \pi_\theta\big(\hat{s}^{(k)} \mid \mathbf{M}^x_u(t_x)\big)\,\hat{A}^{\text{va}}_k \tag{19} $$

$\mu_{\text{va}}, \sigma_{\text{va}}$ 同样在当前策略候选组内计算。BA-GRPO 与 VA-GRPO 优化同一个当前策略但角色互补:前者提供参数无关的行为信号以保持对用户下一次交互的相关性,后者把生成引向商业价值更强的候选。

联合目标与调度

最终偏好目标为两个 GRPO 损失的加权和:

$$ \mathcal{L}_{\text{GRPO}} = \lambda_{\text{ba}}\,\mathcal{L}^{\text{ba}}_{\text{GRPO}} + \lambda_{\text{va}}\,\mathcal{L}^{\text{va}}_{\text{GRPO}} \tag{20} $$

总训练目标只在被调度的 RL 步上施加 GRPO 损失:

$$ \mathcal{L} = \mathcal{L}_{\text{NTP}} + \mathbb{I}_{\text{RL}} \cdot \mathcal{L}_{\text{GRPO}}, \tag{21} $$

其中 $\mathbb{I}_{\text{RL}}$ 在被调度的 on-policy 步为 1、否则为 0。IOPO 由此实现对齐层的时序自适应:被调度的当前策略更新保持偏好反馈的新鲜度,而其间的监督维护步防止 reward 优化持续覆写已学到的行为分布。

系统部署

在线训练平台

TAGR 作为生成式召回部署在快手直播广告系统,服务 4 亿+ 日活用户。Figure 4 展示了这个闭环:实时 LSID 构造 → 在线训练 → 实时服务。

Figure 4: System deployment: training and serving of TAGR.

平台处理流式请求日志与交互反馈来更新 IAG 与 IOPO。IAG 联合训练 MSI-encoder 与 live decoder;IOPO 周期性采样当前策略候选,用 RM 估计互动与商业价值,间歇更新在非平稳直播环境中保持稳定的偏好对齐。TAGR(generator)与 RM 来自同一条流式数据流水线,各有任务专属目标;两者共享底层 LSID 嵌入保证表征一致,RM 打分时的 stop-gradient 保持 reward 估计稳定。平台做持续 mini-batch 训练,并周期性把更新参数同步到服务集群。

实时 LSID 构造

当一条新直播广告变为活跃、或其场景与带货商品变化时,LSID Construction 模块按 §LSID 重算它的 LSID——活跃直播广告每分钟重新编码一次(超参表标注刷新节奏为 1–5 min)。刷新后的分配立即写入线上 LSID 存储作为规范 token 标签,并在秒级内传播到双向 LSID–LiveID 索引。

这是整个系统能跑起来的关键工程点:因为只刷新 token 分配、层次化词表保持固定,新出现和演化中的直播广告无需资源密集的全局索引重建即可被检索到。

实时服务引擎

收到请求后,服务引擎用最新的 TAGR decoder 做 beam search 生成 Top-$K_{\text{serve}}$ 个 LSID($K_{\text{serve}} = 256$),通过 LSID–LiveID 索引解析为活跃直播广告,再交给下游过滤与排序。优化过的解码与结果缓存支撑单张 L20 GPU 超过 2500 QPS,端到端召回延迟低于 100 ms。请求、生成的 LSID、用户反馈以及 eCPM 等精排信号回流到在线训练平台,闭合整个环路。

实验设置

数据集与评估指标

在一个真实电商直播广告平台采集的十亿级数据集上实验。采用时间切分:5 天训练日志、随后 2 天验证、再随后 2 天测试,从而在快速内容漂移下评估前向泛化。为避免时间泄漏,所有用于样本加权与目标构造的 post-request 反馈严格限制在对应的数据切分内。

数据集包含 4 亿+ 用户、数十万条直播广告(按 live ad 粒度),覆盖从曝光到进房、加购点击、购买的完整转化漏斗。每个请求的用户行为序列由最近 30 天交互构建。

离线指标:用多个截断的 Hit Rate(HR@K) 评估召回质量,针对两个关键互动动作——进房 LRE(live_room_entry) 与加购点击 SCC(shopping_cart_click)。对每个动作,把用户下一次该动作对应的直播广告作为唯一 ground-truth 目标构造监督样例(在固定的 post-request 窗口内没有后续目标动作的请求被排除,对所有方法一致处理)。按生成式召回的标准协议,HR@K 通过把模型生成的 Top-$K_{\text{serve}}$ LSID 解析为活跃直播广告、并在全候选空间下与 ground-truth 匹配来计算。

论文特别解释了为何 HR@K 是有用的离线代理:它直接度量"真正被互动的那条直播广告是否出现在有限的 Top-$K_{\text{serve}}$ 召回集中",而这是下游排序与变现的前置条件;在其生产实验中,相对 HR@K 提升与线上行为率、收入提升方向一致。

线上指标:在生产流量上做 A/B,报告两类互补的业务指标——(1) Behavior Rate Lift (%),即曝光后进房率(LRE-Rate)与加购点击率(SCC-Rate)相对 DLRM baseline 的相对提升;(2) Revenue Lift (%),即实际广告收入的相对提升。

基线方法

  • DLRM (base):基于 DLRM 架构实现的双塔多通道判别式召回 baseline,使用固定 ID 的 ANN 检索。
  • OneRec v2 (GR base):一个强工业生成式推荐基线,已作为生产生成式召回通道部署,用于线上对比。

论文明确说明:DLRM 的离线 HR@K 不报告——因为它的 HR@K 反映的是在全候选语料上的排序质量,与"候选被直接生成出来"的自回归 Top-$K$ LSID 解码不可直接比较。所有方法共享相同的数据预算与基础设施约束。

主要实验结果

Table 1:整体性能对比(离线 HR@K 用于生成式召回方法;线上指标为同一下游过滤/排序栈、可比流量桶下的 A/B。所有提升相对 DLRM (base))

Method LRE HR@64 LRE HR@128 SCC HR@64 SCC HR@128 LRE-Rate Lift SCC-Rate Lift Revenue Lift
DLRM (base) — — — — Ref. Ref. Ref.
OneRec v2 (GR base) 0.5945 0.6568 0.5649 0.6216 +2.1% +1.8% +6.1%
TAGR w/ LSID 0.6413 0.7024 0.6058 0.6551 +4.2% +3.6% +9.9%
+ IAG (MSI-Encoding) 0.6678 0.7276 0.6174 0.6709 +5.1% +4.5% +11.2%
+ IAG (MF-NTP) 0.6871 0.7468 0.6319 0.6836 +6.7% +6.0% +13.5%
+ IOPO (BA-GRPO) 0.7026 0.7604 0.6397 0.6901 +7.5% +6.6% +14.7%
+ IOPO (VA-GRPO) 0.7135 0.7723 0.6461 0.6965 +8.5% +7.4% +16.1%

结论分析:

(1)生成式 vs 判别式召回。 OneRec v2 作为已部署的生成式召回基线,本身就已在线上业务指标上超过 DLRM(收入 +6.1%)。TAGR 在此之上同时改进离线召回与线上业务指标——把静态目标标识符换成 LSID、建模时序用户意图、执行间歇当前策略偏好优化。这说明"在一个端到端生成式召回器内部联合建模直播动态与广告价值"是有增益的。

(2)三层时序自适应的渐进增益。 每一级都带来一致且可叠加的提升,且三级的贡献量级相近:

  • token 层:静态标识符 → LSID,收入提升到 +9.9%(相对 OneRec v2 的 +6.1% 再进 3.8 个点),来源是"用当前直播场景与带货商品刷新生成目标";
  • 意图层:MSI-Encoding 通过多尺度、多行为用户条件化把提升拉到 +11.2%;MF-NTP 通过"post-request 意图信号 + 用户与商业价值加权"进一步到 +13.5%;
  • 对齐层:BA-GRPO 与 VA-GRPO 分别提升到 +14.7% 与 +16.1%,展示了 IOPO 间歇当前策略更新下行为对齐与价值对齐的互补效应。

这条递进曲线直接支撑了 TAGR 的 token/intent/alignment 三分解——如果某一层是冗余的,它对应的增量应该塌陷,而实际每一层都贡献了 1.2~3.8 个百分点的收入。

(3)完整 TAGR。 相对 DLRM 取得 LRE-Rate +8.5%、SCC-Rate +7.4%、Revenue +16.1%。论文点出一个有意思的现象:收入提升显著超过行为率提升(16.1% vs 8.5%/7.4%),说明 TAGR 不仅召回了更有吸引力的广告,还浮现了更高价值的库存。这与 MF-NTP 的商业价值加权、VA-GRPO 的价值对齐 reward 在机制上是自洽的——两处都显式地把 eCPM 引入了优化。

线上 A/B 实验

多周随机实验,覆盖生产流量的 10%、4000 万+ 用户,以实际广告收入为主指标。相对生产 DLRM,TAGR 提升 LRE rate 8.5%、SCC rate 7.4%、revenue 16.1%。

分层分析给出两个更有价值的结论:

  • 低价值用户群收入提升 28.8%;
  • 冷启动直播流提升 18.4%。

这两个数字都远高于大盘的 16.1%,与 Figure 7 展示的更宽的中长尾覆盖一致:token 侧刷新改善了对新活跃库存的触达,多尺度多行为编码追踪请求时意图,MF-NTP 与 IOPO 则优先那些有更强意图信号与广告价值支撑的候选。

消融与分析

token 侧:LSID 消融

Table 2:LSID 沿两个维度的消融("+H" 表示在最后一个层次级别使用 streamer-ID 哈希)

Token Construction Cpr↓ Col↓ Stability↑ Revenue↑
Static SID (baseline) 1.42 0.42 100% –
Dynamic SID 1.36 0.39 92% +1.7%
Dynamic SID + H 1.09 0.15 92% +2.5%
LSID (full, +H) 1.01 0.02 90% +3.8%
Codebook Size Cpr↓ Col↓ Stability↑ Revenue†↑
[256,256,256] 1.02 0.02 90% –
[128,128,128] 1.14 0.16 93% −1.4%
[512,512,512] 1.01 0.01 86% +0.12%

四个指标的定义(论文给得很细,这里完整保留):

  • Cpr(compression ratio,越低越好):直播广告条目数 ÷ 分配给它们的不同 LSID 数,即平均每个 LSID 代表多少个条目,理想值 1.0;
  • Col(collision rate,越低越好):被分配给多个条目(而非一对一映射)的不同 LSID 所占比例;
  • Stability(越高越好):在一整场直播会话期间 level-1 分配保持不变的直播广告比例,反映服务期的目标一致性;
  • Revenue:线上收入提升。Target Construction 块的收入提升相对 Static SID,Codebook Size 块的相对码本 [256,256,256] 的 LSID。

结论分析:

(a)token 构造演进。 每一步升级都把压缩比推向理想值 1.0。更低的 Cpr 意味着每个生成的标识符在服务索引里映射到更少的直播广告,候选扩展更有针对性、更高效——这是把 Cpr 当作核心指标的原因(而不是单纯的语义质量)。具体地:

  • Dynamic SID 周期性更新每条直播广告的语义表征与 token 分配,但不纳入来自 user–scene–product 对齐的协同信号。这种"纯语义的动态更新"把 Cpr 从 1.42 降到 1.36,收入 +1.7%;
  • 加上 streamer-ID 哈希(+H) 把 Cpr 进一步降到 1.09,收益提到 +2.5%——说明碰撞主要发生在同主播的相似直播广告之间,用主播 ID 打散是很直接的对症下药;
  • 完整 LSID 把 user–scene–product 协同对齐纳入动态更新的场景–商品表征,达到近乎理想的压缩(Cpr = 1.01)、最低碰撞率(0.02)与最大收入提升 +3.8%。

论文由此得出:动态语义更新与协同对齐提供的是互补收益——前者管"跟得上变化",后者管"分得开彼此"。

(b)稳定性的代价可控。 所有刷新变体都保持至少 90% 的 level-1 稳定性,说明 token 侧时序自适应对生产服务而言足够稳定。这是很关键的一点:静态 SID 的 Stability 是 100%(定义上不变),动态化必然要付出稳定性代价,而 LSID 把这个代价控制在 10 个百分点内。

(c)码本大小的权衡。 固定 LSID 构造、只变码本大小,主要影响压缩与服务成本:

  • [128,128,128] 过度压缩目标空间(Cpr = 1.14),迫使不相似的直播广告共享标识符;每个生成的 LSID 因此扩展成更大且更嘈杂的候选列表,收入退化 1.4%;
  • [512,512,512] 达到近乎理想的压缩(Cpr = 1.01),但更大词表增加解码成本,换来的却只有 +0.12% 的边际收入;且其 Stability 掉到 86%(词表越细,重分配越容易跨码);
  • 默认 [256,256,256] 以更低的服务成本达到同样近乎理想的压缩,是收入–效率权衡的最优点。

意图侧:IAG 消融

Table 3:多尺度 Intent-Aware Generation 的细粒度消融

MSI-Encoding: Scales LRE HR@128 SCC HR@128
Entry stride = {1} (baseline) 0.7024 0.6551
Entry strides = 0.7141 0.6638
Entry strides = 0.7276 0.6709
MF-NTP: Weighting Factors LRE HR@128 SCC HR@128
Uniform NTP (baseline) 0.7276 0.6709
$+\,w_{\text{feedback}}$ 0.7352 0.6757
$+\,w_{\text{feedback}} + w_{\text{user}}$ 0.7405 0.6789
Full MF-NTP ($+\,w_{\text{eCPM}}$) 0.7468 0.6836

MSI-Encoding 分析。 三个 stride 承担不同角色:stride 1 捕捉最近进房与短期意图切换,stride 2 捕捉局部探索模式,stride 10 概括更长程的浏览意图。逐步加入这些时间尺度同时改善进房与加购点击召回(LRE HR@128:0.7024 → 0.7141 → 0.7276)。一致的增益说明细粒度近期动作与粗粒度浏览模式为请求时意图提供互补证据——两者不是冗余的时间平滑,而是不同的信息。

MF-NTP 分析。 三个权重因子按方法叙述的同一概念顺序引入:从 uniform NTP 出发,$w_{\text{feedback}}$ 用 post-request 行为深度作为"logged 直播广告匹配用户意图"的证据(+0.0076 LRE HR@128),用户价值与 eCPM 项再按长期用户价值与归一化商业价值调整训练优先级(分别 +0.0053、+0.0063)。渐进纳入带来持续提升,支持了"把意图信号与价值加权分开"这一设计——而不是把异质结果混成一个不加区分的重要性信号。这一点在方法论上值得借鉴:"这个样本是否可信"与"这个样本值不值钱"是两件事,混成一个标量会互相污染。

对齐侧:IOPO 消融

Table 4:on-policy 更新策略消融(Stability = 无 loss spike(高于运行均值 0.1 以上)的训练窗口比例)

Method NTP Loss ↓ Reward ↑ Stability ↑ LRE HR@128
Off-policy GRPO 1.79 0.675 low 0.6982
On-policy Continuous GRPO 1.68 0.864 moderate 0.7469
On-policy Intermittent GRPO (IOPO) 1.53 0.913 high 0.7723

这张表沿两个轴同时做对比:候选来源(off-policy vs on-policy)与更新频率(连续 vs 间歇)。

  • Off-policy GRPO 沿用既有 off-policy 对齐方案,候选来自固定的滞后策略 $\pi_{\text{old}}$;由此产生的分布 gap 导致最低的 reward(0.675)与最差的稳定性,LRE HR@128 仅 0.6982;
  • Continuous GRPO 消除了这个 gap(reward 升到 0.864,HR@128 升到 0.7469),但持续的 reward 梯度与监督学习互相干扰;
  • Intermittent GRPO(IOPO) 取得最好的 NTP loss(1.53)、reward(0.913)与稳定性,而训练成本只有连续更新的三分之一。

这个"三分之一成本"的数字很重要:它说明 IOPO 不是靠加算力换稳定,而是靠调度换稳定。

Figure 5: NTP Loss: Continuous vs. Intermittent RL Updates.

Figure 5 放大了 on-policy 频率的对比:warm-up 阶段(0–20K 步)loss 从约 5.5 降到约 1.7;在第 20K 步激活 RL 后,连续学习(橙)立刻开始大幅振荡(幅度约 1.5–2.0)并停滞在约 1.68,反映持续的梯度与 NTP 信号的干扰;间歇学习(绿)通过 RL 突发与 NTP 维护步交替,振荡显著更小并收敛到约 1.53。off-policy 变体因轨迹过于不稳会遮蔽 on-policy 之间的对比,被从图中省略,其最终指标见 Table 4。

BA-GRPO 消融(Table 5)

Method LRE HR@128 SCC HR@128
Supervised IAG 0.7468 0.6836
+ BA-GRPO (w/o sample weighting) 0.7501 0.6858
+ BA-GRPO (with MF-NTP weighting) 0.7604 0.6901

Table 5 拆解了 BA-GRPO 的两个成分:从监督好的 Multi-Scale Intent-Aware Generation 模型出发,未加权的 BA-GRPO 用"到用户下一次实际交互的 token 空间相似度"引入当前策略优化(+0.0033);复用 MF-NTP 样本权重 $w(x)$ 进一步考虑 post-request 意图信号的可靠性与每个样本的价值优先级(再 +0.0103,是前者的三倍)。渐进增益说明行为对齐同时受益于"请求级的相似度 reward"与"样本级的监督强度"——后者的贡献甚至更大,这提示 RL 阶段复用监督阶段的样本权重是一个便宜且高杠杆的设计。

Figure 6: Training dynamics of the reward components in VA-GRPO.

VA-GRPO 分析。 Figure 6 展示 VA-GRPO 中三条 reward 曲线的训练动态:曝光后响应分 $r^{\text{post}}$、归一化商业价值分 $r^{\text{eCPM}}$,以及二者的价值对齐组合 $r^{\text{va}}$。三条曲线均呈一致的上升趋势,说明当前策略优化逐步把候选生成推向更强的互动与商业结果。按 Eq. (17),$r^{\text{va}} = r^{\text{post}} + \beta_{\text{va}} r^{\text{eCPM}}$($\beta_{\text{va}} = 0.2$):响应分量提供主要互动信号,加权后的 eCPM 分量在不压过行为相关性的前提下纳入商业价值——$\beta_{\text{va}}$ 取 0.2 而非 1.0 正是这个"不压过"的量化体现。

实现细节与超参数

Table 6:模型架构与关键训练/服务超参数

组件 超参数 符号 取值
Lazy Decoder Transformer decoder 层数 – 6
隐藏维度 – 512
注意力头数 – 4
FFN 维度 – 2048
激活函数 – ReLU
Dropout – 0.1
General Training 优化器 – Adam
学习率 $\eta$ $1 \times 10^{-5}$
Batch size – 512 per GPU
主进房序列长度 $L$ 300
LSID – Alignment InfoNCE 温度 $\tau$ 0.07
主播 ID 哈希桶数 – 256
场景–商品融合权重 $[\alpha, \beta]$ [0.8, 0.2]
LSID 刷新节奏 – 1–5 min
MF-NTP 层级衰减因子 $[\gamma_1, \gamma_2, \gamma_3]$ [1.0, 0.8, 0.6]
样本权重截断阈值 $w_{\max}$ 5.0
IOPO – BA-GRPO 优势截断范围 $[c_{\text{low}}, c_{\text{high}}]$ [−2.5, 2.5]
rollout 候选数(组大小) $G$ 20
BA-GRPO 损失权重 $\lambda_{\text{ba}}$ 0.1
IOPO – VA-GRPO 优势截断范围 $[c_{\text{low}}, c_{\text{high}}]$ [−2.5, 2.5]
eCPM reward 权重 $\beta_{\text{va}}$ 0.2
VA-GRPO 损失权重 $\lambda_{\text{va}}$ 1.0
IOPO Schedule 间歇更新间隔 $T$ 200
Warmup 步数 – 20K
Serving Beam search 宽度 $K_{\text{serve}}$ 256

值得注意的取值:

  • 场景–商品融合权重 [0.8, 0.2]:场景权重是商品的 4 倍,说明"主播此刻怎么卖"比"卖什么"更主导 LSID 的语义几何;
  • $\lambda_{\text{ba}} = 0.1$ vs $\lambda_{\text{va}} = 1.0$:价值对齐损失的权重是行为对齐的 10 倍。结合 Table 1 中 VA-GRPO 带来的收入增量(+14.7% → +16.1%)大于 BA-GRPO(+13.5% → +14.7%),这个配比是自洽的——BA-GRPO 的定位是锚(防漂移)而非主要驱动力;
  • 层级衰减 [1.0, 0.8, 0.6] 说明 LSID 深度 $D = 3$,且越粗的层被越强地监督。

序列设置。 主进房历史截断到最近 $L = 300$ 条进房动作;MSI 在这条序列上施加三个 stride $\{1, 2, 10\}$,得到长度 $L$、$\lfloor L/2 \rfloor$、$\lfloor L/10 \rfloor$ 的子序列(即 300 / 150 / 30)。辅助行为流(商品点击、点赞、加购点击、下单)与主进房序列分开维护与编码,以保留动作语义、避免把稠密探索信号与稀疏但更强的购买导向信号混在一起。

超参数选择协议。 非架构超参在两天离线数据构成的 held-out 验证集上调优,验证目标联合考虑 LRE HR@128、SCC HR@128 与训练稳定性。搜索范围包括 $\gamma_\ell \in \{1.0, 0.8, 0.6, 0.5\}$、$w_{\max} \in \{5, 10, 20\}$、$[c_{\text{low}}, c_{\text{high}}] \in \{[-2,2], [-2.5,2.5], [-3,3]\}$、$\lambda_{\text{ba}} \in \{0.1, 0.5, 1.0\}$、$\lambda_{\text{va}} \in \{0.5, 1.0\}$、$\beta_{\text{va}} \in \{0.1, 0.2, 0.5\}$、$[\alpha, \beta] \in \{[0.7,0.3], [0.8,0.2], [0.9,0.1]\}$、$T \in \{100, 200, 500\}$。

补充实验(附录 B)

偏好优化骨干对比

三个骨干在相同的间歇当前策略 rollout 下评估,从而把优化算法与 Table 4 的候选新鲜度对比隔离开;它们还共享同一个 value model 来给候选打分与构造偏好信号。组大小 $G = 20$。

Table 7:偏好优化骨干对比

Algorithm Candidate Strategy Reward ↑ LRE HR@128 ↑
DPO 1 pos / 1 neg (rank-$G$) 0.834 0.7486
S-DPO 1 pos / ($G$−1) neg 0.871 0.7594
GRPO group of $G$ 0.913 0.7723

结论:使用更多当前策略候选一致地改善性能(DPO 用 1 正 1 负 → S-DPO 用 1 正 $G{-}1$ 负 → GRPO 用全组 $G$),而 GRPO 取得最高 reward 与召回精度。因此 IOPO 内部的 BA-GRPO 与 VA-GRPO 都用 GRPO 作为优化骨干。这条结果的价值在于:IOPO 的收益不能全部归因于"换了 GRPO"——Table 4 已经把候选新鲜度与更新频率的贡献分离,Table 7 再把算法本身的贡献分离出来。

召回分布跨消耗层级的对比

为考察不同召回器如何在广告主消耗谱系上分配召回容量,把主播按累计广告消耗降序分桶(Bucket 1 = 最高消耗主播),对每个请求收集某召回通道的 Top-$K_{\text{serve}}$ 召回直播广告并映射到其主播所在桶,再在全部请求上聚合、归一化得到各桶贡献占比。

对比对象是生产系统里两个强判别式召回通道:Retrieval-40(ID 40,面向进房率优化)与 Retrieval-45(ID 45,面向精排 eCPM 优化),以及 TAGR-249(部署的 TAGR 通道,ID 249)。

Figure 7: Comparison of recall distribution across cost tiers.

Figure 7 的关键数字(腰部区域 Bucket 4–10 的召回占比):

召回通道 Waist Region (Bucket 4–10) Recall
TAGR-249 (Proposed) 87.1%
Retrieval-40 76.5%
Retrieval-45 54.8%

分析:传统判别式模型表现出明显的头部集中偏置——不成比例地把召回容量分配给高消耗头部桶(Retrieval-45 在 Bucket 2 出现一个高达 0.34 的尖峰),而服务不足更宽的腰部区域(Bucket 4–10)。相比之下,TAGR-249 把显著更多的召回分配到腰部(87.1% vs 76.5% / 54.8%)。这一模式与"时序刷新的 LSID 目标 + 意图感知的自回归生成"是一致的——它让召回器能覆盖不断演化的库存,而不是像固定 ID 检索那样被头部广告吸住。这种向更宽中部覆盖的偏移,方向上与 §线上 A/B 报告的增益(尤其冷启动直播流 +18.4%、低价值用户 +28.8%)一致。

核心贡献总结

  1. 问题形式化:把直播广告形式化为一个需要在 token、意图、对齐三个层面做时序自适应的生成式推荐问题——这是本文最有价值的抽象。它把"直播场景变化""用户意图漂移""策略反馈陈旧"这三件看似独立的事,统一到"非平稳性沿三条不同轴出现"这一个 root cause 下。
  2. TAGR 框架:LSID(动态直播 token 构造,固定词表 + 周期重分配 + 末层主播哈希 + U2S/U2P/S2P 协同对齐)、IAG(多尺度多行为意图表征 + 意图证据 × 业务价值加权 NTP)、IOPO(新鲜而稳定的偏好对齐:间歇当前策略 GRPO + NTP 维护)。
  3. 大规模验证:在电商直播广告的大规模离线与生产实验中取得 +16.1% 收入提升,同时改善曝光后互动、冷启动表现与中长尾覆盖;并给出完整的部署细节(2500 QPS per L20、端到端 <100 ms、LSID 每分钟刷新、秒级索引传播)。

与已归档相关工作的对比

SSRLive SSRLive: Live Streaming Recommendation with Dynamic Semantic ID(Taobao & Tmall Group of Alibaba,2026-06-05)

关系:显式引用但原文未展开对比(仅在 intro §1 与 related work §5.1 各一句提及,无方法或指标层对照)· 已加载对方精读

  • 共同关注的问题:两篇论文指向完全相同的 root cause——为静态 item 域设计的 semantic ID 与直播内容的实时性根本错配。SSRLive 把它写成"现有 SID 是 static and invariant,而直播间内容随时间实时变化";TAGR 写成"live scene 或 product set 可能在几分钟内改变,即使直播间不变"。两者都认为解决路径必须是"让 token 随时间走"。
  • 相近的技术骨架:两者的 tokenizer 骨架高度重合——都用 RQ-KMeans 对实时直播表征做残差量化,都用对比学习注入协同信号(SSRLive 用 Swing 挖正向主播对做主播级对比;TAGR 用 U2S/U2P/S2P 三向 InfoNCE 对齐),都用"稳定成分 + 时变成分"的二元结构。
  • 本文的差异与推进:分歧点有三处。(i) 目标粒度:SSRLive 的时变对象是直播间/主播;TAGR 的时变对象是直播广告 = 场景 × 带货商品集——它明确批评"现有直播方法的目标主要刻画 live stream 或 streamer",而广告还必须追踪卖什么。(ii) 稳定性的实现方式:SSRLive 用两套并列 SID(静态 SID 来自主播历史多模态片段,动态 SID 来自实时表征,在 decoder 里交错生成),并用 EMA 自适应更新码本条目;TAGR 走的是相反方向——码本/词表严格固定,只重分配 token,稳定性用"level-1 分配在一场直播会话内不变的比例"这个可度量指标兜底(≥90%)。这个差异有直接的工程后果:SSRLive 的 EMA 码本更新意味着码字含义在漂移,而 TAGR 的固定词表让线上 LSID–LiveID 索引可以秒级增量更新、无需全局重建。(iii) SID 的用途:SSRLive 把 SID 当作辅助判别式粗排的特征(生成式辅助判别式,多任务损失为主、NTP 损失为辅),部署在粗排;TAGR 把 LSID 当作生成式召回的直接目标(自回归 + beam search 产出 Top-256),部署在召回。
  • 可比的方法/实验差异:SSRLive 在淘宝直播粗排全量部署,线上收益为 watch time +3.38%、GMV +0.72%、关注 +3.12%、互动 +2.92%;TAGR 在快手直播广告召回部署,线上收益为 LRE-Rate +8.5%、SCC-Rate +7.4%、Revenue +16.1%。两者的绝对数值不可直接比较(阶段不同、baseline 不同、业务口径不同:SSRLive 对的是内容侧生态指标,TAGR 对的是广告变现指标)。但一个有意思的观察是:SSRLive 的 token 侧改造带来的 GMV 提升是 +0.72% 量级,而 TAGR 单靠 token 层(LSID)就把收入从 OneRec v2 的 +6.1% 推到 +9.9%——这个差距很可能来自"SID 作为特征"与"SID 作为生成目标"的定位差异:当 SID 只是判别式模型的一个辅助特征时,token 质量的改善会被下游模型稀释;而当 SID 就是召回目标本身时,Cpr 从 1.42 降到 1.01 会直接改变候选集的构成。

DACT DACT: Drift-Aware Continual Tokenization(Fudan University,2026-03-31)

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

  • 共同关注的问题:这是本次检索中最纯粹的一组语义孪生。DACT 把问题命名为协同漂移(collaborative drift)——"已有物品的共现模式和流行度随时间变化,若 token 不更新则无法反映最新协同特征";TAGR 把问题命名为token-side temporal adaptation——"live ad 的场景与商品在变,静态 SID 无法表征演化中的目标"。更关键的是,两者识别出的次生矛盾完全一致:DACT 指出"朴素微调 tokenizer 会导致超过 90% 已有物品的 token 序列发生变化,破坏 GRM 已学到的 token-embedding 对齐关系";TAGR 则强调必须"retain a stable hierarchical token vocabulary for autoregressive generation",否则解码空间无从学起。这就是同一个可塑性–稳定性(plasticity–stability)张力,被两个团队在两个完全不同的场景里独立发现。
  • 相近的技术骨架:两条方法流程图能高度抽象重合——周期性地(DACT 按 period $p$、TAGR 按分钟级刷新)重算 item 的连续表征 → 在一个受约束的范围内重新分配离散 token → 保护 level-1 分配的稳定性 → 用重分配后的 token 继续训练自回归模型。连核心度量指标都撞车:DACT 的 Table 4 报告 layer-wise 编码变化率(朴素微调 Overall 0.9999,DACT K=0.3 时 0.2975);TAGR 的 Table 2 报告 Stability(level-1 分配在一场直播会话内不变的比例,静态 SID 100%、所有刷新变体 ≥90%)——两者是同一个量的正反两面。
  • 本文的差异与推进:(i) 选择性的施加对象不同。DACT 用一个可学习的 CDIM(协同漂移识别模块) 为每个物品输出漂移置信度 $d_i$,取 top-$K$(最优 $K = 0.3$)作为漂移集自由适应、其余用锚定正则 $\|\mathbf{r}^p_i - \mathbf{r}^{p-1}_i\|^2$ 强制稳定——即按物品选择性更新。TAGR 则对所有活跃直播广告一律刷新,稳定性不是靠选择性、而是靠固定词表 + 场景/商品表征本身的连续性自然涌现(实测 ≥90%)。这个差异很本质:DACT 面对的是"漂移是少数派"(Amazon 域内,大多数商品语义稳定),TAGR 面对的是"漂移是常态"(直播广告本来就分钟级变)。当漂移是常态时,逐物品做漂移检测的收益会被摊薄,转而依赖固定词表来提供稳定性是更经济的选择。
  • 可比的方法/实验差异:(ii) 层次约束的方向相反且互补。DACT 的分层重分配是 relaxed-to-strict:level-1 始终主动重分配,深层只有在 level-1 变化时才触发,否则强制沿用旧值——理由是深层残差对量化噪声更敏感。TAGR 则把 level-1 的不变率作为稳定性指标来监控,而在最末层使用 streamer-aware hash 来降低碰撞(Cpr 1.36 → 1.09)。两者都认识到"层次的不同深度需要不同的更新策略",但一个用条件触发、一个用结构性哈希。(iii) 规模与验证方式:DACT 在 Amazon Beauty/Tools/Toys(万级物品)上用 TIGER 与 LCRec 双骨干验证,指标是 HR@5/10、NDCG@5/10;TAGR 在十亿级工业数据 + 数十万条直播广告上验证,只有 HR@64/128 与线上收入。DACT 自己的局限性讨论里就写着"工业级场景(百万级物品)的可扩展性未验证"——TAGR 恰好可以视为这条路线在工业规模上的一个存在性证明,尽管它的 token 更新策略比 DACT 粗糙得多(无漂移检测、无锚定正则)。反过来,DACT 的 CDIM + 差异化更新可能正是 TAGR 那 10% 稳定性损失的一个可行修复方向。

GR4AD GR4AD: Generative Recommendation for Large-Scale Advertising(Kuaishou Technology,2026-02-26)

关系:显式引用([27]),且是同团队的直接前作——Wencai Ye、Mingjie Sun、Peng Wang、Shengyu Wang、Wenjin Wu、Peng Jiang 同时出现在两篇作者名单中;但原文未展开命名对比,仅在 §2.4 把它作为 off-policy 对齐方案的出处、在 Table 4 以 "Off-policy GRPO" 的形式作为消融行 · 已加载对方精读

  • 共同关注的问题:两篇论文都在解决"把生成式推荐落到工业广告系统"这一 root cause 下的同一族子问题——广告 token 化必须承载非语义业务信号、学习目标必须对齐商业价值(而非仅拟合历史兴趣)、服务必须在严格延迟/QPS 预算内产出多条候选。GR4AD 面向快手通用广告,TAGR 面向快手直播广告,是同一平台上的场景细分与代际推进。
  • 相近的技术骨架:重合度高到近乎逐条对应。(i) 末层非语义 token:GR4AD 的 MGMR 在最后一层"用基于 hash 的数值映射替代向量量化"(配置 16384/4096/1024);TAGR 的 LSID"最后一级使用 streamer-aware hash bucket"(桶数 256)。(ii) 价值感知样本加权:GR4AD 的 VSL 用 $w = w_{\text{user}} \cdot w_{\text{behavior}}$(用户长期广告价值 × 交互深度);TAGR 的 MF-NTP 用 $w = w_{\text{feedback}} \cdot w_{\text{user}} \cdot w_{\text{eCPM}}$——前两项几乎是逐项对应,TAGR 新增的是 eCPM 分位项,并把"交互深度"重新解释为意图证据而非价值。(iii) 轻量/懒惰解码器:GR4AD 的 LazyAR 把 2/3 的 decoder 层从自回归依赖中释放;TAGR 用的 Lazy Decoder 出自同一谱系(引用 OneRec-V2)。(iv) 秒级索引与统一在线学习*:两者都用 SID↔ItemID 双向索引做秒级更新以免重建,都做流式 mini-batch 在线训练。
  • 本文的差异与推进:核心分歧在偏好优化的候选来源。GR4AD 的 RSPO 是一个 list-wise、ranking-guided 的目标,直接优化 NDCG 上界(含 LambdaLoss 系数 $\mathcal{M}_{ij}$ 与 reference 可靠性门 $C_{ij}$),并用 alignment score $A^{(i)}$ 动态平衡 VSL 与 RSPO 权重——但它的候选来自异构来源(GR4AD 自身生成 + 其他 pipeline)与一个独立的 Reward System,本质是 off-policy 的。TAGR 的 IOPO 恰恰把这一点作为攻击面:§2.4 明确指出"传统 SID 生成式推荐系统 [5, 27] 通常执行 off-policy 偏好优化,依赖滞后策略产生的候选",并列出两个代价——策略错配/训练不稳 与 高运维成本("运行 sample server 在 SID 生成、reward 计算、候选池管理上开销巨大;多策略版本并发时每个版本都要一套独立样本池",这几乎是在直接描述 GR4AD 的 Reward System)。IOPO 的回应是取消独立 sample server,让当前策略自己 beam 出候选、RM 直接打分,但把 RL 更新改成每 $T = 200$ 步一小段。
  • 可比的方法/实验差异:两篇论文对同一个问题给出了方向相反的算法选择,且各自的实验都支持自己——GR4AD 的 Table 1 报告 RSPO(+3.86%)优于 GRPO(+3.21%)与 DPO(+3.16%);TAGR 的 Table 7 报告 GRPO(reward 0.913 / HR@128 0.7723)优于 S-DPO(0.871 / 0.7594)与 DPO(0.834 / 0.7486)。这个矛盾是可以调和的:TAGR 的 Table 7 明确说明三个骨干都在相同的间歇当前策略 rollout 下评估——也就是说,一旦候选变成 on-policy 且组内可比,group-relative 的优势估计就能发挥作用;而在 GR4AD 的 off-policy 异构候选池里,list-wise 的 ranking 结构反而更能对抗分布错配。换句话说,"用什么偏好算法"取决于"候选从哪来",而这正是 TAGR 把 Table 4(候选新鲜度 + 更新频率)与 Table 7(算法骨干)拆成两张表的原因。 另外,两者的服务预算也不同:GR4AD 报告 500+ QPS per L20、<100 ms;TAGR 报告 2500+ QPS per L20、<100 ms——TAGR 的模型更小(6 层 / 512 维 / 4 头,对比 GR4AD 的 0.16B),$K_{\text{serve}} = 256$ 也小于 GR4AD 的 512,这是直播广告候选池规模更小、刷新更频繁带来的结构性差异。

讨论与局限性

值得借鉴的设计

1. "把一个横切关注点贯穿 GR 全栈"的分解范式。 TAGR 最有方法论价值的不是任何单个组件,而是"时序非平稳性"这一个 root cause 被沿 token / intent / alignment 三条轴分别落地,且 Table 1 用一条严格递进的消融曲线证明三条轴的贡献是可加的(+9.9% → +11.2% → +13.5% → +14.7% → +16.1%)。这种"一个关注点 × 三个层面"的组织方式可以迁移到其他横切问题(如价值、隐私、多场景)。

2. 固定词表 + 周期性重分配。 这是全文最实用的工程 insight:动态化 SID 的代价不必是"重建索引"。只要词表(码本)固定,token assignment 的刷新就可以是一个增量写入 + 索引传播操作(论文报告秒级传播、每分钟重编码)。这一点让"动态 SID"从一个学术设想变成了可运维的生产能力。

3. 把"意图证据"与"业务价值"在权重里显式分离。 MF-NTP 的 $w = w_{\text{feedback}} \cdot (w_{\text{user}} \cdot w_{\text{eCPM}})$ 明确区分"这个 logged target 有多可信"与"这个样本值多少钱",并且论文明说三者都不是在估计校准过的结果概率。Table 3 的逐项消融也支持这种分离。这纠正了工业实践里常见的一个坏习惯——把可靠性和价值混成一个标量权重。

4. 用调度而非算力换 RL 稳定性。 IOPO 的间歇更新在取得最好 NTP loss / reward / stability 的同时,训练成本只有连续更新的 1/3。相比"加 KL 正则""加 reference model"等方案,"每 $T$ 步一小段 + 其间 NTP 维护"是一个几乎零额外成本的稳定化手段。

5. RL 阶段复用监督阶段的样本权重。 Table 5 显示,把 $w(x)$ 引入 BA-GRPO 带来的增益(+0.0103)是"引入 BA-GRPO 本身"(+0.0033)的三倍。这提示:当监督阶段已经花力气算了可靠性权重,不把它传导到 RL 阶段是一种浪费。

局限与可争议之处

1. 全部实验都在内部工业数据上,无公开数据集复现路径。 论文没有报告任何公开学术数据集(Amazon、MovieLens 等)上的结果,Table 1–5、7 全部基于快手的十亿级私有数据。这在工业系统论文里常见,但意味着 LSID、MSI、IOPO 三个组件的方法论贡献无法被外部独立验证——尤其 IOPO 的"间歇 vs 连续"结论,在小规模离线设定下是否成立完全未知。

2. DLRM 的离线 HR@K 缺失,削弱了"生成式 vs 判别式"的离线论证。 论文解释了原因(ANN 检索的 HR@K 与自回归 Top-$K$ 解码不可直接比较),这个解释是合理的,但结果是 Table 1 的离线部分只有生成式方法之间的对比,读者无从判断 TAGR 相对生产判别式召回的离线优势有多大。所有跨范式的结论都只能靠线上 A/B 支撑。

3. 三层组件的消融是"累加式"而非"留一式"。 Table 1 的每一行都是在前一行基础上叠加,因此只能读出边际增量,读不出交互作用。例如:如果只有 IOPO 而没有 LSID,收益还剩多少?MF-NTP 的价值加权在静态 SID 上是否同样有效?这些问题论文没有回答,而它们对判断"三层是否真的正交"是关键的。

4. LSID 的稳定性代价没有被充分探讨。 Table 2 显示所有刷新变体的 level-1 稳定性都在 90% 左右,论文把它当作"足够稳定"一笔带过。但那 10% 在一场直播会话中 level-1 编码发生变化的广告,其训练标签在会话中途改变——这对 NTP 学习意味着什么?会不会引入一类系统性噪声?论文没有做这个分析。相比之下,DACT 在同一问题上做了完整的 plasticity/stability 双向量化。

5. 部分设计缺少机制解释。 例如场景–商品融合权重 $[\alpha, \beta] = [0.8, 0.2]$ 只给了搜索范围和选定值,没有讨论"为什么场景比商品重要 4 倍";$\lambda_{\text{ba}} = 0.1$ 与 $\lambda_{\text{va}} = 1.0$ 的 10 倍差距也只是超参搜索的结果。这些取值携带了关于直播广告的领域知识,但论文没有把它们提炼出来。

6. Reward Model 的可信度未被审视。 VA-GRPO 的 $r^{\text{eCPM}}$ 标签直接取自生产精排分——这意味着 RL 阶段在向一个已有的判别式模型对齐。如果精排本身存在曝光偏置(对长尾/新库存打分不可靠),VA-GRPO 会把这个偏置传导进生成器。论文用 stop-gradient 保证了 reward 估计的数值稳定,但没有讨论 reward 的分布可信度。考虑到 Figure 7 恰恰在强调 TAGR 改善了中长尾覆盖,这一点值得追问:改善究竟来自 LSID 的 token 刷新,还是被 VA-GRPO 的头部偏置部分抵消了?

7. 与直播场景既有工作的对比停留在叙述层。 OneLive [23] 与 SSRLive [20] 在 intro 与 related work 中被提及,但没有任何一张表把它们作为 baseline。考虑到 SSRLive 与 TAGR 在 tokenizer 骨架上的高度重合(见上节对比),缺少这组实验是明显的遗憾。

工业落地价值

论文的部署细节相当扎实,可直接作为工程参考:4 亿+ 日活平台、10% 生产流量 / 4000 万+ 用户的多周 A/B、单张 L20 GPU 2500+ QPS、端到端召回延迟 <100 ms、活跃直播广告每分钟重编码、索引秒级传播、$K_{\text{serve}} = 256$ beam、6 层 / 512 维 / 4 头的 Lazy Decoder。业务收益方面,除了大盘的 LRE +8.5% / SCC +7.4% / Revenue +16.1%,更有说服力的是分层结果——低价值用户 +28.8%、冷启动直播流 +18.4%,以及腰部主播召回占比 87.1% vs 判别式通道的 76.5% / 54.8%。这些数字共同支撑了一个比"整体涨了"更强的论断:TAGR 改变的是召回容量的分配结构,而不只是提高了命中率。