Meta的研究人员最近提出了一种名为System 2蒸馏的技术,该技术旨在将大型语言模型(LLM)的推理能力从System 2模式(需要生成中间推理步骤)转化为System 1模式(直接生成最终答案)。这种技术在多个任务上取得了显著的成果,其中Llama 2对话模型在一项任务上的准确率甚至接近100%。
System 2蒸馏技术的核心思想是,通过在训练数据上应用System 2方法(如Chain-of-Thought、Rephrase and Respond等)生成高质量的输出,然后将这些输出蒸馏回LLM的直接生成能力,从而提高LLM的性能。这种技术的关键在于,它能够将System 2方法的推理能力转化为LLM的直接生成能力,从而在保持性能的同时减少推理成本。
在论文中,研究人员首先介绍了System 2蒸馏技术的基本原理和方法。他们将LLM的直接生成能力定义为System 1模式,将需要生成中间推理步骤的能力定义为System 2模式。然后,他们提出了一种基于自监督学习的方法,通过在无标注数据上应用System 2方法生成高质量的输出,并将这些输出作为训练数据来微调LLM的参数。
为了验证System 2蒸馏技术的有效性,研究人员在多个任务上进行了实验。首先,他们考虑了Rephrase and Respond方法,该方法通过让LLM重新表述问题并生成答案来提高性能。研究人员在两个任务上评估了该方法:最后一个字母连接任务和硬币翻转推理任务。在最后一个字母连接任务中,LLM需要连接给定单词的最后一个字母。通过应用Rephrase and Respond方法,研究人员发现LLM的准确率从30%提高到98%。在硬币翻转推理任务中,LLM需要根据给定的翻转序列预测最终的结果。通过应用Rephrase and Respond方法,研究人员发现LLM的准确率从56%提高到75%。
接下来,研究人员考虑了System 2注意力(S2A)方法,该方法通过让LLM在生成答案之前关注输入中的特定信息来减少推理错误。他们使用SycophancyEval数据集评估了该方法,该数据集包含有偏见的信息,已知会对LLM的性能产生负面影响。通过应用S2A方法,研究人员发现LLM在有偏见输入上的准确率从51%提高到81%,在无偏见输入上的准确率从73%提高到78%。
最后,研究人员考虑了Branch-Solve-Merge(BSM)方法,该方法通过将任务分解为多个子任务并并行解决它们来提高性能。他们使用Open Assistant数据集评估了该方法,该数据集包含用户查询和候选答案。通过应用BSM方法,研究人员发现LLM在两个评估集上的准确率都得到了显著提高。
除了这些实验结果,研究人员还讨论了System 2蒸馏技术的局限性。他们指出,并非所有任务都适合蒸馏,特别是那些需要复杂推理的任务,如Chain-of-Thought方法。此外,他们还指出,由于自监督学习的性质,模型的性能可能受到所应用的过滤器的影响。