← Back to list
PSG

PSG: Pair-Space Generation for Efficient Generative Reranking

生成式推荐 Kuaishou
Abstract 8 │ Reading 7 │ Rating —
2026-07-29
Chao Feng, Li Ma, Xiancheng Gao, Chenghao Zhang, Yuanhao Pu, Xiang Li
Kuaishou Tech
PSG 把生成式重排的生成原子从单个 item 提升到有序 item 对,用现场组合的 pair encoder 撑起 n(n-1) 的每请求动态词表,把自回归解码 horizon 从 L 压到 L/2,并证明该重参数化与 item-space 分布族严格等价(双射 + 望远镜相消)、在 outcome-only reward 下次优性上界因二次复合而降 4x、把串行 KV-cache 读取换成并行 output projection 从而理论加速 2-4x,在快手 4 亿 DAU 单列 feed 上取得 1.83x 生成器加速、单容器 QPS +79.8% 与人均停留时长 +0.178%。
评分原因
摘要评分:对自回归生成式重排的生成粒度做了干净的重参数化,同时给出双射性、加速比、次优性三条理论保证与 4 亿 DAU 线上收益;扣在问题面较窄(仅重排)且线上增益幅度有限,给 8 而非 9。
精读评分:生成粒度重参数化的 insight 干净、双射等价性 + 二次次优性界 + 组合式动态词表都做得扎实,且有 4 亿 DAU 线上 1.83x 加速与 +0.178% ST 证据;但收益被 k=2 锁死为一次性常数因子(k>=3 已证不可行)、优势随候选池 n 增大衰减、对评估器可信度零处理,且 Table5/Table7 数值互斥、w/o GRPO 行与 GoalRank 行逐位相同、理论所依赖的梯度方差经验证据(声称在 §5.1.5)实际缺席,实验严谨度明显打折。
industrial transformer rl

PSG: Pair-Space Generation for Efficient Generative Reranking

  • 作者:Chao Feng, Li Ma, Xiancheng Gao, Chenghao Zhang, Yuanhao Pu, Xiang Li(Kuaishou Tech,北京)
  • Arxiv:2607.26427(2026-07-29,cs.IR,13 页)
  • CCS:Information systems → Recommender systems;Learning to rank
  • 关键词:Recommendation; Generative re-ranking; Generator-Evaluator; Pair-Token; Efficiency; Accumulative Error reduction
  • 部署:快手主 App 单列推荐 feed 的重排阶段(4 亿+ DAU),线上 A/B 已上线,人均停留时长 +0.178%

研究动机与背景

重排(reranking)是工业推荐流水线的最后一级。给定上游召回 + 排序返回的 $n$ 个候选,重排要产出长度为 $L$ 的有序列表,最大化复合的列表级效用(engagement、dwell time、变现等)。与 pointwise 打分的本质区别在于,重排的定义性特征是 item–item 交互占主导:互补品彼此抬升、冗余品互相稀释、位置级联放大曝光的不对称性。

重排的解空间是从 $n$ 个候选中选 $L$ 个的全体有序排列,规模

$$|\Pi| = P(n, L) = \frac{n!}{(n-L)!}$$

对 $L$ 和 $n$ 都指数增长。早期工作用带上下文精修的 pointwise 打分(DLCM、PRM、SetRank、PEAR、MIR)去捕捉 item 间影响,但这类方法只能部分探索组合解空间。Generator-Evaluator(G-E) 框架把"生成"与"评估"解耦:生成器从指数解空间里通过序列解码或采样策略产出候选序列,评估器按多样性/互动/收入给整条序列打分并挑出 top-1 曝光;评估器反馈再反过来把生成器推向高效用区域。这一解耦天然扩张了搜索空间。

本文关注 G-E 框架下生成器的效率与质量。为满足在线延迟约束,一条路线是 Non-Autoregressive(NAR):NAR4Rec、NLGR、JDRec、OMGRec 并行地为每个 item 直接预测位置概率;但这牺牲了精度,因为它忽略了用户浏览序列时的行为依赖。相对地,Auto-Regressive(AR)(Transformer)质量更优,但模型 footprint 重、逐步生成开销大。

更关键的是,作者指出 evaluator-guided AR 生成器存在一个根本性张力:评估器只在长度 $L$ 的轨迹末端给出一个标量 reward,而生成器必须做出 $L$ 个连续决策。这诱发两个相互耦合的困难:

  1. 解码延迟(Decoding latency):工业生成器的端到端延迟预算通常 $time\_cost \le 30$ ms。即便有 KV cache,对 $L \approx 3\sim8$ 个 item 的 AR 解码也占据不可忽略的份额;解码越贵,同一预算下能生成的候选列表数就越少,探索空间被压缩。
  2. 误差累积(Error accumulation):teacher-forcing 训练喂真值前缀,而推理依赖自己生成的前缀,预测误差不可避免地累积,且随 horizon 延长而放大。

作者提出的核心问题是:能不能在不牺牲生成器表达能力的前提下缩短生成 horizon? 他们的关键观察是——

重排效用的语义单元不是单个 item,而是 item 之间的交互。共现效应、互补性、列表级多样性本质上都是成对(pairwise)现象;item 级的动作粒度是自回归抽象的产物(artifact),而不是 reward 结构本身的性质。

据此作者把生成原子从 item 提升到有序 item 对:Pair-Space Generation(PSG) 把每个有序对 $(v_i, v_j) \in [n] \times [n]$($i \neq j$)当作一个生成 token,生成器自回归产出 $L/2$ 个 pair token,再确定性地展开(unfold)回原始长度-$L$ 的 item 序列。三个设计让它在工业规模上可行:

  • 预训练的 pair encoder 从每请求的候选集现场(on-the-fly) 算出 pair token 表示,绕开静态 $n^2$ 规模 embedding 表必然带来的数据稀疏;
  • 动态词表解码器用内积对 pair token 打分,使同一个生成器无需重训即可服务任意候选集;
  • pair-space 强化学习原生地在 $L/2$ 步轨迹上运行,用 action mask 强制 item 不重复,并针对扩张后的动作空间调整 group 采样。

论文自述贡献三条:(i) 提出 PSG 这一保持完整表达力的生成式重排重参数化;(ii) 证明在 outcome-only reward 下最坏情况次优性有近 $4\times$ 的下降(源于误差复合对解码 horizon 的二次依赖),并把计算从串行的 KV-cache 瓶颈转移到并行的 output-projection 路径,理论上取得近 $2\times$ 到 $4\times$ 推理加速;(iii) 公开 benchmark 上全面超越 SOTA,且在快手 4 亿 DAU 短视频平台线上 A/B 取得 +0.178% 停留时长效用与相对强 item-space G-E baseline 的 $1.83\times$ 解码加速。

相关工作

生成式推荐。检索侧近年从判别式转向生成式:RecForest、DSI 用离散 code list 作为索引结构;TIGER 用量化得到的 Semantic ID 表示 item,通过生成式重建恢复 SID 序列;HSTU 主攻效率与 scaling law;OneRec 引入 reward-guided RL(GRPO)对齐用户偏好。序列级重排的 generator-only 路线(Seq2Slate、miRNN、List-CVAE、SortGen)直接用生成模型逼近最优序列;为提升鲁棒性,FSC、GRN 引入 critic 评估生成结果,标志着 G-E 范式的出现;PIER、PRS、GFN4Rec、CGA、YOLOR 均沿 G-E 演进。作者明确指出 GoalRank 与 PSG 最相似:同样用评估器经 RL 指导生成,但它工作在 item space 而非 pair-token space(这也是后文的线上 baseline)。

自回归生成加速。解码器架构侧:投机解码(speculative decoding)用多 token 预测对齐 AR 输出以减少前向次数,在生成式推荐中已有 RPG、HiCoGen、GReF、OneRanker;N-gram 假设只依赖前 $n-1$ 个状态以缩短上下文、削减 attention 开销。高效 attention 侧:PagedAttention 消除 KV cache 碎片;GQA 用共享 head 减小 KV 尺寸;FlashAttention 用 tiling 加速;constrained decoding 削减闭集任务的 softmax 开销;HSTU 用 M-FALCON KV cache 加速推理;LazyDecoder(OneRec-V2)与 NEZHA 用轻量 processor + lazy cross-attention + KV 共享替换深 encoder。PSG 提供的是互补方向:通过把多个 item 打包进一个 token 来缩短解码 horizon,可与所有现有加速技术无缝叠加。

AR 中的累积误差抑制。exposure bias(teacher-forcing 训练与自由运行推理之间的分布错配)是 AR 误差累积的主因。现有工作分三类:训练侧(scheduled sampling 的课程式采样、professor forcing 的对抗分布匹配、MRT 的序列级目标、SeqGAN 的 RL);解码侧(beam search 保留多候选以抑制误差传播,无需重训);架构侧(NAR 直接消除因果依赖)。近期又延伸出 self-forcing 训练实现完全的训练-推理对齐、process reward model 做 step 级误差检测与 test-time pruning、迭代精修与 masked generation(MaskGIT)替代 left-to-right 解码。PSG 与这些努力正交:它在表示层做手术,把 item 映射进 pair token 从而缩短 horizon,不牺牲表达力。

核心方法

重排形式化

给定用户上下文 $\boldsymbol{u}$(如点击日志)和候选集 $\mathcal{V} = \{v_1, \dots, v_n\}$,设 $\Pi \subset \mathcal{V}^L$ 为从 $\mathcal{V}$ 中取 $L$ 个 item 的全体有序排列,$|\Pi| = P(n,L) = \frac{n!}{(n-L)!}$。任务是产出最大化列表级效用 $R(\boldsymbol{u}, \boldsymbol{\pi})$ 的有序列表 $\boldsymbol{\pi} = (\pi_1, \dots, \pi_L)$:

$$\boldsymbol{\pi}^{*} = \arg\max_{\boldsymbol{\pi} \in \Pi} R(\boldsymbol{u}, \boldsymbol{\pi})$$

采用 G-E 框架:生成器 $\mathcal{G}(\boldsymbol{\pi}|\boldsymbol{u}, \mathcal{V})$ 产出 $m$ 个长度 $L$ 的候选排列,评估器 $R(\boldsymbol{u}, \cdot)$ 在序列级打分,最高分者曝光。AR 架构天然契合生成器,逐 item 产出排列:

$$\mathcal{G}_{\boldsymbol{\theta}}(\boldsymbol{\pi}|\boldsymbol{u},\mathcal{V}) = \prod_{t=1}^{L} p_{\boldsymbol{\theta}}(\pi_t | \pi_{<t}, \boldsymbol{u}, \mathcal{V}) \tag{1}$$

其中 $\boldsymbol{\theta}$ 为可学参数、$p_{\boldsymbol{\theta}}(\cdot)$ 为每个解码步的预测概率。本文只关注生成器,把评估器 $R(\cdot,\cdot)$ 当作提供监督信号的外部插件模块——框架对评估器的具体形式不敏感,任何序列级打分函数都能直接接入。

Pair-Space 的 tokenization

为记号简洁假设 $L$ 为偶数(奇数 $L$ 用一个尾部单 item slot 处理,见附录 A)。通过"两个 item 合成一个 token"把 item 空间映射到 pair-token 空间,对候选集 $\mathcal{V}$ 定义每请求 pair-token 词表:

$$\mathcal{P}(\mathcal{V}) = \{(v_i, v_j) : i, j \in [n],\ i \neq j\}, \qquad |\mathcal{P}(\mathcal{V})| = n(n-1) \tag{2}$$

解码过程于是从 size 为 $n$ 的 item 空间上的 $L$ 步,转移到 size 为 $n(n-1)$ 的 pair-token 空间上的 $L/2$ 步。原则上任意 $k$ 个 item 都可合成一个 token,token 空间为 $\frac{n!}{(n-k)!}$;本文各种部署约束下采用 $k = 2$($k$ 的选择讨论见 §4.3、§5.3)。

表达力是否受损? 作者给出一个理论保证,把 PSG 定性为 item-space 生成的严格结构重构(strict structural refactoring)而非近似。

第一,排列映射是双射的:对任意 $\boldsymbol{\pi}^{\text{item}} \in \Pi^{\text{item}}$ 存在对应的 $\boldsymbol{\pi}^{\text{pair}} \in \Pi^{\text{pair}}$ 展开成同一 item 序列,反之亦然。

第二,分布族是等价的:对任意 item-space 生成器 $\mathcal{G}^{\text{item}}$,存在 pair-space 生成器 $\mathcal{G}^{\text{pair}}$ 产出完全相同的输出分布。构造性地定义

$$p\big((v_i,v_j)\ \big|\ \pi^{\text{pair}}_{<t}, \boldsymbol{u}, \mathcal{P}(\mathcal{V})\big) = p\big(v_i \big| \pi^{\text{item}}_{<2t-1}, \boldsymbol{u}, \mathcal{V}\big)\cdot p\big(v_j \big| \pi^{\text{item}}_{<2t-1} \cup \{v_i\}, \boldsymbol{u}, \mathcal{V}\big) \tag{3}$$

对 $t = 1, \dots, L/2$ 取积后望远镜式相消(telescope)为

$$\prod_{t=1}^{L/2} p\big(\pi^{\text{pair}}_t \big| \pi^{\text{pair}}_{<t}, \boldsymbol{u}, \mathcal{P}(\mathcal{V})\big) = \prod_{s=1}^{L} p\big(\pi^{\text{item}}_s \big| \pi^{\text{item}}_{<s}, \boldsymbol{u}, \mathcal{V}\big) \tag{4}$$

反方向对称成立。于是有:

Corollary 1(No expressiveness loss):pair-space 自回归策略可实现的列表分布集合,等于 item-space 策略可实现的集合。

这个推论是全文的地基——它说明 PSG 不是"为了快而牺牲精度"的近似,而是把同一个概率模型换一种因子分解方式书写;后续的加速与误差下降因此是"纯赚"。

模型架构

Figure 1: PSG: Left part denotes the Pair-Token Representation and right part denotes the Transformer Enc-Dec module.

PSG 由两个核心模块构成:Pair-Token Representation(PTR) 与 Token-Level Generator。

Pair-Token Representation。每个 item $v$ 先由多模态特征(内容 embedding、统计特征、taxonomy ID)映射为向量 $\boldsymbol{e}(v) \in \mathbb{R}^{d'}$。pair-token 表示由一个位置感知融合模块算出:

$$\boldsymbol{e}(v_i, v_j) = \mathrm{MLP}\big([\boldsymbol{e}(v_i) + \boldsymbol{p}_1;\ \boldsymbol{e}(v_j) + \boldsymbol{p}_2]\big) \in \mathbb{R}^{d} \tag{5}$$

其中 $\boldsymbol{p}_1, \boldsymbol{p}_2 \in \mathbb{R}^{d'}$ 是可学的 role embedding(角色嵌入),保证一般情况下 $\boldsymbol{e}(v_i,v_j) \neq \boldsymbol{e}(v_j,v_i)$——即 pair token 是有序的,"A 在前 B 在后"与"B 在前 A 在后"是两个不同 token。这一步是整个方案的关键工程点:pair 表示由候选 item 表示组合算出,而不是查一张 $n^2$ 大小的静态 embedding 表,因此既不占参数、也不受 $n^2$ 条目的长尾稀疏之苦,还天然支持"词表随请求变化"。

Token-Level Generator。采用标准 Transformer Encoder-Decoder。推荐场景下用户最关键的特征是行为序列,故用户 $\boldsymbol{u}$ 由其序列行为历史表示。行为序列构造为

$$\boldsymbol{X} = [\boldsymbol{x}_1; \boldsymbol{x}_2; \cdots; \boldsymbol{x}_b] \in \mathbb{R}^{b \times d}$$

每个 $\boldsymbol{x}_i$ 对应第 $i$ 个历史行为,由被交互 item 的 embedding 与上下文动作信号融合而来:$\boldsymbol{x}_i = \mathrm{MLP}([\boldsymbol{e}_i; \boldsymbol{a}_i])$,其中 $\boldsymbol{e}_i \in \mathbb{R}^{d_e}$ 是 item embedding,$\boldsymbol{a}_i \in \mathbb{R}^{d_a}$ 编码动作信号(停留时长、交互类型、位置、点击类型等)。Encoder 用 self-attention 加 position-wise FFN 把 $\boldsymbol{X}$ 映射到隐表示:

$$\mathrm{SelfAttention}(\boldsymbol{Q},\boldsymbol{K},\boldsymbol{V}) = \mathrm{softmax}\Big(\frac{\boldsymbol{Q}\boldsymbol{K}^{\top}}{\sqrt{d}}\Big)\boldsymbol{V} \tag{6}$$

其中 $\boldsymbol{Q} = \boldsymbol{X}\boldsymbol{W}_Q$、$\boldsymbol{K} = \boldsymbol{X}\boldsymbol{W}_K$、$\boldsymbol{V} = \boldsymbol{X}\boldsymbol{W}_V$,$\boldsymbol{W}_Q, \boldsymbol{W}_K, \boldsymbol{W}_V \in \mathbb{R}^{d\times d}$ 可学。self-attention 输出经两层 ReLU FFN 变换,得到 encoder 输出 $\mathrm{Enc}(\boldsymbol{u}) \in \mathbb{R}^{b\times d}$。

解码侧以 <SOS> 为起始 token。训练时 decoder 输入为 $(\texttt{<SOS>}, \pi^{\text{pair}}_1, \dots, \pi^{\text{pair}}_{L/2-1})$,其中 $\boldsymbol{\pi}^{\text{pair}}$ 是由已曝光排列转成的 pair-token 序列。decoder 隐状态作 query $\boldsymbol{Q}$,encoder 输出作 key/value:

$$\mathrm{CrossAttention}(\boldsymbol{Q},\boldsymbol{K},\boldsymbol{V}) = \mathrm{softmax}\Big(\frac{\boldsymbol{Q}\boldsymbol{K}^{\top}}{\sqrt{d}}\Big)\boldsymbol{V} \tag{7}$$

cross-attention 输出同样过 FFN,最终 decoder 输出

$$\boldsymbol{H} = \mathrm{EncDec}(\boldsymbol{u}, \boldsymbol{\pi}^{\text{pair}}) = [\boldsymbol{h}_1; \dots; \boldsymbol{h}_{L/2}] \in \mathbb{R}^{\frac{L}{2}\times d} \tag{8}$$

训练:三个目标叠加

(a) Pair-Token Pretrain(order-aware 预训练)。为增强 pair-token embedding 的表示能力,PSG 先在大规模曝光日志上预训练 token embedding。给定曝光排列 $\boldsymbol{\pi} = [\pi_1, \dots, \pi_L]$ 与对应动作(如 click)$\boldsymbol{y}_{\boldsymbol{\pi}} = [y_1, \dots, y_L] \in \{0,1\}^L$,按曝光时序构造 pair-token 集合 $S = \{(\pi_i, \pi_j)\ |\ i < j\}$。每个 pair 有一个 pair-level 标签:若 $y_i = 1$ 且 $y_j = 1$,则 $y(\pi_i,\pi_j) = 1$;若两者之一为 1,则 $y(\pi_i,\pi_j) = 0.5$;否则 $y(\pi_i,\pi_j) = 0$。用 pair-token embedding(式 5)各维的均值经 sigmoid 后逼近该 pair-level 标签,以 MSE 训练:

$$L_{pretrain} = \frac{2}{n(n-1)}\sum_{i<j}\Big[\sigma\Big(\frac{1}{d}\sum_{t=1}^{d} \boldsymbol{e}(\pi_i,\pi_j)_t\Big) - y(\pi_i, \pi_j)\Big]^2 \tag{9}$$

其中 $\sigma(\cdot)$ 为 sigmoid。这个"三值软标签 + 有序 pair"的设计(论文在附录 C 中称之为 OAR pretraining loss)正是用来解决 $n^2$ 级词表的冷启动:逆序对(reverse pair)的冷启动比例是 $1/2$,靠该预训练目标补齐。

(b) Next-Token Prediction(NTP)。为与在线推荐系统常用训练目标保持一致,采用 NTP 范式。在解码步 $t \in \{1,\dots,L/2\}$,decoder 隐状态 $\boldsymbol{h}_t$(式 8)与全部合法 pair-token 做内积打分,再 softmax 得到 token 词表上的采样概率。每个解码步天然对应一个多分类任务:

$$\mathcal{L}_{\mathrm{NTP}} = -\frac{2}{L}\sum_{t=1}^{L/2}\log \frac{\exp\big(\boldsymbol{h}_t^{\top}\mathrm{emb}(\pi_t^{\text{pair}})\big)}{\sum_{j=1}^{n(n-1)}\exp\big(\boldsymbol{h}_t^{\top}\mathrm{emb}(\mathrm{token}_j)\big)} \tag{10}$$

注意 $\mathrm{emb}(\cdot)$ 来自 PTR 现场计算,所以这是一个动态词表 softmax——同一套生成器权重可以服务任意候选集合,无需重训。

(c) Exploration by reinforcement(GRPO)。预训练与 NTP 主要在利用在线日志,探索能力不足。作者用评估器 $R(\cdot,\cdot)$ 通过强化学习指导生成器,采用在 LLM 任务上表现优异的 GRPO(Group Relative Policy Optimization)。先由旧策略 $\mathcal{G}_{\theta_{old}}$ 采样一组大小为 $G$ 的排列 $S = \{s_1,\dots,s_G\}$,调用评估器估计对应 reward $\boldsymbol{r} = \{r_1,\dots,r_G\}$,每个样本的相对优势为

$$A_i = \frac{r_i - avg(\boldsymbol{r})}{std(\boldsymbol{r}) + \epsilon}, \qquad 1 \le i \le G \tag{11}$$

其中 $avg(\cdot)$、$std(\cdot)$ 为 reward 向量的均值与标准差,小量 $\epsilon$ 保证分母非零。GRPO 损失为

$$L_{GRPO} = \frac{1}{G}\sum_{i=1}^{G}\min\Big(\frac{\pi_{\theta}}{\pi_{\theta_{old}}}\cdot A_i,\ clip\big(\frac{\pi_{\theta}}{\pi_{\theta_{old}}}, 1-\delta, 1+\delta\big)\Big) - \beta D_{KL}(\pi_{\theta}\|\pi_{\theta_{old}}) \tag{12}$$

$clip(\cdot)$ 为裁剪操作,$D_{KL}(\cdot)$ 为 KL 距离,避免当前策略相对旧策略偏移过大,$\beta$ 为可调超参。最终总损失为

$$L_{loss} = L_{pretrain} + \lambda_1 \cdot L_{ntp} + \lambda_2 \cdot L_{GRPO} \tag{13}$$

$\lambda_1, \lambda_2$ 控制各任务影响。

推理分析:为什么会快,为什么误差会降

推理时每个解码步用 decoder 隐状态与全部合法 pair-token 做内积、softmax 得 token 概率,再用 beam search 产出候选 pair-token 序列,最后展开成长度 $L$ 的 item 列表。

复杂度分析

Figure 2: Workflow of inference.

相比 item-space 生成,PSG 多了一个 PTR 模块。作者论证这个开销不进入关键路径:PTR 与 user context encoder 作用在互不相交的输入上,可在独立 stream 上并发执行(图 2),PTR 的开销被吸收在 user-encoder 的延迟窗口内。decoder 在第 1 步的 cross-attention 需要 $\mathrm{Enc}(\boldsymbol{u})$,但直到第 1 步输出投影前都不需要 pair embedding。即便串行执行,PTR 也只占总推理延迟约 3%,可忽略。

Proposition 1(Pair Encoder Wall-Clock Absorption):PTR 是单个 batch GEMM,算术强度 $\gg 1$,是 compute-bound 的,能跑到接近峰值的 tensor-core 利用率;而 user context encoder 由算术强度 $\approx 1$ 的 attention kernel 构成,是 memory-bandwidth-bound 的。对 $n \le 400$ 与 $b \le 50$,PTR 在 user encoder 窗口 + Decoder Step 1 内即可完成,故不增加边际 wall-clock 延迟,可从复杂度分析中排除。

作者还强调一个使比较公平的性质:Transformer decoder 的参数量(QKV 投影矩阵、FFN 权重、layer norm)与输入序列长度无关,因此 item-space 与 pair-space 可在完全相同的模型容量下做复杂度对比。

Theorem 4.1(Generation Complexity):设 user encoder 是 $H_{\mathrm{enc}}$ 层、隐维 $d$、FFN 宽 $d_{\mathrm{ff}}$ 的 transformer,作用在长度 $b$ 的用户历史上;decoder 是 $H$ 层、隐维 $d$、FFN 宽 $d_{\mathrm{ff}}$ 的 transformer,在每请求词表 $|\mathcal{V}|$ 上工作。每步 $t$,decoder 对自身长度为 $t$ 的 KV cache 做 self-attention、对 $\boldsymbol{H}_{\mathrm{enc}} \in \mathbb{R}^{b\times d}$ 做 cross-attention,再把 $\boldsymbol{h}_t \in \mathbb{R}^d$ 投影到词表。每请求总 FLOPs 分解为

$$T = T_{user} + T_{dec}(S) \tag{14}$$ $$T_{user} = O\big(H_{\mathrm{enc}}(d^2 + d\cdot d_{\mathrm{ff}})\cdot b + H_{\mathrm{enc}}\cdot d\cdot b^2\big) \tag{15}$$ $$T_{dec}(S) = \underbrace{O\big(H(d^2 + d\cdot d_{\mathrm{ff}} + b\cdot d)\cdot S\big)}_{T_{\text{fixed}}:\ \text{weight-matrix + cross-attn (per-step fixed)}} + \underbrace{O(H\cdot d\cdot S^2)}_{T_{\text{kv}}:\ \text{KV-cache read (sequential)}} + \underbrace{O(|\mathcal{V}|\cdot d\cdot S)}_{T_{\text{proj}}:\ \text{output projection (parallel)}} \tag{16}$$

$T_{user}$ 在 item space 与 pair space 中完全相同(每请求只算一次);decoder 开销的差异由生成 horizon $S$ 与词表 $|\mathcal{V}|$ 决定。

Table 1:每请求 FLOPs,item space vs. pair space

Term Item($S = L$, $\|\mathcal{V}\| = n$) Pair($S = L/2$, $\|\mathcal{V}\| = n^2$) Factor
$T_{\text{fixed}}$ $O(H(d^2 + d d_{\mathrm{ff}} + bd)L)$ $O(H(d^2 + d d_{\mathrm{ff}} + bd)L/2)$ $2\times \downarrow$
$T_{\text{kv}}$ $O(HdL^2)$ $O(HdL^2/4)$ $4\times \downarrow$
$T_{\text{proj}}$ $O(ndL)$ $O(n^2 dL/2)$ $n/2\times \uparrow$

这张表是理解 PSG 的钥匙:horizon 减半让固定开销降 $2\times$、让与 $S^2$ 成正比的 KV-cache 读取降 $4\times$,代价是输出投影涨 $n/2$ 倍。但两者的硬件性质完全不同——KV-cache 读取是串行、memory-bandwidth-bound 的,占 wall-clock 的比例不成比例地高;output projection 是一次并行的大 GEMM,compute-bound、能吃满 tensor core。所以这笔"用并行 FLOPs 换串行带宽"的交易在真实硬件上是划算的。作者据此判断整体解码加速落在 $2\times$ 与 $4\times$ 之间,实际部署为 $1.83\times$。另需注意:若 encoder 处理极长用户历史,encoder 可能主导整个流程成为瓶颈;只有在 encoder 较轻时上述加速才充分体现。

附录 B 给出完整证明。decoder 每步每层拆成三块:(a) self-attention 对长度 $t$ 的 KV cache——QKV 投影 $3d^2$(仅当前 query token)、attention score $O(td)$、weighted sum $O(td)$、输出投影 $d^2$,合计 $O(d^2 + td)$;(b) cross-attention 对 $\boldsymbol{H}_{\mathrm{enc}}$——Q 投影 $d^2$,K/V 投影 $2d^2$ 在首步后被缓存(摊销后每步 $O(1)$),attention score $O(bd)$、weighted sum $O(bd)$、输出投影 $d^2$,合计 $O(d^2 + bd)$;(c) FFN $O(2dd_{\mathrm{ff}})$。故每层每步 $C_{\text{layer}}(t) = O(d^2 + td + bd + dd_{\mathrm{ff}})$,$H$ 层求和再对 $t = 1..S$ 求和得 $T_{\text{fixed}} + T_{\text{kv}}$;输出投影 $\mathrm{logits}_t = \boldsymbol{h}_t^{\top}\boldsymbol{E}_{\text{vocab}}$($\boldsymbol{E}_{\text{vocab}} \in \mathbb{R}^{|\mathcal{V}|\times d}$)每步 $O(|\mathcal{V}|d)$,$S$ 步共 $O(|\mathcal{V}|dS)$。

解码误差抑制

直觉上缩短 horizon 会降低误差累积,但把词表从 $n$ 扩到 $n^2$ 可能因动作空间更大、需在 $n^2$ 个分类标签上训练而抬高每步误差。净效果由比值 $\bar\epsilon_{\text{item}}/\bar\epsilon_{\text{pair}}$ 决定:horizon 减半带来的 $4\times$ 收益会被每步 mismatch 的上升部分抵消。在 encoder-saturated regime($\bar\epsilon_{\text{pair}} \approx \bar\epsilon_{\text{item}}$,典型部署配置下成立)下,PSG 取得接近 $4\times$ 的误差下降。

Theorem 4.2(Error Compounding in Autoregressive Decoding):设自回归重排策略生成长度 $L$ 的列表,每步动作分布与最优分布的 total variation 偏差至多 $\bar\epsilon$。item space 每步词表为 $n$,pair space 每步词表为 $n(n-1) \approx n^2$,对应每步 mismatch 记为 $\bar\epsilon_{\text{item}}$ 与 $\bar\epsilon_{\text{pair}}$,其中

$$\bar\epsilon_{\text{pair}} = \bar\epsilon_{\text{base}} + \bar\epsilon_{\mathrm{enc}}(2) + \bar\epsilon_{\mathrm{cov}}(2)$$

由三个误差通道构成:(i) $\bar\epsilon_{\text{base}}$,baseline 训练噪声(对词表规模弱依赖);(ii) $\bar\epsilon_{\mathrm{enc}}(2)$,pair-encoder 在 $n^2$ 个表示上的泛化误差;(iii) $\bar\epsilon_{\mathrm{cov}}(2)$,有限 GRPO group size $G$ 在 $n^2$ 个动作上的覆盖误差。

Table 2:误差复合,item space vs pair space

Bound Item Space($H = L$) Pair Space($H = L/2$)
Trajectory TV mismatch $L\cdot\bar\epsilon_{\text{item}}$ $(L/2)\cdot\bar\epsilon_{\text{pair}}$
Reward sub-optimality $O(R_{\max}L^2\bar\epsilon_{\text{item}})$ $O(R_{\max}(L/2)^2\bar\epsilon_{\text{pair}})$

净改进比为

$$\frac{\mathrm{SubOpt}_{\text{item}}}{\mathrm{SubOpt}_{\text{pair}}} = 4\cdot\frac{\bar\epsilon_{\text{item}}}{\bar\epsilon_{\text{pair}}}$$

当 $\bar\epsilon_{\text{pair}} \le \bar\epsilon_{\text{item}}$(encoder-saturated regime)时完整的 $4\times$ 红利兑现;当 $\bar\epsilon_{\text{pair}} > \bar\epsilon_{\text{item}}$ 时红利被部分抵消。对部署 regime $n \le 400$、预训练密度 $\rho_2 \gg 10^3$、$G = 32$:$\bar\epsilon_{\text{pair}} \approx \bar\epsilon_{\text{item}}$,得到 $\approx 4\times$ 改进。

附录 C 的五步证明值得复述,因为它解释了"为什么是二次而不是线性":

  • Step 1(每步误差与状态扰动):在自回归(确定性转移)MDP 中,$s_{t+1} = f(s_t, a_t)$ 是当前状态与动作的确定函数,因此 $a_t$ 上的分布偏移直接传导到 $s_{t+1}$。
  • Step 2(轨迹 TV 线性复合):由确定性转移下 total variation 的链式法则,$\mathrm{TV}\big(\pi(s_{1:H}), \pi^*(s_{1:H})\big) \le \sum_{t=1}^{H}\mathrm{TV}\big(\pi(a_t|s_t), \pi^*(a_t|s_t)\big) \le H\cdot\bar\epsilon$。每步至多贡献 $\bar\epsilon$,可加地累积。
  • Step 3(reward 次优性二次复合):由 Performance Difference Lemma,$\mathbb{E}[R(\pi^*)] - \mathbb{E}[R(\pi)] = \sum_{t=1}^{H}\mathbb{E}_{s_t\sim\pi}\big[A^*(s_t,a_t)\big]$——期望是在 $\pi$ 的状态访问分布下取的,而不是 $\pi^*$ 的,而第 $t$ 步的状态分布已被 $1,\dots,t-1$ 步的误差扰动。于是 $\big|\mathbb{E}_{s_t\sim\pi}[A^*(s_t,a_t)]\big| \le R_{\max}\cdot\sum_{t'=1}^{t}\bar\epsilon = R_{\max}\cdot t\cdot\bar\epsilon$,对 $t$ 求和得

$$\mathbb{E}[R(\pi^*)] - \mathbb{E}[R(\pi)] \le R_{\max}\bar\epsilon\sum_{t=1}^{H}t = R_{\max}\bar\epsilon\cdot\frac{H(H+1)}{2} = O(R_{\max}H^2\bar\epsilon) \tag{17}$$

二次依赖来自:(i) 第 $t$ 步自身误差贡献 $\bar\epsilon$;(ii) 第 $t$ 步的状态已被前 $t-1$ 步累积误差偏移,各贡献一个额外 $\bar\epsilon$ 因子;(iii) 总和 $\bar\epsilon + 2\bar\epsilon + \cdots + H\bar\epsilon = \bar\epsilon H(H+1)/2$。

  • Step 4(净改进比):$\frac{L^2\bar\epsilon_{\text{item}}}{(L/2)^2\bar\epsilon_{\text{pair}}} = 4\cdot\frac{\bar\epsilon_{\text{item}}}{\bar\epsilon_{\text{pair}}}$——$4\times$ 正来自二次复合:horizon 减半会把收益平方。
  • Step 5(验证部署 regime 下 $\bar\epsilon_{\text{pair}} \approx \bar\epsilon_{\text{item}}$):(i) $\bar\epsilon_{\text{base}}$:$n^2$ 与 $n$ 个 logit 的 softmax 集中度不同,但温度缩放与 top-$k$ 截断(GRPO 标配)中和了这一效应,故 $\bar\epsilon_{\text{base}}$ 实质与 $k$ 无关;(ii) $\bar\epsilon_{\mathrm{enc}}(2)$:$k=2$ 时预训练数据密度 $\rho_2 = N_{\text{logs}}/n^2 \approx 10^{10}/1.6\times10^5 \approx 6\times10^4$,pair encoder 严重超定,逆序对的冷启动比例 $1/2$ 由 OAR 预训练损失(§3.4)处理,故 $\bar\epsilon_{\mathrm{enc}}(2) \approx \bar\epsilon_{\mathrm{enc}}(1)$;(iii) $\bar\epsilon_{\mathrm{cov}}(2)$:GRPO group size 用 $G = 32$(pair)对 $G = 16$(item)来补偿更大的动作空间——关键在于 GRPO 的优势是 $G$ 个样本上的排序统计量而非 $|\mathcal{V}|$ 上的密度估计,覆盖阈值远低于 $G/n^2$。

Table 11(附录 C):item space vs pair space 详细对比

Item Space($H=L$, vocab $=n$) Pair Space($H=L/2$, vocab $=n^2$)
Per-step TV mismatch $\bar\epsilon_{\text{item}}$ $\bar\epsilon_{\text{pair}}\approx\bar\epsilon_{\text{item}}$
Trajectory TV bound $L\cdot\bar\epsilon_{\text{item}}$ $(L/2)\cdot\bar\epsilon_{\text{pair}} \to 2\times\downarrow$
Reward sub-optimality $O(R_{\max}L^2\bar\epsilon_{\text{item}})$ $O(R_{\max}(L/2)^2\bar\epsilon_{\text{pair}}) \to 4\times\downarrow$
复合机制 第 $t$ 步误差污染所有 $t' > t$;drift $\propto t$ 步数更少 → 复合链更短 → drift 更小
二次收益来源 — horizon 减半:$H^2/(H/2)^2 = 4$
抵消项来源 — $\bar\epsilon_{\text{pair}}/\bar\epsilon_{\text{item}}$(词表扩张)
净比值 1 $4\cdot\bar\epsilon_{\text{item}}/\bar\epsilon_{\text{pair}}$

作者在 Remark 1 中相当诚实地说明为什么 $4\times$ 红利是有条件的而非无条件的:无条件断言"pair space 总是带来 $4\times$ 改进"要求对所有 $n$ 都有 $\bar\epsilon_{\text{pair}} \le \bar\epsilon_{\text{item}}$,这是假的。当 $k$ 增长(超过 2)时词表按 $n^k$ 爆炸、pair encoder 见到的预训练数据变稀($\rho_k \downarrow$)、冷启动比例升至 $(k!-1)/k!$。Theorem 4.2 对此是诚实的:$k^2$ 因子是 horizon 缩减的红利,它在实践中能否存活取决于 encoder regime。框架的价值在于把 $\bar\epsilon(k)$ 与 $(L/k)^2$ 之间的 trade-off 显式暴露出来,从而支持有原则的部署决策,而不是用一个无条件但错误的保证把它藏起来。

动作空间可操作性:为什么 $k = 2$

$k$ 个 item 一个 token 时词表 $|\mathcal{P}_k| \approx n^k$ 随 $k$ 指数增长。每个解码步生成器要对全词表算 $\boldsymbol{h}_t^{\top}\boldsymbol{E}_{\text{vocab}}$ 做 masked softmax,每步 $O(n^k d)$ 次内积;同时 PTR 的计算成本可能超过用户历史 encoder,在某些 $(k, n)$ 组合下成为瓶颈(线上 $n = 60$)。

Table 3:每步词表规模与输出投影开销

$k$ $n = 60$ $n = 400$ 判定
1 60 400 Trivial
2 3,540 160k Comfortable
3 216k 64M Borderline / Infeasible
$\ge 4$ $\ge$ 13M $\ge$ 2.6B Infeasible

$k = 2$ 时词表 3,540($n=60$)/ 160,000($n=400$),完全可控;$k = 3$ 时 $n=60$ 已到 216,000、$n=400$ 到 64M,加上 PTR 编码与 beam search 解码的额外开销,已经吃紧工业重排的 sub-30ms 预算;$k \ge 4$ 直接不可行。这一区间内输出投影与 PTR 编码的计算成本会主导,把"缩短解码 horizon"的收益彻底抵消。

奇数 $L$ 的扩展(附录 A)

$L$ 为奇数时,pair-space 生成器产出 $\lfloor L/2 \rfloor$ 个 pair token,最后再跟一个单 item token:$S = \lfloor L/2 \rfloor + 1 = (L+1)/2$。最后一步输出投影从 $n^2$ 级 pair 词表切换到剩余 $n - (L-1)$ 个 item,开销 $O(nd)$——严格小于 pair 步的 $O(n^2 d)$。decoder 的 self-attention 与 cross-attention 机制不变,不需要任何特殊架构改动。

Proposition 2(Odd-$L$ complexity):$T^{(pair)}_{\text{fixed}} = O(H(d^2+dd_{\mathrm{ff}}+bd)(L+1)/2)$,比值 $\frac{2L}{L+1}\times\downarrow$;$T^{(pair)}_{\text{kv}} = O(Hd((L+1)/2)^2)$,比值 $\frac{4L^2}{(L+1)^2}\downarrow$;$T^{(pair)}_{\text{proj}} = O(n^2 d\lfloor L/2\rfloor + nd)$,比值 $\approx \frac{n}{2}\times\uparrow$。

Table 10:偶数 vs 奇数 $L$ 的加速比

$L$ Fixed-cost $2L/(L+1)$ KV-cache $4L^2/(L+1)^2$ 偏离 $4\times$
6(偶) 2.00× 4.00× 0%
9(奇) 1.80× 3.24× 19%
10(偶) 2.00× 4.00× 0%
11(奇) 1.83× 3.36× 16%
20(偶) 2.00× 4.00× 0%
21(奇) 1.91× 3.61× 10%
$L\to\infty$ $\to 2\times$ $\to 4\times$ $\to 0\%$

对典型工业区间 $L \in [6, 12]$,偏离小于 20%,在实验噪声范围内。相应的 Proposition 3(Odd-$L$ error compounding):$\mathrm{SubOpt}_{\text{pair}} \le O\big(R_{\max}\cdot\frac{(L+1)^2}{4}\cdot\bar\epsilon_{\text{pair}}\big)$,净改进比 $\frac{4L^2}{(L+1)^2}\cdot\frac{\bar\epsilon_{\text{item}}}{\bar\epsilon_{\text{pair}}} \le 4\cdot\frac{\bar\epsilon_{\text{item}}}{\bar\epsilon_{\text{pair}}}$;由于 $4L^2/(L+1)^2 < 4$ 对所有有限 $L$ 严格成立,奇数 $L$ 的比值严格低于偶数的 $4\bar\epsilon_{\text{item}}/\bar\epsilon_{\text{pair}}$,并在 $L\to\infty$ 时恢复。作者还指出该界用了保守估计 $\bar\epsilon(t')\le\bar\epsilon_{\text{pair}}$;实践中最后那个 item-space 步的每步误差严格更低($\bar\epsilon_{\text{item}} \lesssim \bar\epsilon_{\text{pair}}$),使界略紧,影响为 $O(1/L)$,对 $L \ge 6$ 可忽略。

实验设置

数据集

Table 4:实验所用数据集统计

Dataset # Requests # Items Candidate Pool Size
ML-1M 161,646 3,043 50
Amazon-Books 309,917 38,121 50
RecFlow 3,308,233 14,181,768 120

两个公开数据集 ML-1M、Amazon-Books,加一个从短视频平台采集的工业数据集 RecFlow。由于 ML-1M 与 Amazon-Books 不提供 request 级候选池,作者先训一个 Matrix Factorization(MF) 作为召回器:MF 计算每个用户与所有 item 的相关性分数,取 top-200 作为召回池;每个训练实例再从 top-200 随机采 50 个作为重排候选。每个用户历史行为序列的最后 6 次交互作为重排的 ground-truth 目标列表,最大历史序列长度 100。RecFlow 直接提供 request 级候选集与相关特征,每请求保留 60 个候选 item,目标重排列表同样长度 6,最大历史长度 50。

Baseline

两大类共 11 个:

  • Generator-Only:pointwise 的 DNN、DCN;上下文感知精修的 DLCM、PRM;序列生成的 Seq2Slate、SetRank。
  • Generator-Evaluator:PIER、NAR4Rec、JDRec、OMGRec、GoalRank。

超参

PSG 采用与 GoalRank 完全相同的 listwise 评估器设计(即 PIER 中的 OCPM 模块)。生成器用 Transformer encoder-decoder,encoder 与 decoder 各 1 层、1 个 attention head。先用监督训练 warm up 20 epoch,再做 GRPO 优化:GRPO group size 16(每个输入采 16 条重排列表计算 group-relative 优势)、裁剪比 $\epsilon = 0.2$、KL 惩罚系数 $\beta = 0.01$、NTP 与 GRPO 损失权重 $\lambda_1 = 1$、$\lambda_2 = 0.1$。推理用 beam size 4 的 beam search。其余 baseline 沿用各自论文设置。

评估指标为 NDCG@6 / Precision@6 / Recall@6 / F1@6(简记 N@6 / P@6 / R@6 / F1@6),即对长度 6 的重排列表衡量排序质量与命中率。

主要实验结果

Table 5:三个数据集上的性能对比(N@6 / P@6 / R@6 / F1@6 分别为 NDCG@6 / Precision@6 / Recall@6 / F1@6)

Category Model ML-1M N@6 P@6 R@6 F1@6 Amazon N@6 P@6 R@6 F1@6 RecFlow N@6 P@6 R@6 F1@6
Generator-Only DNN 0.5950 0.4539 0.5542 0.4876 0.6448 0.5072 0.6125 0.5472 0.1584 0.0793 0.2069 0.1084
DCN 0.5981 0.4561 0.5573 0.4901 0.6683 0.5298 0.6461 0.5701 0.1597 0.0795 0.2083 0.1088
Seq2Slate 0.6222 0.4867 0.5927 0.5225 0.6952 0.5654 0.6871 0.6078 0.1693 0.0821 0.2134 0.1130
DLCM 0.6061 0.4643 0.5667 0.4988 0.6597 0.5242 0.6396 0.5641 0.1747 0.0861 0.2240 0.1169
SetRank 0.7154 0.5720 0.6933 0.6132 0.8014 0.6635 0.8145 0.7156 0.1823 0.0896 0.2344 0.1225
PRM 0.7081 0.5639 0.6843 0.6049 0.7992 0.6603 0.8107 0.7122 0.1840 0.0905 0.2368 0.1238
Generator-Evaluator PIER 0.7146 0.5721 0.6932 0.6134 0.7987 0.6610 0.8120 0.7131 0.1910 0.0935 0.2431 0.1277
NAR4Rec 0.7348 0.5915 0.7168 0.6342 0.8188 0.6786 0.8351 0.7323 0.1792 0.0880 0.2297 0.1203
JDRec 0.7399 0.5972 0.7233 0.6402 0.8255 0.6832 0.8409 0.7528 0.1832 0.0898 0.2345 0.1227
OMGRec 0.7319 0.5886 0.7131 0.6310 0.8040 0.6642 0.8145 0.7160 0.1866 0.0913 0.2385 0.1247
GoalRank 0.7232 0.6135 0.7381 0.6701 0.8247 0.6905 0.8302 0.7539 0.1981 0.0942 0.2456 0.1285
Ours PSG 0.7548 0.6431 0.7733 0.7022 0.8652 0.7725 0.8435 0.8063 0.2147 0.1024 0.2668 0.1396
Improvement +2.01% +4.83% +4.77% +4.79% +4.81% +11.88% +0.31% +6.95% +8.38% +8.70% +8.63% +8.64%

结论分析:PSG 在三个数据集上取得整体最优。ML-1M 上四个指标分别比最强竞争 baseline 提升 2.01% / 4.83% / 4.77% / 4.79%;RecFlow 上四项一致提升 8.38%–8.70%;Amazon-Books 上 N@6 / P@6 / F1@6 最高,R@6 仅微弱提升(+0.31%,因为 JDRec 的 R@6 已达 0.8409)。作者把增益归为三个因素:

  1. G-E 方法整体优于 Generator-Only,说明重排中评估器指导的重要性——这是先验,也在表中被 PIER/NAR4Rec/JDRec/OMGRec/GoalRank 一致高于 DNN/DCN/Seq2Slate/DLCM 所验证;
  2. PSG 受益于更丰富的 pair 级语义:它把连续两个位置联合决策为一个 token,因此第一个位置的选择隐式地以第二个位置为条件,提供了 item-space 生成在结构上缺失的一步前瞻(one-step look-ahead);
  3. 把生成 horizon 从 $L$ 压到 $L/2$ 直接抑制误差复合——这与 Theorem 4.2 的理论预测一致。

推理效率

Figure 3: Inference latency and hardware utilization of PSG (k = 2) vs. item-space (k = 1).

为单独衡量效率优势,作者额外训了一个 $k=1$ 变体(每个 token 一个 item),与 PSG($k=2$)对比 Inference Latency 与 MFU(Model FLOPs Utilization)。所有推理实验在一张 FP32 精度、峰值算力 59.8 TFLOPS 的 GPU 上完成。

  • 左图(固定 50 候选,变生成 item 数):两者延迟都近乎随生成 item 数线性增长;PSG 一致更低,$k=1$ 平均慢约 1.5×;PSG 全程 MFU 更高。
  • 右图(固定生成 6 个 item,变候选池大小):$k=1$ 对候选数相对不敏感,而 PSG 因 pair-token 词表随 $n$ 扩张而呈现延迟的温和上升。但 PSG 仍保持明显延迟优势,$k=1$ 整体仍慢约 1.5×;PSG 在各候选规模下 MFU 一致更高,说明解码期的硬件利用率更好。

Table 6:PTR 在总推理延迟中的开销占比(生成 6 个 item)

Candidate Size $n$ PTR (ms) Inference Latency (ms) Overhead Ratio
20 0.332 9.74 3.4%
50 0.335 9.71 3.4%
80 0.337 10.72 3.1%
100 0.329 11.62 2.8%

即便串行执行(不与 encoder 并发),PTR 也只占总推理延迟约 3%,对整体运行时无可测影响——实证支持了 Proposition 1。注意 PTR 绝对耗时(0.329–0.337 ms)几乎不随 $n$ 变化,佐证了它是一个 compute-bound 的大 GEMM、在这个规模区间远未饱和。

消融实验

Table 7:PSG 在 ML-1M 与 Amazon-Books 上的消融

Variant ML-1M N@6 P@6 R@6 F1@6 Amazon N@6 P@6 R@6 F1@6
PSG 0.7548 0.6431 0.7733 0.7022 0.8652 0.7725 0.8345 0.8023
w/o Pair Pretrain 0.7463 0.6329 0.7616 0.6913 0.8527 0.7586 0.8194 0.7878
w/o NTP 0.6452 0.5243 0.6363 0.5749 0.7595 0.6428 0.7022 0.6712
w/o GRPO 0.7232 0.6135 0.7381 0.6701 0.8175 0.6816 0.8132 0.7416

三个训练阶段(pair-token 预训练、NTP、RL 探索)逐一移除,结论:

  • 去掉 NTP 造成最大退化(ML-1M N@6 0.7548 → 0.6452,−14.5%)。说明 token 级自回归监督是学到稳定序列生成的基础——只靠 pair 预训练 + GRPO,策略缺乏对"下一个 pair 是什么"的密集监督,探索无从起步。
  • 去掉 pair 预训练退化最小但一致(ML-1M −1.1%,Amazon −1.4%)。pair 预训练通过捕捉局部 item 共现模式作为 item 级关系先验,为后续自回归生成提供更好的初始化——这与附录 C Step 5(ii) 关于 $n^2$ 词表冷启动的论证呼应。
  • 去掉 GRPO 退化居中(ML-1M N@6 −4.2%、F1@6 −4.6%;Amazon P@6 −11.8%)。说明监督训练之后的策略精修是必要的:借由 group-relative 反馈,GRPO 进一步提升生成序列模仿的质量。

线上 A/B

PSG 部署在快手主 App 单列推荐 feed 的重排阶段——4 亿+ DAU、人均日均使用时长超 2 小时,是一个大规模且延迟敏感的生产环境。线上 baseline 为 GoalRank:输入 60 个候选 item 与长度 100 的用户行为序列,生成 50 条长度 $L = 6$ 的候选序列。PSG 与 GoalRank 共享所有环境配置(包括在线评估器——评估器设计不是本文重点,细节省略)。用两个互不相交的 10% 流量桶做 7 天线上测试。平台延迟预算:G-E 范式共 50 ms,其中生成器 30 ms产出候选序列、评估器 20 ms挑最优。主指标为人均 Stay Time(ST);另报告延迟与在线 QPS,均在同一台 120 CPU 线程 + 500 GB 内存的 Cloud Container 上测得。

Table 8:线上 GoalRank(baseline)vs PSG

Metric GoalRank PSG Improvement
ST (relative lift) — 0.178% —
QPS per cloud container 734 1320 +79.8%
Generator Latency (ms) 38.42 20.99 1.83× speedup

结论分析:0.178% 的停留时长相对提升在快手这种 web-scale 平台上尤为显著——0.1% 通常就是新模型全量推全的门槛。另一方面,PSG 在同样的容器配置下能多承接近 80% 的流量,意味着算力预算的实质节省与支撑全量在线服务的显著经济收益。

作者也交代了在线环境的复杂性:延迟预算并非只被模型执行消耗,请求解析、workflow 准备、日志、响应构造等开销占相当一部分;一旦总耗时超出生成器预算(30 ms),系统就会终止请求流程(注意 GoalRank 的 38.42 ms 已经超出这个预算)。为避免测试期损伤用户体验,延迟评测在 dry-run 流量上进行——它复制真实线上请求但不影响实际曝光。在相同 QPS(如 1320 QPS)压力下、单容器上,PSG 取得相对 GoalRank 的 $1.83\times$ 加速,且成功处理全部到来的请求。

$k = 2$ 是合理选择

作者在同样 beam size(4)下进一步考察 $k = 3$ 变体的推理延迟。

Table 9:不同 $k$ 与候选规模 $n$ 下生成 6 个 item 的平均推理延迟(ms);$k = 3$ 在 48GB GPU、$n = 100$ 时 OOM

$k$ $n=20$ 30 40 50 60 70 80 90 100
1 25.3 24.9 24.8 24.9 25.0 25.0 25.1 25.0 25.0
2 15.7 15.5 15.5 15.9 15.9 16.3 17.1 17.8 18.7
3 14.0 20.7 34.6 62.7 106.5 164.8 241.3 340.7 OOM

结论分析:候选集较小($n = 20$)时 $k = 3$ 因解码序列更短而延迟进一步下降(14.0 ms < 15.7 ms)——这证明 horizon 缩减的收益是真实的。但随候选池增大,处理词表的计算成本按 $n^3$ 迅速膨胀,每步词表开销最终压倒更少解码步带来的延迟下降($n=60$ 时 106.5 ms,已是 $k=2$ 的 6.7 倍)。$k = 2$ 因此在解码效率与计算可行性之间取得最佳平衡。这对线上环境($n = 60$、Cloud Container 上的 CPU 推理)尤为关键——$k = 3$ 会把生成器推出 30 ms 预算之外。

与已归档相关工作的对比

NSGR NSGR: Next-Scale Generative Reranking — A Tree-based Generative Rerank Method(Meituan,2026-04-07)

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

  • 共同关注的问题:两篇论文对重排的诊断几乎逐字重合——G-E 框架下 item 级逐位自回归生成有两个结构性缺陷:(i) 逐位解码只看已生成前缀、缺乏对后续位置的前瞻,易陷局部最优且误差沿步数累积;(ii) 解码步数等于列表长度导致工业延迟预算下能探索的列表数受限。两者都明确判定"item 级动作粒度是自回归抽象的产物,不是问题本身的性质",都在 G-E 范式内动手(都保留独立评估器),都在千万级 DAU 平台上完成 A/B。
  • 相近的技术骨架:改变一个解码步"发射什么",从而把生成 horizon 从 $L$ 压缩到亚线性。PSG:一步发射一个有序 item 对,horizon $L \to L/2$;NSGR:一步对当前区间做一次二分(哪些 item 去上半区、哪些去下半区),horizon $L \to \log_2 L$。两者都要付"每步决策空间变大"的代价(PSG 是 $n^2$ 词表,NSGR 是区间内全体候选的 top-$k$ 打分),并都必须解决"新粒度下的表示从哪来"(PSG 用现场组合的 pair encoder,NSGR 用 NSG Unit 内的 self-attention + target-attention)。
  • 本文的差异与推进:PSG 走的是"保守但可证"的路线——Corollary 1 证明 pair-space 与 item-space 的分布族严格等价(双射 + 望远镜相消),因此加速是纯赚;Theorem 4.2 进一步把 horizon 缩减的收益量化为次优性上界的二次改进。NSGR 的 $\log_2 L$ 压缩幅度远超 PSG 的 $2\times$,但它放弃了严格自回归的表达力(二分决策不能表达任意排列分布的全部条件依赖),也没有给出等价性或误差界,改用 Multi-Scale Neighbor Loss 从工程上绕过评估器在未曝光区域不可靠的问题。换句话说:PSG 用小压缩换来完整的理论保证与"可与任何加速技术叠加"的正交性,NSGR 用大压缩换来更强的经验收益。
  • 可比的方法/实验差异:NSGR 线上 +2.89% CTR / +3.15% GMV(美团外卖,$24\to20$ 选),PSG 线上 +0.178% ST(快手单列,$60\to6$ 选)——量级差异主要来自场景(电商转化 vs 短视频停留时长)与指标不可直接比较。更值得注意的是 PSG 对评估器目标错位问题基本不设防:它直接把评估器 reward 灌进 GRPO,而 NSGR 与 DeGRe 都专门论证过"评估器在未曝光排列上的 utility 预估不可靠"。PSG 唯一的对冲是"$L/2$ 步轨迹更短所以 credit assignment 更容易",这是隐式的。

DeGRe DeGRe: Dense-supervised Generative Reranking for Recommendation(浙江大学 / 淘宝闪购,2026-05-25)

关系:独立并发(本文未引用 DeGRe)· 已加载对方精读

  • 共同关注的问题:两者最深的接触点是同一个次优性上界的两个因子。PSG 的 Theorem 4.2 把 outcome-only reward 下的次优性写成 $O(R_{\max}\cdot H^2\cdot\bar\epsilon)$,并明确指出二次项的成因是"评估器只在轨迹末端给一个标量、而生成器要做 $H$ 个决策"。DeGRe 的问题陈述——信用分配(credit assignment):list 级事后稀疏 reward 无法归因到每一步局部决策——描述的正是同一个 $\bar\epsilon$ 项为何居高不下。两篇都在 G-E 生成式重排、都有工业 A/B。
  • 相近的技术骨架:都通过改造生成过程的"步"结构来压制误差复合,只是压的因子不同:PSG 压 $H$(horizon $L\to L/2$,收益按 $H^2$ 平方放大到 $4\times$);DeGRe 压 $\bar\epsilon$(用累积回归的 Lookahead Evaluator 给出 step-wise 价值估计,把稀疏 outcome reward 换成稠密 step 监督,再蒸馏进轻量在线生成器)。两者都因此换来在线延迟下降(PSG:解码步减半、$1.83\times$;DeGRe:评估器不上线、单次贪心解码)。
  • 本文的差异与推进:PSG 的手术在动作空间的重参数化上,训练目标仍是 outcome-only reward + GRPO,不动监督密度;DeGRe 的手术在监督信号的密度上,生成粒度仍是 item 级。两者严格互补——理论上可以叠加(在 pair-space 上跑 DeGRe 的 dense supervision,$H$ 与 $\bar\epsilon$ 同时下降)。方法论上 PSG 更"轻":不引入离线-在线解耦,不需要额外的 lookahead 评估器与蒸馏管线,只改 tokenization 与词表;代价是它对"评估器 reward 本身是否可信"没有任何处理,而这恰是 DeGRe 论证的核心痛点(启发式标签偏差)。
  • 可比的方法/实验差异:两者在 ML-1M 上都报了数但指标体系不同(DeGRe 用 HR@1%/3%/10%,PSG 用 NDCG@6/P@6/R@6/F1@6),无法直接比对;有趣的是两者都以 GoalRank 作为最强 baseline 之一(DeGRe:GoalRank HR@1% 0.5920 vs DeGRe-G 0.8910;PSG:GoalRank N@6 0.7232 vs PSG 0.7548),从两个不同角度证明了"item-space + 稀疏 reward + RL"这条线的天花板。

PAD-Rec PAD-Rec: Position-Aware Drafting for Inference Acceleration in LLM-Based Generative List-Wise Recommendation(中国科学技术大学,2026-04-30)

关系:独立并发(本文未引用 PAD-Rec,但在 §2.2 把投机解码整体归为"互补方向")· 已加载对方精读

  • 共同关注的问题:完全同一个 root cause——list-wise 生成式推荐的解码步数正比于列表长度,把延迟推出实时预算之外。PAD-Rec 的算式是 $m(K+K') \approx 59$ 步、1B 模型上约 700 ms;PSG 的算式是 $L$ 步、30 ms 生成器预算。两者都指出"越深的解码步越不可靠(误差累积/被拒绝)",都把解码 horizon 本身当作要攻击的对象,而非只做 kernel 级优化。
  • 相近的技术骨架:都在"不改变最终输出语义的前提下减少串行前向次数"这条轴上。PAD-Rec:保留 item-space horizon,用轻量 draft 模型一次猜 $B$ 步、target 模型一次 batched forward 校验,接受最长合法前缀——用并行验证换串行步数;PSG:直接把 horizon 砍半,用并行的 $n^2$ output projection 换串行的 KV-cache 读取。两者的共同经济学是一样的:把 memory-bandwidth-bound 的串行解码换成 compute-bound 的并行大 GEMM。PAD-Rec 的核心 insight(token 的语义强依赖其 within-item slot,draft 应显式编码 slot identity)与 PSG 的核心 insight(相邻位置应被联合决策)也指向同一个结构事实:列表 token 流内部有分组结构,而朴素 AR 抽象把它抹平了。
  • 本文的差异与推进:PSG 是分布层面的重参数化(Corollary 1 保证分布族等价),PAD-Rec 是采样层面的加速(投机解码的拒绝采样保证输出分布与 target 严格一致)——两者的"无损"是不同意义的无损,且可以叠加:PSG 自己在 §2.2 明确说它"可与所有现有加速技术无缝集成"。差异在于收益上限与代价:PAD-Rec 报到 3.1× wall-clock(学术数据集、GPU),PSG 报到 1.83×(工业、CPU 容器),但 PSG 额外拿到了误差复合的 $4\times$ 理论改进——投机解码不改善误差累积,它只是更快地犯同样的错。反过来,PAD-Rec 的加速比不受候选池规模 $n$ 制约,而 PSG 的优势会随 $n$ 增大而衰减(Table 9:$n$ 从 20 到 100,$k=2$ 延迟由 15.7 升到 18.7 ms)。
  • 可比的方法/实验差异:PAD-Rec 工作在 LLM + SID 的场景(每 item 4 个 codebook token),PSG 工作在轻量 Transformer(1 层 encoder + 1 层 decoder)+ 直接 item 词表的场景,模型规模差 3 个数量级,因此绝对延迟数不可比。

核心贡献总结

  1. 把重排生成的"原子"从 item 提升到有序 item 对,并证明这是一次严格的结构重构而非近似(Corollary 1:pair-space 与 item-space 可实现的列表分布集合完全相同,靠双射 + 条件概率的望远镜相消)。这是全文最干净的一点:加速不以表达力为代价。
  2. 给出 horizon 缩减在 outcome-only reward 下的二次收益(Theorem 4.2 + 附录 C):次优性上界 $O(R_{\max}H^2\bar\epsilon)$ 的二次性来自 Performance Difference Lemma 中"期望取在被扰动的策略状态分布上",因此 $H$ 减半等于收益平方,得 $4\times$;且诚实地用 Remark 1 说明该红利有条件($\bar\epsilon_{\text{pair}}\approx\bar\epsilon_{\text{item}}$ 只在 $k=2$ 的 encoder-saturated regime 成立)。
  3. 把 $n^2$ 词表的两个致命问题工程化解决:数据稀疏靠"现场组合而非静态查表"的 PTR(式 5,含有序 role embedding)+ 三值软标签的 order-aware 预训练(式 9);延迟靠"PTR 与 user encoder 并发、被延迟窗口吸收"(Proposition 1,实测占比约 3%)。动态词表还带来一个副产品:同一生成器无需重训即可服务任意候选集。
  4. 把"用并行 FLOPs 换串行带宽"这笔账算清楚(Table 1):$T_{\text{fixed}}$ 降 $2\times$、$T_{\text{kv}}$ 降 $4\times$、$T_{\text{proj}}$ 升 $n/2\times$,而前两者是 memory-bandwidth-bound 的串行瓶颈、后者是 compute-bound 的并行 GEMM——这是 PSG 在真实硬件上快起来的真正原因,也解释了为什么 MFU 会同时上升。
  5. 完整的工业落地证据:4 亿 DAU 快手单列 feed,+0.178% ST(超过 0.1% 推全门槛)、单容器 QPS 734→1320(+79.8%)、生成器延迟 38.42→20.99 ms($1.83\times$),并交代了 dry-run 压测、30 ms 生成器预算、超时终止请求等真实工程约束。
  6. 把 $k$ 的选择做成一个可操作的判据而不是拍脑袋(Table 3 + Table 9):$k=3$ 在小候选池确实更快($n=20$ 时 14.0 ms),但延迟随 $n^3$ 爆炸,$n=60$ 已到 106.5 ms;$k=2$ 是工业甜点。

讨论与局限性

值得借鉴的设计:

  • "生成粒度是抽象的产物,不是问题的性质"这个提法本身极具迁移性。任何 evaluator-guided 的序列决策系统(重排、创意组合、多广告位分配)都可以问一遍:我当前的动作粒度是任务要求的,还是我沿用 AR 抽象顺手继承的?
  • "用组合式表示替代静态大词表" 是绕开组合爆炸型词表数据稀疏的通用招法。式 5 的两个 role embedding 是极简但充分的有序性注入手段,比"给 $n^2$ 个条目各配一个 embedding"在参数量、冷启动、动态候选集三方面全面占优。
  • 把复杂度按"串行 vs 并行、bandwidth-bound vs compute-bound"分项(Table 1)而不是只报总 FLOPs——这才解释了为什么理论 $2$–$4\times$ 落地成 $1.83\times$ 而非退化。同类工作报加速比时都该学这一手。
  • Remark 1 的自我设限很少见:明确写出"无条件的 $4\times$ 断言是假的",并把框架的价值定位为"暴露 $\bar\epsilon(k)$ vs $(L/k)^2$ 的 trade-off"。这比把条件藏进脚注要可信得多。

局限与争议:

  • 收益是常数因子,不是 scaling 路径。PSG 的全部理论红利被 $k$ 锁死在 $2\times$(延迟)/ $4\times$(误差)以内,而 §5.3 已经证明 $k=3$ 在工业候选规模下不可行、$k\ge4$ 完全不可行。这意味着这条路线没有继续走下去的空间——它是一次性的、可以吃掉的优化,而不是一条能随算力增长持续兑现的路线。与之对比,NSGR 的 $\log_2 L$ 压缩在 horizon 维度上是渐进更优的。
  • 优势随候选池规模衰减。$T_{\text{proj}}$ 的 $n/2\times$ 上涨最终会吃掉 horizon 缩减的收益:Table 9 中 $k=2$ 的延迟从 $n=20$ 的 15.7 ms 升到 $n=100$ 的 18.7 ms,而 $k=1$ 全程平稳在 25 ms 左右。换言之,PSG 的加速比在 $n$ 更大的场景(如 $n \ge 400$ 的重排,论文自己在 Theorem 4.2 的部署 regime 里假设了 $n \le 400$)会明显缩水,论文没有报告这一区间的实测。
  • 对评估器可信度零处理。PSG 把评估器 reward 直接灌进 GRPO,而同期的 NSGR 与 DeGRe 都专门论证过"评估器在未曝光排列上的 utility 预估不可靠"是生成式重排的头号问题。PSG 唯一的对冲是隐式的(轨迹更短 → credit assignment 更易),线上又与 GoalRank 共享同一评估器、细节"省略",因此无法排除线上收益的一部分其实来自延迟下降后能生成更多候选列表(探索预算变大),而非 pair 语义本身。论文在 §5.1.3 把增益归因为三条,但没有做"固定候选列表数"的控制实验来把这两个通道分开。
  • 理论与实验的 regime 不一致。附录 C Step 5 论证 $\bar\epsilon_{\text{pair}}\approx\bar\epsilon_{\text{item}}$ 时用的是 $G = 32$(pair)vs $G = 16$(item),而 §5.1.2 明确写离线实验的 GRPO group size 就是 16——即离线实验实际上没有用理论所要求的补偿性 group size。此外 Step 5(iii) 声称"Empirically (§5.1.5),$G=32$ 的梯度方差与 $G=16$ 匹配",但 §5.1.5 是三阶段消融,根本没有报告任何梯度方差。这条支撑 $4\times$ 红利的关键经验证据实际上缺席。
  • 多处内部数值不自洽,削弱实验可信度:(i) Amazon-Books 上 PSG 的 R@6 / F1@6 在 Table 5 是 0.8435 / 0.8063,在 Table 7 却是 0.8345 / 0.8023(Table 5 与其 Improvement 行自洽,故 Table 7 疑为笔误);(ii) Table 7 的 "w/o GRPO" 在 ML-1M 上四个指标 0.7232 / 0.6135 / 0.7381 / 0.6701 与 Table 5 的 GoalRank 行逐位完全相同——四个四位小数同时巧合的概率极低,更像是排版时误抄了 baseline 行;(iii) Table 4 记 RecFlow 候选池 120,而 §5.1.1 正文说"每请求保留 60 个候选";(iv) Table 3 的 $k\ge4$、$n=400$ 一格写 $\ge$2.6B,而 $400^4 = 2.56\times10^{10}$(25.6B),疑差一个数量级;(v) 附录 B 的 encoder 分项把 value aggregation 记为 $O(d^2b)$,但同段给出的每层合计 $O(4d^2b + 2db^2 + 2dd_{\mathrm{ff}}b)$ 要求它是 $O(db^2)$;(vi) 页脚仍是模板占位的 "Received 20 February 2024; revised 12 March 2024; accepted 5 June 2024"。单项都是小瑕疵,但集中出现说明稿件在投出前缺乏一遍完整核对。
  • 式 9 的预训练目标设计可疑。它用 pair embedding 各维的算术均值过 sigmoid 去拟合 pair-level 标签——这等价于强行把一个 $d$ 维表示的"全局均值"当作打分头,会把语义容量挤压到均值这一个自由度上(等价于一个权重全为 $1/d$ 的固定线性头)。用一个可学的小 MLP 头显然更自然,论文没有解释为何选择这一形式,也没有做该目标的形式消融。另外归一化系数 $\frac{2}{n(n-1)}$ 用的是候选数 $n$,而求和 $\sum_{i<j}$ 是在长度 $L$ 的曝光列表上(共 $L(L-1)/2$ 项),系数与求和范围不匹配。
  • 生成器容量极小。离线实验的生成器是 1 层 encoder + 1 层 decoder + 1 个 attention head,这个规模下"horizon 减半"的收益容易被放大(模型本身弱,误差累积更严重),而"词表扩到 $n^2$ 带来的每步 mismatch 上升"容易被低估($\bar\epsilon_{\text{enc}}$ 在小模型上不是主导项)。论文没有做生成器规模的 scaling 实验,因此 Theorem 4.2 所依赖的 encoder-saturated 假设在更大生成器上是否仍成立是开放的。
  • pair 的切分是固定的位置对 $(2t-1, 2t)$,即 pair 边界与列表位置强绑定。这引入了一个论文未讨论的归纳偏置:位置 (2,3) 这样的跨 pair 相邻关系永远不被联合决策。Corollary 1 保证分布族等价,但那是表达力的等价,不等于优化难度等价——固定切分可能让某些排列在参数空间中更难达到。论文既没讨论也没实验(如随机切分或可学切分的对照)。

与已有工作的差异:PSG 与 GoalRank 是同一个 G-E + RL 骨架下的 item-space vs pair-space 之别,这是最干净的对照,也是线上 A/B 的形式。相比投机解码类工作(RPG、HiCoGen、GReF、OneRanker、PAD-Rec),PSG 声称正交且可叠加——这个论断是可信的但未被实验验证,论文没有报告"PSG + 投机解码"的组合结果。相比 NAR 类工作(NAR4Rec、NLGR、JDRec、OMGRec),PSG 保留了自回归的行为依赖建模能力,从 Table 5 上看确实全面胜出。

结论:这是一篇问题定位清晰、理论包装扎实、工业证据完整的工程论文。核心 insight(生成粒度是抽象的产物)有迁移价值,PTR 的"组合式动态词表"是漂亮的工程解法,Table 1 的分项复杂度分析和 Remark 1 的自我设限都体现了良好的品味。但它的收益本质上是一次性的常数因子、被 $k=2$ 锁死,线上增益(+0.178% ST)虽过推全门槛却不算大,而多处表格数值不自洽与"关键经验证据(梯度方差)实际缺席"这两点,显著削弱了实验部分的可信度。