【OPD】Black-Box On-Policy Distillation of Large Language Models

note

  • 判别器作为on-policy奖励模型,在训练过程中不断适应学生的行为,提供了稳定且动态的监督信号。对应的loss为Bradley-Terry loss,具体公式为-loss log σ(D(y_t)-D(y_s))
  • 生成器根据给定的提示生成响应,判别器则评估这些响应的质量,区分教师和学生的输出。生成器的目标是生成判别器无法区分的响应,而判别器的目标是区分教师和学生的响应
  • GAD框架有效地解决了黑箱LLM蒸馏的关键挑战,通过在最小最大博弈中训练学生模型和适应性判别器,无需任何logits级别的监督
  • 实验结果表明,GAD在多个模型家族和数据集上一致优于标准的序列级蒸馏方法,提供了卓越的泛化能力和与专有教师相媲美的性能。这些结果验证了GAD作为黑箱LLM蒸馏的有效和鲁棒解决方案。

文章目录

一、研究背景

Black-Box On-Policy Distillation of Large Language Models

  • 研究问题:这篇文章要解决的问题是如何在无法访问教师模型的内部概率分布或隐藏状态的情况下,从教师模型生成的文本中有效地进行知识蒸馏,特别是针对大语言模型(LLMs)的黑箱蒸馏。
  • 研究难点:该问题的研究难点包括:黑箱设置下缺乏细粒度的概率监督信号,传统的基于似然的目标函数不可用;学生在生成自己的响应时,无法获得教师的显式反馈,难以进行有效的在线策略学习。
  • 相关工作:该问题的研究相关工作有:标准的白箱知识蒸馏方法,如前向KL散度(KLD)和反向KLD;最近的研究强调了在线策略学习的重要性,但这些方法通常依赖于白箱访问。

传统OPD:student rollout -> teacher 在 student 前缀上输出 logits -> KL(p_teacher || p_student) -> 更新 student

  • 需要访问 teacher 的概率分布(logits)
  • 需要 teacher 和 student tokenizer 对齐

二、GAD框架

这篇论文提出了生成对抗蒸馏(Generative Adversarial Distillation, GAD)框架,用于解决黑箱LLM蒸馏的问题。

1、生成对抗训练:GAD将学生LLM视为生成器,并训练一个判别器来区分教师和学生生成的响应。生成器和判别器形成了一个最小最大博弈。生成器的目标是生成判别器无法区分的response,而判别器的目标是为教师响应分配更高的分数。

2、训练目标:训练目标是最小化以下值函数:

max ⁡ G min ⁡ D V ( G , D ) = E ( x , y t ) ∼ T − log ⁡ σ ( D ( y t ) − D ( G ( x ) ) ) , \max_G \min_D \mathcal{V}(G,D) = \mathbb{E}_{(x,y_t) \sim \mathcal{T}} -\\log \\sigma(D(y_t) - D(G(x))), GmaxDminV(G,D)=E(x,yt)∼T−logσ(D(yt)−D(G(x))),

其中, σ ( ⋅ ) \sigma(\cdot) σ(⋅) 表示 sigmoid 函数,Bradley-Terry 模型用于捕捉教师和学生响应之间的成对偏好。

3、训练算法:生成器和判别器的训练分别如下:

  • 生成器 G 的训练目标:

(Generator) max ⁡ G E ( x , y t ) ∼ T D ( G ( x ) ) , \text{(Generator)} \quad \max_G \mathbb{E}_{(x,y_t) \sim \mathcal{T}} D(G(x)), (Generator)GmaxE(x,yt)∼TD(G(x)),

其中,输入提示 x 和生成的响应 y 拼接后输入到判别器 D 中。

  • 判别器 D 的训练目标:

(Discriminator) min ⁡ D E ( x , y t ) ∼ T − log ⁡ σ ( D ( y t ) − D ( G ( x ) ) ) . \text{(Discriminator)} \quad \min_D \mathbb{E}_{(x,y_t) \sim \mathcal{T}} -\\log \\sigma(D(y_t) - D(G(x))). (Discriminator)DminE(x,yt)∼T−logσ(D(yt)−D(G(x))).

判别器使用 Bradley-Terry 损失来捕捉成对偏好,鼓励对教师响应给予更高的评分。

和OPD、GRPO的区别:

普通 OPD GAD 普通 GRPO
rollout student student student
监督来源 teacher logits teacher answer → discriminator reward/verifier
优化算法 KL/JSD GRPO GRPO
是否需要 teacher logits
是否黑盒 teacher 可用

三、实验设计

  • 数据集:实验使用了LMSYS-Chat-1M-Clean3数据集,这是从高质量的对话数据中收集的。教师模型采用GPT-5-Chat,学生模型则使用了Qwen2.5和Llama3系列的开源模型。
  • 训练:所有模型训练3个epoch,批量大小为256,总共约2400个优化步骤。生成对抗蒸馏的训练包括1个预热epoch和2个GAD训练epoch。
  • 评估:使用GPT-4o评分进行评估,同时还包括Dolly、SelfInst和Vicuna数据集的测试集以评估模型在分布外的泛化能力。人类评估也在LMSYS-Chat-1M-Clean测试集上进行,以进行定性评估。

四、结果分析

自动评估结果:GAD在所有数据集和模型变体上一致优于基线模型。例如,在LMSYS-Chat测试集上,Qwen2.5-3B-Instruct在GAD训练后达到了与SeqKD训练的Qwen2.5-7B-Instruct相当的水平;Qwen2.5-14B-Instruct在GAD训练后接近GPT-5-Chat教师的能力。

人类评估结果:GAD在几乎所有比较中都赢得了超过50%的胜率,并且损失率低于30%,表明其在人类评估中也能一致优于基线模型。

SeqKD的过拟合问题:SeqKD学生在局部模式上的N-gram重叠较高,但GPT-4o评分较低,表明其倾向于记忆局部词汇模式,而GAD方法更好地捕捉了教师的全局风格特征。

与离线判别器的比较:与离线判别器方法相比,GAD方法在数千个训练步骤中保持稳定,没有出现奖励破解现象,证明了其作为在线策略蒸馏方法的可靠性和鲁棒性。

Reference

1 https://github.com/microsoft/LMOps/tree/main/gad