Learning From Mistakes Makes LLM Better Reasoner翻译

摘要

大型语言模型(LLM)最近在解决数学问题方面表现出了卓越的推理能力。为了进一步提高这种能力,这项工作提出了从 错误中学习(LEarning from MistAkesL,LEMA),类似于人类的学习过程。考虑一个无法解决数学问题的人类学生,他将从他所犯的错误中学习以及如何纠正它。通过模仿这种错误驱动的学习过程,LEMA在 GPT-4 生成的纠错数据对上进行 LLM 微调。具体来说,我们首先从各个 LLM 收集不准确的推理路径,然后使用 GPT-4 作为“纠正器”来(1)识别错误步骤,(2)解释错误的原因,以及(3)纠正错误并生成最终答案。实验结果证明了 LEMA 的有效性:在五个LLM和两个数学推理任务中,与单独对 CoT 数据进行微调相比,LEMA 持续提高了性能。令人印象深刻的是,LEMA 还可以使 WizardMath 和 MetaMath 等专业LLM受益,在 GSM8K 上实现 85.4% 的 pass@1 准确率,在 MATH 上实现 27.1% 的准确率。这超越了开源模型在这些具有挑战性的任务上所实现的 SOTA 性能。我们的代码、数据和模型将在 Github Link 上公开。

1.介绍

随着数据规模和模型规模的指数级增长,当代大型语言模型在各种 NLP 任务上表现出了显着的进步,特别是在需要复杂的思维链 (CoT) 推理的数学问题解决方面。 在 GSM8K 和 MATH 等具有挑战性的数学任务上的性能方面,专有的大语言模型(包括 GPT-4 和 PaLM-2)取得了显着的成绩。然而,开源LLM,例如LLaMA-2和Baichuan-2,仍然有很大的改进空间。
  为了进一步提高开源LLM处理数学任务的 CoT 推理能力,一种常见的方法是使用带标注/生成的问题推理数据对(称为 CoT 数据)对这些模型进行微调,这些数据直接教导模型如何对这些任务执行 CoT 推理。虽然这种简单的学习过程已经显示出其有效性,但本研究探讨了是否可以通过后向学习过程(即从LLM所犯的错误中学习)进一步提高LLM的推理能力。从错误中学习的洞察力来自于人类学生的学习过程。考虑一个刚刚开始学习数学的学生。虽然他学习的是书本上的黄金知识和例子,但他也会做练习。在解决问题失败后,他会了解自己犯了什么错误以及如何改正。通过从错误中吸取教训,他的推理能力将会进一步提高。受这种错误驱动的学习过程的启发,这项工作探讨了LLM的推理能力是否也可以从理解和纠正错误中受益。
  具体来说,我们首先生成纠错数据对(称为校正数据),然后使用校正数据对 LLM 进行微调。为了生成校正数据,我们采用多个 LLM(包括 LLaMA 和 GPT 系列模型)来收集不准确的推理路径(即最终答案不正确)。然后我们使用 GPT-4 作为“校正器”来为这些不准确的推理路径生成校正。生成的修正包含三条信息:(1)原始解决方案中不正确的步骤,(2)解释为什么该步骤不正确,以及(3)如何修正原始解决方案以获得正确的最终答案。在过滤掉最终答案不正确的修正后,我们的人工评估表明,我们的修正数据对于后续的微调阶段表现出足够的质量。我们通过使用 QLoRA 对 CoT 数据和校正数据微调 LLM,从错误中进行学习(LEMA)。
  我们使用五个开源LLM在两个具有挑战性的数学推理任务的实验结果证明了 LEMA 的有效性。与单独对 CoT 数据进行微调相比,LEMA 持续提高了各种 LLM 和任务的性能。例如,LEMA 与 LLaMA-2-70B 在 GSM8K 上达到 83.5%,在 MATH 上达到 25.0%,而仅对 CoT 数据进行微调,则分别达到 81.4% 和 23.6%。此外,LEMA 还与专门的 LLM 兼容:LEMA 与 WizardMath-70B/MetaMath-70B 在 GSM8K 上实现了 84.2%/85.4% pass@1 准确率,在 MATH 上实现了 27.1%/26.9%。这超越了开源模型在这些具有挑战性的任务上所实现的SOTA的性能。此外,我们的消融研究表明,在相同的数据大小下,LEMA 仍然优于单独的 CoT 微调。它表明 CoT 数据和校正数据的有效性并不同质,因为两个数据源的组合可以产生额外的改进,而不是使用单一数据源。这些实验结果和分析强调了从错误中学习在增强LLM推理能力方面的潜力。

2.Related Work

LLMs with CoT reasoning。Wei et al. (2022) 揭示了超大型模型中 CoT 推理能力的出现。这种推理能力已经在各种推理相关领域得到检验,例如逻辑推理、常识推理和数学推理。LLM在这些领域的令人印象深刻的表现促使研究界进一步研究如何有效利用和增强LLM CoT 推理的方法。
  Enhancing CoT reasoning for solving mathematical problems。人们已经做了很多工作致力于提高LLM从不同角度解决数学问题的表现。一些研究探索了基于采样多个推理路径的投票或验证方法。一些方法考虑生成可执行程序以获得最终答案或集成插件工具以方便在中间步骤期间执行外部API。一些工作集中在数据增强上,这涉及扩展训练集或提供外部注释。本项工作与数据增强方法相一致。
  Data augmentation for mathematical tasks。在高级 LLM(例如 GPT-4 和 GPT-3.5-Turbo)的帮助下,人们提出了各种方法来为数学任务生成更多 CoT 数据:: Yuan et al. (2023) 提出了用于增强 CoT 数据的拒绝抽样;Xu et al. (2023) 改进了训练集中的数学问题;Li et al. (2023a) 应用了查询增强和响应增强;Yu et al. (2023) 使用自我验证和FOBAR来生成具有高多样性的CoT。虽然 CoT 数据的有效性已得到充分研究,但如何利用其他辅助数据改进数学推理仍处于探索之中。这项工作朝着利用辅助数据迈出了第一步:我们提出利用纠错数据并通过实验检查其有效性。最近,Liu et al. (2023) and Wang et al. (2023c) 构造重排序数据或验证数据作为辅助数据,使模型判断推理路径的质量。与这种辅助数据相比,我们的校正数据信息量更大:除了判断推理步骤的质量之外,我们的校正数据还教模型解释其判断,并根据判断修改原始推理路径。

3.Method

在这里插入图片描述
  图 1(左)展示了 LEMA 的概述,它由两个主要阶段组成:生成校正数据和微调 LLM。

3.1 Correction Data Generation

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  给定一个问答样例

(

q

i

,

a

i

)

Q

(q_i, a_i) ∈ mathcal Q

(qi?,ai?)∈Q、一个校正器模型

M

c

mathcal M_c

Mc? 和一个推理模型

M

r

mathcal M_r

Mr?,我们生成纠错数据对

(

q

i

r

~

i

,

c

i

)

C

(q_i ⊕ ilde r_i, c_i) ∈ mathcal C

(qi?⊕r~i?,ci?)∈C,其中

r

~

i

ilde r_i

r~i? 表示问题

q

i

q_i

qi?的不准确的推理路径,

c

i

c_i

ci?表示对

r

~

i

ilde r_i

r~i? 的修正。
  Collecting Inaccurate Reasoning Paths。我们首先使用推理模型

M

r

mathcal M_r

Mr? 对每个问题

q

i

q_i

qi? 采样多个推理路径,并仅保留那些不会导致正确的最终答案

a

i

a_i

ai? 的路径,

r

~

i

M

r

(

P

r

q

i

)

,

A

n

s

(

r

~

i

)

a

i

,

(1)

ilde r_isimmathcal M_r(mathcal P_r⊕q_i),quad Ans( ilde r_i)
e a_i, ag{1}

r~i?~Mr?(Pr?⊕qi?),Ans(r~i?)=ai?,(1)
其中

P

r

mathcal P_r

Pr?时模型用于执行CoT推理的few-shot提示指令,

A

n

s

(

?

)

Ans(cdot)

Ans(?)从推理路径中抽取出最终答案。
  Generating Corrections for Mistakes。对于问题

q

i

q_i

qi?和不准确的推理路径

r

~

i

ilde r_i

r~i?,我们使用校正器模型

M

c

mathcal M_c

Mc?生成校正,然后检查校正中的最终答案,

c

i

M

c

(

P

c

q

i

r

~

i

)

,

A

n

s

(

c

i

)

=

a

i

,

(2)

c_isimmathcal M_c(mathcal P_c⊕q_i⊕ ilde r_i),quad Ans(c_i)=a_i, ag{2}

ci?~Mc?(Pc?⊕qi?⊕r~i?),Ans(ci?)=ai?,(2)
其中

P

c

mathcal P_c

Pc? 包含 4 个带标注的错误纠正示例,以指导纠正器模型生成的纠正中应包含哪些类型的信息。具体来说,带标注的纠正包括三条信息:

  • Incorrect Step:原始推理路径中的哪一步时错误的。
  • Explanation:这一步包含什么类型的错误。
  • Correct Solution:如何纠正推理路径来获得正确答案。

Human Evaluation for Generated Corrections。在大规模生成数据之前,我们首先手动评估生成的校正数据的质量。 我们以LLaMA-2-70B为

M

r

mathcal M_r

Mr?,利用GPT-4为

M

c

mathcal M_c

Mc?,基于GSM8K训练集生成50个纠错数据对。我们将纠正数据分为三个质量级别:

  • Excellent:样例2。
  • Good:样例3。
  • Poor:样例4。

3.2 Fine-Tuning LLMs

A Input-Output Formats for Fine-Tuning

在这里插入图片描述