FLAN
概要¶
本文探究了一种提升语言模型零样本学习能力的简单方法. 作者证明了指令微调, 即在通过指令描述的数据集集合上微调语言模型, 能够显著提升其在未见过的任务上的零样本性能. 他们采用一个137B参数的预训练语言模型, 并在超过60个通过自然语言指令模板表述的NLP数据集上对其进行指令微调. 他们将这个经过指令微调的模型命名为FLAN, 并在未见过的任务类型上对其进行评估. FLAN的性能相较于其未经修改的对应模型有显著提升, 并且在他们评估的25个数据集中有20个超过了零样本的175B GPT-3. 在ANLI, RTE, BoolQ, AI2-ARC, OpenbookQA和StoryCloze等任务上, FLAN甚至大幅领先于少样本的GPT-3. 消融实验表明, 微调数据集的数量, 模型规模以及自然语言指令是指令微调成功的关键.
引言¶
大规模语言模型(LM)如GPT-3已被证明在少样本学习上表现出色. 然而, 它们在零样本学习上则不那么成功. 例如, 在阅读理解, 问答和自然语言推理等任务上, GPT-3的零样本性能远差于其少样本性能. 一个可能的原因是, 在没有少样本范例的情况下, 模型很难在那些与预训练数据格式不相似的提示上表现良好. 本文中, 作者探究了一种提升大规模语言模型零样本性能的简单方法, 这将使其应用范围扩大到更广泛的受众. 作者利用了这样一个直觉, 即NLP任务可以通过自然语言指令来描述, 例如"这篇电影评论的情感是积极的还是消极的?"或"将'how are you'翻译成中文. ". 他们采用一个137B参数的预训练语言模型, 并对其进行指令微调, 即在一个由超过60个通过自然语言指令表达的NLP数据集组成的混合体上微调该模型. 他们将得到的模型称为FLAN, 即Finetuned Language Net.
为了评估FLAN在未见过的任务上的零样本性能, 作者根据任务类型将NLP数据集分组为不同的簇, 并在所有其他簇上对FLAN进行指令微调的同时, 将每个簇留出用于评估. 例如, 为了评估FLAN执行自然语言推理的能力, 作者在一系列其他NLP任务上对模型进行指令微调, 例如常识推理, 翻译和情感分析. 由于这种设置确保了FLAN在指令微调期间没有见过任何自然语言推理任务, 作者接着评估了它执行零样本自然语言推理的能力.
作者的评估表明, FLAN显著提升了137B参数基础模型的零样本性能. 在作者评估的25个数据集中, FLAN的零样本性能在其中20个上超过了175B参数GPT-3的零样本性能, 甚至在ANLI, RTE, BoolQ, AI2-ARC, OpenbookQA和StoryCloze上大幅领先于GPT-3的少样本性能. 在消融实验中, 作者发现增加指令微调中任务簇的数量可以提升在未见过任务上的性能, 并且指令微调的益处只有在模型规模足够大时才会显现.
指令微调是一种简单的方法, 它通过利用微调的监督来改善语言模型对推理时文本交互的响应, 从而结合了预训练-微调和提示这两种范式的优点. 作者的实验结果展示了语言模型在执行纯粹通过指令描述的任务方面具有有前景的能力.