Lion: Adversarial Distillation of Proprietary Large Language Models

https://arxiv.org/abs/2305.12870

EMNLP 2023 main conference



以往的研究主要集中在一种单向的知识提炼方法上,即通过调整学生模型和教师模型对一组指令的反应来提炼知识。然而,他们忽略了整合任何“反馈”的可能性--识别学生模型性能不足的挑战性指令--以迭代方式提高学生模型的熟练度。为此,本文提出了一种新的对抗式知识提炼框架,以提高知识转移的效率.利用LLM的多功能角色适应性,我们促使教师模型识别“硬”指令并为学生模型生成新的“硬”指令,从而创建一个模仿、辨别和生成的三阶段对抗循环。





提示专有教师LLM充当“裁判”,以在教师和学生的响应之间存在显著性能差异的情况下区分硬指令,并且充当“生成器”,以产生仿真与所区分的硬指令相对应的数据分布的新指令。

框架在迭代中包括三个阶段:1)模仿阶段,将学生的反应与教师的反应相匹配; 2)辨别阶段,识别硬指令; 3)生成阶段,生成新的硬指令,以升级向学生模型提出的挑战。从本质上讲,我们的对抗框架形成了一个积极的反馈回路,有效地提高了学生模型的熟练程度。

模仿阶段——Imitation Stage

为了将教师的知识传授给学生,我们通过经由教师T在训练池(Train Pool)XA中前向传播指令来构造练习-响应数据,通过优化自回归语言建模目标来微调我们的学生模型S,以调整教师模型的响应。

鉴别阶段——Discrimination Stage

鉴别阶段从该高速缓存池(Cache Pool)开始,表示为XB。尽管该池与Train Pool以相同的初始化开始,但它们的用途不同。训练池通过用新生成的指令替换其现有指令来更新,而该高速缓存池通过合并这些生成的指令来丰富。因此,该高速缓存池的不断增长的存储容量为评估教师T和学生S之间的性能差距提供了更广阔的空间。这允许更彻底地检测硬指令。

在判别阶段,我们要求专有的LLM担任“裁判”,它量化了T和S之间的性能差距。具体地,我们通过教师T和学生S将每个指令xB i馈送到该高速缓存池XB中,以分别生成输出T(xB i)和S(xB i)。然后,我们要求裁判R以xB i为条件,定量测量教师的反应T(xB i)和学生的反应S(xB i)之间的质量差异。

上述过程通过使用prompt template实现,这需要LLM考虑的有用性,相关性,准确性和两个响应的详细程度,并输出两个分数。为了减轻位置偏差的LLM裁判,我们进行了两个运行通过交换教师的反应和学生的反应的位置,并计算最终得分为两个运行的平均值。然后di被计算为教师的分数和学生的分数之间的差。通过设置阈值τ(实验中使用的阈值为1.0),我们将困难指令识别为di ≥ τ的指令,而将其他指令识别为简单指令。

生成阶段——Generation Stage

在仔细辨别硬指令之后,生成阶段的目标是生成反映与这些具有挑战性的指令相对应的数据分布的样本。这个过程是通过采用专有的LLM作为生成器来实现的,表示为G,我们从硬指令中随机采样一条指令,并提示生成器G生成一条新指令。要求新生成的指令属于相同的域并且匹配采样指令的任务类型。新生成的硬指令的分布看起来与先前识别的硬指令的分布相当。为了减轻灾难性遗忘的问题并增加生成的指令的多样性,我们还从简单指令中随机采样一条指令,并提示生成器G生成一条新指令,该指令与采样的指令属于同一个域,但表现出更长尾的分布。

在每次迭代中,我们将N定义为新生成的指令的总数,并在生成的硬指令和生成的易指令之间保持1:1的比率r。为了促进多样性,仅当新指令的ROUGE-L与该高速缓存池中的任何现有指令的重叠低于0.7时,该新指令才被视为有效

最后,继续恢复Train Pool,用新生成的指令替换其现有指令。同时,我们通过合并这些新生成的指令来丰富该高速缓存池。



最小最大博弈解释

我们的对抗性知识蒸馏框架可以被解释为一个动态的最小-最大博弈:

模仿阶段,我们微调我们的学生,以最大限度地减少自己和老师之间的模型差异在硬样本;

歧视和生成阶段,我们制作新的硬样本,以最大限度地提高模型差异,基于学生模型的学习进度。

这种辩证法框架推动学生模型去揭示隐藏的知识,为完全理解铺平道路。随着训练通过几次迭代进行,系统应该理想地达到平衡。此时,学生模型已经掌握了所有的硬样本,而裁判员R无法再区分学生S和教师T模型。此时,S在功能上与T变得无法区分。



training details

学生模型使用预先训练的LLaMA初始化。训练池和高速缓存池用来自Alpaca的52K自动生成的指令来初始化的报告。迭代的总次数被设置为3,在每次迭代时添加6K新生成的指令。这将产生总共7万个数据,我们的模型将在这些数据上进行训练,以便与当前的SOTA基线进行公平的比较。

teacher、referee、generator 都是gpt-3.5-turbo

利用gpt-4评价打分



baseline:

chatgpt、vicuna、llama、alpaca、wizardLM