Stable-GFlowNet: 基于对比轨迹平衡的多样化稳健 LLM 红队框架 Stable-GFlowNet: Toward Diverse and Robust LLM Red-Teaming via Contrastive Trajectory Balance
用对比轨迹平衡替代 GFN 的 Z 估计,将红队独特攻击数提升近 8 倍且 ASR 稳定在 92%
前置知识
Generative Flow Networks (GFN)
GFN 学习随机策略 $\pi_\theta$,让生成对象 $y$ 的概率与奖励 $R(y)$ 成比例:$\pi_\theta(y)\propto R(y)$。匹配完整奖励分布而非仅最大化,用于因果发现、分子设计等离散组合对象探索。LLM 红队中把攻击 prompt 当作轨迹,追求高奖励与多样性。
本文是 GFN 在 LLM 红队上的稳定性改进,读懂 GFN 的『按奖励比例采样』目标才能理解为什么 S-GFN 要恢复 $\pi_\theta(y)=R(y)/Z$ 这条最优策略。
Trajectory Balance (TB)
TB 是 GFN 用于 LLM 的常见目标:引入可学习 $Z_\theta$ 估计配分函数,$\mathcal{L}_{TB}=(\log Z_\theta + \log \pi_\theta(y) - \log R(y))^2$。$Z_\theta$ 在高维空间难学准,导致高方差梯度。
本文的核心改进正是消除 TB 中的 $Z_\theta$ 项,理解 TB 的公式结构才能看出 CTB 为何能在数学上恢复同样的最优策略。
LLM Red-Teaming 与分布匹配重构
红队目标:找到诱导受害者 LLM 产生有毒输出的 prompt $y$。传统 RL 把毒性 $R(y)=E_z[T(y,z)]$ 作奖励最大化,易坍缩到单一模式。Lee et al. (2024) 重构为分布匹配:$\pi_\theta(y)\propto R(y)$,覆盖高奖励又保留多样。
这一重构是 S-GFN 整个方法论的出发点——既然要『匹配分布』,就要保证训练过程稳定,否则分布匹配会退化。
Mode Collapse 与 Reward Hacking
Mode collapse 指策略只产生少数重复样本;Reward Hacking 指模型利用奖励函数的漏洞(比如毒性分类器对乱码文本随机给出 0.2-0.3 分)刷高分数却不真正有用。两者在红队里互相强化:模型发现乱码能拿分 → 集中采样乱码 → 多样性彻底消失。
MKS 和 NGP 都是为解决这两个具体问题设计,理解红队奖励为什么『又稠密又有噪声』才能明白每个组件的必要性。
Pairwise / 对比学习范式
对比学习通过样本对的相对差异构造损失,如 DPO 用 $\log(\pi_\theta(y_w)/\pi_\theta(y_l))$ 替代奖励建模,避免估计全局归一化常数。本文 CTB 借用同一思想——把 GFN 的『绝对配分』问题转化为『两两相对流一致性』问题。
CTB 与 DPO/CB 数学结构相似却目标不同:DPO 排序好/坏回答,CTB 让攻击采样密度比等于奖励比。理解这个类比有助于把握 S-GFN 的本质创新。
研究动机
LLM 红队需要在部署前主动发现各类安全漏洞。现有三类方法都有明显缺陷:(1) 基于 RL 的方法(PPO、Jailbreak R1)以毒性为奖励最大化训练 attacker,PPO 在 ASR 达到 91.7% 时只能产出 3 条独特攻击(UA),Jailbreak R1 UA=75 但 ASR 仅 7.36%,多样性-有效性严重失衡;(2) Quality-Diversity 类方法(Rainbow Teaming、Ruby Teaming)依赖预定义的 style×topic 矩阵或记忆库,受限于 frozen LLM 的指令遵循能力,跨场景迁移差;(3) GFN-based 方法(如 Lee et al. 2024)虽然理论上有望同时覆盖高奖励和多样性,但在 LLM 这种离散高维空间里,Trajectory Balance 需要估计配分函数 $Z_\theta$,方差极大、训练不稳定,论文实测在 Qwen2.5-1.5B 上只能找到 17.67 条独特攻击,且对毒性分类器的噪声高度敏感——后者会给乱码文本随机打 0.2-0.3 分,引导策略收敛到 gibberish 局部最优。
本文的目标是作者希望同时达成三个目标:(a) 把 GFN 的训练从不稳定的 $Z_\theta$ 估计中解放出来,使分布匹配在 LLM 这种大规模离散空间里可扩展;(b) 保持 90% 以上的 Attack Success Rate(ASR),不因放弃 Z 估计而牺牲有效性;(c) 在多个 unseen 受害者模型和防御模型上同时展现强迁移性。具体指标上,把独特攻击数从 GFN 基线的 17 提升到 100+,并让基于 S-GFN 攻击数据做安全微调的模型对其他攻击方法具备强防御力。
与已有工作不同的是,此前 GFN 在 LLM 上唯一可行的目标是 TB,因为 Detailed Balance / SubTB 需要 token 级优化、开销过大;Contrastive Balance (CB) 又难以扩展到大模型。作者抓住一个被忽视的点:TB 的不稳定性根源在『绝对全局量 $Z_\theta$』,而分布匹配只需『相对密度比 $R(y_1)/R(y_2)$』就能完全刻画最优策略——这意味着完全可以丢掉 $Z$,只做 pair-wise 对比,再额外处理噪声奖励和 OOD 文本两个红队特有困难。
核心方法
直觉上,S-GFN 把 GFN 的『估计一个全局配分函数』改成『比较任意两条攻击的相对密度』,就像不再问『这两道菜分别值多少钱(绝对价值)』,而是只问『哪道菜更值得推荐(相对排序)』——后者天然更稳。同时,针对红队奖励『稠密但带噪声』的特性,加两个刹车:NGP 屏蔽奖励差太小的无信息梯度对(避免被随机性牵着走),MKS 直接把 gibberish 文本的奖励打成 −300(避免攻击器学到走捷径)。三者组合使训练既稳定又多样。技术路线上分三阶段:(1) sample+MKS 过滤→(2) pair-wise CTB+NGP 损失→(3) 单次反向传播更新 attacker。
本文最本质的创新是把 GFN 的全局目标转成『轨迹对的相对流一致性』目标。形式上 CTB 损失为 $\mathcal{L}_{CTB}(y_1,y_2;\theta)=\left(\log\frac{\pi_\theta(y_1)}{\pi_\theta(y_2)}-\log\frac{R(y_1)}{R(y_2)}\right)^2$。Theorem 4.1 证明:当 $R(y)>0$ 且 $\pi_\theta$ full support 时,CTB 全局最小 $J_{CTB}=0$ 当且仅当 $\pi_\theta(y)=R(y)/Z$——与 TB 最优策略完全相同,但完全不需要估计 $Z_\theta$。直觉上 $J_{CTB}(\theta)=2\cdot\mathrm{Var}_{\pi_\theta}(f(y))$,$f(y)=\log\pi_\theta(y)-\log R(y)$ 是 log-flow error,$f$ 为常数即 $\pi_\theta\propto R$。这是全文关键——可以扔掉 Z 而不损失最优解,只会换来稳定。
方法步骤详情
流程分三阶段(Algorithm 1)。Phase 1(O(N) 前向):attacker $\pi_\theta$ 用 meta-prompt 在温度 1.0 下生成 $N$ 条候选攻击 $y_i$,记录 $\ell_i=\log\pi_\theta(y_i)$(保留梯度);用参考模型 $\pi_{ref}$(不带梯度)计算 Min-K 流畅度 $M_k(y_i)=\frac{1}{k}\sum_{w\in K}\log\pi_{ref}(y_{i,w}|y_{i,\sigma$ 则累积 $(\Delta\Phi_{ij}-\Delta\Psi_{ij})^2$,否则跳过。Phase 3(O(N) 反向):一次反向传播求 $\nabla_\theta J_{SGFN}$,以 $\eta$ 更新 $\theta$;把奖励高的前半样本写回 replay buffer。
技术新颖性
技术上 S-GFN 的新颖性体现在三处对比:(1) 与 TB 相比,完全去掉 $Z_\theta$ 这一全局可学习参数,CTB 严格等价(Theorem 4.1)但去除了『配分函数不准』这一不稳定源;(2) 与 CB、DB、SubTB 等 Z-free 变体相比,CTB 不需要 token-level flow 比较,对 LLM 这种大模型计算开销几乎等价于 TB(Table D 显示 S-GFN 单步 4428 ms vs GFN 4654 ms),首次让 Z-free GFN 真正可扩展到大模型;(3) 与 KL 正则化相比,MKS 只惩罚最不流畅的 $k$ 个 token 的对数概率均值,不强制整体分布贴近参考模型,因此既阻挡 gibberish 又保留探索自由度——Table 3 显示同样的 KL 正则化 UA=20,而 MKS 把 UA 推到 108。此外,NGP 是首个把『梯度对按 reward 显著性 mask』用于 GFN 训练的技术手段。
实验结果
核心结果分四块。目标攻击(Table 1):S-GFN 在 1024 次采样下取得 UA=134.00、ASR=92.55%,UA 是 GFN 基线 17.67 的 7.6 倍,比 PPO(UA=3.00)高 45 倍。Cross-attack(Table 1 后四列)呈强不对称:S-GFN 防御把 GFN 攻击 ASR 压到 0.03%;反向 GFN-defense 下 S-GFN 仍 22.53% ASR,Rainbow-defense 56.25%,Jailbreak R1-defense 83.24%。迁移攻击(Table 2)覆盖 Gemma3-4B/Llama3.2-3B/Qwen3-4B/gpt-oss-20B,S-GFN UA 34.67/52.00/37.33/90.00。通用性(Figure 3+Table 4):CTB+NGP 在分子生成与带噪 hypergrid 上比 TB/SubTB 收敛更快、log-JSD 更低。Table B 多样性佐证:3-distinct 从 GFN 0.02 提到 0.38(19×),vocab 从 77.67 扩到 1521。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Target Victim Attack | Unique Attacks (UA#) | 134.00 | GFN 17.67 / PPO 3.00 / Jailbreak R1 75.33 | ≈7.6× over GFN, ≈45× over PPO |
| Target Victim Attack | Attack Success Rate (%) | 92.55 | GFN 93.75 / PPO 91.70 | 持平 GFN/PPO,远高于 Jailbreak R1 (7.36%) |
| Cross-Attack (vs S-GFN defense) | ASR (%) | 22.53 | GFN 0.03 / Rainbow 0.46 / Jailbreak R1 0.26 | 显著优于其他攻击者 |
| Cross-Attack (vs GFN defense) | ASR (%) | 56.25 | Rainbow 19.86 / Jailbreak R1 4.69 | ≈2.8× over Rainbow |
| Transfer to Llama3.2-3B | UA# / ASR (%) | 52.00 / 15.01 | GFN 6.33 / 32.19 | UA ≈8×,ASR 略低但多样性大幅领先 |
| Transfer to gpt-oss-20B | UA# | 90.00 | GFN 6.00 / Jailbreak R1 31.67 / Rainbow 69.33 | ≈15× over GFN |
| Molecular Generation (QM9) | Avg QED (convergence speed) | faster than TB/SubTB, comparable to DB | TB initial Z=10 才收敛;DB 单步开销大 | TB 在初始 Z=0 时不收敛,CTB 直接可用 |
| Noisy Hypergrid | log JSD (lower is better) | 低且稳定 | TB 因噪声不稳定,DB 单步慢 | CTB+NGP 同时拿到低 JSD 与快速收敛 |
| Diversity (Self-BLEU, lower better) | Self-BLEU | 0.64 | GFN 0.98 | 多样性显著提升 |
| Diversity (3-distinct, higher better) | 3-distinct | 0.38 | GFN 0.02 | ≈19× |
局限与改进
作者明确承认的限制:(1) NGP 需要额外阈值 $\sigma$,Figure Cc 显示 $\sigma$ 在 0.1-0.5 之间最佳,但选择仍需手动调优,过大(如 7.0)会切断 batch 连通图导致 UA 显著下降;(2) MKS 的 $k$ 和 $T_{mks}$ 也是超参数,Figure B 表明 ASR/UA 在 $T_{mks}=-10$ 附近平衡,过严会导致完全找不到攻击,过松则无法抑制 gibberish;(3) 奖励完全来自单一 Llama-Guard-3-8B,分类器偏差会被 GFN 放大。我的独立观察:(4) gpt-oss-20B 上 ASR 仅 0.51%,说明在更强商用对齐模型上红队仍困难;(5) 评估限于『单次 query』黑盒设定,未覆盖多轮 jailbreak 或 agentic 红队;(6) Table E 显示安全微调后 MMLU 由 60.4% 略降到 60.2%,能力损失小但非零;(7) 依赖 Qwen2.5-1.5B attacker,更换 backbone 可能需要重调所有阈值。
独立分析的弱点
四个具体弱点及改进方向。(1) **超参数脆弱性**:$\sigma$、$k$、$T_{mks}$ 三个阈值需联合调优,过严或过松都会让 ASR 归零——改进:用 batch 内 reward 分位数自适应 $\sigma$(如 top-25% pair 启用梯度),或对 $T_{mks}$ 用小批验证集自动搜索。(2) **单点 classifier 依赖**:所有奖励来自 Llama-Guard-3-8B,单一分类器偏差会被 GFN 放大——改进:引入多分类器集成或在 loss 中加 KL 多样性奖励。(3) **MKS 误伤专有名词**:Min-K 不区分『真 gibberish』与『罕见但合理的专有名词』,限制多语言/代码攻击探索——改进:结合 perplexity 和语言模型判定(如 fastText),只在被判为非自然语言时才硬截断。(4) **attacker 单一**:仅在 Qwen2.5-1.5B 上验证,迁移能力受该模型指令遵循能力限制——改进:用 MoE 或更大模型(如 Qwen2.5-7B)作 attacker backbone,或多 attacker 集成。
未来方向
作者提出的方向集中在把 CTB/NGP 推广到更广泛的分布匹配任务(已在分子生成和 noisy hypergrid 验证),并暗示 GFN+LLM 的组合可拓展到 reasoning / instruction tuning 等微调场景。基于成果可延伸的方向:(a) 把 CTB 接到 DPO/SimPO 等偏好对齐框架,因为形式上很接近,能做『多样性偏好』对齐;(b) 把 MKS 的 Min-K 思路用于 OOD 检测或水印识别(已在 Shi et al. 2023 中用于成员推断攻击);(c) 用 S-GFN 生成的 diverse attacks 做 safety fine-tuning 的数据增强,可能比现有 rejection sampling 更高效;(d) 与 active learning 结合:让 attacker 按 uncertainty 主动询问 victim,降低 query 成本(Yun et al. 2025 已有尝试);(e) 在 multi-modal LLM(图像、音频)红队上验证 CTB 是否仍有效,因为 MKS 的参考模型需要相应改造。
复现评估
代码将开源到 GitHub。数据集用公开的 Safety-Dataset 与 AdvBench,分类器 Llama-Guard-3-8B,attacker=Qwen2.5-1.5B,victim=Qwen2.5-1.5B-Instruct,全部可在 HuggingFace 下载。算力:作者用 4×RTX 4090(24 GB),每次训练 2-2.5 小时;Table D 显示单步 S-GFN 4428 ms vs GFN 4654 ms,开销几乎相同。复现难度中等:Algorithm 1 约 60 行,但需 (i) 正确实现 GFN replay buffer + on-policy 采样,(ii) 用 vLLM 部署 Llama-Guard,(iii) 按 Figure Cc 把 σ 设为 0.1-0.5、k=6、T_mks=-10。个人研究者推荐先跑目标攻击(~3 小时),再用 Table C 的 Louvain 聚类做轻量多样性验证。
论文图表
左侧四张小图对比 (a) RL-based、(b) GFN-based、(c) QD-based、(d) S-GFN 四类红队框架的流程差异:RL 直接最大化奖励(单一目标),GFN 用外部分区函数 Z,QD 用外部 memory bank,S-GFN 用相对分布匹配 + 噪声过滤。右侧柱状图展示 S-GFN 在 Unique Attacks (134) 和 Attack Success Rate (92%) 上同时碾压所有基线,并标注 GF*N 发现 7 倍于 GFN 的独特攻击。
这是论文的视觉摘要,把方法定位(四类方法的差异)和核心结果(数字)一次性呈现,读完这篇图读者就能在脑中建立 S-GFN 与三大红队范式的位置关系。
补充 Diversity、Self-BLEU、3-distinct、vocab size 四个指标。S-GFN 在 3-distinct=0.38(GFN 0.02)、vocab=1521(GFN 77.67)、Self-BLEU=0.64(GFN 0.98)上一致优于 GFN,证伪『多样性提升是因为乱码增加』。
排除『S-GFN 只是生成更多乱码』的替代解释,是文章可信度的重要支柱。