DIRECTOR:用最优传输给「位置并行重排」补上全局协调¶
DIRECTOR: Dynamic Index-based Recommendation with Transport-Optimized Retrieval 作者:Yuanhao Pu*(中国科学技术大学)、Chenghao Zhang*(快手)、Chao Feng*✉(快手)、Xiang Li(快手)、Defu Lian(中国科学技术大学) * 共同一作 · ✉ 通讯作者 arXiv:2607.26418v1(2026-07-29,cs.IR,13 页 ACM 单栏双列模板) 部署:快手主 App 单列信息流重排阶段,双 10% 流量桶 7 天 A/B
一句话:DIRECTOR 把生成式重排的「逐位自回归解码」整体换成「一次并行生成 $n$ 个连续检索索引 + 全局硬匹配」,用带容量约束的熵正则最优传输(OT)在训练时把各位置对候选容量的竞争显式耦合起来,再用「前缀锚定」的混合列表路径把黑盒 Evaluator 的单个标量奖励精确拆解成逐位置信用,从而在保住并行效率的同时拿回 AR 才有的跨位置协调能力。
⚠️ 命名提示:论文标题里的 "Recommendation / Retrieval" 容易误导——DIRECTOR 是 Dynamic Index-based RECommendation with Transport-Optimized Retrieval 的首字母缩写,实际任务是重排(reranking),不是召回。文中的 "retrieval" 指「用位置索引向量去候选池里检索」这个内部动作。
一、研究动机与背景¶
1.1 重排是一个组合决策问题¶
重排位于现代大规模推荐系统的末端:上游召回 + 排序模块产出一个请求特定的候选集,重排要把它精炼成一个有序列表(slate)。与独立的 point-wise 打分不同,一个重排列表的质量通常不能由各 item 效用之和完全刻画——它还取决于位置效应(position effects)、已选 item 之间的竞争与互补性,以及整个列表的整体连贯性。因此重排本质上是一个结构化组合决策问题:给定大小为 $M$ 的候选集,从中选出 $n$ 个不同 item 并定序,搜索空间为 $\mathrm{P}(M,n) = M!/(M-n)!$。即便在 $M=50$、$n=10$ 这样的中等设定下,这个空间也已经包含约 $3.73 \times 10^{16}$ 个合法列表。
主流做法是 Generator-Evaluator(G-E)两阶段范式:Generator 探索组合空间、提出多个候选列表,Evaluator 是一个 list-wise 模型,估计各列表的整体效用并选出最终输出。
1.2 AR 路线的两个结构性代价¶
一大类学习型 Generator 是自回归(AR)的:逐个 item 构造列表,每一步都条件于已生成的前缀。这种因子化为「建模跨位置依赖」提供了天然机制,但也带来两个代价:
- 前缀剪枝(prefix pruning)会误杀全局更优排列。在 bounded-width 的 beam-search 式解码下,一个落在保留 beam 之外的前缀会按当前 Generator 分数被不可撤回地剪掉——即便把后续 item 的交互考虑进来之后,它仍然可以被延展成一个全局更优的列表。
- 推理天然串行。每个解码步都必须等待前一步的选择落定,因此在工业系统的严格 serving 预算下,完整排列空间里只有一小部分子集能被有效探索,而这个子集在很大程度上由早期前缀决策所决定。
1.3 NAR 路线解决了延迟,却丢掉了协调¶
非自回归(NAR)重排提供了另一条路:用「位置并行预测」或「联合列表构造」替代从左到右的逐 item 依赖。基于扩散的生成器进一步放松了固定的自回归顺序,但通常需要多轮迭代去噪。
然而论文强调:单靠并行预测并不能保证列表全局协调。当各位置的分布被独立解码时,不同位置会竞争同一批高概率 item,产出重复或彼此冲突的分配。已有方法引入依赖的手段包括「已选 item masking」或「对比解码」,但这些机制在并行前向之后又重新引入了串行的选择过程。更近期的 one-shot matching 方法直接构造一个「位置-候选」分配矩阵,并引入请求级或排列级建模(OMGRec)。
于是在 G-E 设定下仍剩两个挑战:(a) 如何生成足够有探索性、且能适应动态变化候选集的请求条件化位置意图;(b) 当下游 Evaluator 只对完整列表暴露一个标量效用时,如何优化这个被耦合起来的 Generator。
论文把中心问题凝练为一句话:
Can we retain position-parallel generation while globally coordinating position assignments and learning from opaque list-wise feedback? (能否在保留位置并行生成的同时,全局地协调位置分配,并从不透明的 list-wise 反馈中学习?)
1.4 DIRECTOR 的答案¶
DIRECTOR 的做法不是在每个位置直接预测一个离散 item,而是联合生成一个「请求条件化的动态检索索引」矩阵。每个索引是一个连续的、位置感知的候选查询(candidate query),同时条件于用户上下文与当前候选集——而不是仅依赖静态位置 embedding,也不是直接表示某个离散 item 标识符。候选 item 被映射到同一个隐空间,于是每个位置索引都能对请求特定的候选池表达一种灵活的检索偏好。通过从条件生成分布中采样多个隐索引矩阵,DIRECTOR 无需 AR rollout 就能产出多个结构化列表提案。
这些位置索引仍然必须被全局协调——一个合法列表不能把同一个 item 分给多个位置。因此训练时引入熵正则、带容量约束的最优传输(OT)目标,把各位置的隐偏好耦合起来,并把它们对候选容量的竞争显式暴露出来。共享的传输可行集耦合了所有「位置-item」分配:要求每个目标位置都被填满,同时限制每个候选的分配容量。推理时则绕过软传输求解器,直接在「位置-候选」相似度矩阵上计算全局离散分配,产出合法的去重列表。与「独立按行检索 + 事后冲突消解」不同,全局硬分配联合考虑所有位置-候选分数,且不引入 AR 解码链。
而针对不透明 Evaluator,DIRECTOR 构造一条保持合法性的、前缀锚定的路径,连接生成列表与 baseline 列表,把每个位置的优势定义为该路径上两个相邻混合列表之间的奖励差。这些局部优势构成全局奖励改进的一个精确 telescoping 分解。
1.5 主要贡献(原文自述)¶
- 提出 DIRECTOR:一个位置并行的重排框架,生成请求条件化的动态检索索引,用容量约束最优传输做 conflict-aware 训练,用直接全局匹配做无 AR rollout 的去重解码,并引入前缀锚定信用分配,从不透明 list-wise 奖励中导出位置特定的学习信号。
- 理论上刻画了传输代理的分配几何与容量诱导耦合,给出熵正则引入的近似误差界,并分析了有限提案覆盖率与在线推理复杂度。
- 大量离线与在线实验表明 DIRECTOR 在大规模推荐场景下相比强 AR 与 NAR 重排基线同时取得更优效果与更实用的推理效率。
二、相关工作¶
2.1 从上下文感知打分到 Generator-Evaluator 重排¶
早期排序模型独立打分再排序,忽略位置与周边 item 的影响。上下文感知重排显式建模 intra-list 交互:DLCM 用循环结构沿初始排序列表传播上下文信息;PRM 用 self-attention 捕捉候选间的相互影响;SetRank 用排列不变的集合建模做联合文档排序。后续方法进一步引入个性化历史与多层次交互(PEAR、MIR)。
在打分式精炼之外,生成式重排器直接从候选排列空间构造列表:PRS 从排列视角重构推荐,Seq2Slate 自回归地生成有序列表。更近期的工业方案在多目标设定下优化生成列表,或联合引入因果与效用信号(Dual-Rerank)。这些 Generator-only 方法通过上下文打分或结构化生成改进列表构造,但不显式地用一个独立的 list-wise Evaluator 去生成并评估多个列表提案。
G-E 范式中,Generator 探索排列空间、Evaluator 估计提案效用:Generator-and-Critic、GRN 用学习到的 Critic/Evaluator 优化序列列表生成器;JDRec 发展出一套强调实际部署与策略 bootstrapping 的 actor-critic 框架;PIER 联合改进排列生成与 list-wise 评估;多生成器方法则通过组合互补生成策略来扩大提案空间。
论文指出:G-E 分解把列表探索与效用估计解耦,但其有效性仍受 Generator 限制;并且当 Evaluator 不透明、只对完整列表返回一个标量效用时,为单个生成决策获取细粒度监督依然困难。DIRECTOR 聚焦 Generator 侧问题,把 Evaluator 当作一个 list-wise reward model。
2.2 自回归与非自回归列表生成¶
AR 一侧:Seq2Slate 用 pointer network 逐 item 生成;GFN4Rec 把列表构造建模为序列轨迹并学习采样多样的高奖励列表。前缀条件化为「建模已选 item 间的依赖」提供了自然机制,也允许把已选候选 mask 掉;但它引入了 item-by-item 的依赖链,且 bounded-width beam 解码只能探索被保留前缀的延展。
NAR 一侧:List-CVAE 用隐变量生成对完整列表建模条件分布;NAR4Rec 并行预测所有目标位置,并引入 matching、序列级 unlikelihood 训练与对比解码来提升 intra-slate 一致性——但其最终解码过程仍依赖已选 item;DCDR 通过迭代离散扩散生成排列,移除了固定自回归顺序,代价是多步去噪;与本文最接近的 OMGRec 直接构造一个请求条件化的「位置-候选」分配矩阵并做一次性匹配,同时带排列级建模。
DIRECTOR 的定位:先采样连续动态检索索引,而不是直接预测候选分配——这使得多个列表提案可以通过隐空间采样获得;然后在训练时用容量约束软传输耦合位置分配,在推理时直接做全局硬匹配保证解码合法;并进一步通过前缀锚定的 pathwise 信用分配从不透明的完整列表奖励中优化这个被耦合的 Generator。
三、问题形式化与 G-E 范式回顾¶
3.1 问题定义¶
令 $\mathcal{V}$ 为全体 item 语料。给定一个请求,$\boldsymbol{x}$ 表示完整请求上下文(含历史交互序列 $\boldsymbol{x}^{\mathrm{hist}} = (x_1,\dots,x_T)$,$x_t \in \mathcal{V}$,以及额外的用户侧与请求侧特征)。上游召回/排序阶段提供请求特定候选集 $C = \{c_1,\dots,c_M\} \subseteq \mathcal{V}$,$M = |C|$。
给定目标列表长度 $n$($1 \le n \le M$),重排任务从 $C$ 中选出 $n$ 个不同 item 构成列表 $\boldsymbol{y} = (y_1,\dots,y_n)$。记 $[n] = \{1,\dots,n\}$,可行列表空间为
$$\mathcal{S}(C,n) = \bigl\{\boldsymbol{y} \in C^n \;\big|\; y_i \ne y_j,\ \forall i,j \in [n],\ i \ne j \bigr\} \tag{1}$$
其基数 $|\mathcal{S}(C,n)| = \mathrm{P}(M,n) = \frac{M!}{(M-n)!}$。令 $U(\boldsymbol{y}\mid\boldsymbol{x},C) \in \mathbb{R}$ 为底层 list-wise 效用,理想重排决策满足
$$\boldsymbol{y}^\star \in \arg\max_{\boldsymbol{y} \in \mathcal{S}(C,n)} U(\boldsymbol{y}\mid\boldsymbol{x},C) \tag{2}$$
精确优化需要搜索 $\mathrm{P}(M,n)$ 个可行列表,计算上不可行。
3.2 Generator-Evaluator 范式¶
G-E 通过把决策限制在有限提案集合上、并用 Evaluator 作为底层效用的代理来近似式 (2),从而把「候选列表探索」与「效用估计」分离。
Generator 诱导一个定义在 $\mathcal{S}(C,n)$ 上的随机策略 $\pi_\theta(\boldsymbol{y}\mid\boldsymbol{x},C)$,产出 $K$ 个提案列表 $\mathcal{Y}_{1:K} = (\boldsymbol{y}^{(1)},\dots,\boldsymbol{y}^{(K)})$,可以是随机采样 $\boldsymbol{y}^{(k)} \sim \pi_\theta(\cdot\mid\boldsymbol{x},C)$,也可以通过 beam search 之类的近似搜索获得。
常规 AR Generator 按生成顺序因子化联合策略:
$$\pi_\theta^{\mathrm{AR}}(\boldsymbol{y}\mid\boldsymbol{x},C) = \prod_{t=1}^{n} \pi_{\theta,t}\bigl(y_t \mid \boldsymbol{y}_{\lt t}, \boldsymbol{x}, C\bigr) \tag{3}$$
其中 $\boldsymbol{y}_{\lt t} = (y_1,\dots,y_{t-1})$ 为已生成前缀。对一个合法列表策略,每个条件分布支撑在剩余候选 $C \setminus \{y_1,\dots,y_{t-1}\}$ 上。条件于 $\boldsymbol{y}_{\lt t}$ 天然地建模了已选 item 之间的依赖,也允许 mask 掉已选候选;但推理时这一因子化强加了串行解码链——位置 $t$ 的决策必须等前序位置全部实例化之后才能做。
朴素 NAR 则同时预测所有位置:
$$\bar{\pi}_\theta^{\mathrm{NAR}}(\boldsymbol{y}\mid\boldsymbol{x},C) = \prod_{t=1}^{n} p_{\theta,t}\bigl(y_t \mid \boldsymbol{x}, C\bigr), \qquad \boldsymbol{y} \in C^n \tag{4}$$
式 (4) 允许位置并行预测,但其乘积分布定义在 $C^n$ 而非 $\mathcal{S}(C,n)$ 上。因此不同位置可能把同一个候选分配多次;即便事后消解重复,这些被因子化的决策也没有联合考虑对候选容量的竞争。这一错配正是「生成位置意图 + 全局协调离散分配」这条结构化并行策略的动机。
Evaluator $R_\phi(\boldsymbol{y}\mid\boldsymbol{x},C) \in \mathbb{R}$ 是底层效用 $U$ 的 list-wise 代理,可以是学习到的神经模型、复合业务目标,也可以是一个内部参数与梯度对 Generator 完全不可用的不透明工业服务。给定提案集合 $\mathcal{Y}_{1:K}$,被选中的输出是
$$\hat{k} \in \arg\max_{k \in [K]} R_\phi\bigl(\boldsymbol{y}^{(k)}\mid\boldsymbol{x},C\bigr), \qquad \hat{\boldsymbol{y}} = \boldsymbol{y}^{(\hat{k})} \tag{5}$$
最终质量既取决于 Generator 能否把高效用列表纳入提案集合,也取决于 Evaluator 按 $U$ 排序这些提案的保真度。
3.3 奖励引导的 Generator 优化¶
尽管在线 serving 遵循式 (5) 的 best-of-$K$ 决策,改进 Generator 的常见代理是最大化被采样列表的期望奖励:
$$J(\theta) = \mathbb{E}_{(\boldsymbol{x},C)\sim\mathcal{D},\, \boldsymbol{y}\sim\pi_\theta(\cdot\mid\boldsymbol{x},C)} \bigl[ R_\phi(\boldsymbol{y}\mid\boldsymbol{x},C) \bigr] \tag{6}$$
Evaluator 固定时,score-function 估计给出
$$\nabla_\theta J(\theta) = \mathbb{E}\Bigl[ \bigl(R_\phi(\boldsymbol{y}\mid\boldsymbol{x},C) - b(\boldsymbol{x},C)\bigr) \nabla_\theta \log \pi_\theta(\boldsymbol{y}\mid\boldsymbol{x},C) \Bigr] \tag{7}$$
其中 $b(\boldsymbol{x},C)$ 是与动作无关的 baseline。对 AR Generator,
$$\nabla_\theta \log \pi_\theta^{\mathrm{AR}}(\boldsymbol{y}\mid\boldsymbol{x},C) = \sum_{t=1}^{n} \nabla_\theta \log \pi_{\theta,t}\bigl(y_t \mid \boldsymbol{y}_{\lt t}, \boldsymbol{x}, C\bigr) \tag{8}$$
于是当只有「完整列表奖励」与「请求级 baseline」可用时,同一个序列级优势会被施加到每个位置的分数项上。这种监督对「哪些选择改进了效用、哪些拖累了效用」没有任何直接指示——尤其当 Evaluator 捕捉的是跨位置交互时问题更严重。这直接动机了 DIRECTOR 的两项设计:用动态索引生成 + 全局协调硬匹配替换 item-by-item AR 解码;沿一条保持合法性的路径导出位置特定的 pathwise 信用。
四、核心方法:DIRECTOR¶
DIRECTOR 是一个位置并行重排框架,把连续意图生成与离散列表构造分离。

如上图所示,整条链路是:请求上下文 / 用户历史 + 候选集 $\{c_1,\dots,c_M\}$ → Item Encoder 得到候选嵌入矩阵 $E$、Context Encoder 得到上下文向量 $\boldsymbol{h}$ → DIRECTOR Generator(位置 embedding $P$ + $\boldsymbol{h}$ + 高斯噪声,经 CVAE/DIFF)采样 $K$ 次得到 $K$ 个索引矩阵 $Q^{(k)}$ → 计算相似度矩阵 $S^{(k)} = Q^{(k)} E^\top / \tau$ → 训练时走右上的 Optimal Transport Matching($\arg\max_{\Gamma} \{\langle \Gamma, S\rangle + \mu H(\Gamma)\}$),推理时走下方的 Hard Matching → $K$ 个去重提案列表送入 Reward Model → 取 $\arg\max_k R(\boldsymbol{y}^{(k)})$ 作为曝光列表;左下的 Prefix-Anchored Credit Assignment 从 baseline 列表 $\boldsymbol{b}$ 到生成列表 $\boldsymbol{y}$ 构造 $n+1$ 个混合列表,用相邻奖励差 $\Delta_i$ 反馈回 Generator。
编码器。给定请求上下文 $\boldsymbol{x}$ 与候选集 $C = \{c_1,\dots,c_M\}$,令 $\boldsymbol{v}_j$ 为候选 $c_j$ 的可用特征。Item encoder 把每个候选映射到共享检索空间:
$$\boldsymbol{e}_j = f_{\mathrm{item}}(c_j, \boldsymbol{v}_j) \in \mathbb{R}^d, \qquad E = [\boldsymbol{e}_1,\dots,\boldsymbol{e}_M] \in \mathbb{R}^{M \times d} \tag{9}$$
Context encoder 联合概括请求上下文与当前候选池:$\boldsymbol{h} = f_{\mathrm{ctx}}(\boldsymbol{x}, E) \in \mathbb{R}^{d_h}$。候选嵌入每个请求只算一次,在所有目标位置与采样提案间复用;$f_{\mathrm{item}}$、$f_{\mathrm{ctx}}$ 的参数都并入 Generator 参数 $\theta$。
4.1 动态索引生成(Dynamic Index Generation)¶
DIRECTOR 不为每个输出位置预测离散 item,而是生成一个连续检索索引矩阵:
$$Q = [\boldsymbol{q}_1,\dots,\boldsymbol{q}_n]^\top \sim p_\theta(Q \mid \boldsymbol{h}, P), \qquad Q \in \mathbb{R}^{n \times d} \tag{10}$$
其中 $P = [\boldsymbol{p}_1,\dots,\boldsymbol{p}_n]^\top$ 是可学习的位置 embedding。每一行 $\boldsymbol{q}_i$ 表示位置 $i$ 的检索意图。所有索引是联合生成的,而非条件于先前已选 item;因此反复采样 $Q$ 就能产出多个列表提案,无需 AR rollout。
训练目标索引。对一个观测列表 $\boldsymbol{y} = (y_1,\dots,y_n) \in \mathcal{S}(C,n)$,位置 $i$ 的目标索引定义为「item 嵌入 + 位置 embedding」:
$$\bar{Q} = \bigl[\boldsymbol{e}(y_1) + \boldsymbol{p}_1,\ \dots,\ \boldsymbol{e}(y_n) + \boldsymbol{p}_n\bigr]^\top \tag{11}$$
论文给出两种条件生成模型来学习这类索引矩阵的分布:
(a) 条件 VAE(DIRECTOR-CVAE)。训练时后验 $q_\psi(\boldsymbol{z} \mid \bar{Q}, \boldsymbol{h})$ 推断目标索引上的隐变量,而 $p_\theta(\boldsymbol{z}\mid\boldsymbol{h})$ 作为推理先验。解码器联合重构所有位置索引:
$$\mathcal{L}_{\mathrm{CVAE}} = \mathbb{E}_{\boldsymbol{z}\sim q_\psi}\Bigl[\; \bigl\| g_\theta(\boldsymbol{z}, \boldsymbol{h}, P) - \bar{Q} \bigr\|_F^2 + \beta\, D_{\mathrm{KL}}\bigl(q_\psi(\boldsymbol{z}) \,\|\, p_\theta\bigr) \Bigr] \tag{12}$$
推理时不同采样产生不同索引矩阵。
(b) 条件扩散(DIRECTOR-DIFF)。把 $Q_0 = \bar{Q}$ 视为干净索引矩阵,加噪
$$Q_t = \sqrt{\bar{\alpha}_t}\, Q_0 + \sqrt{1 - \bar{\alpha}_t}\, \boldsymbol{\epsilon}, \qquad \boldsymbol{\epsilon} \sim \mathcal{N}(0, I) \tag{13}$$
$\bar{\alpha}_t$ 为累积噪声调度。条件去噪器优化
$$\mathcal{L}_{\mathrm{DIFF}} = \mathbb{E}_{t, \boldsymbol{\epsilon}}\Bigl[ \bigl\| \boldsymbol{\epsilon} - \boldsymbol{\epsilon}_\theta(Q_t, \boldsymbol{h}, P) \bigr\|_2^2 \Bigr] \tag{14}$$
推理时反向过程从高斯噪声出发,在每个去噪步联合更新所有位置索引。
两种实现都避开了 item-by-item 的 AR 链:CVAE 一次前向生成索引矩阵,扩散执行少数几步去噪、且这些步在位置维度上保持并行。记被选中的索引生成目标为 $\mathcal{L}_{\mathrm{Index}}$。
4.2 传输引导的并行检索(Transport-Guided Parallel Retrieval)¶
给定动态索引 $Q$ 与候选嵌入 $E$,计算「位置-候选」相似度矩阵
$$S = \frac{Q E^\top}{\tau} \in \mathbb{R}^{n \times M}, \qquad S_{ij} = \frac{\boldsymbol{q}_i^\top \boldsymbol{e}_j}{\tau} \tag{15}$$
$S_{ij}$ 衡量候选 $c_j$ 匹配输出位置 $i$ 的程度,$\tau \gt 0$ 为温度。在每个位置独立取最高分候选会产生重复 item,因此改用全局分配来构造列表:
$$A^\star = \arg\max_{A \in \mathcal{A}_{n,M}} \langle A, S \rangle, \qquad \mathcal{A}_{n,M} = \bigl\{ A \in \{0,1\}^{n \times M} \;\big|\; A \mathbf{1}_M = \mathbf{1}_n,\ A^\top \mathbf{1}_n \le \mathbf{1}_M \bigr\} \tag{16}$$
式 (16) 用矩形最短增广路(rectangular shortest-augmenting-path)算法求解。若 $A^\star_{ij} = 1$,候选 $c_j$ 被分配给位置 $i$。行约束保证每个输出位置都被填满,列约束保证每个候选最多被选一次——因此得到的列表完整且去重。
传输引导的训练。式 (16) 的硬分配适合构造列表,但不提供平滑梯度。训练时因此额外计算一个熵正则的软分配。令
$$\mathcal{U}_{n,M} = \bigl\{ \Gamma \in \mathbb{R}_+^{n \times M} \;\big|\; \Gamma \mathbf{1}_M = \mathbf{1}_n,\ \Gamma^\top \mathbf{1}_n \le \mathbf{1}_M \bigr\} \tag{17}$$
软传输计划为
$$\Gamma_\mu^\star = \arg\max_{\Gamma \in \mathcal{U}_{n,M}} \bigl\{ \langle \Gamma, S \rangle + \mu H(\Gamma) \bigr\}, \qquad H(\Gamma) = -\sum_{i=1}^{n}\sum_{j=1}^{M} \Gamma_{ij} \log \Gamma_{ij} \tag{18}$$
$\mu \gt 0$ 控制熵正则强度。关键在于共享的列约束把各位置的选择耦合起来:当多个位置偏好同一个候选时,它们的传输质量会被联合调整,而不是各自独立归一化。实现上初始化 $K = \exp(S/\mu)$,通过「行归一化」与「列容量投影」交替求解式 (18);由于列约束是不等式,采用 Bregman-Dykstra Sinkhorn。推理时直接把式 (16) 的硬分配应用到 $S$ 上,避免在严格工业延迟约束下做迭代传输计算。
生成 $K$ 个提案:独立采样 $Q^{(k)} \overset{\mathrm{i.i.d.}}{\sim} p_\theta(\cdot \mid \boldsymbol{h}, P)$,$k=1,\dots,K$,对每个相似度矩阵 $S^{(k)}$ 分别求解式 (16),得到 $(\boldsymbol{y}^{(1)},\dots,\boldsymbol{y}^{(K)})$ 送给下游 Evaluator。相似度计算与 $K$ 个独立匹配问题都可并行执行。
4.3 前缀锚定信用分配与奖励引导优化¶
硬解码器产出合法去重列表,但并不直接优化其 list-wise 效用。因此用一个固定 Evaluator $R_\phi(\boldsymbol{y}\mid\boldsymbol{x},C)$ 来引导 Generator。由于 Evaluator 只返回一个标量,把同一个奖励施加到每个位置只能提供粗粒度信息。
为得到位置特定的反馈,从 baseline 列表 $\boldsymbol{b} \in \mathcal{S}(C,n)$(即该请求关联的日志曝光列表)出发,构造一条通向生成列表 $\boldsymbol{y}$ 的合法路径。从 $\tilde{\boldsymbol{y}}^{(1)} = \boldsymbol{b}$ 开始,第 $i$ 步把 $y_i$ 放到位置 $i$:若 $y_i$ 已出现在当前列表的更后位置,则交换这两个 item;否则替换掉位置 $i$ 上的 item。 每一步都保持列表去重,最终状态 $\tilde{\boldsymbol{y}}^{(n+1)} = \boldsymbol{y}$。定义位置 $i$ 的信用为两个相邻列表之间的奖励变化:
$$\Delta_i = R_\phi\bigl(\tilde{\boldsymbol{y}}^{(i+1)} \mid \boldsymbol{x}, C\bigr) - R_\phi\bigl(\tilde{\boldsymbol{y}}^{(i)} \mid \boldsymbol{x}, C\bigr) \tag{19}$$
这些信用精确分解了奖励改进:
$$\sum_{i=1}^{n} \Delta_i = R_\phi(\boldsymbol{y}\mid\boldsymbol{x},C) - R_\phi(\boldsymbol{b}\mid\boldsymbol{x},C) \tag{20}$$
因此该方法只需要标量 Evaluator 输出,且全部 $n+1$ 个中间列表可以在一个 batch 内打分。相关思路在 path-based attribution 与 multi-agent 信用分配中出现过;这里的路径是专门为保持列表合法性而设计的。
令 $a_i$ 为硬解码器分配给位置 $i$ 的候选,即 $A^\star_{i,a_i} = 1$。训练时用软传输计划 $\Gamma_\mu^\star$ 传梯度:
$$\mathcal{L}_{\mathrm{CA}} = -\mathbb{E}_{Q \sim p_\theta(\cdot\mid\boldsymbol{h},P)}\Bigl[ \sum_{i=1}^{n} \mathrm{sg}(\Delta_i)\, \log\bigl(\Gamma^\star_{\mu,i,a_i} + \epsilon\bigr) \Bigr] \tag{21}$$
其中 $\mathrm{sg}(\cdot)$ 为 stop-gradient。正的 $\Delta_i$ 强化被选分配,负的则抑制它。 为了 warm-start,令 $B \in \mathcal{A}_{n,M}$ 为 baseline 列表的分配矩阵,使用
$$\mathcal{L}_{\mathrm{Match}} = -\bigl\langle B,\ \log(\Gamma_\mu^\star + \epsilon) \bigr\rangle \tag{22}$$
4.4 总训练目标¶
$$\mathcal{L}_{\mathrm{Total}} = \mathcal{L}_{\mathrm{Index}} + \alpha \mathcal{L}_{\mathrm{Match}} + \lambda \mathcal{L}_{\mathrm{CA}} \tag{23}$$
$\alpha$、$\lambda$ 分别控制监督匹配与 Evaluator 引导学习。训练分两阶段:先用 $\mathcal{L}_{\mathrm{Index}} + \alpha \mathcal{L}_{\mathrm{Match}}$ warm-start,再优化完整目标。
五、理论结果¶
论文固定一个请求 $(\boldsymbol{x},C)$,分析硬匹配与软传输的分配几何、熵正则的近似 gap、有限提案覆盖率与在线推理复杂度。
5.1 硬匹配与软传输¶
定理 5.1(Slate-Assignment):二值分配集合 $\mathcal{A}_{n,M}$ 与可行列表空间 $\mathcal{S}(C,n)$ 一一对应(bijection)。此外
$$\mathcal{U}_{n,M} = \mathrm{conv}\bigl(\mathcal{A}_{n,M}\bigr) \tag{24}$$
因此对任意分数矩阵 $S \in \mathbb{R}^{n\times M}$,
$$\max_{A \in \mathcal{A}_{n,M}} \langle A, S\rangle = \max_{\Gamma \in \mathcal{U}_{n,M}} \langle \Gamma, S\rangle \tag{25}$$
且松弛问题存在一个整数最优解 $A^\star \in \mathcal{A}_{n,M}$,对应一个合法去重列表。
含义:每个合法列表恰好对应一个二值分配,且连续松弛没有整性 gap(no integrality gap)——这正是「推理时用全局硬匹配」的合法性依据。证明(附录 A.1)走的是「节点-弧关联矩阵 → 全单模(total unimodularity)→ 极点整数性」这条经典路线。
定理 5.2(唯一性与容量诱导耦合):对每个 $\mu \gt 0$,式 (18) 存在唯一最优解 $\Gamma_\mu^\star$,满足 $\Gamma^\star_{\mu,ij} \gt 0$ 对所有 $i\in[n]$、$j\in[M]$ 成立。此外存在对偶变量 $\alpha_i \in \mathbb{R}$(行约束)与 $\beta_j \ge 0$(候选容量约束)使得
$$\Gamma^\star_{\mu,ij} = \exp\Bigl(\frac{S_{ij} - \alpha_i - \beta_j}{\mu} - 1\Bigr), \qquad \beta_j\Bigl(1 - \sum_{i=1}^{n} \Gamma^\star_{\mu,ij}\Bigr) = 0 \tag{26}$$
令
$$\bar{\Gamma}_{ij} = \frac{\exp(S_{ij}/\mu)}{\sum_{l=1}^{M} \exp(S_{il}/\mu)} \tag{27}$$
表示逐行独立归一化得到的解。若 $\bar{\Gamma} \in \mathcal{U}_{n,M}$,则 $\Gamma_\mu^\star = \bar{\Gamma}$;否则 $\Gamma_\mu^\star \ne \bar{\Gamma}$ 且至少存在一个候选 $j$ 使 $\beta_j \gt 0$。
含义:这是全篇最漂亮的一个结果——乘子 $\beta_j$ 恰好度量了各位置对候选 $c_j$ 的竞争强度。如果独立预测本来就满足所有容量约束,软传输什么都不改;只有在出现冲突时它才联合调整那些冲突位置。于是「硬匹配保证推理合法,软传输提供 conflict-aware 训练信号」这一分工得到了严格刻画,也正好解释了消融里 w/o Transport Guidance(换成逐行独立归一化)为何掉得最狠。
5.2 近似行为¶
记 $V_{\mathrm{hard}}(S) := \max_{A\in\mathcal{A}_{n,M}} \langle A,S\rangle = \max_{\Gamma\in\mathcal{U}_{n,M}} \langle \Gamma,S\rangle$(由定理 5.1)。
定理 5.3(Surrogate Gap):对任意 $S \in \mathbb{R}^{n\times M}$ 与 $\mu \gt 0$,
$$0 \le V_{\mathrm{hard}}(S) - \bigl\langle \Gamma_\mu^\star, S \bigr\rangle \le \mu\, n \log M \tag{28}$$
含义:训练用的软传输计划相比推理用的精确硬匹配,每个输出位置最多损失 $\mu \log M$ 的相似度分数。$\mu$ 因此控制一个直接的 trade-off:$\mu$ 越大训练信号越平滑,$\mu$ 越小越贴近推理目标;当 $\mu \to 0$ 时分数 gap 消失。
5.3 有限提案覆盖率¶
许多 AR 重排器用 beam 解码生成列表,此时一个完整列表只有在它的每个前缀都存活于 beam 中时才可达;一旦某前缀被剪枝,所有延展该前缀的列表在本次解码中都不可达。DIRECTOR 这类 NAR 方法避开了这个前缀截断机制。
令 $\mathrm{D}(Q,E)$ 表示式 (16) 的硬分配解码器(配固定 tie-breaking 规则)。对任意目标集合 $\mathcal{T} \subseteq \mathcal{S}(C,n)$,定义其单样本概率
$$p_{\mathcal{T}} = \mathbb{P}_{Q\sim p_\theta(\cdot\mid\boldsymbol{h},P)}\bigl[\mathrm{D}(Q,E) \in \mathcal{T}\bigr] \tag{29}$$
命题 5.4(Finite-Proposal Coverage):对 $K$ 个独立采样的提案,
$$\mathbb{P}\bigl[\exists k \in [K] : \boldsymbol{y}^{(k)} \in \mathcal{T}\bigr] = 1 - (1 - p_{\mathcal{T}})^K \tag{30}$$
含义:任何单样本概率为正的目标区域,都会随 $K$ 增大而以递增概率被触达;与 beam search 不同,这个增长不依赖中间前缀的存活。附录 A.4 进一步给出 $p_\mathcal{T} \gt 0$ 的充分条件(硬匹配的局部稳定性):若某个列表在某索引矩阵处是唯一的硬匹配解且分配 margin 为正,则它在该矩阵的一个邻域内仍是解码器输出;给该邻域正概率即可保证正的生成概率。
5.4 在线推理复杂度¶
论文比较生成 $K$ 个列表提案的 Generator 侧成本,AR 的 beam 宽度取 $B = K$,所有方法用 $L$ 层 Transformer、隐维 $d_g$。
Table 1:用 Transformer 骨干生成 $K$ 个提案的在线复杂度(AR beam 宽度 $B=K$)
| AR | DIRECTOR-CVAE | DIRECTOR-DIFF | |
|---|---|---|---|
| Transformer 调用 | $n$ 次串行 | 1 次 batched | $T_{\mathrm{diff}}$ 次 batched |
| 提案生成 | $O\bigl(KL(n^2 d_g^2 + n^3 d_g)\bigr)$ | $O\bigl(KL(n d_g^2 + n^2 d_g)\bigr)$ | $O\bigl(T_{\mathrm{diff}} L(n d_g^2 + n^2 d_g)\bigr)$ |
| 候选打分 | $O(KnMd)$ | $O(KnMd)$ | $O(KnMd)$ |
| 列表构造 | $O\bigl(nKM\log(KM)\bigr)$ | $O(Kn^2M)$ | $O(Kn^2M)$ |
AR 在解码步 $t$ 要评估 $K$ 条存活前缀并对 $M$ 个候选打分其扩展;反复处理不断增长的前缀给出 $O(KL(n^2d_g^2 + n^3 d_g))$ 的 Transformer 计算量,而 beam 扩展与剪枝需要 $O(nKM\log(KM))$ 次操作。DIRECTOR 则在一个 batch 内生成 $K$ 个完整索引矩阵,并求解 $K$ 个独立的矩形分配问题。
在典型重排设定下,离散解码项是低阶项:相对 $O(KnMd)$ 的比值分别为 AR beam 剪枝的 $O(\log(KM)/d)$ 与 DIRECTOR 硬匹配的 $O(n/d)$。由于目标列表很短、$n \ll d$,全局匹配引入的开销有限。即便用上 KV caching,AR 仍需 $n$ 次前缀依赖的 Transformer 调用与反复的 beam 更新,而 DIRECTOR 联合更新所有位置——避免 item-by-item 依赖链是 DIRECTOR 式 NAR 生成的核心 serving 优势。
六、实验设置¶
论文围绕四个研究问题组织实验:RQ1 DIRECTOR 与重排基线相比如何?RQ2 传输引导学习与奖励引导信用分配各自贡献多少?RQ3 在大规模、延迟敏感的生产系统中部署能否改进多目标推荐?RQ4 能否在匹配的吞吐、延迟、可用性约束下降低在线 serving 资源?
6.1 数据集¶
两个公开基准 + 一个工业全流程数据集。公开数据集上训练 BPR-MF 模拟上游召回,构造每请求 50 个 item 的候选池;每个用户最近六次交互用于测试,目标列表长度固定为六。RecFlow 直接提供请求级候选与多阶段特征,保留每请求 120 个上游候选、生成长度六的列表。
Table 2:实验所用数据集统计
| Dataset | Domain | # Requests | # Items | Candidate Pool Size | Target Length |
|---|---|---|---|---|---|
| ML-1M | RecSys | 161,646 | 3,043 | 50 | 6 |
| Amazon-Books | RecSys | 309,917 | 38,121 | 50 | 6 |
| RecFlow | RecSys | 3,308,233 | 14,181,768 | 120 | 6 |
预处理细节(附录 B.1):ML-1M 与 Amazon-Books 先做迭代 20-core 过滤(只保留至少 20 次交互的用户与 item);每个用户剩余交互按时间排序、切成互不重叠的长度六列表;完整列表少于三个的用户丢弃。每个保留用户的最后一个列表用于测试、倒数第二个用于验证、之前所有用于训练;每个目标列表的历史输入只包含严格早于该列表的交互——这一时序构造防止了训练/验证/测试间的信息泄漏。BPR-MF 仅用训练部分交互训练、在验证部分调参。每个重排实例中,六个目标 item 与 BPR-MF 高排名 item 合并;额外候选从 top-200 召回结果去重后抽取,直到凑满 50 个不同 item 的候选池。召回器、历史、候选池、数据划分在所有对比方法间固定。
RecFlow:采用官方设定的第二个 period(2 月 5 日至 2 月 18 日)。每请求保留进入重排阶段的 top 120 个 item,并把上游排序位置作为输入特征。模型输入含视频标识、类目与作者相关属性、用户最近 50 次交互。反馈标签只对 realshow 中记录的 item 可观测:曝光 item 若获得 effective-view 反馈则标为正,其余所有 item(含未曝光)一律标为负。论文明确指出这种保守标注协议引入了严重的类别不平衡,并部分解释了 RecFlow 上绝对指标偏低;但该协议对所有方法一致施加,因此支持受控的相对比较。
6.2 Baselines¶
覆盖 point-wise 排序、上下文感知重排、自回归生成、G-E 重排四类:
- Generator-Only:DNN(point-wise MLP,按预测分排序)、DCN(显式特征交叉,仍独立打分)、Seq2Slate(pointer-network 解码器逐位选择,已选 item 被 mask)、DLCM(循环模型对初始候选排序做上下文精炼)、PRM(self-attention 建模候选间相互影响 + 个性化用户信息)、SetRank(排列不变集合建模,不依赖输入顺序)
- Generator-Evaluator:PIER(Generator 产出多个排列,Evaluator 估其 list-wise 效用并选优)、NAR4Rec(并行预测所有目标位置,引入 matching、序列级 unlikelihood 训练、对比解码)、JDRec(actor-critic,critic 提供奖励引导与面向部署的训练)、OMGRec(直接构造请求条件化「位置-候选」分配矩阵 + 一次性匹配 + 排列级建模)
- 本文:DIRECTOR-CVAE、DIRECTOR-DIFF
对比协议(附录 B.3):所有方法使用相同的数据划分、用户历史、候选池、输入特征与候选顺序,每个方法输出六个不同 item 的有序列表。Baseline 保留其原有的重复消解策略,DIRECTOR 则通过全局硬匹配强制 item 互斥。所有 G-E 方法使用相同提案预算 $K = 20$,各 baseline 的提案按其原论文采样策略产生(保留其原生随机生成过程与解码机制),只标准化「采样提案数」与「重打分方式」——同一个冻结 Evaluator 从 20 个提案中选最高分列表。Generator-only 方法直接输出单个列表。
6.3 评估指标¶
报告 NDCG@6 / Precision@6 / Recall@6 / F1@6。令 $\boldsymbol{y} = (y_1,\dots,y_6)$ 为输出列表,$\mathrm{rel}(y_i) \in \{0,1\}$ 为 item $y_i$ 的相关性标签,$C^+$ 为候选池中相关 item 的集合:
$$\mathrm{DCG@6} = \sum_{i=1}^{6} \frac{2^{\mathrm{rel}(y_i)} - 1}{\log_2(i+1)}, \qquad \mathrm{NDCG@6} = \frac{\mathrm{DCG@6}}{\mathrm{IDCG@6}} \tag{31}$$
$$\mathrm{Precision@6} = \frac{1}{6}\sum_{i=1}^{6}\mathrm{rel}(y_i), \qquad \mathrm{Recall@6} = \frac{\sum_{i=1}^{6}\mathrm{rel}(y_i)}{|C^+|} \tag{32}$$
$$\mathrm{F1@6} = \frac{2 \cdot \mathrm{Precision@6} \cdot \mathrm{Recall@6}}{\mathrm{Precision@6} + \mathrm{Recall@6}} \tag{33}$$
$|C^+| = 0$ 的请求从 recall 类指标中排除;precision 与 recall 同为零时 F1@6 记为零。所有指标按请求计算后在测试集上平均。
6.4 实现细节¶
PyTorch + Adam。除特别说明外 embedding 维度 64、batch size 2048、初始学习率 $10^{-3}$、目标列表长度 6。候选嵌入与请求表示每请求算一次并在所有提案间共享。Evaluator 在训练全程冻结。 温度 $\tau$、熵系数 $\mu$、损失权重 $\alpha$ 与 $\lambda$、隐维度及各生成器特有参数均在验证集上选择;DIRECTOR-DIFF 还包括扩散调度与反向步数。DIRECTOR 先用索引生成 + 匹配目标 warm-start,再用完整奖励引导目标优化。
离线 Evaluator 的构造(附录 B.5,重要):受控离线实验使用一个轻量 point-wise 相关性模型——给定请求上下文与候选特征,预测 item 级相关性分数 $r_\phi(y_i \mid \boldsymbol{x}, C)$,用标准二元交叉熵单独训练。一个列表的标量奖励直接由其 item 级分数求和得到:
$$R_\phi(\boldsymbol{y}\mid\boldsymbol{x},C) = \sum_{i=1}^{n} r_\phi(y_i, i \mid \boldsymbol{x}, C) \tag{34}$$
Evaluator 在 Generator 优化前预训练、并在所有 DIRECTOR 变体训练全程冻结;同一个冻结 Evaluator 同时用于奖励引导优化与最终提案选择。每个离线实验用 5 个随机种子重复,报告 5 次运行的平均值。 代码承诺接收后发布。
七、主要实验结果¶
7.1 离线效果(RQ1)¶
Table 3:三个数据集上的性能对比(N@6/P@6/R@6/F1@6 分别为 NDCG@6/Precision@6/Recall@6/F1@6;粗体为最优,_下划线_为最强的非 DIRECTOR 基线;Improv. 相对每个指标上最强基线计算)
ML-1M
| Category | Model | N@6 | P@6 | R@6 | F1@6 |
|---|---|---|---|---|---|
| Generator-Only | DNN | 0.5950 | 0.4539 | 0.5542 | 0.4876 |
| DCN | 0.5981 | 0.4561 | 0.5573 | 0.4901 | |
| Seq2Slate | 0.6222 | 0.4867 | 0.5927 | 0.5225 | |
| DLCM | 0.6061 | 0.4643 | 0.5667 | 0.4988 | |
| SetRank | 0.7154 | 0.5720 | 0.6933 | 0.6132 | |
| PRM | 0.7081 | 0.5639 | 0.6843 | 0.6049 | |
| Generator-Evaluator | PIER | 0.7146 | 0.5715 | 0.6929 | 0.6128 |
| NAR4Rec | 0.7348 | 0.5912 | 0.7162 | 0.6338 | |
| JDRec | 0.7399 | 0.5972 | 0.7233 | 0.6402 | |
| OMGRec | 0.7319 | 0.5886 | 0.7131 | 0.6310 | |
| DIRECTOR-CVAE | 0.7672 | 0.6214 | 0.7508 | 0.6641 | |
| DIRECTOR-DIFF | 0.7659 | 0.6200 | 0.7492 | 0.6628 | |
| Improv. | +3.69% | +4.05% | +3.80% | +3.73% |
Amazon-Books
| Category | Model | N@6 | P@6 | R@6 | F1@6 |
|---|---|---|---|---|---|
| Generator-Only | DNN | 0.6448 | 0.5072 | 0.6125 | 0.5472 |
| DCN | 0.6683 | 0.5298 | 0.6461 | 0.5701 | |
| Seq2Slate | 0.6952 | 0.5654 | 0.6871 | 0.6078 | |
| DLCM | 0.6597 | 0.5242 | 0.6396 | 0.5641 | |
| SetRank | 0.8014 | 0.6635 | 0.8145 | 0.7156 | |
| PRM | 0.7992 | 0.6603 | 0.8107 | 0.7122 | |
| Generator-Evaluator | PIER | 0.7987 | 0.6613 | 0.8118 | 0.7130 |
| NAR4Rec | 0.8188 | 0.6807 | 0.8365 | 0.7341 | |
| JDRec | 0.8255 | 0.6832 | 0.8409 | 0.7374 | |
| OMGRec | 0.8040 | 0.6642 | 0.8145 | 0.7160 | |
| DIRECTOR-CVAE | 0.8478 | 0.7075 | 0.8712 | 0.7588 | |
| DIRECTOR-DIFF | 0.8486 | 0.7069 | 0.8708 | 0.7585 | |
| Improv. | +2.80% | +3.56% | +3.60% | +2.90% |
RecFlow
| Category | Model | N@6 | P@6 | R@6 | F1@6 |
|---|---|---|---|---|---|
| Generator-Only | DNN | 0.1584 | 0.0793 | 0.2069 | 0.1084 |
| DCN | 0.1597 | 0.0795 | 0.2083 | 0.1088 | |
| Seq2Slate | 0.1693 | 0.0821 | 0.2134 | 0.1130 | |
| DLCM | 0.1747 | 0.0861 | 0.2240 | 0.1169 | |
| SetRank | 0.1823 | 0.0896 | 0.2344 | 0.1225 | |
| PRM | 0.1840 | 0.0905 | 0.2368 | 0.1238 | |
| Generator-Evaluator | PIER | 0.1910 | 0.0935 | 0.2431 | 0.1277 |
| NAR4Rec | 0.1792 | 0.0880 | 0.2297 | 0.1203 | |
| JDRec | 0.1832 | 0.0898 | 0.2345 | 0.1227 | |
| OMGRec | 0.1866 | 0.0913 | 0.2385 | 0.1247 | |
| DIRECTOR-CVAE | 0.1979 | 0.0957 | 0.2477 | 0.1305 | |
| DIRECTOR-DIFF | 0.1976 | 0.0956 | 0.2480 | 0.1304 | |
| Improv. | +3.61% | +2.35% | +2.02% | +2.19% |
结论分析:
- 两个 DIRECTOR 变体在三个数据集上一致超过所有 Generator-only 与 Generator-Evaluator 基线。 相比最强的非 DIRECTOR 方法,最佳 DIRECTOR 变体在 ML-1M / Amazon-Books / RecFlow 上分别把 NDCG@6 提升 3.69% / 2.80% / 3.61%。Precision@6、Recall@6、F1@6 上也观察到一致改进,说明 DIRECTOR 既改进了相关 item 的检索、也改进了它们在输出列表中的排序。
- 两个变体表现相当,说明方法不绑定特定隐生成器:一次前向的 CVAE 与迭代扩散都能产出有效的动态索引矩阵。同时 DIRECTOR-CVAE 的强表现表明,用单次并行前向就已能生成高质量提案——这对延迟敏感的部署尤其有吸引力(也与 Table 1 的复杂度分析呼应:CVAE 只需 1 次 batched Transformer 调用)。
- 值得注意的一个反转:在两个公开数据集上最强基线是 JDRec,而在工业数据集 RecFlow 上最强基线变成 PIER,且 NAR4Rec 在 RecFlow 上反而掉到 Generator-only 的 PRM/SetRank 之下(0.1792 vs PRM 0.1840)。这与 DIRECTOR 的核心论点自洽:朴素的位置并行分解在候选池更大(120 vs 50)、标签更稀疏的真实工业分布下更容易因跨位置协调不足而退化——恰是 DIRECTOR 用容量约束 OT 要修的那个洞。
- 上下文感知的 SetRank / PRM 显著强于 point-wise 的 DNN/DCN 与早期 AR 的 Seq2Slate,重申了 intra-list 建模的价值。
7.2 在线 A/B 与压测(RQ3 & RQ4)¶
在快手短视频推荐平台(服务数亿用户)做大规模在线 A/B:留出 10% 线上流量作对照、另 10% 作实验组,实验运行 7 个连续日。对照组使用生产环境的 AR Generator-Evaluator 重排系统,实验组只把其 generator 换成 DIRECTOR,Evaluator 与其余 serving 组件保持不变。
Table 4:快手 APP 上的 A/B 测试与 serving 压测结果(VV 提升统计显著,$p \lt 0.05$;效率对比在相同模型 QPS 与端到端延迟约束下进行,同时维持 99% 服务可用性)
| Category | Metric | Relative Change |
|---|---|---|
| Effectiveness | Valid View | +0.519% CI: [0.45%, 0.59%] |
| Comment | +0.695% CI: [0.56%, 0.83%] | |
| Like | +0.330% CI: [0.17%, 0.48%] | |
| Efficiency | CPU Consumpt. | −66.7% |
压测(RQ4):把 DIRECTOR 与线上基于 NTP(next-token prediction)的 AR baseline generator + beam search 对比。为保证公平,两者在完全相同的 serving 配置下评估——峰值吞吐控制在约 20,000 QPS、P99 端到端延迟不超过 30 ms,且两个系统在压测全程维持 99% 服务可用性。在这些严格 serving 条件下,DIRECTOR 相比 NTP + Beam Search 减少 66.7% 机器消耗。论文把这一大幅资源节省归因于 DIRECTOR 的并行生成架构——它消除了 AR beam search 固有的串行解码依赖,同时通过直接全局硬匹配保留了全局协调的列表构造。
部署细节(附录 B.7):部署在快手主 App 单列信息流的重排阶段。该平台支持多 generator serving——多个生成路线的提案可以被联合召回并评估。因此 DIRECTOR-CVAE 与 DIRECTOR-DIFF 是作为两条并行 Generator 通道同时部署,向同一个下游 Evaluator 贡献提案。生产基线与 DIRECTOR 联合部署被分配到两个互斥流量桶,各占总流量 10%,评估 7 个连续日;两组共享相同上游模块、候选池、输入特征与多目标 serving 目标。因此报告的效果结果代表「两个 DIRECTOR 变体一起部署」的总体增益,而 serving 效率结果是跨两条已部署生成路线取平均,并非归因于任一单独变体。
出于保密,论文无法披露生产基线的完整架构、beam 配置、绝对机器数或详细资源核算流程,只报告在严格匹配的 serving 约束下的归一化相对资源消耗。
八、消融与分析(RQ2)¶
Table 5:DIRECTOR-CVAE 在 RecFlow 上的消融(所有变体都保留相同的动态索引生成器与推理时全局硬匹配,因此每个输出仍完整且去重)
| Model | N@6 | P@6 | R@6 | F1@6 |
|---|---|---|---|---|
| w/o Transport Guidance | 0.1675 | 0.0812 | 0.2110 | 0.1114 |
| w/o Reward Guidance | 0.1847 | 0.0903 | 0.2342 | 0.1231 |
| w/ Global Credit | 0.1894 | 0.0921 | 0.2395 | 0.1253 |
| DIRECTOR-CVAE | 0.1979 | 0.0957 | 0.2477 | 0.1305 |
逐项分析:
- w/o Transport Guidance:在匹配损失与信用分配损失中,把容量约束传输计划替换为逐行独立归一化(即定理 5.2 里的 $\bar{\Gamma}$)。NDCG@6 从 0.1979 掉到 0.1675(−15.4%),是三个消融中降幅最大的一项——甚至掉到所有 G-E 基线之下(低于 PIER 0.1910、OMGRec 0.1866,也低于 Generator-only 的 PRM 0.1840、DLCM 0.1747)。这说明「建模对共享候选容量的竞争」提供了重要的跨位置监督:没有它,索引生成器学不到位置之间的互斥结构,即便推理时硬匹配仍能产出合法列表,列表质量也会崩。这一项与定理 5.2 严格对应——$\beta_j$ 所刻画的容量耦合正是 DIRECTOR 的承重墙。
- w/o Reward Guidance:移除 $\mathcal{L}_{\mathrm{CA}}$,只优化索引生成与监督匹配。NDCG@6 降到 0.1847(−6.7%),确认了把 Generator 与 list-wise 效用对齐的收益——纯模仿日志曝光列表不足以逼近 Evaluator 眼中的最优。
- w/ Global Credit:把同一个列表级优势 $R_\phi(\boldsymbol{y}) - R_\phi(\boldsymbol{b})$ 施加到每个位置,取代前缀锚定信用 $\{\Delta_i\}_{i=1}^n$。NDCG@6 为 0.1894(−4.3%),仍低于完整模型——说明位置特定的信用分配提供了更有信息量的优化信号。这一项是式 (19)-(20) 那套 telescoping 分解的直接价值验证:分解本身(而非仅仅"用了奖励")带来额外增益。
完整模型在所有指标上最优,验证了传输引导学习与前缀锚定信用分配的互补效应。三项降幅排序(Transport 15.4% > Reward 6.7% > Credit 分解 4.3%)也给出清晰的组件重要性梯度。
九、核心贡献总结¶
- 范式层面:在 G-E 重排框架内提出一个全局协调的非 AR Generator。它把「生成位置意图」与「构造离散列表」显式解耦——前者用连续的动态检索索引矩阵表达,后者用全局分配求解。这既拿掉了 AR 的串行依赖与前缀剪枝,又没有落入朴素 NAR 的跨位置失协。
- 机制层面(训练/推理分工):训练用熵正则、容量约束 OT 提供 conflict-aware 的可微监督;推理用矩形最短增广路硬匹配直接产出去重列表,完全绕开迭代传输求解——这是一个非常干净的「训练要梯度、推理要延迟」的分工,且由定理 5.1(无整性 gap)与定理 5.3(gap 上界 $\mu n\log M$)给出理论保障。
- 信用分配层面:前缀锚定 pathwise 信用只需黑盒 Evaluator 的标量输出,通过构造 $n+1$ 个保持合法性的混合列表、取相邻奖励差,得到全局奖励改进的精确 telescoping 分解,且全部中间列表可在一个 batch 内打分。这是本文最可迁移的一个 trick——任何「只能拿到列表级标量、又想要逐位置信号」的场景都能复用。
- 理论层面:四个结果分别刻画分配几何(定理 5.1)、容量诱导耦合与竞争乘子(定理 5.2)、代理 gap(定理 5.3)、有限提案覆盖率(命题 5.4,且明确对比 beam search 的前缀存活依赖)。
- 工业层面:在快手主 App 单列信息流双 10% 流量桶 7 天 A/B,VV +0.519%、Comment +0.695%、Like +0.330%(均给出置信区间);在 20,000 QPS / P99 ≤ 30 ms / 99% 可用性的匹配约束下CPU 消耗降低 66.7%。
十、与已归档相关工作的对比¶
DeGRe DeGRe: Dense-supervised Generative Reranking for Recommendation(浙江大学 + 淘宝闪购,2026-05-25)¶
关系:独立并发(本文未引用 DeGRe,两者殊途同归)· 已加载对方精读
- 共同关注的问题:两篇论文对生成式重排的第二个瓶颈给出了几乎同一句诊断——reward/Evaluator 只提供 list 级别的稀疏标量信号,这种粗粒度信号无法归因到序列生成过程中的每一个局部决策,缺乏 step-wise 指导会让优化方向模糊。DeGRe 把它命名为 "Credit Assignment Problem",DIRECTOR 表述为 "broadcasting the same global reward to every position provides only coarse credit assignment"。两者同时还共享第二个诉求:在线要便宜——DeGRe 要"只需一次贪心解码",DIRECTOR 要"一次并行前向 + 无 AR rollout"。
- 相近的技术骨架:都是「把一个 list 级标量拆成 position/step 级监督信号,再用它训练一个在线廉价的生成器」。都保留 G-E 结构但把 Evaluator 冻结/离线化,不让它进在线关键路径(DeGRe 的评估器完全不上线;DIRECTOR 的 Evaluator 仍在线做 best-of-$K$ 选择,但不参与 generator 的串行解码)。
- 本文的差异与推进:拆解的手段截然相反。DeGRe 走「再训一个模型」路线——用累积回归(cumulative regression,把回归拆成一组有序二元分类 $P(V \ge k \mid l_{1:t})$)训练一个 Lookahead Evaluator,让它能给任意子序列打分,再用 beam search 在未曝光空间挖高价值序列,把 step-wise 价值估计蒸馏进在线生成器。DIRECTOR 走「零额外模型」路线——不训任何 step-wise 价值模型,而是构造一条从日志曝光列表 $\boldsymbol{b}$ 到生成列表 $\boldsymbol{y}$ 的保持合法性的混合列表路径,直接用原有黑盒 Evaluator 在相邻状态上的奖励差 $\Delta_i$ 作为位置信用,并由式 (20) 保证这些信用精确求和为全局奖励改进。代价与收益很清楚:DeGRe 需要评估器能对子序列打分(因此必须是自己训练的、白盒的累积回归模型),DIRECTOR 只要求评估器能对完整合法列表返回一个标量(因此可以是不透明的工业服务)——这正是 DIRECTOR 反复强调的 "opaque / non-differentiable Evaluator" 适用性。
- 可比的方法 / 实验差异:信用粒度的对象不同:DeGRe 的 step 是 AR 解码步(前缀 $l_{1:t}$ 逐步延长,天然串行语义),DIRECTOR 的 "position $i$" 是并行生成后的位置,其路径只是为了计算信用而虚构的,不对应任何推理时的串行过程——DIRECTOR 因此能同时享有并行推理与位置级信用。另外 DeGRe 的第一个问题(启发式标签偏差 / 未曝光空间探索)DIRECTOR 没有直接处理:DIRECTOR 的 $\mathcal{L}_{\mathrm{Match}}$ 仍以日志曝光列表 $\boldsymbol{b}$ 作监督锚点做 warm-start,探索性靠隐空间采样 $K$ 个提案 + 命题 5.4 的覆盖率论证来提供,而不像 DeGRe 那样用离线 beam search 主动挖掘未曝光排列。两篇的 ML-1M 实验不可直接比数(DeGRe 报 HR@1%/3%/10%,DIRECTOR 报 NDCG@6/P@6/R@6/F1@6,且候选池构造不同),但两者都把 NAR4Rec 作为共同基线,是一个可对齐的参照点。
NSGR NSGR: Next-Scale Generative Reranking(美团,2026-04-07)¶
关系:独立并发(本文未引用 NSGR,两者殊途同归)· 已加载对方精读
- 共同关注的问题:两篇论文给出了几乎逐条对应的 paradigm 分类学诊断。NSGR 明确列出三种生成范式的缺陷:Autoregressive(逐位 one-by-one,只能看到已生成前缀、缺乏对后续位置的前瞻,容易陷局部最优)、One-step / NAR(如 NAR4Rec,一次性生成整个列表,全局视野但对 item 间细粒度互影响建模过弱)、Multi-step(迭代 swap,被起始列表锁死)。DIRECTOR 的 introduction 是同一张地图的另一种画法:AR 的 prefix pruning + 串行延迟,NAR 的 "position-wise factorization treats different positions too independently → insufficient cross-position coordination"。两者都认定「AR 与朴素 NAR 各自丢掉了对方的优点」是那个 root cause,并且都把 NAR4Rec 当作「并行但失协」的典型代表与基线。此外两者都同时处理第二个问题:Generator 与 Evaluator 之间的信号错位(NSGR 称 Goal Inconsistency)。
- 相近的技术骨架:都是「用一种非 item-by-item 的结构化生成机制,一次性/少数几步地产出整个列表,从而同时拿到全局视野与跨位置协调」,并且都需要从一个 list-wise Evaluator 反推出更细粒度的训练信号(NSGR 用 Multi-Scale Neighbor Loss,DIRECTOR 用前缀锚定信用)。两者都是工业部署 + 在线 A/B 验证的重排工作。
- 本文的差异与推进:「减少解码步数」的方向选择不同。NSGR 选择层次化粗到细:Next-Scale Generator 通过 tree-based 二分细化,在 $\log_2(m)$ 步内把候选集逐尺度扩张成长度 $m$ 的有序列表,配 Multi-Scale Evaluator 在多个尺度上分别提供 scale-specific 指导。DIRECTOR 选择一步到底 + 全局分配:$n$ 个位置的连续索引一次并行生成(CVAE 一次前向;DIFF 少数几步但每步在位置维度并行),跨位置协调不靠"多尺度渐进",而是靠一个显式的组合优化约束(容量约束 OT / 矩形分配)在训练与推理两端同时施加。这带来一个 NSGR 没有的性质:列表合法性(去重完整)由约束集 $\mathcal{A}_{n,M}$ 结构性保证,并有定理 5.1 的无整性 gap 支撑;而 NSGR 的协调性来自架构与损失设计,没有对应的组合优化保证。反过来,NSGR 的多尺度结构保留了"从粗到细逐步精修"的归纳偏置,DIRECTOR 则完全放弃了任何渐进精修。
- 可比的方法 / 实验差异:两者对 Evaluator 的用法不同——NSGR 的 MSE 需要在多个尺度上打分(因此必须是自训练的、可访问中间尺度的白盒模型),DIRECTOR 只需要一个能对完整列表返回标量的黑盒。二者的在线收益量级也不同:NSGR 报 CTR +2.89% / GMV +3.15%(美团外卖,交易场景),DIRECTOR 报 VV +0.519% / Comment +0.695% / Like +0.330%(快手短视频,消费场景)——场景与指标体系差异过大,不宜直接比较绝对幅度;但 DIRECTOR 额外给出了 NSGR 没有的serving 资源维度结果(同等 QPS/延迟/可用性约束下 CPU −66.7%),这是它「彻底去掉串行解码」这一激进选择最有力的回报。
被剔除的近似候选(附剔除理由): - [2606.26899] MO-DiT+HPPO(北大)——解法侧确实同构(用扩散/flow matching 生成连续 query 向量而非离散 AR 解码,再用相似度/ANN 解析成 item,最后对齐一个不可微的线上指标),但问题的 root cause 是「pattern 保持 vs attribute 密度」的检索权衡,任务是单 query 的 ANN 召回,不存在列表、不存在跨位置容量竞争,也没有组合分配约束——DIRECTOR 的承重墙(容量耦合 OT)在其中没有任何对应物。初筛假阳性。 - [2604.27747] PAD-Rec(中科大)——共享「list-wise 生成式推荐的 AR 解码延迟」这个痛点,但解法是保留 AR 并用位置感知的 draft model 做投机解码(speculative decoding)加速验证;DIRECTOR 是放弃 AR。同一痛点、相反路径。 - [2606.16641] PIANO(网易云音乐)——同为 listwise 重排 + 列表级多目标监督,但解法是对历史 query 做 cross-attention(QDIR)+ [CLS] 式聚合节点(IAN),没有并行列表生成,也没有分配/协调机制。 - [2603.02730] APAO(清华)——同样诊断出 beam search 前缀带来的病理(training-inference inconsistency),但停留在 AR 生成式检索内部、用 prefix-level 损失与最差前缀加权修训练目标,既非列表重排也无并行生成。 - UniMixer / UniSGR / CRID 等——虽然都出现 Sinkhorn-Knopp,但用途是 SID 码本的均衡分配(tokenizer 侧),与 DIRECTOR 把 OT 用于列表位置-候选分配是完全不同的问题层次,属关键词假阳性。
十一、讨论与局限性¶
11.1 值得借鉴的设计¶
- 「训练用软松弛、推理用硬求解」+ 无整性 gap 的组合。这套分工本身不新(Sinkhorn 松弛在匹配问题里是标配),但 DIRECTOR 把它用在列表构造上并配了定理 5.1($\mathcal{U}_{n,M} = \mathrm{conv}(\mathcal{A}_{n,M})$,故松弛不损最优值)与定理 5.3(gap $\le \mu n \log M$),使「训练/推理目标错配」这件事从"经验上还行"变成"有界可控"。任何需要「可微代理 + 离散合法输出」的推荐模块都能照抄这个模板。
- 定理 5.2 的竞争乘子 $\beta_j$。它把「多个位置抢同一个候选」这个直觉量化成对偶变量,并给出一个漂亮的自适应性质:不冲突时软传输恒等于逐行 softmax,什么都不改;只在冲突时才介入。这解释了为什么 transport guidance 是承重墙(消融 −15.4%),也提示了一个实用诊断信号——线上可以直接监控 $\beta_j$ 来定位"被过度争抢的候选"。
- 前缀锚定 telescoping 信用分配。用 $n+1$ 个混合列表的相邻奖励差换取位置级信用,只依赖黑盒标量输出、可单 batch 打分、且求和精确等于全局改进。相比训练额外的 step-wise 价值模型(DeGRe)或多尺度评估器(NSGR),这是工程代价最低的一条路,特别适合 Evaluator 是既有线上服务、不可改不可微的场景。
- 索引 = item 嵌入 + 位置 embedding 的目标构造(式 11)。把"位置意图"定义在与候选同一个隐空间里,使得单次采样即可通过相似度并行解析出整个列表,这是能一次前向出 $K$ 个提案的关键。
11.2 局限与可质疑处¶
- 离线 Evaluator 是可加的,这削弱了"不透明 list-wise 评估器"这一核心叙事。附录 B.5 明确说明离线实验的奖励是 point-wise 分数直接求和 $R_\phi(\boldsymbol{y}) = \sum_i r_\phi(y_i, i)$。这类奖励在 item 上可分离,于是式 (19) 的 $\Delta_i$ 退化成近乎「换入 item 与换出 item 的分数差」,telescoping 分解几乎是平凡成立的,跨位置交互(列表内竞争/互补、真正的 list-wise 效应)在离线信用信号里根本不存在。换言之,论文最强调的"从不透明 list-wise 反馈学习"这一能力,在离线实验中并未被真正压力测试;能验证它的只有线上那套真实多目标 Evaluator,而线上结果只有聚合的 VV/Comment/Like 三个数字。一个真正对症的实验是:换用带 intra-list 交互的 list-wise Evaluator(如自注意力 list 模型)重跑消融,看 w/ Global Credit 与前缀锚定信用的差距是否被放大。目前 4.3% 的差距很可能是这一能力的下界而非典型值。
- 消融覆盖面偏窄。Table 5 只在 RecFlow 单个数据集上、只对 CVAE 单个变体做了 3 项消融。缺失的关键敏感性分析包括:熵系数 $\mu$(定理 5.3 明确说它控制 smoothness/fidelity 的 trade-off,却没有实验曲线)、提案数 $K$(命题 5.4 的整个论证都围绕 $K$,也没有 $K$ 的扫描)、扩散反向步数 $T_{\mathrm{diff}}$、温度 $\tau$。理论给出了三个可检验的预测($\mu\to0$ gap 消失、$K$ 增大覆盖率单调上升、$\beta_j$ 度量竞争),一个都没有对应的实证曲线——理论与实验之间缺了一座桥。
- 没有报告最该报告的那个指标:重复率 / 协调质量。全文的动机建立在「朴素 NAR 会产出重复或冲突的分配」之上,但没有任何一处量化过 baseline 的重复率、或 DIRECTOR 相比"独立取 argmax + 事后去重"在协调性上的直接差异。附录 B.3 只说 baseline 保留其原有重复消解策略。既然去重是硬匹配的结构性保证,本该有一个直观对比(如 NAR4Rec 未消解前的冲突位置比例 vs DIRECTOR 的 0)。
- 线上收益幅度不大,且归因被聚合掉。VV +0.519% 在快手体量下有商业意义(且置信区间不跨零),但相比同类工业重排工作(NSGR CTR +2.89%/GMV +3.15%、DeGRe GMV +3.75%)幅度明显更小。更麻烦的是归因:附录 B.7 说明实验桶里 CVAE 与 DIFF 是两条并行 generator 通道同时上线,效果是二者合并的总体增益、效率是二者平均——因此无法判断单独部署任一变体的真实收益,也无法排除"收益主要来自提案多样性增加(多了两条生成路线)而非 DIRECTOR 机制本身"这一竞争性解释。一个 generator-only 替换的单变体桶会干净得多。
- 相比 OMGRec 的增量需要被谨慎定位。OMGRec 已经在做「请求条件化的位置-候选分配矩阵 + 一次性匹配」,DIRECTOR 的方法论增量集中在三点:(a) 分配前先采样连续隐索引(这才使得同一模型能靠隐空间采样出 $K$ 个提案,OMGRec 的一次性匹配天然是确定性的)、(b) 用容量约束 OT替代无约束/行归一化的软监督、(c) 前缀锚定信用。这些都是实质增量,但论文没有做"逐步加回"的分解实验(例如 OMGRec + 隐采样、再 + OT、再 + 信用),因此三者各自贡献多少无从判断;Table 3 中 OMGRec 表现平平(三个数据集上都不是最强基线,甚至弱于 JDRec/NAR4Rec)也让"DIRECTOR vs OMGRec"这条最关键的对照失去了分辨力。
- 对 baseline 列表 $\boldsymbol{b}$ 的依赖引入曝光偏差。$\mathcal{L}_{\mathrm{Match}}$ 与信用路径的起点都是日志曝光列表。这意味着 (a) 信用信号的尺度依赖于 $\boldsymbol{b}$ 的质量——生产系统越强,$R_\phi(\boldsymbol{y}) - R_\phi(\boldsymbol{b})$ 越小、信号越弱;(b) 路径本身锚在曝光分布上,对未曝光排列的探索完全交给隐空间采样。这正是 DeGRe 用离线 beam search 主动挖掘未曝光空间要解决的问题,DIRECTOR 未处理。冷启动或曝光稀疏场景下这一依赖可能是实质约束。
- 工程与写作细节。矩形最短增广路匹配是 $O(Kn^2M)$ 且在 CPU 上通常不可 GPU 化,论文以 $n \ll d$ 论证开销可忽略,但没有给出实测的匹配耗时占比(在 $M=120$、$K=20$ 时值得一个数字)。另外投稿版本残留了大量未填的 ACM 模板占位符("Conference'17, July 2017, Washington, DC, USA"、"© 2018"、"Received 20 February 2007; revised 12 March 2009"),标题中的 "Recommendation / Retrieval" 与实际的 reranking 任务也存在命名误导——DIRECTOR 这个首字母缩写为了凑词牺牲了准确性。
11.3 方法论可扩展性判断¶
从「参数量 scaling 时表征能力与序列建模能力能否一起增长」的角度看,DIRECTOR 的路线没有硬瓶颈:索引生成器(CVAE/DIFF over Transformer)、item/context encoder 都可以自由加宽加深,而全局匹配是一个无参数的组合优化算子,不会随模型变大而成为表达瓶颈——这一点明显优于「码本一旦固化即限制下游表征空间」的 SID 类路线。真正的结构性约束有两处:(a) G-E 两阶段仍然解耦,Evaluator 冻结且(在工业设定下)不可微,Generator 只能通过标量奖励与它通信,端到端联合优化在设计上被排除——这是 DIRECTOR 主动接受的代价(换来对黑盒线上服务的兼容性),但也意味着最终质量上限被 Evaluator 的保真度封死(式 5 之后论文自己也承认这一点)。(b) 输出结构固定为「$n$ 个位置各分配一个候选」的矩形分配,$n$ 可变但列表结构本身不可扩展(无法自然处理可变长列表、多列/混排、或带业务硬约束的分配)——不过后者反而是 OT 框架容易延展的方向(加更多线性约束即可),算是一个开放的正向空间而非瓶颈。
综合:方法扎实、理论完整、工业落地清晰,但离线实验未能压测其最核心的"黑盒 list-wise 信用分配"卖点,线上归因被两变体合并部署稀释,且相对 OMGRec 的增量缺乏分解验证。