强化学习1-Liu2026_GFlowRL_精读笔记

GFlowRL: Scaling Distribution-Matching RL to Large Language Models

一句话:微软研究院把GFlowNet中那个"学不会又爱捣乱"的配分函数网络直接砍掉,用批次内蒙特卡洛估计替代,让分布匹配RL首次在235B MoE上稳定训练,顺便在14B规模就追平了o3-mini的做题水平。


一、论文元信息

字段 内容
标题 GFlowRL: Scaling Distribution-Matching RL to Large Language Models
作者 Xiaodong Liu†‡*, Michael Xu*, Jack W. Stokes, Paul Smolensky, Doug Burger, Jianfeng Gao‡(Microsoft Research;†项目负责人,‡通讯作者,*同等贡献)
发布日 2026年7月15日
发表平台 arXiv:2607.13394
代码 https://github.com/microsoft/gflowrl(即将发布)
相关方法 FlowRL (Zhu et al., 2026, ICLR), FOR (Yu et al., 2025, ICML), GRPO (Shao et al., 2024)

二、摘要与核心发现

2.1 一句话总结

GFlowNet风格的RL因一个"学不会的配分函数网络"而无法扩展到大规模LLM后训练。作者干脆把这个网络删掉,用批次内MC估计替代,结果不仅稳定性大幅提升,性能还全面超越此前方法,首次在MoE架构上实现稳定训练。

2.2 问题诊断(全篇最有价值的部分)

作者做了两个关键诊断实验:

  1. 把学习到的配分函数 Zϕ 替换为纯随机噪声 → 性能不变甚至略好。

    • FlowRL标准训练:35.63% 平均准确率
    • FlowRL-RandomLogZ(Zϕ 替换为 N(0.5, 1) 噪声):36.19%
    • 结论:Zϕ 根本没学到有用的东西,它只是个噪声源。
  2. 梯度爆炸对比

    • FlowRL 梯度范数均值:3.2 × 10¹⁴(55/421步超过10⁶)
    • GFlowRL 梯度范数均值:0.07
    • GRPO 梯度范数均值:0.24
    • 结论:Zϕ 是训练不稳定性的罪魁祸首。

2.3 三大核心贡献

  1. 删掉配分函数网络:用in-batch MC估计 log Z = (1/G) Σ βr + log(πref) - log(πold),无需额外参数。
  2. 两个稳定器:重要性采样校正(纠正rollout/trainer分布偏移)+ 非对称flow-gap裁剪(正方向比负方向宽容)。
  3. 跨架构扩展:密集模型14B达Codeforces 2048 ELO(超o1 157分,距o3-mini仅25分);MoE 30B-A3B达1999 ELO;MoE 235B-A22B稳定训练。

三、背景

3.1 GFlowNet与Trajectory Balance

GFlowNet(Bengio et al., 2021, 2023)的核心思想是学习一个策略,使采样轨迹的概率正比于奖励,而非单纯最大化奖励。对LLM后训练,这意味着模型会覆盖所有高分推理路径,而非坍缩到单一最优解。

Trajectory Balance(TB)目标函数:

L T B ( θ , ϕ ; x , y ) = ( log ⁡ Z ϕ ( x ) + log ⁡ π θ ( y ∣ x ) π r e f ( y ∣ x ) − β r ( x , y ) ) 2 L_{TB}(\theta, \phi; x, y) = \left( \log Z_\phi(x) + \log \frac{\pi_\theta(y|x)}{\pi_{ref}(y|x)} - \beta r(x, y) \right)^2 LTB(θ,ϕ;x,y)=(logZϕ(x)+logπref(y∣x)πθ(y∣x)−βr(x,y))2

其中 Z ϕ ( x ) Z_\phi(x) Zϕ(x) 是学习到的配分函数,在FlowRL中用三层MLP(基于prompt的最后隐藏状态)参数化。

3.2 从GRPO到GFlowNet:为什么需要分布匹配

#mermaid-svg-Xx9yueLOCw64y6ji{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-Xx9yueLOCw64y6ji .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-Xx9yueLOCw64y6ji .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-Xx9yueLOCw64y6ji .error-icon{fill:#552222;}#mermaid-svg-Xx9yueLOCw64y6ji .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-Xx9yueLOCw64y6ji .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-Xx9yueLOCw64y6ji .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-Xx9yueLOCw64y6ji .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-Xx9yueLOCw64y6ji .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-Xx9yueLOCw64y6ji .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-Xx9yueLOCw64y6ji .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-Xx9yueLOCw64y6ji .marker{fill:#333333;stroke:#333333;}#mermaid-svg-Xx9yueLOCw64y6ji .marker.cross{stroke:#333333;}#mermaid-svg-Xx9yueLOCw64y6ji svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-Xx9yueLOCw64y6ji p{margin:0;}#mermaid-svg-Xx9yueLOCw64y6ji .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-Xx9yueLOCw64y6ji .cluster-label text{fill:#333;}#mermaid-svg-Xx9yueLOCw64y6ji .cluster-label span{color:#333;}#mermaid-svg-Xx9yueLOCw64y6ji .cluster-label span p{background-color:transparent;}#mermaid-svg-Xx9yueLOCw64y6ji .label text,#mermaid-svg-Xx9yueLOCw64y6ji span{fill:#333;color:#333;}#mermaid-svg-Xx9yueLOCw64y6ji .node rect,#mermaid-svg-Xx9yueLOCw64y6ji .node circle,#mermaid-svg-Xx9yueLOCw64y6ji .node ellipse,#mermaid-svg-Xx9yueLOCw64y6ji .node polygon,#mermaid-svg-Xx9yueLOCw64y6ji .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-Xx9yueLOCw64y6ji .rough-node .label text,#mermaid-svg-Xx9yueLOCw64y6ji .node .label text,#mermaid-svg-Xx9yueLOCw64y6ji .image-shape .label,#mermaid-svg-Xx9yueLOCw64y6ji .icon-shape .label{text-anchor:middle;}#mermaid-svg-Xx9yueLOCw64y6ji .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#mermaid-svg-Xx9yueLOCw64y6ji .rough-node .label,#mermaid-svg-Xx9yueLOCw64y6ji .node .label,#mermaid-svg-Xx9yueLOCw64y6ji .image-shape .label,#mermaid-svg-Xx9yueLOCw64y6ji .icon-shape .label{text-align:center;}#mermaid-svg-Xx9yueLOCw64y6ji .node.clickable{cursor:pointer;}#mermaid-svg-Xx9yueLOCw64y6ji .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#mermaid-svg-Xx9yueLOCw64y6ji .arrowheadPath{fill:#333333;}#mermaid-svg-Xx9yueLOCw64y6ji .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-Xx9yueLOCw64y6ji .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-Xx9yueLOCw64y6ji .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Xx9yueLOCw64y6ji .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#mermaid-svg-Xx9yueLOCw64y6ji .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Xx9yueLOCw64y6ji .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#mermaid-svg-Xx9yueLOCw64y6ji .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-Xx9yueLOCw64y6ji .cluster text{fill:#333;}#mermaid-svg-Xx9yueLOCw64y6ji .cluster span{color:#333;}#mermaid-svg-Xx9yueLOCw64y6ji div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-Xx9yueLOCw64y6ji .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#mermaid-svg-Xx9yueLOCw64y6ji rect.text{fill:none;stroke-width:0;}#mermaid-svg-Xx9yueLOCw64y6ji .icon-shape,#mermaid-svg-Xx9yueLOCw64y6ji .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#mermaid-svg-Xx9yueLOCw64y6ji .icon-shape p,#mermaid-svg-Xx9yueLOCw64y6ji .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#mermaid-svg-Xx9yueLOCw64y6ji .icon-shape .label rect,#mermaid-svg-Xx9yueLOCw64y6ji .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#mermaid-svg-Xx9yueLOCw64y6ji .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#mermaid-svg-Xx9yueLOCw64y6ji .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#mermaid-svg-Xx9yueLOCw64y6ji :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} GRPO/PPO: 最大化奖励
模式坍缩

所有概率坍到单峰
GFlowNet: 匹配奖励分布
保留多样性

覆盖所有高分路径

GRPO和PPO本质上是奖励最大化的------它们将概率质量集中到最高奖励模式上。这在代码和数学竞赛中看似有效(只需求一个正确答案),但在需要覆盖多种解空间(如安全红队攻击、创意生成)时暴露结构性缺陷。

3.3 为什么FlowRL扩展不动

FlowRL(Zhu et al., 2026)是第一个将TB目标引入LLM推理的规模化尝试,但存在根本性不对称:

组件 初始状态 训练需求
Policy πθ 预训练数十亿参数 仅需微调
Partition Zϕ 随机初始化 从头学习复杂量

这种不对称导致:Zϕ 在整个训练过程中基本是个噪声源,而它的梯度贡献可以比策略梯度大十几个数量级。在MoE模型中,稀疏路由的随机性进一步放大了这个问题。


四、方法论:GFlowRL

4.1 核心公式

In-batch MC估计 log Z

Z ^ t ( x ) : = 1 G ∑ i = 1 G β r ( x , y ( i ) ) + log ⁡ π θ r e f ( y ( i ) ∣ x ) π ϕ o l d ( y ( i ) ∣ x ) \hat{Z}t(x) := \frac{1}{G} \sum{i=1}^{G} \left \\beta r(x, y\^{(i)}) + \\log \\frac{\\pi_{\\theta_{ref}}(y\^{(i)}\|x)}{\\pi_{\\phi_{old}}(y\^{(i)}\|x)} \\right Z^t(x):=G1i=1∑Gβr(x,y(i))+logπϕold(y(i)∣x)πθref(y(i)∣x)

这个估计量的巧妙之处:它直接从GRPO已有的rollout group中计算,零额外成本。

GFlowRL训练损失

L G F l o w R L ( θ ; x ) = 1 G ∑ i = 1 G w ( i ) ( g ~ ( i ) + 1 ∣ y ( i ) ∣ log ⁡ π θ ( y ( i ) ∣ x ) π o l d ( y ( i ) ∣ x ) ) 2 \mathcal{L}{GFlowRL}(\theta; x) = \frac{1}{G} \sum{i=1}^{G} w^{(i)} \left( \tilde{g}^{(i)} + \frac{1}{|y^{(i)}|} \log \frac{\pi_\theta(y^{(i)}|x)}{\pi_{old}(y^{(i)}|x)} \right)^2 LGFlowRL(θ;x)=G1i=1∑Gw(i)(g~(i)+∣y(i)∣1logπold(y(i)∣x)πθ(y(i)∣x))2

其中 w ( i ) = min ⁡ ( π θ / π o l d , 1 + ϵ ) w^{(i)} = \min(\pi_\theta / \pi_{old}, 1+\epsilon) w(i)=min(πθ/πold,1+ϵ) 为重要性采样权重, g ~ ( i ) = clip ( g ( i ) , − ϵ l o w , + ϵ h i g h ) \tilde{g}^{(i)} = \text{clip}(g^{(i)}, -\epsilon_{low}, +\epsilon_{high}) g~(i)=clip(g(i),−ϵlow,+ϵhigh) 为非对称裁剪后的flow gap。

4.2 公式推导关键点

步骤 说明
1. 定义flow gap $g^{(i)} = \text{sg}\\hat{Z}_t(x) + \frac{1}{
2. 非对称裁剪 正方向 ϵ h i g h \epsilon_{high} ϵhigh > 负方向 ϵ l o w \epsilon_{low} ϵlow,因为正确解在训练早期被欠采样,需要更强的正反馈
3. 长度归一化 除以响应长度 $
4. 重要性采样 纠正 π o l d \pi_{old} πold 与 π θ \pi_\theta πθ 之间的分布偏移(off-policy correction)

4.3 与FlowRL的本质区别

维度 FlowRL GFlowRL
Z估计 学习型MLP网络 Zϕ(x) In-batch MC估计(无参数)
额外参数 需要(MLP + 优化器状态)
分布式开销 跨模块同步
梯度规模 均值 10¹⁴ 均值 0.07
MoE兼容性 发散 稳定收敛

五、实验设计

5.1 模型与数据集

领域 模型 数据集 指标
数学 Qwen2.5-7B/32B, Qwen3-30B-A3B, Qwen3-235B-A22B AIME24/25, AMC23, MATH-500, Minerva, Olympiad Avg@16
代码 DeepSeek-R1-Distill-Qwen-7B/14B LiveCodeBench, Codeforces, HumanEval+ Avg@16 / Rating
安全 SEMA框架 AdvBench, HarmBench ASR@1

5.2 对比基线

  • 分布匹配线:FlowRL
  • 奖励最大化线:GRPO, GRPO+, PPO, REINFORCE++
  • 安全专用线:SEMA(多轮越狱攻击SOTA), X-Teaming

5.3 关键诊断实验

  1. RandomLogZ实验:将Zϕ替换为N(0.5,1)噪声------性能不降反而微升
  2. 合成高斯混合:三维高斯混合目标,FlowRL和RandomLogZ均产生接近均匀的采样,未能捕获多模态结构
  3. 梯度范数对比:FlowRL vs GFlowRL vs GRPO,揭示稳定性差异

六、实验结果

6.1 数学推理(Qwen2.5-7B)

方法 AIME24 AIME25 AMC23 MATH500 Minerva Olympiad Avg
Backbone 4.38 2.08 30.78 54.47 22.38 24.03 23.02
GRPO 13.54 9.79 64.53 57.05 23.06 26.88 32.48
FlowRL 15.41 10.83 54.53 66.96 31.41 34.61 35.63
FlowRL-RandomLogZ 12.08 9.38 62.66 69.44 26.29 37.30 36.19
GFlowRL 17.29 9.79 67.66 76.89 33.62 40.25 40.92

GFlowRL较GRPO提升 +8.44 平均分,较FlowRL提升 +5.29。

6.2 代码(DeepSeek-R1-Distill-Qwen-7B/14B)

方法 LiveCodeBench Codeforces Rating HumanEval+
Backbone 30.68 886.68 80.90
GRPO 32.75 1313.82 80.13
FlowRL 37.43 1549.47 83.28
GFlowRL 38.62 1646.21 84.93

14B规模:GFlowRL-14B 达 Codeforces 2048 ELO,超过 o1 (+157)、DeepCoder-14B (+112)、FlowRL-14B (+144),距 o3-mini (2073) 仅差 25 分。

6.3 安全红队

攻击者 / 受害模型 AdvBench Avg ASR@1 HarmBench Avg ASR@1
X-Teaming 36.0 37.3
SEMA(此前SOTA) 80.1 75.0
GFlowRL 82.5 79.5

FlowRL在此场景下发散,无法产生可用攻击者。GFlowRL不仅收敛,还超越此前SOTA多轮攻击者SEMA。

6.4 MoE扩展

模型 配置 结果
Qwen3-30B-A3B 30B总参/3B激活 Codeforces 1999 ELO(超o1 +108);Math Avg +3.80
Qwen3-235B-A22B 235B总参/22B激活 Math Avg +2.06(仅30步训练,GRPO用100步)

FlowRL在两个MoE配置上均发散。

6.5 消融实验

消融项 GFlowRL 消融版本 差值
Flow-gap裁剪 40.92 37.02(no-clip) -3.90
多样性评分(1-5) 3.93 GRPO:1.21, PPO:1.15, FlowRL:2.64 3.2× GRPO
β敏感度 38.2 peak β∈1,10内波动≤0.5 低敏感

七、实验结论

核心结论

结论 证据强度
学习型配分函数Zϕ是GFlowNet扩展瓶颈 强(RandomLogZ实验 + 梯度统计)
In-batch MC估计是可行替代 强(全benchmark超越FlowRL)
GFlowRL可跨密集/MoE架构稳定训练 强(7B→235B均验证)
分布匹配在数学/代码/安全上均优于奖励最大化 强(vs GRPO/PPO全胜)

方法本质

GFlowRL做的事情本质上并不复杂------它发现了GFlowNet的标准recipe中有一个"做无用功还捣乱"的组件(Zϕ),把它砍掉后用已有的rollout信息做估计,再加上两个稳定器。与其说这是一次算法创新,不如说是一次工程诊断+减法设计的成功。


八、实验规模

维度 估算/说明
模型参数规模 7B → 14B → 32B 密集;30B-A3B / 235B-A22B MoE
训练步数 数学100步,代码100-200步,MoE-235B仅30步(因GPU限制)
Rollout group size GRPO标准配置(G≈8-16),论文未明确调整
计算资源 微软内部GPU集群,235B训练暗示大规模分布式
框架 verl + deepcoder + FlowRL + SEMA,PyTorch

九、数学公式汇总

编号 公式 含义
(1) L T B = ( log ⁡ Z ϕ + log ⁡ π θ / π r e f − β r ) 2 L_{TB} = (\log Z_\phi + \log \pi_\theta/\pi_{ref} - \beta r)^2 LTB=(logZϕ+logπθ/πref−βr)2 Trajectory Balance 原始目标
(2) Z ^ t = 1 G ∑ β r + log ⁡ π r e f − log ⁡ π o l d \hat{Z}_t = \frac{1}{G}\sum\\beta r + \\log\\pi_{ref} - \\log\\pi_{old} Z^t=G1∑βr+logπref−logπold In-batch MC 估计(核心创新)
(3) g ( i ) = sg Z \^ t + 1 ∣ y ∣ log ⁡ π o l d π r e f − β r g^{(i)} = \text{sg}\\hat{Z}_t + \frac{1}{|y|} \log\frac{\pi_{old}}{\pi_{ref}} - \beta r g(i)=sgZ\^t+∣y∣1logπrefπold−βr Flow gap
(4) g ~ ( i ) = clip ( g ( i ) , − ϵ l o w , + ϵ h i g h ) \tilde{g}^{(i)} = \text{clip}(g^{(i)}, -\epsilon_{low}, +\epsilon_{high}) g~(i)=clip(g(i),−ϵlow,+ϵhigh) 非对称裁剪
(5) w ( i ) = min ⁡ ( π θ / π o l d , 1 + ϵ ) w^{(i)} = \min(\pi_\theta/\pi_{old}, 1+\epsilon) w(i)=min(πθ/πold,1+ϵ) 重要性采样权重
(6) L G F l o w R L = 1 G ∑ w ( i ) ( g ~ ( i ) + 1 ∣ y ∣ log ⁡ π θ π o l d ) 2 \mathcal{L}{GFlowRL} = \frac{1}{G}\sum w^{(i)}(\tilde{g}^{(i)} + \frac{1}{|y|}\log\frac{\pi\theta}{\pi_{old}})^2 LGFlowRL=G1∑w(i)(g~(i)+∣y∣1logπoldπθ)2 GFlowRL 最终损失

十、争议与局限

10.1 论文自身承认的局限

局限 说明
MC估计方差 小group size时Z的MC估计方差可能更大,依赖两个稳定器控制
泛化性未验证 仅在数学/代码/红队上验证,Agent/多模态场景未知
理论保证弱 Proposition B.1仅保证固定点性质,不保证有限batch下非凸优化的收敛

10.2 未言明的局限

局限 分析
创新高度有限 本质上是一个"砍组件+换估计器"的工程优化,算法新颖性低于FlowRL和FOR的原始TB引入
与GRPO的边界模糊 当flow-gap裁剪活跃时,GFlowRL的更新方向与GRPO有本质差异吗?论文未做系统对比分析
MoE-235B训练仅30步 "资源受限只训了30步"的声明削弱了大规模结论------30步的改进可能来自学习率热身而非算法优势
Zϕ=噪声的诊断逻辑链 "Zϕ≈噪声"这个诊断虽然漂亮,但可能过于简化------如果换一种初始化或更大容量MLP,Zϕ是否仍无用?论文未消融

10.3 社区关注点

  • FlowRL作者对"Zϕ无用论"的回应值得关注------FlowRL在某些场景(如小规模、长训练)下Zϕ是否仍有价值?
  • Kimi K3 (2.8T) 和 DeepSeek-R1 的后训练pipeline是否会采用分布匹配路线?

十一、批判性分析(五维度)

11.1 一句话核心吐槽

GFlowRL的"创新"本质上是在说:FlowRL精心设计的配分函数网络从头到尾都在摸鱼,把它删了反而训练更稳、性能更好。这就像你买了一台高端咖啡机,发现磨豆功能总是卡住,最后你直接买现成咖啡粉倒进去,咖啡反而更好喝------问题解决了,但你开始怀疑自己为什么要买那台机器。

11.2 假设挖掘

假设1:批次内rollout group是Z的充分统计量。

GFlowRL假设同一prompt的G个rollout足以提供Z的准确估计。现实反例:当奖励信号极其稀疏(如Agent任务中100步才有一次反馈),G个rollout的Z估计方差会极大,而此时一个训练有素的Zϕ(如果它能学会)反而可能更稳定。

假设2:长度归一化是安全的近似。

论文假设推理任务的response长度大致均匀(Remark B.4),因此除以长度不扭曲分布匹配的目标。现实反例:在开放式创意写作中,好答案的长度可能从50到5000 tokens不等,长度归一化会系统性地偏袒短答案。

假设3:非对称裁剪不会改变最优不动点。

论文声称在最优解附近flow gap为零所以裁剪不活跃(Remark B.3)。现实反例:在非凸优化中,"附近"的定义取决于当前参数到最优解的距离------如果训练早期或中期正处于一个偏远的鞍点区域,非对称裁剪可能将优化推向完全不同于TB目标的方向,且无法恢复。

11.3 基线公平性检测

问题:如果我拿到了GFlowRL的代码,但把GRPO的KL惩罚系数、学习率、warmup步数、rollout temperature全部调到最优,GFlowRL还能赢吗?

答案:在数学和代码上,大概率仍然能赢,但差距会显著缩小。

理由

  1. GFlowRL在Codeforces上的1904→2048提升,有相当一部分来自分布匹配带来的解决方案多样性------这在竞赛编程中尤其有价值,因为多个测试用例需要不同路径覆盖。
  2. 但在Avg@16这种采样后投票的指标上,GRPO如果调得足够好(尤其是temperature和采样策略),可以通过大量采样来模拟多样性。GFlowRL的优势在于用更少样本获得同等多样性------这在实际部署中是真正的效率优势,但在公平对比中可能被缩小。
  3. 安全红队场景是GFlowRL最稳固的优势------GRPO从根本上不适合这个任务(需要多模态攻击策略),超参调整无法弥补目标函数的结构性差异。

11.4 消融实验补刀

恶意消融设计:移除flow-gap裁剪,同时将G减小一半(从默认的8到4),观察性能下降。

预期结果:计算量减少约50%(小G → 更少的前向传播 + 更简单的loss计算),性能可能从40.92掉到约35-36(无裁剪的37.02再减去G减半的噪声惩罚)。

论证:作者的消融只证明了"有裁剪比没裁剪好",但未证明"这个裁剪的设计(非对称 + 特定阈值)是最优的"。他们应该额外消融:(a) 对称裁剪 vs 非对称裁剪;(b) 不同(ϵ_low, ϵ_high)组合的敏感性分析;© 用更简单的裁剪替代方案(如直接基于分位数的winsorization)。这些缺失表明作者在"证明自己的设计选择最优"上投入不足。

11.5 未来终结者

终结方向:直接训练一个"内在多样化"的基座模型------即通过预训练数据配方和退火策略,使得SFT后的模型本身就能以reward-proportional的概率覆盖多条推理路径,无需任何显式的分布匹配RL。

为什么这会终结GFlowRL:如果基座模型已经自然具备GFlowNet想要诱导的多样性,那么后训练只需要简单的GRPO就能同时获得高准确率和高多样性。在这种情况下,GFlowRL的核心贡献("砍掉Zϕ、用MC估计替代")就变成了解决一个本不存在的问题。近期Kimi K3和Gemma 4的进展暗示,足够好的预训练数据配方确实能显著提升模型的内在推理多样性------如果这个趋势持续,分布匹配RL可能从"必要组件"降级为"历史注脚"。


十二、五阶段深度分析

第一阶段:定位与动机

1. 问题定义

RL后训练中的分布匹配问题:如何让LLM的策略覆盖所有高分推理路径,而非坍缩到单一最优解。这个问题在数学推理(需要多种解法)、代码竞赛(需要多测试用例覆盖)和安全红队(需要多样的攻击策略)中均有实际意义。

2. 动机批判

论文的动机建立在FlowRL"扩展失败"的观察上,但诊断过程过于依赖经验观察:Zϕ≈噪声 → 所以Zϕ是瓶颈。这个逻辑链漏了一个关键问题:Zϕ是不是因为FlowRL的实现不够好才表现得像噪声? 如果Zϕ用更好的初始化(如从πref的log-likelihood预训练)、更大的容量、或单独的学习率调度,它能否从"噪声源"变成"有用组件"?论文用一个固定的随机噪声替换实验就宣布Zϕ无用,说服力不足------这相当于说你用一台坏的咖啡机磨了豆,得出结论是"磨豆这个步骤本身没用"。

3. "奥卡姆剃刀"质问

GFlowRL声称自己比FlowRL"更简单"------砍掉了Zϕ网络。但仔细检查损失函数(Eq. 8),你会发现它引入了至少三个新的超参:ϵ_low、ϵ_high、ϵ(重要性采样上限),外加β、G(group size)。相比之下,GRPO的核心超参只有clip_epsilon和β。所以GFlowRL真的更简单吗?它只是把参数从"网络权重"变成了"超参"------这更像是复杂度转移而非真正简化。

第二阶段:方法论拆解

4. 输入与输出

  • 输入:prompt x, rollout group {y^(1), ..., y^(G)} from π_old, rewards r(x, y^(i)), reference policy π_ref
  • 输出:更新后的policy π_θ,目标分布为 π_ref(y|x) · exp(βr(x,y)) / Z(x)
  • 信息流:rollout → Z估计(无梯度) → flow gap计算 → 非对称裁剪 → IS加权 → 平方损失 → 梯度回传

5. 核心假设清单

# 假设 脆弱性评估
1 G个样本足以估计Z 中(稀疏奖励时失效)
2 Response长度≈均匀 低(推理任务确实如此)
3 非对称裁剪不影响最优解 中(非凸优化中可能偏航)
4 IS权重在0, 1+ε 低(标准TRPO/PPO实践)
5 π_old与π_θ的KL有界 中(依赖rollout频率)

6. 冗余性分析

GFlowRL的损失函数(Eq. 8)可以拆解为三个部分:

  • Z估计(stop-gradient, 纯baseline)
  • 策略项(log π_θ/π_old,携带梯度)
  • 裁剪+IS(稳定化trick)

如果去掉裁剪和IS,GFlowRL退化为REINFORCE with a fancy baseline。如果再去掉Z估计,退化为REINFORCE with reward baseline。这意味着GFlowRL的创新增量主要集中在第一项(Z估计方式),而二三项是已知trick的组合。论文声称"分布匹配"是核心贡献,但工程上使它能用的其实主要是裁剪+IS------这两者恰恰与分布匹配的目标无关,而是通用的RL稳定技术。

第三阶段:实验逻辑审判

7. 基线的公平性

GRPO使用了默认配置,FlowRL使用官方配置。但GRPO的超参(尤其是KL惩罚系数和temperature)在数学vs代码vs安全上应该不同------论文没有为每个任务单独调GRPO。同样,FlowRL在安全红队下发散,但这是否通过降低学习率或使用gradient clipping能够解决?论文宣称FlowRL发散,但只跑了"标准配置"一次------这对FlowRL不公平。

8. 消融实验的灵魂拷问

现有消融只覆盖了β值和flow-gap裁剪。至少应该补充:

  • 不同G值(group size)对Z估计质量的影响
  • 对称 vs 非对称裁剪
  • IS权重的作用(去掉IS后性能下降?)
  • 长度归一化的必要性(去掉后是否不稳定?)
  • 不同Z估计器(中位数 vs 均值,trimmed mean等)

缺少这些消融,论文的"设计选择"更像"碰巧work"而非"精心设计"。

9. 统计显著性欺骗

论文未报告任何标准差、置信区间或统计检验。在数学Avg@16指标上,不同方法在单个benchmark上的差异(如AIME24的17.29 vs 15.41)是否显著?考虑到AIME只有30道题,2分的差距可能就是1-2道题的波动。在MoE-235B上,GFlowRL仅训练30步v.s. GRPO的100步------在训练步数不同的情况下比较是不公平的。

第四阶段:边界与失效模式

10. 极端压力测试

以下场景GFlowRL可能失败:

  • 单样本推理(G=1):Z估计退化为单样本目标,方差极大
  • 极长horizon(Agent >100步):rollout代价过高,无法获取多样本
  • 连续奖励(如RLHF偏好分):βr在连续空间下Z估计的解释性存疑
  • 多轮对话:每轮独立的Z估计忽略对话状态

11. 失败案例的自我曝光

论文展示了FlowRL在红队上发散,但未展示GFlowRL自身的失败案例。按常理,非对称裁剪(ε_high > ε_low)在以下情况会出错:当大部分rollout是错误解但恰好有一两个高奖励解时,正方向的宽容裁剪可能过度推高这些罕见好解的概率,导致policy过度锐化------这恰恰是分布匹配想要避免的模式坍缩。

12. 资源与现实鸿沟

  • O(d²)的Jacobian计算不存在,但分布式训练中rollout-trainer的同步开销依然存在
  • 235B MoE训练仅30步------这个规模的RL训练成本对大多数学术实验室是不可企及的
  • 代码未开源("即将发布"),复现难度未知

第五阶段:延伸与重构

13. 逆向应用

GFlowRL的核心技巧(in-batch MC估计替代学习型归一化器)可以反向用于其他需要归一化常数的场景:

  • 对比学习:InfoNCE中的partition估计
  • 能量模型训练:噪声对比估计的替代
  • VAE:ELBO中KL项的batch估计

核心前提是"rollout group already exists"------任何已经有grouped sampling的设置都可以尝试这个技巧。

14. 拼接可能性

拼接方向 可能性
GFlowRL + QuasiMoTTo(QMC采样) 用QMC生成更少但更有信息量的rollout,降低Z估计方差
GFlowRL + Ring-Zero(1T verifiable RL) 在万亿参数规模用分布匹配替代奖励最大化
GFlowRL + SEMA框架 将GFlowRL作为SEMA的攻击者生成模块
GFlowRL + J-lens监控 用J-space检测分布匹配RL是否真的诱导了内部推理多样性

15. 改写摘要挑战

原标题摘要风格:GFlowNets offer a promising alternative... remains difficult... We address these challenges through systematic analysis... Our main finding is that the learned partition function... can be replaced by an in-batch Monte Carlo estimate...
改写后(更坦诚版):我们想用GFlowNet做LLM后训练,但发现FlowRL那个"学出来的配分函数"既不干活还捣乱(梯度爆炸10¹⁴级别)。我们试了试把它换成随机噪声------性能居然没降。于是干脆删了它,用在GRPO本来就要采样的rollout group算个均值来替代。再加两个稳定trick,我们就得到了GFlowRL:一个更简单、更稳、性能更好的分布匹配RL,在数学/代码/安全上全面超越此前方法,首次在235B MoE上跑通。论文的实质贡献是"识别出一个可删除的冗余组件",而非"发明了一个新组件"。


十三、个人评注

13.1 方法论价值

GFlowRL的诊断方法比方法论本身更有价值。RandomLogZ实验------"把组件换成噪声看看性能变不变"------是一种低成本、高信息量的诊断手段,应该成为RL算法开发的标配。但论文本身的方法学新颖性有限:砍掉Zϕ并用batch statistics替代,这在思路上与GRPO用组内均值做baseline是同构的。

13.2 与RL后训练全景的关系

2026年RL后训练正经历从"单一最优"到"多样性"的范式转变。GFlowRL代表分布匹配路线,Ring-Zero代表verifiable-reward极大规模路线,QuasiMoTTo代表采样效率优化路线。这三者不是互斥的------理想的后训练pipeline可能同时使用QMC采样 + GFlowRL分布匹配 + Ring-Zero的稳定trick。

13.3 需要跟进的方向

  • 等待代码开源 → GitHub
  • 对比\[2026-06-17_FlowTracer_精读笔记\|FlowTracer]中的flow-based方法与GFlowRL的异同
  • 关注FlowRL作者对"Zϕ无用论"的回应
  • 在Qwen3-8B上复现RandomLogZ诊断实验,验证Zϕ≈噪声的结论是否模型/任务相关
  • 关注αXiv上是否出现改进版Zϕ(如从πref初始化、使用更复杂的架构)

13.4 开放问题

  1. 如果Zϕ真的是纯噪声,为什么FlowRL在某些benchmark上(如AIME24的15.41 vs GRPO的13.54)仍然有增益?分布匹配的目标函数本身(即使带上噪声Zϕ)是否已经在提供不同于奖励最大化的梯度方向?
  2. GFlowRL在数学和代码上的增益,有多少来自"分布匹配",多少来自flow-gap裁剪的正则化效果?
  3. 如果GFlowRL本质上是GRPO + fancy baseline,它与REINFORCE with learned baseline的边界在哪里?

相关推荐
fuquxiaoguang1 小时前
当算力成为一种“出口”:Meta联手信实重塑南亚AI云格局
人工智能·meta·算力租赁·数据主权·印度
金融Tech趋势派1 小时前
金融行业如何用企业微信大圆提升客户服务效率?
人工智能·企业微信
甄同学1 小时前
第二十篇:MCP协议集成,Claude Code如何扩展AI Agent的能力边界
开发语言·人工智能·qt
阿萨德528号1 小时前
Kimi K3:全球首个开源 3T 级大模型,技术解读与手记
人工智能·ai·语言模型·开源
天天爱吃肉82181 小时前
# 商用车多体动力学整车仿真学习笔记(开篇总览)
人工智能·笔记·python·功能测试·学习·汽车
田里的水稻1 小时前
EP_局域网传输音视频的主流方案
运维·人工智能·机器人·音视频
武子康1 小时前
GitHub Copilot for JetBrains 架构拆解:Provider / Endpoint / Skills / Sandbox / Polic
人工智能·ai编程·github copilot
Allen说改装1 小时前
2025 APAxpo佛山改装展的展出规模达到了多少平方米?
人工智能·python
时空无限1 小时前
nvidia 显卡架构 Hopper、Ada 和 Blackwell 这些名字有啥规律或者意义吗
人工智能·nvidia