赞
踩
©PaperWeekly 原创 · 作者 | 黄一天
单位 | 华为
研究方向 | 自然语言处理
由香港科技大学提出的针对闭源大语言模型的对抗蒸馏框架,成功将 ChatGPT 的知识转移到了参数量 7B 的 LLaMA 模型(命名为 Lion),在只有 70k 训练数据的情况下,实现了近 95% 的 ChatGPT 能力近似。此外,框架的普适性使它不仅可以用于蒸馏 ChatGPT,还可方便地适用于其他闭源 LLMs。
论文题目:
Lion:闭源大语言模型的对抗蒸馏
Lion: Adversarial Distillation of Closed-Source Large Language Model
论文链接:
https://arxiv.org/abs/2305.12870
项目地址:
https://github.com/YJiangcm/Lion
出发点
能够遵循自然语言指令的大型语言模型(Large Language Models, LLMs)已经在 zero-shot 任务的泛化中表现出了巨大的成功。由于各种考虑,最先进的 LLMs,如 ChatGPT 和 GPT-4,这些拥有数百上千亿参数的模型,通常是闭源的(包括模型参数和训练数据)。
为了弄清楚他们复杂的运行机制,很多研究工作聚焦于将闭源的“老师”大语言模型的知识蒸馏到开源的“学生”语言模型中。这通常是通过对齐学生模型的响应与教师模型对一组指令的响应来完成的,这些指令可以手动或自动生成。例如,Vicuna 的训练指令是从 ShareGPT 网站收集的 70k 用户与 ChatGPT 的对话;Alpaca 的训练指令是通过 self-instruct 的方法自动生成,等等。
然而,前人工作的缺点在于,他们仅采用了一种单向的知识传递方法(如下图中的实线箭头)。在这种方法中,老师向学生传递知识,而没有考虑任何互相的“反馈”,这里的“反馈”是指识别出学生表现不佳的“难”例子或问题。
为了更好地理解,我们可以想象一个具体的课堂场景,“反馈”保证了老师可以清楚学生在哪些方面表现较差,继而进行以“难”例子为中心的定制化训练,为学生提供更高效的学习体验。因此,作者的方法想要考虑这种“反馈”信息,来形成知识--“反馈”的正反馈机制循环。
方法概览
对抗知识蒸馏(Adversarial Knowledge Distillation, AKD)旨在通过促使学生模型从生成的难样本中学习,来迭代改进学生模型的性能。受此启发,作者提出了一个将闭源大语言模型蒸馏到开源学生模型的对抗蒸馏框架。然而,此前的 AKD 方法需要能够访问老师模型的权重或梯度来识别难样本,因此不能直接适用于作者的场景。为了解决这个问题,作者利用 LLMs 强大的角色适应性,通过使用不同的 prompt 让 LLM 扮演不同的角色。
具体来说,作者设计 prompt 让闭源 LLM 充当一个“裁判” Referee 来判别出教师的回答和学生的回答存在显著性能差距的难指令。并且,作者设计 prompt 让闭源 LLM 充当一个“生成器” Generator 来生成新的指令,这些生成的指令模拟了对应于被判别出的难指令的数据分布。提出的对抗蒸馏框架如下图所示,每一轮迭代包括三个阶段:
1)模仿阶段,对于一组指令,将学生的响应与老师的响应对齐;
2)区分阶段,识别出难指令;
3)生成阶段,根据识别出的难指令,产生新的难指令以增加对学生模型的挑战。
考虑到学生模型在学习过程中可能会出现灾难性遗忘的问题,作者也生成了同等数量的新的简单指令,来增加训练数据的多样性。具体细节请查阅原论文:
https://arxiv.org/abs/2305.12870
本质上,这个对抗性框架形成了一个正向的反馈循环,有效地提升了学生模型的能力。
实验结果
为了验证方法的有效性,作者将提出的对抗蒸馏框架应用于知名的闭源大语言模型 ChatGPT, 将其知识转移到一个开源的基础预训练模型 LLaMA,该模型由 70 亿参数组成。作者选择了 Alpaca 的训练数据(仅由 175 个手动选择的种子指令生成)作为初始的训练指令,并进行了 3 次 AKD 迭代,总共使用了 70K 的 instruction-following 数据进行训练。最终训练好的模型被命名为 Lion。
作者选取了此前的一系列工作包括 LLaMA,Alpaca,Vicuna 和 WizardLM 作为基线。为了公平比较,模型的参数量都定为 7B。按照先前的研究工作,作者使用了两种评估方法:1)使用 GPT-4 自动评估;2)根据“对齐标准”进行人工评估。
3.1 Automatic Evaluation with GPT-4
根据先前的研究表明,GPT-4 在比较聊天机器人的回答时具有生成高度一致的排名和全面评估的潜力。这里,作者利用 GPT-4 对两个模型在 80 个 Vicuna-Instructions 上的回答质量进行自动评分(评分从 1 到 10)。作者选取 ChatGPT 的答案作为参照,将 ChatGPT 和其他模型两两进行比较,通过计算得分之和的比率得到不同模型相对 ChatGPT 的整体回答质量。
如下图所示,Lion(7B)相比其他基准模型至少提高了 5.45% 的相对得分,并且接近于 ChatGPT 94.74% 的回复质量。
为了全面比较 Lion 与其他基准模型在生成高质量回复方面的能力,作者在不同任务类别上绘制了相对回复质量的对比,具体见下图。值得注意的是,Lion 在通用、知识、常识和反事实任务类别中均稍微超过了 ChatGPT。此外,Lion 在数学任务上相比基线模型得分至少高出 26.67%,在代码生成任务上也超过了大部分基准模型。
3.2 Human Evaluation with Alignment Criteria
为了评估 LLM 的对齐质量,作者遵循了此前研究采用的 3H 标准:只有具备 helpful、honest 和 harmless(HHH)特征的模型才被认为是对齐的。这些标准被用于衡量人工智能(AI)系统与人类价值观的一致程度。
作者在 252 个 User-Oriented-Instructions 进行了人工评估,并在下图中比较了 Lion 和不同模型之间胜、平、负的频率。人工评估的结果表明,Lion 生成的回答优于除 ChatGPT 之外的其他基准模型。具体来说,与 WizardLM 相比,Lion 在 252 个用户指令中有 81 次取得胜利,而仅在 58 次指令中输掉。这些发现表明,作者提出的框架使得 Lion 在学习各种指令方面非常高效。
结论
文章提出了一种创新的对抗知识蒸馏(AKD)框架,用于将闭源的大语言模型(LLM)蒸馏到一个“紧凑”的开源学生模型中。先前的方法集中在单向知识传递上,而作者的方法试图将老师和学生相互的“反馈”融入到学习过程中。作者利用 LLM 的多功能角色适应性,使用不同的 prompt 让闭源模型识别“难”的指令,并为学生模型生成新的“难”指令,从而创建了一个包含模仿、辨别和生成的三阶段对抗循环。
这种方法能够迭代地、高效地提升学生模型的性能。应用该框架,作者将 ChatGPT 蒸馏为一个仅有 70 亿参数的开源学生模型 LLaMA(作者将得到的模型命名为 Lion)。尽管只在 70k 的指示遵循数据上训练,Lion 展现出了接近 95% 的 ChatGPT 能力,在 GPT-4 自动化评估和人工评估中都超过了以往的基线。作者希望 Lion 模型可以作为反映 ChatGPT 性能的基线,以及 NLP 社区中开源指令遵循模型的基线。
局限和讨论
作者在最后指出,Lion 模型仍然存在以下局限:
1)该模型在处理涉及复杂编程或数学计算的任务方面能力有限;
2)训练数据不包括对话,因此 Lion 模型在多轮对话方面的能力较弱;
3)模型的输入序列长度上限为 4096,输出新序列的长度上限为 1024,因此无法实现超长文档处理;
4)模型的安全性,输出内容的毒性、偏好性未经优化。
作者也指出,对于如何衡量大模型的能力,一个统一的、全面的评价指标是必要的。
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。