可随意转载。Update2023.11.14

摘要

我们研究了公开可用的指令调优方法的设计决策,并对Flan 2022模型(Chung等人,2022)的开发进行了解构。通过对Flan指令调优任务和方法集合进行仔细的消融研究,我们揭示了使Flan-T5能够提升3%-17%+效果的关键因数。我们发现任务平衡和多样化技术被忽视,但它们对有效的指令调优至关重要,特别是,使用混合提示设置(零样本,少样本和思维链)的训练在所有情况下都有2%+的性能提升。在进一步的实验中,我们显示Flan-T5在单一下游任务上需要更少的微调就能比T5更高更快地收敛-将指令微调模型作为新任务的起始checkpoint将更节省计算资源。最后,为了加快指令调优的研究,我们将Flan 2022的数据集,模板和方法公开可用。

1 简介

大型语言模型,如PaLM(Chowdhery等人,2022),Chinchilla(Hoffmann等人,2022)和ChatGPT等(Brown等人,2020;Ouyang等人,2022)已经在执行自然语言处理(NLP)任务方面解锁了新的能力。先前的研究已经表明,指令微调——对格式化指令的NLP任务集合进行微调——进一步增强了语言模型执行未见过的指令任务的能力(Wei等人,2021;Sanh等人,2021;Min等人,2022)。

在这项工作中,我们评估了开源指令泛化努力的方法和结果,比较了他们的微调技术和方法。特别是,我们确定并评估了“Flan 2022 Collection”中的关键方法论改进,这是我们用于数据和数据增强及指令微调方法集合的术语,这些方法首次在Chung等人(2022)中实现和使用。其中Chung等人(2022)关注的是将Flan 2022与PaLM 540B结合的新兴和SOTA结果,这项工作则关注指令调优方法本身的细节,消融各个因素,并通过保持预训练模型大小和checkpoint的一致性,直接将它们与以前的工作进行比较。

Flan 2022 Collection提供了最广泛的公开可用的指令调优任务和方法集合,我们已将其汇集在一个地方。我们还在此基础上增加了数百个我们自己的高质量模板,更丰富的格式化模式和数据增强。我们展示了在此集合上训练的模型在所有测试的评估基准上均优于其他公开的集合,包括原始的Flan 2021(Wei等人,2021),T0++(Sanh等人,2021),Super-Natural Instructions(Wang等人,2022c)和并行的OPT-IML工作(Iyer等人,2022)。如图1所示,这包括在MMLU(Hendrycks等人,2020)和BIG-Bench Hard(Suzgun等人,2022)评估基准上分别增加了4.2%+和8.5%的改进,对于相同大小的模型。

对Flan 2022方法的分析表明,强大的结果既源于更大更多样化的任务集,也源于一套简单的微调和数据增强技术。特别是,对零样本,少样本和思维链提示进行模板化的示例进行混合训练在这些设置中都提高了性能。例如,仅添加10%的少样本提示就可以提高2%+的零样本提示结果。此外,通过反转输入-输出对,丰富任务多样性,如在(Sanh等人,2021;Min等人,2022)中所用,以及平衡任务来源,都被证明对性能至关重要。得出的Flan-T5模型在单任务微调上比T5模型更快更高地收敛-表明指令微调模型为下游应用提供了更高效的起始checkpoint,这证实了Aribandi等人(2021)和Liu等人(2022b)的观点。

我们希望这些发现和资源的公开可用性将统一指令微调的资源,并加速对更通用语言模型的研究。我们将这项工作的核心贡献总结如下:

  • 方法论:展示通过混合零样本和少样本提示的训练,可以在这两种设置中取得更好的性能(第3.2节)。
  • 方法论:衡量并展示有效指令调整的关键技术:规模扩展(第3.3节),通过输入反转丰富任务种类(第3.4节),增加思维链训练数据,以及平衡不同的数据来源(第3.5节)。
  • 结果:展示这些技术选择比现有的开源指令调整集合的保留任务提升了3-17%(图1)。
  • 结果:展示Flan-T5作为更强大和更计算高效的起始checkpoint,用于单任务微调(第4节)。
  • 开源新的Flan 2022任务集,模板和方法,供公众研究。

2 公开的指令微调数据集

大型语言模型指令调整已经成为使大型语言模型(LLMs)及其能力更加适用于交互式对话和功能任务的工具。先前的工作(Raffel等人,2020; Liu等人,2019; Aghajanyan等人,2021; Aribandi等人,2021)尝试进行大规模多任务微调,以改进下游单目标微调,但没有指令提示。UnifiedQA和其他人(Khashabi等人,2020; McCann等人,2018; Keskar等人,2019)将一系列NLP任务统一为单一的生成性问题回答格式,使用提示指令进行多任务微调和评估。

第一波自2020年以来,若干指令调整任务集合已经迅速发布,如图2所示。自然指令(Mishra等人,2021),Flan 2021(Wei等人,2021),P3(公共提示池,Bach等人,2022)聚集了大型NLP任务集合,并使用指令(零次提示)对它们进行模板化,专门用于微调模型以泛化到未见过的指令。 MetaICL(Min等人,2022)也整合了其他任务集合(Ye等人,2021;Khashabi等人,2020)来训练模型以“在上下文中”学习任务 – 从几个输入-输出示例中,称为少次提示,但在这种情况下没有指令。 这些工作中的每一个都肯定了任务和模板多样性的规模化好处,并且一些人报告了将模板中的输入和输出反转以产生新任务(Min等人,2022中的“噪声通道”)的强大好处。

第二波第二波指令调整收藏集扩大了之前的资源:将更多的数据集和任务合并为一个资源,如Super-Natural Instructions(Wang等人,2022c)或OPT-IML(Iyer等人,2022),在xP3中添加多语言指令调整(Muennighoff等人,2022),以及Flan 2022中的Chain-of-Thought训练提示(Chung等人,2022)。 Flan收藏集和OPT-IML都包含了之前收藏集中的大部分任务。2我们的工作就位于此处,将这些集合(的集合)和它们的方法凝聚在一起,作为未来开源工作的最强大的起点。

新方向并行和未来的工作开始探索两个新方向:(a)用合成数据生成更积极地扩大任务多样性,尤其是在创新和开放式对话中(Wang等人,2022b;Honovich等人,2022;Ye等人,2022;Gupta等人,2022),和(b)提供对模型响应的人类反馈信号(Ouyang等人

,2022; Glaese等人,2022; Bai等人,2022a; Nakano等人,2021; Bai等人,2022b)。我们认为这些新方向大多可能增加指令调整方法的基础。

人类反馈调优指令在人类反馈上的调优已经在开放式任务上展示出强大的结果,但是以牺牲在更广泛的传统NLP任务上的性能为代价(Ouyang等人,2022; Glaese等人,2022; Bai等人,2022a; Nakano等人,2021)。 (参见Ouyang等人(2022)对”对齐税”的讨论)。我们的工作专注于不使用人类反馈的指令泛化,原因有二。首先,人类反馈数据集远少于指令调整数据集(并且可能是特定于模型的)。其次,仅通过指令泛化,就在提高传统NLP指标以及增强开放式任务上的人类首选响应方面表现出巨大的潜力(Chung等人,2022)。在没有昂贵的人类响应演示或评级的情况下可以获得的进步程度仍是一个未解决的问题,这是缩小公共和非公共研究之间差距的重要追求。

开源的重要性高水平的研究越来越多地由非公开数据驱动,如GPT-3和其他人(Ouyang等人,2022; Glaese等人,2022)的情况。这些资源的不可获取性阻碍了研究社区在公共领域分析和改进这些方法的能力。我们将我们的视野缩小到开源和可访问的数据集合,目标是使研究的可及性民主化。

3 Flan 2022上的实验

最近的研究尚未围绕一套统一的技术形成一致的认识,不同的任务、模型大小和目标输入格式都有所代表。我们开源了一个新的集合,首次在Chung等人(2022年)中引入,被称为“Flan 2022”,它结合了Flan 2021、P3++3、Super-Natural Instructions,以及一些额外的推理、对话和程序合成数据集。我们推迟到Chung等人(2022年)来详细描述模板化和收集;在这项工作中,我们对关键的方法改进进行了更深入的研究,并将这个集合与等量模型大小的现有集合进行了比较。 在本节中,我们评估了Flan的设计决策,并特别讨论了四个可以大大提高指令调整配方的设计成分。这些设计成分在第2节中概述,它们是:(I)在训练时使用混合的零射击、少射击和链式思维模板(第3.2节);(II)将T5大小的模型扩展到1800+的任务(第3.3节);(III)通过输入反转来丰富任务(第3.4节);和(IV)平衡这些任务混合(第3.5节)。在第3.1节中,我们首先测量每个组件的价值,并将最终模型与其他指令调整集合(及其方法)进行比较。实验设置我们在前缀语言模型适应的T5-LM(Lester等人,2021年)上进行微调,使用XL(3B)大小的所有模型进行一致性,除非另有说明。虽然Flan-T5的其他大小也可用,但我们认为XL的大小适合进行大规模的系统剥离,同时足够大以得出一般性的结论。我们在(a)一套8个“保留在”的任务中进行评估,这些任务在1800+的训练任务集合中有代表(4个问题回答和4个自然语言推理验证集),(b)链式思维(CoT)任务(5个验证集),和(c)MMLU(Hendrycks等人,2020年)和BBH(Suzgun等人,2022年)基准,作为我们的“保留出”的任务集,因为它们没有包括在Flan 2022微调的部分。大规模多任务语言理解基准(MMLU)广泛测试了在科学、社会科学、人文科学、商业、健康等其他主题中的57个任务的推理和知识能力。BIG-Bench Hard(BBH)包含了来自BIG-Bench(Srivastava等人,2022年)的23个挑战性任务其中PaLM在人类评估者中表现不佳。在我们的剥离实验中,我们还使用链式思维输入评估BBH,这是遵循Chung等人(2022年)的做法。额外的微调和评估细节在附录A中提供。

3.1 消融实验

表1总结了通过单独扣除方法:混合权重平衡(“- Mixture Balancing”)、链式思维任务(“- CoT”)、混合提示设置(“- Few Shot Templates”)和输入反转(“- Input Inversion”)对保留任务、保留外任务和链式思维任务的平均贡献。Flan-T5 XL利用了这四种方法。我们也在其他集合上对T5-XL-LM进行微调,包括Flan 2021、P3++、Super-Natural Instructions进行比较。

Flan的每一个剥离组件都对不同的指标做出了改进:链式思维训练对链式思维评估,输入反转对保留外评估(MMLU和BBH),少射击提示训练对少射击评估,以及混合平衡对所有指标的改进。 与在其他指令调整集合(及其方法)上训练的T5-XL模型相比,Flan在几乎所有设置中都表现出色。虽然以前的集合特别调整为零射击提示,但Flan-T5 XL是为零射击或少射击提示调整的。这为大多数零射击设置带来了+3-10%的性能边际,对于少射击设置的边际是8-17%。最令人印象深刻的是,Flan 2022的性能超过了OPT-IML-Max的大得多(10倍)的30B和(58倍)的175B模型。接下来,我们将Flan 2022的一些剥离方法分开,以研究每个方法的好处。

3.2 使用混合提示词训练

先前的工作已经显示,每个任务的各种输入模板可以提高性能。然而,除了指令模板的措辞外,这些先前的LLMs主要是用针对单一提示设置的模板集进行调整:针对零射击提示(Wei等人,2021年;Sanh等人,2021年;Aghajanyan等人,2021年;Aribandi等人,2021年)或少射击提示(Min等人,2022年;Wang等人,2022c年)。

在InstructGPT(Ouyang等人,2022年)中一个被低估的设计决策是混合训练模板,针对每个提示设置,而不是目标单一设置。然而,由于Ouyang等人(2022年)并未研究这个选择,我们预期在微调零射击或少射击提示性能时会有性能权衡 – 特别是对于较小的模型。相反,我们发现,与混合零射击和少射击提示进行训练,可以显著提高两种设置的性能 – 最令人惊讶的是,即使对于只有3B参数的模型也是如此。

图3显示:(1)增加尽可能少的5%的少镜头训练模板可以显著提高零镜头的表现,(2)增加10%以上的零镜头数据也可以提高少镜头的表现。无论在“保留在内”还是“保留在外”的任务中,少镜头数据的峰值都在10%到90%之间,但这个范围始终高于只使用一个提示设置进行训练。

3.3 将小模型扩展到1.8k+的任务上

最近和并行的公开可用的指令调整工作,如Flan 2022,训练了数以千计的任务(Wang等,2022c; Iyer等,2022),但操作在不同的任务组成和底层训练方法上。为了衡量扩大模型规模和Flan 2022收集的任务的影响,我们对随机选定的任务子集(8,25,50,100,200,400,800,所有1873个)进行T5-LM适应模型(小,基础,大,XL,XXL)的微调。每次微调运行都保证包含“保留在内”的任务,因此我们可以估计任务规模如何影响模型在已经看到的给定任务上保持性能的能力。

图4表明,“保留在内”和“保留在外”的任务似乎都从增加数百个微调任务中受益。“保留在内”的任务评估在总任务数达到200左右时达到峰值,并随着任务的增加而性能降低,尽管较大的模型峰值更晚且降低更少。“保留在外”的任务性能与任务数量对数线性增长,所有1836个任务的性能最高。

令人惊讶的是,只有T5-Small在1836个任务之前就超过了它的“保留在外”任务的表现,而更大的模型规模则继续提高。这些结果表明:(a)即使是T5-Base也可能没有用数千个任务耗尽其容量,(b)最大的LM可能会从更多的任务中获益,以提高“保留在内”和“保留在外”的任务表现。

这种分析的一个必要假设是所有任务都被定义和计数为等同的。第3.5节展示了并非所有的任务来源对训练都同样有益,模型的性能可能会因为一个来源(例如,超自然指令)的任务过多而饱和。我们要警告的结论是,任务规模超过1800可能会带来增加的收益,但同时也需要关注任务的多样性和质量。

3.4 通过输入反转提升任务多样性

先前的指令调整工作通过反转监督任务中的(x,y)输入-输出对来丰富他们的任务多样性——这在P3(Bach等,2022)中被称为“不是为原始任务设计的提示”,或者在MetaICL(Min等,2022)中被称为“噪声通道”。例如,一个数据集可能最初是设计用于,给定一个问题x,评估一个模型是否可以回答y。输入反转反而给模型一个答案y,并训练它来生成问题x。这是一种在有限的数据源集合下丰富任务多样性的简单方法。然而,当已经有数百个独特的数据源和数千个任务时,这种方法是否仍然有用并不清楚。

为了评估这一点,我们用输入反转的任务丰富我们的混合体(细节和例子在附录B中),并衡量其效果。在表1中,我们发现这对“保留在内”的表现没有益处,但对“保留在外”的表现有很大的益处。这些好处激发了数据增强技术用于LLM微调的前景,这在之前已经被证明,模型预训练的时间越长,收益就越小(Longpre等,2020)。

3.5 平衡数据源

调整架构规模和任务数量是有效的,但我们的结果表明,混合权重的优化同样值得关注。为了得出均衡的权重,我们分别省略了不同的任务来源(如Flan 2021、T0-SF、超自然指令、思维链、对话和程序综合),并根据它们在MMLU基准测试中的贡献进行排序。如表2所示,Flan 2021和T0-SF是最有益的混合体,其次是超自然指令和思维链,对话和程序综合排在最后。这些发现得到了Iyer等人(2022)的证实,他们对数据混合比例进行了广泛的测试,并确定他们的Flan 2021,T0-SF和T5混合体是最广泛的有益的。此外,他们发现超自然指令在持续任务性能上的扩展收益有限,这与其独特的输入格式和指令设计有关。值得注意的是,思维链微调在我们所有的评估设置中都显得有益,尤其是考虑到它们包含的任务远少于Flan 2021、T0-SF或自然指令。我们使用这些发现显著地缩小了混合权重的搜索空间,并从那里运用我们的实践者直觉。如表1所示,这种策略简单但有效,但为更复杂的未来工作留下了充足的空间。

3.6 讨论

OPT-IML(Iyer等人,2022)与本研究最为接近,包括类似的任务集合、示例和技术。然而,尽管他们使用的任务都是公开来源的,但他们的收集,包括模板、处理和示例混合,并未公开,因此无法轻易进行比较。Iyer等人(2022)报告称,Flan-T5-XL(3B)和XXL(11B)在MMLU和BBH上都超过了OPT-IML-Max 175B。正如他们讨论的,这些差异可能源于预训练、模型架构和指令调优的任何组合。在指令调优之前,模型架构和预训练可能起到重要作用(Wang等人,2022a)。但在Flan 2022和OPT-IML之间,指令调优中可能存在许多其他不同的细节。可能的候选者包括:示例模板化,训练时如何使用混合输入提示程序,以及任务组成。 这些差异有多大影响呢?尽管OPT-IML包含的任务比Flan 2022多,但我们估计大约94%(2067=2207)的任务也在Flan 2022的收集中使用了,而且Flan 2022中很少有任务没有以某种形式包含在OPT-IML中。这表明,当使用“任务”的共享定义时,任务多样性的总体差异并不显著。任务混合率也强调了类似的来源,包括Flan 2021(46% vs 20%),PromptSource/P3(28% vs 45%),和超自然指令(25% vs 25%),分别对应Flan 2022和OPT-IML。OPT-IML的其他收集(Crossfit,ExMix,T5,U-SKG)的权重并不显著:分别为4%,2%,2%,2%。

我们认为示例模板化和混合提示格式可能是与OPT-IML指令调优的最大差异。我们的模板库从Flan 2021显著更新,增加了多样性,不仅在指令上,而且在维度上。例如,模板化过程改变了指令的位置(在少量提示前后),少量提示和思维链提示之间的间距和分隔符,以及多选示例的答案选项(及其目标)的格式排列,这有时包括,有时不包括输入或示例中的答案选项。虽然我们没有专门的实验来比较许多开发迭代,但我们发现这些程序显著增加了输入的多样性,并显示出反复的性能改进。我们的示例模板化程序是开源的,供检查和未来的工作使用。

4 指令微调增强单任务微调

在应用环境中,机器学习实践者部署了专门为单一目标任务进行微调(FT)的自然语言处理(NLP)模型,通常在微调数据已经存在的地方。虽然先前的工作已经展示了中间微调(Pruksachatkun等人,2020;Vu等人,2020)或多任务微调(Aghajanyan等人,2021;Aribandi等人,2021)对下游任务的好处,但这在指令调试模型上还没有进行过广泛的研究。 我们评估了Flan 2022的指令调试作为在单一目标微调之前的中间步骤,以理解Flan-T5是否会作为应用实践者更好的开始检查点。我们在图5中评估了三种设置:直接在目标任务上微调T5作为常规基线(蓝色条形图),使用Flan-T5而无需进一步微调(米色条形图),以及在目标任务上进一步微调Flan-T5(红色条形图)。 帕累托改善单任务微调对于我们检查的两组Held-In和Held-Out任务,Flan-T5的微调都比直接微调T5提供了帕累托改进。在某些情况下,通常在任务的微调数据有限的地方,没有进一步微调的Flan-T5的表现超过了具有任务微调的T5。 更快的收敛和计算优势使用Flan-T5作为起始检查点在训练效率上有额外的好处。如图6所示,Flan-T5在单一目标微调过程中比T5收敛得更快,同时达到的准确度也更高。这些收敛结果也表明,NLP社区采用像Flan-T5这样的指令调试模型进行单任务微调,而不是传统的非指令调试模型,有很强的绿色AI动机。虽然指令调试比单任务微调计算上更昂贵,但它是一次性的成本。相反,需要大量微调的预训练模型在累计许多百万次额外的训练步骤时变得更加昂贵(Wu等人,2022;Bommasani等人,2021)。指令调试模型提供了一个有希望的解决方案,可以显著减少大量任务微调步骤,如果它们被采用为单任务微调的新标准起点。

5 相关工作

作为指导调优的基础,预训练一种适用于多种下游任务的通用语言表示的做法有着悠久的传统,至少可以追溯到Mikolov等人(2013年)和Dai和Le(2015年)。2018年,Peters等人(2018年)和Devlin等人(2019年)奠定了在大型无监督语料库上预训练大型模型的范式,NLP领域迅速趋于使用这些模型,它们在所有任务上的表现都远超过之前的非预训练任务特定LSTM模型。然而,获取预训练模型中编码的高质量句法和语义知识的主要方式不是用指令提示它们,而是训练一个额外的任务特定线性层,将模型激活映射为数值类标签。仅一年后,Radford等人(2019年),Raffel等人(2020年),以及Lewis等人(2020年)普及了这样一个观念,即下游任务–和多任务–可以通过直接使用预训练的LM头来以自然语言生成答案(参见任务特定的数值类标签)来联合学习,这些生成模型的任务通用性成为了许多多任务转移学习研究的先驱(McCann等人,2018年;Khashabi等人,2020年;Ye等人,2021年;Vu等人,2020年),反过来又引导了第一波指令调优,如第2节所述。

对预训练语料库、架构和预训练目标的LM研究的不断进步,也对指令调优产生了很大的影响。截至2022年,仅解码器的从左到右的因果变换器主导了大于100B的模型市场(Brown等人,2020年;Thoppilan等人,2022年;Rae等人,2021年;Chowdhery等人,2022年;Hoffmann等人,2022年),并且所有这样大小的模型都是只有解码器的(Wang和Komatsuzaki,2021年;Le Scao等人,2022年;Zhang等人,2022年),这通常是由于更好的硬件和软件框架支持。然而,Raffel等人(2020年),Lewis等人(2020年),和Tay等人(2022a)一直发现,从左到右的因果语言建模是一个次优的目标,而Tay等人(2022b)和Wang等人(2022a)特别显示,非顺序目标的混合对于零射击和少射击提示的下游任务更为优越。一个仍然未被充分探索的额外因素是预训练语料库、指

令调优和下游能力之间的关系。通常,公开的模型都是在几个公开的语料库中的一个上进行训练的:C4(Raffel等人,2020年),The Pile(Gao等人,2020年),或ROOTs(Laurençon等人,2022年)。

在第2节中,我们概述了指令调优的主要发展。其他重要的发展包括赞扬或替代少射击的上下文学习——目前评估预训练和指令调优模型的主要方法——用参数高效的调优。由于标准的对大于100B模型的微调需要使用大量的加速器,并且具有正确的互连,这对许多工业实验室来说常常过于昂贵,参数高效的调优(又名连续或软“提示调优”)显示只更新模型参数的一小部分可以达到与完全调整所有模型参数相当的性能(Lester等人,2021年;Vu等人,2022年;Hu等人,2021年;参见He等人,2022年的详细分析)。值得注意的是,Liu等人(2022b)显示,由于少射击ICL的序列长度长,并且需要反复推断少射击示例来评估每个例子,参数高效的调优可能比上下文学习更便宜,性能更高。此外,Liu等人(2022b),Vu等人(2022),Wei等人(2021),和Singhal等人(2022)共同显示,单任务和多任务参数高效的调优可以与指令调优有效地结合,无论是在常规全模型指令调优之前还是之后。这项工作使得其他研究人员可以在通用领域的指令调优模型上进行建设,并收集一个适合他们使用的自定义指令调优混合物,例如,使用多种模式(Ahn等人,2022;Huang等人,2022;Xu等人,2022)或特殊领域,如科学和医学(Lewkowycz等人,2022;Singhal等人,2022)。

通过指令调优和对齐技术解决的问题 指令调优是一系列旨在“对齐”语言模型与更有用的目标和人类偏好的工作的一部分。在没有这些方法的情况下,已知语言模型会表现出有毒/有害的行为(Sheng等人,2019;Liang等人,2021;Wallace等人,2019),生成非事实信息(Maynez等人,2020;Longpre等人,2021;Devaraj等人,2022),以及在部署和评估中的其他挑战(Zellers等人,2019;McGuffie和Newhouse,2020;Talat等人,2022)。分析、评估和减轻这些问题是未来工作的有前景的方向(Gao等人,2022;Ganguli等人,2022)。指令调优值得进一步研究,因为它已经证明自己是减少NLP偏见度量的一个鼓舞人心的补救措施,如Chung等人(2022)所示。

6 结论

新的Flan 2022指令调优集合统一了最受欢迎的先前的公开集合及其方法,同时添加了新的模板��像训练混合提示设置这样的简单改进。得到的集合在Held-In QA,NLI和Chain-of-Thought任务,以及Held-Out MMLU和BBH上,常常以很大的优势超过了Flan 2021,P3++,Super-Natural Instructions和OPT-IML-Max 175B。结果表明,这个新的集合为对泛化到新指令或在单个新任务上进行微调感兴趣的研究者和实践者提供了一个更具竞争力的起点。