← 返回论文列表
📄 论文解读 · 生成式推荐 · WWW'26

GFlowGR

Fine-tuning Generative Recommendation Frameworks with Generative Flow Networks

机构
CityU + Alibaba
来源
WWW'26 · arXiv 2506.16114
年份
2025
核心命题
GFlowNet Token 级监督微调 GR
💡
一句话总结

GFlowGR 将生成式推荐(GR)形式化为多步序列生成问题,用 GFlowNet 的 flow-matching 机制提供 Token 级别的监督信号(SFT/DPO/GRPO 只做 Item 级别),通过轨迹采样器(4 种策略)+ 多信号奖励模型(交互信号 + CM 预估 + Token 相似度)+ DB/TB 双 Loss 变体,在淘宝全量广告 1 亿+用户 A/B 测试中实现总营收 +0.43%、非首页搜索 +1.11%,训练成本仅为 SFT 的 2.1×。

📄 原文:https://arxiv.org/abs/2506.16114

🔗 关键词:GFlowNet · 生成式推荐 · Token 级监督 · 轨迹采样 · 多信号奖励 · DB/TB Loss

三句话核心贡献:
① 将 GFlowNet 引入 GR 微调,实现 Token 级别监督——SFT/DPO/GRPO 只能做 Item 级,GFlowNet 通过 flow-matching 对每个生成 token 给予奖励信号;
② 提出完整 GFlowNet 微调框架:4 种轨迹采样策略(含 CM-based Curriculum)+ 3 信号奖励模型 + DB/TB 双 Loss;
③ 淘宝全量广告 A/B 验证:1 亿+用户,总营收 +0.43%,非首页搜索 +1.11%,训练成本仅为 SFT 的 2.1×。
🌐
1. 背景与动机

生成式推荐(GR)的核心范式

生成式推荐将推荐任务建模为自回归序列生成问题。其框架由三个核心组件构成:

Item Tokenizer

将每个 item $v$ 分解为 token 序列 $\{t_l\}_{l < L}$,作为 item 的语义标识符。例如一件天蓝色衬衫被编码为 $\langle a_1\rangle\langle b_4\rangle\langle c_2\rangle$。常用方案为 RQ-VAE(Residual Quantization + VAE),训练目标包含 codebook loss 和 reconstruction loss。

Generative LLM

接收用户 prompt(包含历史交互序列 + 用户画像),自回归地生成下一个 item 的 token 序列。整个生成的联合概率为:

$$P(s_{1:L} \mid u) = \prod_{l=1}^{L} P_{GR}(t_l \mid U, \{t_i\}_{i < l})$$
符号说明
  • $U$:用户 prompt,包含历史交互序列 $[i_1, i_2, \ldots, i_t]$ 和用户画像信息
  • $t_l$:第 $l$ 级 Semantic ID token(如 $\langle a_2\rangle$, $\langle b_4\rangle$, $\langle c_{10}\rangle$)
  • $L$:item 标识符的长度(论文示例中 $L=3$)
  • $\{t_i\}_{i < l}$:当前 token 之前的 prefix tokens

例如,给定用户历史交互 $\{\langle a_3\rangle\langle b_1\rangle\langle c_{15}\rangle, \langle a_1\rangle\langle b_4\rangle\langle c_2\rangle\}$,模型逐步生成 $\langle a_2\rangle \to \langle a_2\rangle\langle b_4\rangle \to \langle a_2\rangle\langle b_4\rangle\langle c_{10}\rangle$,最终解码为一个蓝色 polo 衬衫作为推荐结果。

标准 SFT 训练目标

$$\mathcal{L}_{GR}(U, v) = -\sum_{l=1}^{L} \log P_{GR}(t_l \mid U, \{t_i\}_{i < l})$$

SFT 的训练目标本质上是 next-token prediction loss——让模型学会在给定用户历史和已生成 prefix 的条件下,正确预测 ground-truth item 的每个 token。这个目标存在两个根本性问题:

  • 问题一:只模仿单一 ground truth item。每个训练实例只有一个正样本 item,忽略了用户交互集合中其他有价值的相关 item。实际推荐场景中,一个用户可能同时喜欢多个 item,它们的"价值"也不尽相同(点击 vs 购买 vs 长停留)。
  • 问题二:Value-unaware(价值无感知)。SFT 不区分不同 item 的价值差异——一个被购买的商品和一个仅仅浏览的商品,在 SFT 中被同等对待(都是 ground truth),这显然不符合推荐系统的排序目标。

现有微调方法的局限

SFT(监督微调)

  • 仅模仿 ground truth token 序列
  • 无法感知"生成得好不好"——没有价值信号
  • 容易学到次优的 token 生成路径
  • 每个训练实例只用一个正样本,忽略全交互集

DPO / GRPO(偏好对齐)

  • 仅对整个 item 序列打分(Item 级别)
  • 无法区分「第 1 步好 + 第 2 步差」vs「第 1 步差 + 第 2 步好」
  • Token 级别的生成质量无法被精细优化
  • DPO 用随机负采样,GRPO 用 on-policy 相对优势,但都只输出 Item 级 reward
方法监督粒度Value-aware全交互集利用生成多样性
SFTItem 级(仅模仿正样本)❌ 无感知❌ 仅单一正样本❌ 退化为 argmax
DPOItem 级(偏好对)⚠️ 部分(chosen vs rejected)⚠️ 仅偏好对❌ 仍退化为 argmax
GRPOItem 级(组内相对优势)⚠️ 部分(组内排序)⚠️ 仅组内样本❌ 最大化正样本概率
GFlowGRToken 级(每步 flow)✅ 完全感知✅ 全交互集✅ 按奖励比例采样
核心矛盾:现有微调方法都只能做 Item 级别的监督——要么模仿(SFT),要么整体打分(DPO/GRPO)。但在生成式推荐中,每个 token 的生成质量直接影响最终推荐效果。能否给每一步 token 生成都提供精细的奖励信号?此外,现有方法都未能充分利用用户的完整交互集合(包含点击、曝光未点击、未曝光等多种价值层次)。

GFlowNet 的本质与为什么适合 GR

GFlowNet 的核心目标:Generative Flow Networks(GFlowNet)让生成概率正比于奖励:$P(\tau) \propto R(s_L)$。它通过在生成轨迹上的 flow-matching 机制,将终端奖励 $R(s_L)$ 反向传播到每一步 token 生成——这正是 Token 级监督的自然载体。

$$F(s_l) P_F(s_{l+1} \mid s_l) = F(s_{l+1}) P_B(s_l \mid s_{l+1})$$
Flow-matching 约束(GFlowNet 核心公式)
  • $F(s_l)$:Flow estimator——状态 $s_l$ 的流值,表示经过该状态的"流量"(由网络预测)
  • $P_F(s_{l+1} \mid s_l)$:前向转移概率——从 $s_l$ 生成下一个 token 转到 $s_{l+1}$ 的概率
  • $P_B(s_l \mid s_{l+1})$:后向概率——$s_{l+1}$ 来自 $s_l$ 的概率
  • Flow-matching 约束保证:进入每个状态的流量 = 离开每个状态的流量(守恒原理)
GFlowNet 为什么适合 GR:两个关键洞察——
天然的多步生成结构:GR 的自回归生成天然是一个 DAG(有向无环图),每个 token 是图中的一个节点,从 $s_0 = \{\emptyset\}$ 逐步生成到 $s_L = \{\langle a_2\rangle\langle b_4\rangle\langle c_{10}\rangle\}$。GFlowNet 的 flow 守恒约束恰好可以作用于每个 token 生成步骤。
Item Value Perception + 全交互集利用:通过 $P(\tau) \propto R(s_L)$,GFlowNet 不仅能让高奖励 item 的生成概率更高(排序能力),还能让生成概率按奖励比例分布(多样性)。同时,可以将用户的所有交互(点击、曝光未点击、未曝光)组织为不同奖励的轨迹,在一个训练步骤中全量利用。
💡 举例:GFlowNet 如何处理不同价值的 item

假设用户历史交互中有三种 item:

点击的蓝色夹克($R = 1.0$):生成轨迹 $\tau_1 = \langle a_2\rangle\langle b_4\rangle\langle c_{10}\rangle$,GFlowNet 让 $P(\tau_1) \propto 1.0$,概率最高。

曝光但未点击的黄色衬衫($R = 0.24$):生成轨迹 $\tau_2 = \langle a_8\rangle\langle b_3\rangle\langle c_{10}\rangle$,GFlowNet 让 $P(\tau_2) \propto 0.24$,有一定概率但低于点击 item。

未曝光的灰色裤子($R = 0.06$):生成轨迹 $\tau_3 = \langle a_2\rangle\langle b_1\rangle\langle c_3\rangle$,GFlowNet 让 $P(\tau_3) \propto 0.06$,概率最低但仍有探索机会。

这样,GFlowNet 自然实现了"高价值 item 更容易被推荐"的排序能力,同时保留了多样性(低价值 item 仍有一定生成概率,不会被完全压制)。

GR 中 GFlowNet 的简化优势

在 GR 场景中,GFlowNet 的后向概率 $P_B$ 非常简单:

$$P_B(s_l \mid s_{l+1}) = 1$$
原因:GR 的 token 生成是顺序确定的——$s_{l+1} = \{t_i\}_{i \leq l+1} = \{s_l, t_{l+1}\}$,即每个后续状态只能由唯一的前驱状态产生。因此后向概率恒等于 1,这大大简化了 GFlowNet 的计算,使得核心设计挑战只剩下两个:构造训练轨迹 $\tau$ 和设计奖励模型 $R(s_L)$。
⚙️
2. 方法详解

2.1 整体框架

GFlowGR整体框架图
Figure 2(论文原图):GFlowGR 的整体框架。核心工作流:给定输入 $(U, v)$,轨迹采样器将单一正样本 $v$ 扩展为 N-item 交互集 $\{v_n\}_{n \leq N}$,GFlowNet 估计每条轨迹的前向概率 $P_F$ 和流值 $F$,奖励模型计算 $R(s_L)$,最终 DB/TB Loss 将奖励信号分配到每个 token 步骤。

GFlowGR 的核心思想:将 GR 的 token 序列生成视为 GFlowNet 的轨迹 $\tau = s_0 \to s_1 \to \ldots \to s_L$,其中 $s_l$ 是第 $l$ 个 token。通过 GFlowNet 的 flow-matching 约束,让每个 token 的生成概率 $P_F(s_{l+1} \mid s_l)$ 与最终的奖励 $R(s_L)$ 相关联。

关键设计理念:GFlowGR 只修改 LLM 的微调阶段,推理阶段完全不变——推理时仍然用标准自回归生成。这意味着 GFlowGR 是一个纯粹的训练框架改进,不需要任何推理端的改动或额外开销。

2.2 轨迹采样器(Trajectory Sampler)

轨迹采样器的任务是:对于给定用户-交互对 $(U, v)$,将单一的 ground truth item $v$ 扩展为 $N$ 个 item 的交互集 $\{v_n\}_{n \leq N}$(其中 $v_1 = v$),从而提供更丰富的训练信号。GFlowGR 设计了 4 种轨迹采样策略:

策略方法特点适用阶段
Interaction Log从用户真实交互日志中截取同 session 的 $N-1$ 个 item保真度高,覆盖真实分布;但仅包含正面样本,稀疏场景可能不足工业场景首选
Random从 item 集合中随机采样 $N-1$ 个 item覆盖广,但质量低,大量无效轨迹(如"给喜欢蓝色衬衫的用户推荐黄色裤子");训练不稳定基础增强
CM-based Curriculum用 Click Model(CM)对候选 item 打分 $\hat{y}^{CM}_{v_n} = \text{CM}(v_n, U)$,按分数从低到高逐步引入课程学习策略:先易后难。训练初期选低 CM 分(易区分负样本),后期选高 CM 分(难区分负样本),平衡探索与利用推荐方案
On-policy用当前 LLM 以 beam search 生成 top-$N$ 个负样本在线策略,与模型当前能力匹配;但训练不稳定(模型自身生成的负样本质量随训练变化),计算开销大补充策略
💡 举例:CM-based Curriculum 采样

假设我们有 10 万条历史交互轨迹,每条轨迹对应用户点击了某个商品。

Batch 1(低 CM 分,"简单负样本"):先从 CM 预估分最低的 30% 轨迹中采样——例如给"喜欢蓝色正装的用户"推荐"黄色内衣",模型很容易分辨这不是好推荐,帮助模型快速建立 token 生成与奖励的基本关联。

Batch 2(中等 CM 分,"中等负样本"):再从 CM 预估分中等的 40% 轨迹中采样——例如"蓝色夹克"(与用户偏好相近但非最优),模型学习更复杂的 token-奖励映射。

Batch 3(高 CM 分,"困难负样本"):最后从 CM 预估分最高的 30% 轨迹中采样——例如"蓝色 Polo 衬衫"(几乎和 ground truth 一样好),迫使模型精调每个 token 的选择差异。

这种课程学习策略(Curriculum Learning)让模型从"容易分辨的 token"逐步过渡到"难以分辨的 token",避免了随机采样中大量低质量轨迹带来的噪声,同时解决了随机负样本在训练后期变得"太简单"而不贡献梯度的问题。

CM 集成的双重作用:协作模型(CM)在 GFlowGR 中有两个用途:(1)为轨迹采样器提供难度排序信号,实现 Curriculum Learning;(2)为奖励模型提供预估分数 $r_c$(见 2.3 节)。这意味着 CM 是 GFlowGR 框架中可选但非常实用的组件——没有 CM 也能运行(用 Random/On-policy),但加入 CM 后效果显著提升。

2.3 多信号奖励模型(Multi-Signal Reward Model)

GFlowGR 的奖励模型融合三种信号,解决传统 GFlowNet 奖励模型在推荐场景中的两个关键问题:(1)仅依赖交互信号无法评估未观测 item;(2)给增强样本赋零奖励会加剧曝光偏差。

$$R(s_L) = r_a + r_c + r_{\text{sim}}$$

$r_a$:交互信号(Interaction Signal)

标记 item 的交互层次。例如:

  • $r_a = 10$:liked(收藏)的 item 轨迹 $\tau$
  • $r_a = 1$:clicked(点击)的 item 轨迹 $\tau$
  • $r'_a = 0$:augmented(增强)或 unpresented(未曝光)的轨迹 $\tau'$

最可靠的信号,但稀疏——大量 item 没有交互记录。

$r_c$:CM 预估分(Estimated Score)

协作模型对 item 吸引力的预估:

  • $r_c = \hat{y}^{CM}_v$:正样本 $v$ 的 CM 分数
  • $r'_c = \hat{y}^{CM}_{v'}$:增强样本 $v'$ 的 CM 分数

稠密信号(每个 item 都有预估分),但可能有偏差——CM 的预估精度不如 GR 模型本身。

$r_{\text{sim}}$:Token 相似度 / 格式奖励(Format Reward)

衡量生成 token 序列与 ground truth item 的部分匹配程度:

$$r'_{\text{sim}} = \sum_{l=1}^{L} \mathbb{I}(t_l = t'_l), \quad r_{\text{sim}} = L \text{ (for positive item)}$$

其中 $\mathbb{I}(\cdot)$ 是指示函数。例如 ground truth 为 $\langle a_2\rangle\langle b_4\rangle\langle c_{10}\rangle$,增强样本为 $\langle a_2\rangle\langle b_1\rangle\langle c_3\rangle$,则 $r'_{\text{sim}} = 1$(只有第一个 token 相同)。这个信号提供了 Token 级的格式约束,确保生成的 token 是有效 SID 且与目标 item 语义相近。

三种信号的互补设计哲学:$r_a$ 提供真实的交互反馈(最强信号但稀疏);$r_c$ 提供稠密的预估信号(数据多但可能有偏差);$r_{\text{sim}}$ 提供格式约束(确保生成的 token 是有效 SID 且与目标 item 语义相近)。三者互补,构成完整的奖励函数。消融实验显示 $r_a$ 影响最大,$r_c$ 因 CM 精度限制贡献略小。

2.4 DB/TB 双 Loss 变体

由于 GR 中后向概率 $P_B(s_l \mid s_{l+1}) = 1$(前文已解释),GFlowNet 的 DB 和 TB Loss 在 GR 场景下有更简洁的形式:

Detailed Balance(DB)Loss — 步骤级

$$\mathcal{L}_{DB}(\tau) = \sum_{l=0}^{L-1} \left( \log \frac{F(s_l) \cdot P_{GR}(t_{l+1} \mid U, s_l)}{F(s_{l+1})} \right)^2$$
符号说明
  • $F(s_l)$:状态 $s_l$ 的流值(由 flow estimator 网络预测)
  • $P_{GR}(t_{l+1} \mid U, s_l)$:LLM 生成 token $t_{l+1}$ 的前向概率(即 $P_F$)
  • $F(s_{l+1})$:下一状态的流值;$F(s_L) = R(s_L)$(终态流值 = 奖励值)
  • DB 在每个 token 步骤计算 loss,粒度最细——每个 token 都有独立的监督信号
  • 适合大规模并行训练(每步 loss 可独立计算)

Trajectory Balance(TB)Loss — 轨迹级

$$\mathcal{L}_{TB}(\tau) = \left( \log \frac{Z \prod_{l=0}^{L-1} P_{GR}(t_{l+1} \mid U, s_l)}{R(s_L)} \right)^2$$
符号说明
  • $Z$:全局标量,近似 $F(s_0)$(可学习参数或固定值)
  • $\prod_{l=0}^{L-1} P_{GR}(t_{l+1} \mid U, s_l)$:完整轨迹的前向概率乘积
  • $R(s_L)$:终态奖励
  • TB 在完整轨迹上计算 loss,一条轨迹一个 loss 值——方差更小但粒度粗
  • 适合对整条轨迹有清晰偏好的场景
💡 举例:DB vs TB 的区别

假设一条 3-token 轨迹 $(s_1, s_2, s_3)$ 最终奖励 $R=0.8$。

TB Loss:只看整条轨迹——"模型认为这条轨迹的总概率 × Z,与 0.8 的偏差是多少?"一条轨迹一个 loss 值。相当于只看终点,不管中间过程。

DB Loss:看每一步——"模型认为 $s_0 \to s_1$ 的 flow 应该是多少?$s_1 \to s_2$ 呢?$s_2 \to s_3$ 呢?"每步都要满足 flow 守恒,一共 3 个 loss 项。每步都有独立监督信号。

DB 粒度更细,每步都有监督信号,适合并行训练。TB 粒度粗但方差更小,适合对整条轨迹有清晰偏好的场景。论文实验中 TB 在大部分场景表现更好,推测原因是 GR 的中间状态不唯一标识 item(同一个 prefix 可对应多个 item),使得 TB 的轨迹级优化更有效。

2.5 完整损失函数

GFlowGR 的完整训练损失将 SFT loss 和 GFlowNet loss 结合:

$$\mathcal{L}(U, v, \{\tau_n\}_{n \leq N}) = \mathcal{L}_{GR}(U, v) + \lambda \sum_{n=1}^{N} \mathcal{L}_{GFN}(\tau_n)$$
符号说明
  • $\mathcal{L}_{GR}(U, v)$:标准 SFT next-token prediction loss(Equation 1),确保模型保留基础推荐能力
  • $\mathcal{L}_{GFN}(\tau_n)$:GFlowNet loss(DB 或 TB),对每条轨迹提供 Token 级监督
  • $\lambda$:平衡系数,控制 GFlowNet loss 的权重。论文实验发现 $\lambda = 1.0$ 最优——过大($\lambda \geq 10$)会压制 SFT 的基础能力
  • $N$:轨迹数量(含正样本 + 增强样本)。论文实验发现 $N=3$ 最优
为什么需要保留 SFT Loss:GFlowNet loss 优化的是 flow-matching 目标(让生成概率正比于奖励),而 SFT loss 确保模型能正确生成 ground truth item 的 token 序列。如果完全去掉 SFT loss($\lambda$ 过大),模型可能忘记了"如何正确生成推荐"这一基础能力。消融实验证实:$\lambda \geq 10$ 时性能明显下降,说明 SFT 在维持基本推荐能力中扮演关键角色。

2.6 训练与推理流程(Algorithm 1)

步骤操作说明
1训练 Item Tokenizer用 $\mathcal{L}_T$(codebook + reconstruction loss)训练 tokenizer,将 item 转为 $L$-token 标识符
2构建用户 Prompt将历史交互序列和用户画像转为 LLM 输入格式
3获取正样本轨迹 $\tau_1$将 ground truth item $v$ 转为 token 序列
4轨迹采样:生成 $N-1$ 条增强轨迹用 4 种策略之一(Interaction Log / Random / CM-based / On-policy)采样
5计算前向概率 $P_{GR}$对所有轨迹 $\tau_n$,LLM 输出每步的 token 生成概率
6计算流值 $F(s_l)$Flow estimator 预测每个中间状态的流值
7计算奖励 $R(s_L)$$R = r_a + r_c + r_{\text{sim}}$,多信号奖励融合
8计算 $\mathcal{L}_{GFN}$用 Equation 5(DB)或 Equation 6(TB)计算 GFlowNet loss
9计算 $\mathcal{L}_{GR}$标准 SFT next-token prediction loss
10总 Loss $\mathcal{L} = \mathcal{L}_{GR} + \lambda \sum \mathcal{L}_{GFN}$更新 LLM 参数
推理阶段:GFlowGR 在推理时完全不需要——直接加载 LLM checkpoint 和 tokenizer,对任意用户 $U$ 构建 prompt,自回归生成 $L$ 个 token 作为推荐 item 的标识符,解码返回预测 item。推理流程与标准 GR 完全一致,无额外开销。
📊
3. 实验结果

数据集与实验设置

数据集# Users# ItemsSparsityAvg. length
Yelp30,43120,03299.85%9.39
Beauty22,36212,10199.92%7.87
Instruments24,7729,92299.99%7.32

三个公开数据集的数据划分方式:每个用户的最后一个交互 item 作为测试样本,倒数第二个作为验证集,其余作为训练集。评估指标为 Hit Rate(R@5, R@10)和 NDCG(N@5, N@10),每个测试重复 3 次(随机种子 {42, 43, 44})。

Backbone 模型:TIGER( pioneering GR 框架)和 LETTER(引入协同 item embedding 和多样性约束的 tokenizer)。Baseline 包括 SFT、GRPO、DPO、S-DPO、SPRec、IPA。

公开数据集主实验(Table 2)

核心结论:GFlowGR-TB 在几乎所有指标和所有数据集上都显著超越所有 baseline(* 表示统计显著,one-sided t-test $p < 0.05$)。GFlowGR-DB 在大部分场景也超越所有 baseline,但在部分指标上与 S-DPO 接近。

以下展示 Beauty 数据集上 TIGER backbone 的完整结果:

方法R@5R@10N@5N@10
SFT0.03540.05580.02340.0299
GRPO0.03470.05430.02290.0291
DPO0.03080.04830.02000.0256
S-DPO0.03140.04920.02080.0265
SPRec0.03120.04870.02050.0258
IPA0.03060.04810.01980.0245
GFlowGR-DB0.0388*0.0629*0.0254*0.0336*
GFlowGR-TB0.0407*0.0651*0.0266*0.0344*
参数敏感性分析
Figure 3(论文原图):参数 $N$(增强轨迹数)和 $\lambda$(GFlowNet loss 权重)的敏感性分析。两者均呈现倒 V 形曲线:$N=3$ 最优(太少多样性不足,太多引入噪声);$\lambda=1.0$ 最优(过大压制 SFT 的基础推荐能力)。

关键实验观察

vs SFT

GFlowGR-TB 在所有数据集和 backbone 上都显著超越 SFT,证明 GFlowNet 通过增强样本、flow-matching 目标和协同知识整合,有效提升了模型容量。

GFlowGR-TB 比 GFlowGR-DB 提升更显著,推测原因是 GR 的中间状态不唯一标识 item(同一 prefix 可对应多个 item),使得 TB 的轨迹级优化更有效。

vs On-policy RLFT(GRPO)

GRPO 在部分场景甚至不如 SFT(如 Beauty/TIGER 上 R@5 = 0.0347 < SFT 的 0.0354)。原因:GRPO 强制正样本概率最大化并归一化 item set 概率,但 GFlowGR 让概率正比于奖励但不强制归一化,对增强 item set 的鲁棒性更好。

vs Off-policy RLFT(DPO 系列)

Vanilla DPO 在大规模数据(Yelp)上不如 SFT,因为用固定随机采样负样本太低质。S-DPO 能用多个负样本,是 DPO 系列中最好的,与 GFlowGR-DB 接近。这凸显了从 item set 而非 item pairs 学习的必要性。

DB vs TB

TB 在大部分场景优于 DB,尤其在 Yelp/TIGER 上差距明显。推测:GR 中间状态不唯一标识 item,TB 利用轨迹-item 一一对应关系更有效。DB 在 LETTER 上表现接近 TB,因为 LETTER 的 tokenizer 更有区分性。

消融实验(Table 3)

在 TIGER/Beauty 上进行消融,验证每个组件的贡献:

变体R@5R@10N@5N@10说明
仅 $r_a$0.04030.06410.02610.0341只用交互信号,去掉 CM 和相似度
仅 $r_c$0.03990.06310.02630.0338只用 CM 预估分
仅 $r_{\text{sim}}$0.04040.06340.02600.0343只用格式奖励
$r_a + r_c$0.03990.06290.02640.0337交互 + CM
$r_a + r_{\text{sim}}$0.04060.06480.02600.0344交互 + 格式
$r_c + r_{\text{sim}}$0.03810.06000.02530.0323CM + 格式(去掉交互信号,下降最大)
w/o Ada(去掉 CM-based Curriculum)0.03860.06000.02570.0326用 Random 代替 CM-based,性能下降
w/o Traj(去掉增强轨迹,$N=1$)0.03970.06170.02610.0332退化为 SFT + 单轨迹 GFN loss
GFlowGR(完整)0.04070.06510.02660.0344三信号 + CM-based Curriculum + 多轨迹
消融实验关键发现:
① 丢失任何奖励信号都会导致性能下降,$r_a$(交互信号)影响最大,$r_c$(CM 预估分)贡献略小(因为 CM 预估精度不如 GR 本身);
② 用 Random 替换 CM-based Curriculum 导致性能下降——不稳定训练 + 低质增强样本;
③ 去掉增强轨迹($N=1$)性能明显下降——证明从 item set 而非单一正样本学习的必要性。

参数敏感性分析

增强轨迹数 $N$

$N \in \{0, 1, 3, 5\}$。呈现倒 V 形曲线:

  • $N=0$:退化为纯 SFT,多样性不足
  • $N=1$:仅 1 条增强轨迹,信号不够丰富
  • $N=3$:最优——3 条增强轨迹提供足够的多样性
  • $N=5$:过多增强轨迹引入噪声,误导训练

推荐配置:$N=3$(1 正 + 2 增强)。

平衡权重 $\lambda$

$\lambda \in \{0.01, 0.1, 1, 10, 100\}$。同样呈现倒 V 形:

  • $\lambda = 0.01$:GFlowNet loss 几乎无贡献
  • $\lambda = 1.0$:最优——SFT 和 GFlowNet 目标均衡
  • $\lambda \geq 10$:过度强调 GFlowNet,压制 SFT 的基础推荐能力
  • $\lambda = 100$:严重退化

推荐配置:$\lambda = 1.0$。

工业部署:淘宝全量广告 A/B 测试

GFlowGR 自 2025 年 5 月起部署到淘宝所有搜索广告平台(淘宝移动端、闲鱼 App、淘宝 Web),服务数亿日活用户,驱动数十亿级年营收。

方法H@20N@20训练成本
SFT0.3580.3711.0×
GRPO0.4270.408计算不可行
GFlowGR0.4440.4522.1×
部署场景
Figure 4(论文原图):GFlowGR 的三个部署场景:淘宝移动端、闲鱼 App、淘宝 Web。广告标注在产品右下角蓝色框中。

在线 A/B 测试核心指标

指标提升幅度说明
总营收+0.43%在十亿级年营收上的绝对增长
非首页搜索营收+1.11%提升最大——该场景 item 空间更大、GFlowNet 的 token 级监督优势更明显
CTR+0.38%点击率提升
CVR+0.52%转化率提升
训练成本SFT 的 2.1×可通过 doubling GPU 数量使其与 SFT 时间持平
GRPO 的计算不可行:论文特别指出 GRPO 在工业场景的计算成本"不可行"(computationally infeasible)。原因:GRPO 是 on-policy 方法,需要模型自身生成样本再评估,在大规模数据上的计算开销远超 off-policy 方案。而 GFlowGR 的 2.1× 成本可以通过 doubling GPU 数量完全解决——这使得 GFlowGR 成为工业场景中唯一可行的 RL-based 微调方案。
A/B 测试细节:超过 1 亿用户 session 参与,连续 15 天数据采集,由淘宝内部监控系统验证统计显著性。非首页搜索场景提升最大(+1.11%),推测原因是该场景 item 空间更大、token 生成路径更复杂,GFlowNet 的 token 级监督优势更明显。
💡
4. 个人理解与启发

核心亮点

  • Token 级监督是 GR 的必然方向:SFT 只模仿、DPO 只比大小,都太粗糙。GFlowNet 提供了一套优雅的 Token 级监督框架——这可能是生成式推荐从"能跑"到"跑得好"的关键一步。同时,GFlowNet 的 $P(\tau) \propto R(s_L)$ 还自带多样性保证(不退化为 argmax),这在推荐场景中尤为重要。
  • GFlowNet 与 GR 的天然契合:GR 的自回归生成天然是有向无环图(每个 token 是状态节点),正是 GFlowNet 的标准应用场景。更重要的是,$P_B = 1$ 的简化让实现变得极其轻量——核心设计挑战只剩下两个:构造轨迹和设计奖励。这让 GFlowGR 成为工业可落地的方案。
  • CM-based Curriculum 是关键工程创新:随机采样产生大量噪声,on-policy 采样不稳定且计算不可行。用 Click Model 做课程学习——先易后难、逐步提升——是一个实用的工程方案,解决了 GFlowNet 训练中"负样本质量"这个核心难题。
  • 多信号奖励的设计哲学:真实交互($r_a$)最可靠但稀疏,预估信号($r_c$)密集但有偏,格式信号($r_{\text{sim}}$)保证合理性。三者互补,构成完整的奖励函数。这种"互补信号融合"思路可以推广到其他 RL-based 微调方案。
  • 工业可行性是最大亮点:GRPO 在淘宝场景的计算不可行,而 GFlowGR 仅需 SFT 的 2.1× 成本(可通过 doubling GPU 消除),推理端零额外开销。这是 RL-based GR 微调方案中唯一工业可落地的。

与相关工作的对比

方法监督方式负样本来源多样性保证工业可行性
SFT模仿正样本无负样本✅ 基础方案
DPO / S-DPO偏好对(chosen vs rejected)随机 / 策略采样⚠️ 但效果有限
SPRec迭代偏好对Self-play(beam search)⚠️ 需迭代训练
IPA (OneRec)偏好对 + CM reward最高 reward 的 beam search 结果⚠️ 需迭代训练
GRPO组内相对优势On-policy(模型自生成)⚠️ 最大化正样本概率❌ 计算不可行
GFlowGRToken 级 flow-matchingCM-based Curriculum$P(\tau) \propto R$✅ 2.1× SFT 成本
GFlowGR vs FlowRec:GFlowGR 与同期工作 FlowRec [9](arXiv 2503.07377,作者为 Gao et al.)的区别——FlowRec 也用 GFlowNet 做推荐微调,但仅限于 text-based LLM recommendation(非 GR 的 semantic ID 生成范式)。GFlowGR 是第一个将 GFlowNet 应用到 GR(semantic ID token-by-token 生成)的工作,也是第一个在工业级 GR 系统中全量部署的工作。

潜在不足与开放问题

  • 训练成本 2.1× SFT:虽然可通过 doubling GPU 消除时间差距,但对资源受限的系统仍有开销压力。未来可探索更高效的 flow estimator(如用轻量网络替代全 LLM)。
  • $\alpha, \beta$ 需按场景调参:论文默认 $R = r_a + r_c + r_{\text{sim}}$(即 $\alpha=\beta=1$),但不同场景的信号质量差异可能导致最优权重不同。论文未详细讨论权重搜索策略。
  • CM 的精度瓶颈:$r_c$ 消融实验贡献略小,原因是"CM 预估精度不如 GR 本身"——这暗示 CM 可能不是最佳的外部预估模型。未来可考虑用 GR 自身的 forward probability 作为 $r_c$ 的替代。
  • On-policy 采样的不稳定:论文只在公开数据集上比较了 On-policy,工业部署中未使用。On-policy 的不稳定是否可通过更好的采样策略(如 temperature scheduling)解决?
  • 推理效率未讨论:GFlowGR 微调后,推理端完全不变——但这意味着模型参数量不变、推理时间不变。论文没有讨论 GFlowNet 微调是否会让模型在推理时产生更"混乱"的 token 分布(因为训练目标从 argmax 变为按奖励比例分布)。
  • 与 TIGER/LETTER 的耦合:GFlowGR 目前在两个 GR backbone 上验证,是否对 tokenizer 设计有依赖?如果 tokenizer 的区分性很差(很多 item 共享同一 prefix),DB loss 可能效果下降。

对我的启发

启发一:将 GR 视为 DAG 上的轨迹优化。GFlowGR 提供了一个很好的视角:将生成式推荐的 token 生成过程视为 DAG 上的轨迹采样,用 flow-matching 约束实现 Token 级精细优化。这个视角可以推广到其他序列生成场景(如多轮对话推荐、多步推理推荐),其中每一步生成都需要独立的、精细的监督信号。

启发二:CM-based Curriculum 的课程学习策略。在推荐系统微调中非常实用——与其用全部数据无差别训练,不如按样本难度分层、从易到难地逐步提升模型能力。这种方法在其他 RL-based 微调方案(DPO/GRPO)中也可以借鉴,特别是在"负样本选择策略"这个关键设计点上。

启发三:推理零开销的设计哲学。GFlowGR 只改训练不改推理——这是工业落地的重要保障。类似思路可以推广:任何训练阶段的改进(不管是 RL-based 还是其他),都应该追求"推理端零额外开销"的目标,否则在工业场景中很难被采纳。

启发四:$P_B = 1$ 的简化对工业部署至关重要。很多 GFlowNet 理论工作在复杂的后向概率设计上投入大量精力,但在 GR 场景中 $P_B = 1$ 的简化让实现变得极其轻量。这提醒我们:在特定应用场景中,理论框架的简化版本可能比"完美"版本更实用。

启发五:多信号奖励融合的普适性。"真实交互 + 预估信号 + 格式约束"的三信号融合思路不仅适用于 GFlowGR,也适用于任何需要从稀疏交互数据中学习的推荐微调方案。特别是 $r_{\text{sim}}$ 的"部分正确性"度量——在 DPO/GRPO 中,rejected sample 如果与 chosen 有一部分匹配,是否也应该获得部分 reward 而不是完全被压制?

论文链接:arXiv 2506.16114

关键词:GFlowNet · 生成式推荐 · Token 级监督 · 轨迹采样 · 多信号奖励 · Detailed Balance · Trajectory Balance · Curriculum Learning

对比基线:SFT · DPO · S-DPO · SPRec · IPA · GRPO

Backbone:TIGER · LETTER

部署:淘宝搜索广告 · 闲鱼 App · 淘宝 Web(2025 年 5 月全量上线)