笔记整理:张沈昱,东南大学硕士,研究方向为自然语言处理
链接:https://github.com/FranxYao/FlanT5-CoT-Specialization
动机
本文的动机是探索如何在多步推理任务中通过大型语言模型提升较小的语言模型的性能。作者认为,大型语言模型模型(如GPT-3.5系列模型)虽然具有强大的建模能力,但是它们通常需要大量的计算资源和时间来训练和部署。相比之下,小规模语言模型虽然容量有限,但它们可以更快地训练和部署,并且在某些任务上有更优异的表现。因此,作者希望通过专业化较小的语言模型来解决多步推理任务,以获得更好的性能。作者提出了一种从大型教师模型中提取思维链(Chain-of-Thought, CoT)路径来微调指令微调模型(Instruction-Tuned Model,本文使用Flan-T5),以将其能力集中在目标任务上的方法。通过这种做法,作者证明了小型语言模型可以在多步推理任务中获得不错的性能提升,且这种性能提升随着模型体量的提升稳定增长。
贡献
本文的主要贡献包括:
1)提出了一种专业化较小语言模型的方法,将其能力集中在目标任务上,从而获得更好的性能和更快的训练和部署速度。
2)通过从大型教师模型中提取思维链路径,并用其来微调指令微调模型,在多步推理任务中,小型语言模型可以获得不错的性能提升,并且可以在特定任务上表现出与大型语言模型相当的性能。
3)通过实验证明随着模型规模的增大,小型语言模型可以呈现出稳定的性能提升。
4)通过实验证明使用指令微调的模型(Flan-T5)作为基础模型比使用原始的预训练模型(T5)具有更好的泛化性能。
方法
给定一个训练问题,作者使用code-davinci-002(Codex)来生成40个针对该问题的CoT解决方案,然后选择其中正确解答了问题的回答作为训练语料。解决方案包括答案和解释答案的中间步骤的思维链。除了将问题作为输入并将[CoT, answer]对作为输出的标准微调设置(图1 B4)外,作者还考虑了三种额外的数据格式:1) in-context answer-only(图1 B1),不使用CoT数据,并在问题前添加4个in-context样本,采用这种设置的原因是先前的工作表明用in-context样本进行微调可以提高模型的上下文学习能力;2)in-context chain-of-thought(图1 B2),在输入和输出中都添加了CoT;3)zero-shot and answer-only(图1 B3),直接输入问题并输出答案,使用仅包含答案的数据是因为以前的工作表明它们能提高模型性能。在本文实验中,作者表明,in-context样本能引发模型zero-shot的能力,而zero-shot的数据则会牺牲模型上下文学习的能力。
就训练目标而言,本文采用了基于分布匹配的蒸馏方法,即最小化学生模型与老师模型输出的概率分布之间的KL散度(在本文中为模型自回归解码过程中每步的输出分布)。
图1 A. 专业模型的总体流程 B. 本文所使用的4种数据格式
实验
本文针对模型的数学推理能力和通用能力进行了实验。对于数学推理能力,作者使用code-davinci-002增强的GSM8K数据集作为训练数据集。GSM8K有7个训练问题,对于每个问题,作者要求大型模型生成40个不同的解决方案,从生成的解决方案中提取正确的解决方案,共计获得了有13万条训练数据。作者在MultiArith、ASDiv和SVAMP(合称M-A-S)数据集上测试了模型的分布外性能。M-A-S和GSM8K的区别在于它们都是小学水平的算术推理问题,但是数据集中涉及的实体是不同的。例如,GSM8K可以考虑对食物进行算术推理(例如,5个苹果+8个香蕉=13个水果),而MultiArith可以考虑动物(例如,2只狗+3只猫=5只动物)。这种类型的分布外泛化通常被称为词法级组合泛化(即两者都是加法,但词法不同)。对于通用能力,作者使用BigBench Hard(BBH)测试套件,这是一个由26个具有挑战性的数据集组成的列表,从多个维度测试模型的推理能力(例如日期理解、因果判断、参考游戏等)。由于其难度和广泛的覆盖面,BBH是测试模型通用能力的理想基准。
对于基线模型,作者考虑了通用的大型模型和蒸馏过的小型模型,具体包括:1) 通用的大型模型,根据模型规模排序为:code-davinci-002,LaMDA 137B和PaLM 60B(两者都是强大的CoT推理的通用模型),UL2(一个具有良好CoT能力的20B模型);2)同期的知识蒸馏模型。实验表明,本文模型表现明显优于其他对比方法,主要是因为本文使用了经过指令微调的Flan-T5作为基础模型,而不是原始预训练模型(T5),实验结果如表1。
表1 总体实验结果
总结
在这项工作中,作者研究了利用思维链提示学习使较小的语言模型在多步骤推理任务上专业化。实验表明,本文方法能将小模型的能力从通用方向集中到目标数学推理任务。在进行专业化之后,模型性能随着模型规模的增加而平滑增加。同时,本文实验显示了使用指令微调过的模型作为基础模型的重要性,因为它们的泛化性能比原始预训练过的检查点更好。在模型专业化过程中需要做出多种权衡,包括模型泛化性能的损失,分布内和分布外泛化的平衡,以及上下文学习和zero-shot泛化能力的平衡。本文方法是在当下基于大模型的新研究范式中,专业化小模型的重要尝试。
OpenKG
OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。
点击阅读原文,进入 OpenKG 网站。