导语
- 会议:Arxiv 2023
- 链接:arxiv.org/pdf/2210.11…
1 简介
人工智能的一个重要目标是开发具有好的泛化性能的模型。在自然语言处理(NLP)中,预训练的语言模型在实现这一目标方面取得了重大进展,因为它们可以执行给定自然语言描述的任务。进一步的进展是通过对一组任务的语言模型进行微调,使模型能够更好地响应指令,并减少对少量样本的需求。本文的主要研究如何通过指令微调(instruction finetuning)来训练自然语言处理(NLP)模型以更好地泛化到未见过的任务。
最近的一些研究表明,指令微调可以使模型更好地响应指令,并减少少量示例的需求。本文通过两种实验来探究指令微调的影响:一是模型规模与任务数量的影响;二是指令微调对模型推理能力的影响。研究结果表明,指令微调对模型的性能有显著提升。同时,文章还提出了一种新的模型Flan-PaLM,通过使用540B参数的模型,增加微调任务数量到1.8K,加入了CoT数据,进一步提高了性能。此外,文章还介绍了通过指令微调的Flan-T5模型,这些模型在零样本、少样本和CoT方面表现强劲,优于以往公共的模型,如T5。
2 Flan Fine-tuning
本文使用各种指令模板类型(图3)对数据源集合(图2)进行指令微调。作者将此微调过程称为Flan(微调语言模型;Wei等人,2021),并在得到的微调模型(例如,Flan-palm)前加上“Flan”。作者展示了Flan可以跨几种模型大小和架构工作(表2)。
2.1 数据调优
-
任务混合。先前的文献表明,增加指令微调中的任务数量可以提高对未见任务的泛化。本文通过结合先前工作中的四种混合方法,将调优任务扩展到1836个,如图2所示。
-
思维链微调混合。第四种调优数据混合(推理)涉及CoT注释,我们使用它来探索对CoT注释进行调优是否会提高未见过的推理任务的性能。我们从先前的工作中创建了九个数据集的新混合物,人类评分员为训练语料库手动编写了CoT注释。我们手动为每个任务编写10个指令模板。数据卡在附录F中。
-
模板和格式。对于Muffin, T0-SF和NIV2,本文使用混合创建者给出的每个任务的教学模板。对于CoT,为9个数据集中的每一个手动编写大约10个指令模板。为了创建少量模板,编写各种范例分隔符(例如,“Q:”/“a:”),并在示例级别随机应用它们。图3显示了一个使用和不使用示例以及使用和不使用CoT进行格式化的示例。
2.2 Fine-tune过程
本文在广泛的模型族中应用指令微调,包括T5,PaLM和U-PaLM。对于每个模型,应用相同的训练过程,除了几个超参数:学习率、批大小、dropout和微调步骤。使用一个恒定的学习率,并使用Adafactor优化器进行微调。
2.3 评价方案
作者使用以下具有挑战性的基准测试,目前的语言模型仍然比专家的人类评级者表现得更好。(1) MMLU 包括数学、历史、法律和医学等57个任务的试题。(2) BBH包括来自BIG-Bench的23个具有挑战性的任务,PaLM在这些任务中的表现低于人类平均水平。(3) TyDiQA 是一个跨8种不同类型语言的问答基准。(4) MGSM 是手工翻译成10种语言的数学单词问题的多语言基准。
对于评估方法和指标,其中MMLU和BBH数据集评估通过直接提示直接预测答案的能力,其中模型直接给出答案,以及通过思维链(CoT)提示,其中模型必须在给出最终答案之前提供推理链。
3 Scaling to 540B parameters and 1.8K tasks
首先根据(1)模型的大小和(2)调优任务的数量来检查缩放对搁置任务性能的影响。通过在三种PaLM模型尺寸:8B、62B和540B上进行实验来缩放模型尺寸。为了扩展任务的数量,从具有最少任务的混合任务开始依次添加任务。
图4显示了缩放这两个变量对搁置基准的标准化平均值的共同影响。表3报告了各个基准测试的结果。首先,对于所示的所有三种模型大小,与不进行微调相比,多任务指令微调大大提高了性能。性能增益范围为9.4% ~ 15.5%。
其次,增加调优任务的数量可以提高性能,尽管大部分改进来自使用多达282个任务。282个任务后的小收益可能有两种解释。一个是额外的任务不是特别多样化,因此它们没有为模型提供新的知识。另一种解释是,多任务指令微调的大部分收益来自于模型学习,以更好地表达它已经从预训练中知道的知识,超过282个任务并没有太大帮助。第二种解释可能是有意义的,因为预训练数据由780B个令牌组成,而指令调优只使用1.4B个令牌(占预训练令牌的0.2%)。
最后,将模型规模增加一个数量级(即8B→62B或62B→540B)可以大大提高精调和非精调模型的性能。注意,要确定指令调优对小型模型还是大型模型的改进更大(与没有调优的基线相比),可能会比较复杂。例如,尽管8B模型的绝对增益大于540B模型(8B为15.5%,540B为9.4%),但540B模型的误差率相对降低更大(540B为18.4%,8B为16.6%)。
绘制这样的缩放曲线可以深入了解如何进一步缩放模型大小和任务数量以提高性能。将模型大小按另一个数量级缩放(尽管具有挑战性)有望提供实质性的性能提升。调整调优任务的数量也可以提高性能,尽管可能只是增量的。总的来说,绘制的缩放曲线表明,未来的工作应该继续缩放指令微调。
4 使用带有Chain-of-thought的标注来Fine-tune
Flan调优的目标是在一系列评估中产生一个改进的检查点,除了传统的NLP任务外,还包括多步推理能力。本节探讨在指令调优组合中包含思想链(CoT)数据的效果。首先,在几个基准测试中证明了Flan-PaLM的推理能力优于先前的模型。然后,作者删除了CoT微调数据,并表明尽管没有CoT的指令微调实际上会降低推理能力,但仅包括9个CoT数据集可以提高所有评估的性能。最后,作者展示了在挑战BIG-Bench任务时,通过“Let’s think step by step.”,CoT微调解锁了Zero-shot推理。
5 放到一起
本节介绍了在不同模型上应用指令微调的实验结果。作者通过对多个不同大小、结构和训练目标的模型进行指令微调,展示了指令微调的普适性。作者不仅对PaLM系列的模型进行了指令微调,还对具有编码器-解码器结构的T5模型进行了微调。作者还使用PaLM 62B模型的扩展版本cont-PaLM和使用UL2目标进行预训练的540B PaLM模型U-PaLM进行了指令微调。评估结果如表5所示。指令微调在很大程度上提高了所有模型类型的标准化平均性能。对于所有模型类型,指令微调都大幅提高了归一化平均性能。在T5模型中,指令微调效果最为显著。同时,作者在附录C中还报告了负责任AI基准测试的结果。
6-8 讨论
略
9 总结
本文通过(1)扩展到540b参数的语言模型,(2)扩展到1.8K的微调任务,以及(3)在微调中包含思想链(CoT)数据来扩展指令微调和训练Flan-PaLM。实验表明,随着模型尺寸的增大和调优任务的增加,模型性能得到了显著提高。此外,尽管先前的指令微调方法会降低CoT任务的性能,但与CoT数据联合微调可以提高所有评估的性能。
Flan-PaLM在几个基准测试中达到了最先进的性能,例如在5-shot MMLU上达到了75.2%。Flan-PaLM还改进了可用性,例如,它可以在没有快速工程或少量示例的情况下执行零采样推理。此外,实验表明指令微调与一系列模型大小、架构和预训练目标兼容。