情境原则:从错误中学习
In-Context Principle Learning from Mistakes
0 研究背景
ICL是当前在预训练大语言模型中广泛使用的一种方法,在没有额外训练的情况下,通过提供少数输入-输出示例来引导模型完成下游任务。
ICL本质上是基于少量的正向输入-输出对来学习模型的行为。然而,现有的ICL方法只学习这些正确的对,而没有涉及错误的反思和改正。
人类会从错误中吸取教训,因此作者认为大模型也可以从错误中总结规律来学习。
1 研究问题
在人类学习中,错误是学习的一个重要部分,模型如何通过故意犯错误、反思这些错误并从中总结出任务特定的原则,来避免未来的错误并提高推理准确性?
2 现有研究局限性
现有的ICL方法仅从给定的“正确”输入-输出对中学习模型行为,而并没有鼓励模型从其错误中学习,也没有反思错误的过程。人类通常通过反思错误来改进学习,而现有的ICL方法并未充分利用这一学习方式。
3 贡献
提出了Learning Principles (LEAP)方法,旨在让语言模型不仅仅从正确的输入-输出对中学习,而是通过故意让模型犯错,然后从错误中总结出任务特定的原则。
4 方法设计
1 生成错误
对于每一个输入-输出对,利用 输入 和短语 Think step-by-step 来创建zero-shot的思维链,通过非零温度采样的方式获得15个输出,与正确答案比较识别出错误的输出。
2 生成低级原则
对于每个错误,我们提示LLM生成该错误的自然语言解释。在这一步中,LLM被提供了正确答案以阐述解决方案不准确的原因。
3 生成高级原则
利用LLM将低级原则浓缩成大约5个关键要点,从而创建高级原则。这一步骤的目的是生成通用的、不依赖于特定示例的解决下游任务的原则。
4 最终推理
将低级原则或高级原则提供给LLM,形成增强prompt,用于进行最终对于测试输入的推理。
5 实验
HotpotQA:多步问答任务。
DROP:文本理解任务,要求对段落进行数值和逻辑推理。
MATH:数学问题解答任务。
GSM8K:小学级数学题。
Big-Bench Hard:包含27个测试多种推理能力的任务。
Table 1:文本推理结果,包括在HotpotQA和DROP任务上的精确度。表格中突出显示了每个基础LLM在每个数据集中的最佳和次佳方法。
Table 2:数学推理结果,展示了在MATH和GSM8K任务上的精确度。同样,表中标出了每种LLM在每个任务上的最佳和次佳表现。
6 结论
LEAP方法使得LLMs能在给定的少数示例中通过故意生成错误、反思这些错误,并从中提炼出原则来学习,这些原则有助于模型在未来避免类似的错误。这种方法的核心思想是通过错误学习,不同于传统的只依靠正确示例进行学习的策略。
7 局限性
错误的生成可能并不理想:LEAP方法的核心在于从生成的错误中学习。这需要系统能够有效地生成有教育意义的错误,这些错误应具有足够的代表性和教育价值。如果错误生成不准确或不充分,可能导致学习的效果不理想。
需要从错误中提炼原则,可能会受到模型泛化能力的影响:虽然从错误中提炼出的原则可以帮助模型在类似任务中避免相同的错误,但这些原则的泛化能力可能受限。原则可能过度适应于特定的错误类型或任务,而不一定适用于未见的、结构不同的新任务。
域适应性问题:LEAP方法在特定的领域(如文本推理)中可能表现出色,但在其他类型的任务(如视觉处理或声音识别)中的适用性和有效性还需要进一步研究和验证。
8 启发
1 考虑研究不同类型的错误对LLM学习的影响
2 LEAP方法主要应用于文本数据,可以考虑将这一方法扩展到其他模态