Fork me on GitHub

用GPT4进行指令微调

用GPT4进行指令微调

INSTRUCTION TUNING WITH GPT-4

论文:https://arxiv.org/pdf/2304.03277.pdf

代码:https://instruction-tuning-with-gpt-4.github.io/

前言

之前的工作表明,使用机器生成的指令伴随数据对大型语言模型(LLM)进行微调,可以使这类模型在新任务上获得显著的zero shot能力,而且不需要人类编写的指令。在本文中,我们首次尝试使用GPT-4来生成指令伴随数据 ,以进行LLM的微调。我们对指令调整的LLaMA模型的早期实验表明,由GPT-4生成的52K英文和中文指令跟随数据在新任务上的零点性能优于之前最先进的模型所生成的指令跟随数据。我们还收集了GPT-4的反馈和比较 数据,以便能够进行全面的评估和奖励模型训练。我们公开了使用GPT-4生成的数据以及我们的代码库。

总结:

  • 使用GPT4生成了52K的中英文指令数据集。
  • 利用这些数据训练LLaMA并进行评估。

介绍

大型语言模型(LLMs)已经显示出令人印象深刻的泛化能力,如语境学习(Brown等人, 2020)和思维链推理(Wei等人,2022)。为了使LLMs能够遵循自然语言指令并完成现实世界的任务,研究人员一直在探索LLMs的指令调谐方法。这可以通过使用人类注释的提示和反馈在广泛的任务上对模型进行微调(Ouyang等人,2022),或者使用公共基准和数据集,用手动或自动生成的指令进行监督微调(Wang等人,2022b)。在这些方法中,SelfInstruct tuning(Wang等人,2022a)是一种简单有效的方法,通过学习最先进的指令调整教 师LLM产生的指令跟随数据,使LLM与人类意图相一致。事实证明,教学调谐研究的路线已经产生了有效的手段来改善LLMs的零和几率概括能力。最近ChatGPT(OpenAI,2023a )和GPT-4(OpenAI,2023b)的成功,为使用指令调谐改进开源LLM提供了巨大的机会。 LLaMA(Touvron等人,2023)是一系列开源的LLM,其性能与GPT-3等专有LLM相当。为了教会LLaMA遵循指令,鉴于其优越的性能和低廉的成本,Self-Instruct调谐已被迅速采用 。例如,斯坦福大学的Alpaca(Taori等人,2023)使用GPT-3.5生成的52K指令跟随样本, 而Vicuna(Vicuna,2023)使用约700K指令跟随样本(70K转换)共享用户-ChatGPT( ShareGPT,2023)。

为了推进LLMs的指令调谐技术水平,我们首次提出将GPT-4作为自我指令调谐的教师。我们的论文有以下贡献:

  • GPT-4数据。我们发布了由GPT-4产生的数据,包括52K的中英文指令跟随数据集,以及GPT-4产生的反馈数据,对三个指令调整模型的输出进行评级。
  • 模型和评估。基于GPT-4生成的数据,我们开发了指令调整的LLaMA模型和奖励模型。为了评估指令调整的LLM的质量,我们使用了三个指标对测试样本(即未见过的指令)进行评估:对三个对齐标准的人工评估,使用GPT-4反馈的自动评估,以及对非自然指令的ROUGE-L(Honovich等人,2022)。我们的实证研究验证了使用GPT-4生成的数据进行LLM指令调整的有效性,并提出了建立一个由LLM驱动的通用指令跟随代理的实用技巧。

数据集

数据收集。我们在Alpaca数据集(Taori等人,2023)中收集的指令跟踪数据中重新使用了52K条独特的指令。每条指令都描述了模型应该执行的任务。我们遵循相同的提示策略,考虑有输入和无输入的情况,这就是任务的可选背景或输入。使用LLMs输出对指令实例的回答。在羊驼数据集中,输出是使用GPT-3.5(text-davinci-003)生成的,但我们转而考虑GPT-4(gpt-4)来生成数据。具体来说,我们用GPT-4生成以下四个数据集:

  • 英语指令-后续数据:对于在Alpaca(Taori等人,2023)中收集的52K条指令,每一条都提供一个英文GPT-4答案。具体细节在算法1中描述。我们将其作为未来的工作,遵循一个迭代过程,使用GPT-4和自我构建我们自己的指令集(Wang等人,2022a)。
  • 中文指令-跟随数据:我们使用ChatGPT将52K条指令翻译成中文,并要求GPT-4用中文回答这些指令。这使我们能够建立一个基于LLaMA的中文指令跟随模型,并研究指令调谐的跨语言泛化能力。
  • 比较数据:我们要求GPT-4对自己的反应从1到10进行评分。此外,我们要求GPT-4对三个模型的反应进行比较和评分,包括GPT-4、GPT-3.5和OPT-IML(Iyer等人,2022 )。这被用来训练奖励模型。
  • 非自然指令的答案:GPT-4的答案是在68K指令-输入-输出三元组的核心数据集上解码的(Honovich等人,2022)。该子集被用来量化GPT-4和我们的指令调整模型在规模上的差距。

数据统计。我们在图1中比较了GPT-4和GPT-3.5的英语输出反应集。对于每个输出,都提取了根动词和直接宾语名词;在每个输出集上计算了唯一动词-名词对的频率。图1(a)和(b)显示了频率高于10的动名词对,在图1(c)中。比较了两组中频率最高的25对动名词对。

图1(d)中比较了序列长度的频率分布。GPT-4倾向于生成比GPT-3.5更长的序列。Alpaca中的GPT-3.5数据表现出比我们的GPT-4生成的输出分布具有更长的尾巴,这可能是因为Alpaca数据集涉及到一个迭代的数据收集过程,在每个迭代中去除类似的指令实例,这在我们目前的一次性数据生成中是没有的。尽管这个过程很简单,但GPT-4生成的指令跟随数据表现出更有利的对齐性能,如后面的实验所示。

指令微调的语言模型

self-instruct微调

我们使用LLaMA 7B检查点的监督微调来训练两个模型:(i)LLaMA-GPT4是在GPT-4产生的52K英语指令跟随数据上训练的,其分布情况显示在图1中。(ii)LLaMA-GPT4-CN是在GPT-4的52K中文指令跟随数据上训练的。我们按照(Taori et al., 2023)中的训练计划 进行公平比较。这些模型被用来研究GPT-4的数据质量以及在一种语言中进行指令调优的LLMs时的跨语言泛化特性。

奖励模型

从人类反馈中强化学习(RLHF)旨在使LLM行为与人类的偏好相一致,以使其更加有用。 RLHF的一个关键组成部分是奖励建模,其中问题被表述为一个回归任务,以预测给定提示和响应的标量奖励(Askell等人,2021;Ouyang等人,2022)。这种方法通常需要大规模的比较数据,即对同一提示的两个模型反应进行比较 Ouyang等人(2022)。现有的开源作品,如Alpaca、Vicuna和Dolly(Databricks,2023),由于标注比较数据的成本很高,所以不涉及RLHF。同时,最近的研究表明,GPT-4能够识别和修复自己的错误,并准确判断反应的质量(Peng等人,2023;Bai等人,2022;Madaan等人,2023;Kim等人,2023)。因此 ,为了促进对RLHF的研究,我们使用GPT-4创建了对比数据,如第2节所述。

为了评估数据质量,我们基于OPT 1.3B(Iyer等人 ,2022年)训练一个奖励模型,对不同的反应进行评级。对于比较数据的每个实例,包括一个提示x和K个反应,GPT-4为每个反应分配一个分数s∈[1,10]。从这个实例中构建的对有\(C^{K}_{2}\) ,每个对都是\((y_{l},y_{h})\)、 其相应的分数遵循\(s_{l} < s_{h}\) 。一个以θ为参数的奖励模型\(r_{θ}\)被训练,目标是:\(min\log(σ(r_{θ}(x, y_{h}) - r_{θ} (x, y_{l}))\),其中σ是sigmoid函数。比较数据的分布如图2所示。

实验结果

基准

众所周知,LLM评估仍然是一个重大的挑战。我们的目标是在GPT-4数据上对未见过的指令进行评估,以研究它们遵循任意任务指令的能力。具体来说,我们在研究中使用三个既定的数据集:

  • User-Oriented-Instructions-252(Wang et al., 2022a)是一个人工策划的涉及252条指令的集合,其动机是71个面向用户的应用程序,如Grammarly, StackOverflow, Overleaf,而不是经过 充分研究的NLP任务。
  • Vicuna-Instructions-803是一个由gpt-4合成的数据集,包含80个基线模型认为具有挑战性的问题。除了通用指令外,还有8个类别,包括知识、数学、费米、反事实、角色扮演、通用、编码、写作、常识。
  • Unnatural Instructions是一个由text-davinci-002使用3-shot in-context-learning从15个手动构建的例子中合成的68478个样本的数据集。

用对齐标准进行人类评估

为了评估我们的指令调整的LLM的对齐质量,我们遵循Anthropic Askell等人(2021)的对齐标准:如果一个助手是有帮助的、诚实的和无害的(HHH),它就是对齐的。这些标准被用来评估人工智能系统与人类价值观的一致程度。

  • 帮助性:是否有助于人类实现其目标。一个能准确回答问题的模型是有帮助的。
  • 诚实:是否提供真实信息,并在必要时表达其不确定性以避免误导人类用户。一个提供虚假信息的模型是不诚实的。
  • 无害性:是否不会对人类造成伤害。一个产生仇恨言论或宣扬暴力的模式是无害的。

基于HHH对齐标准,我们使用Amazon Mechanical Turk对模型生成结果进行人工评估。请在附录A.1节中找到界面。按照(Wang等人,2022a;Taori等人,2023),我们考虑用252个面向用户的指令进行评价。我们在图3中用饼状图显示人类的评价结果。

首先,我们比较了两个指令调整的LLaMA模型所产生的反应的质量,这两个模型分别在 GPT-4和GPT-3产生的数据上进行了微调。请注意,将LLaMA对准GPT-3对应的是斯坦福大学的Alpaca模型。从图3(a)中,我们观察到:(i)对于 "帮助性 "标准,GPT-4以54.12%的票数明显获胜。GPT-3只赢得了19.74%的时间。(ii) 对于 "诚实性 "和 "无害性 "标准,最大部分的票数流向平局类别,大大高于获胜类别,但GPT-3(羊驼)略胜一筹。

其次,我们在图3(b)中比较了GPT-4-instruction-tuned LLaMA模型与教师模型GPT-4。观察结果在三个标准上是相当一致的:GPT-4指令调整后的LLaMA与原始的GPT-4表现相似。 我们的结论是,从GPT-4产生的学习数据可以导致在未见过的指令任务上与原始GPT-4的性能非常相似,这表明在开发最先进的指令跟随型LLM方面有一个很好的方向。

使用自动评估与SOTA进行比较

用GPT-4进行自动评估。继(Vicuna, 2023)之后,我们采用GPT-4对(Vicuna, 2023)中80个未见过的问题自动评估不同模型生成的回答。我们首先收集两个聊天机器人的答案,包括 LLaMA-GPT-4(7B)和GPT-4,并使用(Vicuna, 2023)中其他聊天机器人的发布答案, 括LLaMA(13B)、Alpaca(13B)、Vicuna(13B)、Bard(Google, 2023)和ChatGPT。 对于每个评估,我们要求GPT-4对两个模型之间的响应质量进行评分,分数从1到10。我们将所有模型分别与ChatGPT和GPT-4等强竞争模型进行比较。结果显示在图4中。

对于用GPT-4调整的LLaMA指令,我们提供了两组解码结果:(i) 每个问题一个响应,这被认为是基线解码结果。(ii) 每个问题有五个反应。对于后者,奖励模型被用来对反应进行排序,然后将其分为五个子集,从前1名到前5名进行排序。我们将这五个排名的组与基线进行比较,并显示出图4(a,b)中的相对分数。ChatGPT和GPT-4的评价与我们的奖励模型所建议的排序一致,这证明了反馈数据的价值和奖励模型的有效性。

我们在图4(c,d)中比较了所有的聊天机器人。用GPT-4对LLaMA进行指令调优,往往比用text-davinci-003调优(即Alpaca)和不调优(即LLaMA)的性能更高:7B LLaMA GPT4的性能超过了13B Alpaca和LLaMA。然而,与GPT-4等大型商业聊天机器人相比,仍有差距。

我们在图5中进一步研究了所有聊天机器人的中文表现。我们首先用GPT-4将聊天机器人的英文回答翻译成中文。我们还将英文问题翻译成中文,用GPT-4获得答案。图5(a)和(b)分别显示了与GPT-4的翻译和生成的中文回答的比较情况。有两个有趣的观察:(i)我们发现GPT-4评价的相对分数指标(Vicuna, 2023)是相当一致的,无论是在不同的对手模型(即ChatGPT或GPT-4)和语言(即英语或中文)方面。(ii) 仅就GPT-4的结果而言,翻译后的反应比中文生成的反应表现得更好,这可能是因为GPT-4是在比中文更丰富的英文语料库中训练的,这导致了更强的英文指令跟随能力。在图5(c)中,我们显示了所有被要求用中文回答的模型的结果。

我们在图6中比较了LLaMA-GPT4与GPT-4和Alpaca非自然指令。从平均ROUGE-L得分来看,Alpaca优于其他两个模型。我们注意到,LLaMA-GPT4和GPT4在真实响应长度增加时逐渐表现得更好,最终在长度超过4时表现出更高的性能,这意味着当场景更具创造性时,它们可以更好地遵循指令。在不同的子集中,LLaMA-GPT4可以紧跟GPT-4的行为。当序列长度较短时,LLaMA-GPT4和GPT-4都能产生包含简单的基本事实答案的反应,但会添加额外的词语,使反应更像聊天,这可能导致ROUGE-L得分较低。

相关工作

指令调整。LLMs的指令调整是NLP中一个越来越受欢迎的研究方向(Zhong等人,2021; Ouyang等人,2022;Wei等人,2021)。现有的工作旨在提高开发管道中三个因素的质量和规模,包括指令遵循的数据、基础语言模型和评估基准。每个小组通常都保持自己的管道。例如,扩展指令调整的语言模型(Chung等人,2022)是建立在FLAN(Wei等人, 2021)之上的。PromptSource包含一个不断增长的提示语集合(也被称为P3:公共提示语 库)(Bach等人,2022)。T0是通过多任务提示训练在P3上训练的一系列模型(Sanh等人 ,2021)。Iyer等人,2022)考虑了OPT模型的指令调整,其中采用了更大、更全面的基准 OPT-IML Bench,涵盖FLAN(Wei等人,2021)、Super-NaturalInstructions(Wang等人,2022b)和UnifiedSKG(Xie等人,2022)。

开源的努力。鉴于ChatGPT所展示的LLM的广泛能力,开源模型引起了人们的极大兴趣,并促进了与人类价值相一致的开放、通用、基于文本的助手的工作。关于基础LLM的早期尝试包括BLOOM(Scao等人,2022)、GPT-J(Wang和Komatsuzaki,2021)、GPT-NEO(Black等人,2021)OPT(Zhang等人,2022)和LLaMA(Zhang等人,2023)。为了使LLM与基于聊天的协助相一致,Open-Assistant(LAION-AI,2023)建立在GPT-J上,而Alpaca/Vicuna建立在LLaMA上。此外,OpenFlamingo(Awadalla等人,2023)和LLaMAAdapter(Zhang等人,2023)将LLaMA与图像输入相连,为建立开源的多模式LLM铺平了道路。

结论

本文展示了使用GPT-4进行指令调整的有效性。我们发布了使用GPT-4生成的52K英文和中文指令跟随实例,以及从LaMA微调的模型检查点,我们希望我们的经验观察和资源将有利于开源和通用的LLM的发展,可以更好地与人类的价值观相一致,完成任务。

这代表着正在进行的工作,可以探索几个方向:(i) 数据和模型规模。GPT-4的数据大小为52K,基础LLaMA模型的大小为7B。Vicuna收集了约700K个对话转换(从多轮ShareGPT数据中近似),并使用13B的LLaMA模型。因此,继续收集更多的GPT-4指令跟随数据,与ShareGPT数据结合,并训练更大的LLaMA模型以提高性能是有希望的。(ii) RLHF。奖励模型仅在解码阶段使用,这表明比较数据有希望为LLM训练提供有用的反馈。继续使用奖励模型训练LLM是很自然的,例如使用机器生成的反馈进行强化学习。

posted @ 2023-04-07 15:09  西西嘛呦  阅读(737)  评论(3编辑  收藏  举报