论文翻译:The step-by-step code generation and self-debugging mechanisms highlight the critical role of c

The step-by-step code generation and self-debugging mechanisms highlight the critical role of code
https://arxiv.org/pdf/2308.07921

使用基于代码自我验证的GPT-4代码解释器解决具有挑战性的数学文字问题。

摘要

最近,在大型语言模型(LLMs)如GPT-4和PaLM-2方面取得的进展,在解决数学推理问题上带来了显著的进步。特别是,OpenAI的最新版GPT-4,被称为GPT-4代码解释器,在具有挑战性的数学数据集上表现出色。在本文中,我们通过在GPT-4代码解释器上引入不同的代码使用频率约束,探索了代码对增强LLMs推理能力的影响。我们发现其成功在很大程度上归功于其生成和执行代码的强大技能,评估代码执行的输出,并在接收到不合理的输出时纠正其解决方案。基于这一见解,我们提出了一种新颖而有效的提示方法,即显式基于代码的自我验证(CSV),以进一步增强GPT-4代码解释器的数学推理潜力。这种方法使用零样本提示在GPT-4代码解释器上,鼓励它使用代码来自我验证其答案。在验证状态注册为“False”的情况下,模型将自动修正其解决方案,类似于我们在数学考试中纠正错误的方法。此外,我们认识到验证结果的状态表明了解决方案的置信度,这可以提高多数投票的有效性。有了GPT-4代码解释器和CSV,我们在MATH数据集上取得了令人印象深刻的零样本准确率(53.9% → 84.3%)。

1 引言

大型语言模型(LLMs)(Brown等人,2020年;OpenAI,2023年;Anil等人,2023年)在各种任务上显示出了令人印象深刻的成功,例如常识理解与代码生成。然而,它们在数学推理方面仍然有所不足,经常产生无意义或不准确的内容,并在复杂计算中挣扎。先前解决这些挑战的尝试包括Chain-of-Thought(CoT)(Wei等人,2022年)框架,它通过生成推理过程中的中间步骤来增强LLMs的逻辑推理能力。此外,PAL(Gao等人,2023年)通过使用Python编程解释器引入了一种新方法来提高计算精度。

在最近的进展中,OpenAI推出了GPT-4的改进版本,即GPT-4代码解释器或GPT4-Code,它擅长提供逻辑自然语言推理以及逐步Python代码。值得注意的是,它可以逐步生成和执行代码,然后向LLM呈现执行代码的输出。将代码生成和执行添加到自然语言输出中,在解决数学推理问题上显示出了有希望的结果。我们的初步实验表明,GPT4-Code在具有挑战性的MATH数据集(Hendrycks等人,2021年)上取得了令人印象深刻的零样本准确率69.7%,比GPT-4的表现(42.2%)显著提高了27.5%。

虽然GPT4-Code在解决数学问题方面表现出了熟练,但系统分析的缺失,集中在理解和进一步增强其数学问题解决能力上。GPT4-Code与其前身GPT-4之间的关键区别在于GPT4-Code能够自动生成和执行代码。因此,本文提出了初步实验,使用特定的代码约束提示来调查GPT4-Code的代码生成和执行机制。分析揭示了GPT4-Code的强表现不仅仅是由于其代码生成和执行能力,还有其根据代码执行反馈调整问题解决策略的能力——我们称之为自我调试(在表7和表8中说明)。由于代码生成逐步演变其推理步骤,并在代码执行错误后进行自我调试,因此代码使用频率有所增加。因此,我们引入了代码使用频率的概念,以区分这些独特的提示策略,定量分析代码约束提示对GPT4-Code在数学问题解决上的影响。

逐步代码生成和自我调试机制突出了代码在解决数学问题中的关键作用。然而,自我调试机制仅在生成的代码的每一步进行验证,而缺乏对推理步骤和最终答案的验证,这已被证明对LLMs的数学问题解决能力至关重要(Cobbe等人,2021年;Lightman等人,2023年;Weng等人,2023年)。

因此,我们提出了一个问题:我们能否充分利用GPT4-code中的代码生成和自我调试机制,使其能够自动验证和纠正其解决方案,而无需其他模型或用户的额外帮助?

为了回答这个问题,我们提出了一种简单但有效的提示技术,称为显式基于代码的自我验证(CSV),它引导GPT4-Code生成额外的代码来验证答案,并在推理中存在缺陷时调整推理步骤。与依赖外部语言模型进行验证的先前方法不同(Lightman等人,2023年;Cobbe等人,2021年),我们的方法利用了GPT4-Code的内在优势。这种方法提供了两个关键好处:(1)当验证表明答案为False时,GPT4-Code可以修正其先前的解决方案并提供改进的替代方案。(2)被验证为True的解决方案往往更可靠,类似于人类的解决问题方式。然而,即使解决方案被自我验证为False,我们也不会直接放弃它。相反,我们提出了一种加权多数投票策略,该策略结合了基于代码的解决方案验证结果,而不是完全依赖于答案的频率。我们根据其验证状态为解决方案分配不同的权重,反映了解决方案的不同可靠性水平。与我们的初步实验中的代码使用频率分析一致,我们的显式基于代码的自我验证提示通过增加代码使用提高了GPT4-Code在数学问题解决中的准确性。

实证研究表明,我们提出的框架在MATH、GSM8K和MMLU-Math数据集上使用GPT4-Code时的有效性。我们的方法在MATH数据集上取得了84.32%的准确率,大大超过了基础GPT4-Code和以前的最先进方法。此外,我们正在公开我们在MMLU-Math和MATH数据集上的实验数据,使结果复制成为可能,并有助于微调开源LLM模型(例如,LLaMA 2(Touvron等人,2023年)),以进一步增强数学问题解决能力,借助代码生成的帮助。

这篇论文的主要贡献可以总结为三个方面:
• 本研究提供了对代码生成、执行和自我调试在数学问题解决中作用的首次系统分析。我们的发现揭示了GPT4-Code在解决数学问题方面的卓越能力主要归功于其逐步代码生成和基于代码执行结果的动态解决方案细化。
• 我们引入了创新的显式基于代码的自我验证(CSV)提示,它利用了GPT4-Code的高级代码生成机制。这个提示引导模型验证答案,然后使用代码重新评估其解决方案。CSV不仅将验证扩展到问题解决背后的逻辑,还通过整合验证状态提高了多数投票方法的有效性。
• 此外,我们通过创建两个新的遵循指令的数据集:MATH-code和MMLU-Math-code,为LLM社区做出了贡献。这些数据集旨在增强开源模型的数学推理能力。
在这里插入图片描述
在这里插入图片描述

图 1:MATH数据集中第277个数论问题的例子:(a) 提示1生成中间的纯文本推理步骤。 (b) 提示2生成中间文本推理步骤和事后Python代码,类似于PAL(Gao等人,2023年)。 © 基本提示,对代码使用没有设置限制。三个提示的详细信息在第3.1节中介绍。(更多例子,见表9和表10。)

2 相关工作

思维链推理。 Wei等人(2022年)提出的**思维链(Chain-of-Thought, CoT)**提示方法是一个显著的贡献,展示了LLMs的多步推理能力。通过在问题前简单地添加“让我们一步一步思考”,Kojima等人(2022年)实现了零样本思维链(Zeroshot-CoT),它可以作为一个强大的零样本基线。进一步的研究通过应用多数投票来提高自我一致性(Wang等人,2023年),选择少数样本例子和输出具有更复杂推理步骤的链(Fu等人,2022年),将问题分解为更简单的子问题(Zhou等人,2023年),甚至将思维链扩展为思维树(Yao等人,2023年)。类似于零样本思维链,我们的方法应用“一步一步”的提示来规范GPT4-Code使用代码,而不需要精心设计一步一步的少数样本例子。此外,我们将多数投票增强为验证引导的加权多数投票,利用CSV的结果作为投票权重。

用代码解决数学问题。 大型语言模型在执行算术计算(如加法、减法、乘法等)时被发现不够准确(Cobbe等人,2021年;Lewkowycz等人,2022年;Gao等人,2023年;Lu等人,2022年)。因此,以前的工作尝试在代码的辅助下解决数学问题。GSM8K数据集(Cobbe等人,2021年)使用计算注释来提取所有由外部计算器解决的算术计算:Python eval函数。为了进一步利用代码在LLMs中的作用,程序辅助语言模型(PAL)(Gao等人,2023年)以及思维程序(PoT)(Chen等人,2022年)将数学问题解释为Python代码,并使用外部Python解释器执行代码以获得答案。尽管它们可以获得比一些非代码方法更准确的答案,但许多生成的代码因缺乏验证机制而存在执行错误或得到错误答案。我们的方法不仅利用了GPT4-Code生成多步代码和改进无法运行的代码的能力,而且还使用CSV来提高答案的可靠性和准确性。

自我验证。 人类解决问题并不总是一次成功,而是需要迭代思考、验证和细化。与以前的研究不同,这些研究训练了额外的验证器来验证最终答案的正确性(Cobbe等人,2021年)或中间步骤(Lightman等人,2023年;Li等人,2023年),Weng等人(2023年)通过生成多个答案并按自我验证分数进行排名,展示了LLMs的自我验证能力。此外,Madaan等人(2023年)提出的SELF-REFINE通过自我生成的反馈迭代细化其输出。与这些需要LLMs以自然语言给出验证反馈的自我验证方法不同,我们的方法应用生成的代码来验证答案,并根据不同答案的验证结果进行投票,从而提高了验证的准确性,并充分利用了验证过程中的信息。

3 方法

我们首先在具有挑战性的MATH数据集(Hendrycks等人,2021年)上对GPT4-Code进行了初步实验。令人瞩目的是,它达到了69.7%的准确率,显著超过了之前53.9%的最新技术水平(Zheng等人,2023年)。受到GPT4-Code出色表现的鼓舞,我们努力系统地探索和分析其底层代码机制。在第3.1节中,我们通过我们设计的代码约束提示来说明GPT4-Code在解决数学问题上的稳健表现不仅来自于其生成准确逐步代码的能力,还来自于其自我调试机制。在第3.2节中,我们旨在利用GPT4-Code的自我调试优势来进一步提高其解决数学问题的能力。

3.1 对GPT4-Code代码使用情况的初步实验分析

为了探索代码使用对GPT4-Code数学问题解决能力的影响,我们采用了一种直接的方法,通过精心构建的提示来限制GPT4-Code与代码的交互。具体来说,我们引入了两个代码约束提示和基本提示进行比较:

  • 提示1:不允许使用代码:在响应此提示时,禁止GPT4-Code在其解决方案中加入代码。这促使GPT4-Code完全依赖于自然语言(NL)推理链,类似于CoT框架(Wei等人,2022年)中的解决方案。推理步骤的结果序列显示为CNL,示例见图1(a)。

  • 提示2:代码只能使用一次:在此提示设置中,GPT4-Code被允许仅在一个代码块中使用代码来生成解决方案,模仿Gao等人(2023年)引入的PAL方法。我们称这个序列为CSL,代表一系列符号语言(SL),例如Python。示例见图1(b)。

  • 基本提示:提示GPT4-Code解决问题,对代码使用没有任何限制。这个提示导致GPT4-Code的典型功能模式,可以表示为C = ((c1NL, c1SL),(c2NL, c2SL), …),代表一个推理步骤的序列列表,每个步骤都包括自然语言和Python代码,示例见图1©。
    在这里插入图片描述

图2:通过应用不同提示调整代码使用频率,在不同难度级别上的MATH数据集表现。(a) 4种提示之间整体准确率的比较。(b) 在所有五个级别中,代码使用频率与准确率成正比,当问题相对复杂时(即级别较高时),这种现象尤为明显。

除了图1中的具体示例外,我们引入了代码使用频率(Code Usage Frequency)来记录不同提示下代码执行的次数。使用这些提示进行的实验结果在图2(b)中展示。该图表明了GPT4-Code更好的表现与更高的代码使用频率之间存在正相关关系。更具体地说:

提示1与提示2的比较:提示1几乎不使用代码,而提示2大约使用了1次代码。提示2比提示1在准确率上提高了6.9个百分点。这表明Python代码链CSL比自然语言链CNL能更好地提高计算能力。这一观察结果与先前基于Python的提示方法的发现一致(Gao等人,2023年;Chen等人,2022年)。然而,仅使用一次代码存在固有的缺点——当代码输出触发错误或产生不合逻辑的结果时,模型缺乏自我调试的能力。

提示2与基本提示的比较:基本提示持续产生涉及多次代码使用的解决方案,导致代码使用频率大幅增加。此外,基本提示在准确率上表现出显著提高。这些在代码使用频率和准确率上的提高可能归因于两个独特的优势:(1) 在自然语言推理步骤中,以简短且频繁的段落生成代码,往往能产生更高的准确率。(2) 模型具备评估代码执行结果的能力,并在结果包含错误或被认为不合逻辑时,对解决方案步骤进行修正,如表7和表8所示。

从这些观察中,我们可以合理地增强并建立在GPT4-Code的有利属性之上,进一步提高其解决数学问题的精确度。

3.2 显式基于代码的自我验证提示

受到代码使用频率分析的启发,我们寻求利用GPT4-Code的能力,包括模型生成准确代码、评估代码执行结果以及在需要时自动调整解决方案的推理步骤的能力。然而,尽管有这些优势,GPT4-Code目前在确保解决方案的正确性方面还有所不足。因此,我们的目标是利用这些优势来增强解决方案的验证。

为了实现这一目标,我们提出了一种称为显式基于代码的自我验证(Explicit Code-based Self-verification, CSV)的技术。这种方法提示GPT4-Code通过代码生成明确验证其答案。通过实施这一提示,我们在解决方案C中引入了一个额外的验证阶段,称为V。验证结果V可以被分类为真(True)、假(False)或不确定(Uncertain)。不确定的分类表明GPT4-Code在识别有效的方法进行答案验证时遇到了困难,因此选择不提供明确的验证结果。利用GPT4-Code固有的自主能力,我们可以按以下方式制定所提出的提示:

在这里插入图片描述

在这里插入图片描述

图 3:MATH数据集中第712个中级代数问题。(a) 没有自我验证时,模型生成了错误答案。(b) 有了自我验证,模型纠正了错误并生成了正确答案。CSV提示:请使用代码解释器逐步解决问题,并请使用代码解释器验证您的答案。

图 3 (b) 中展示了一个例子。结合CSV,模型能够使用代码来验证答案,如果验证结果为False,则重新审视并调整其得出解决方案的过程,以获得正确答案。在完善和纠正初始解决方案后,我们预期准确率会有显著提高。值得注意的是,验证和修正阶段都是基于代码的。这不可避免地导致代码使用频率增加,如前所述的分析,这将在后续实验中进一步展示。

我们使用CSV进行了实验,这些结果可以在图 2 中找到。这里的实验是在MATH(Hendrycks等人,2021年)上使用GPT4-Code进行的。在图 2 (b) 中,我们提出的CSV提示所达到的准确率在所有指定的难度级别上一致超过了基本提示。同时,代码使用频率得到了明显的增加。在GPT4-Code出现之前,以前的框架(Lightman等人,2023年;Cobbe等人,2021年)依赖于外部LLM使用自然语言进行验证和精心设计的少数样本示例提示。相比之下,我们的方法通过仅依赖于对GPT4-Code的简单提示,以零样本的方式简化了过程。这使得GPT4-Code能够自主验证并独立使用高级代码执行机制修正其解决方案,从而消除了对定制少数样本示例的需要。

鉴于CSV能够有效验证问题解决答案,我们可以自然地将验证状态整合到多数投票中,类似于在自我一致性CoT(Wang等人,2023年)中采用的方法。通过验证被认为是True的答案通常更可靠,反映了人类认知中看到的问题解决方法(Newell & Simon, 1972; Wang & Chiew, 2010)。这种提高的可靠性可以利用在广泛使用的多数投票过程中。为了利用这一洞见,我们引入了验证引导的加权多数投票,它为验证过程的状态分配不同的权重。

在实践中,有时一旦答案被确认为False,就不再进行额外的验证,从而产生了False的验证状态。我们分别为这些状态分配相应的权重True、不确定、False:分别为(w_T)、(w_U) 和 (w_F)。

类似于图 4 (a)(ii) 中的CoT自我一致性(CoT-SC)(Wang等人,2023年),我们的框架可以采样k条路径。为了简化,我们从k个解决方案中提取最终答案及其对应的验证结果对,表示为 ((v_i, a_i)),其中 (i = 1, 2, …, k),(v_i) 和 (a_i) 分别表示第i个最终答案和最终验证结果。

因此,每个候选答案 (a) 的投票分数可以表示为:[ \text{score}(a) = \sum_{i=1}^{k} (w_{T} \cdot \mathbb{1}{{v{i} = \text{True}}} + w_{U} \cdot \mathbb{1}{{v{i} = \text{Uncertain}}} + w_{F} \cdot \mathbb{1}{{v{i} = \text{False}}}) \cdot \mathbb{1}{{a{i} = a}} ]

在这里插入图片描述

在这里,( a ) 表示候选答案,( v ) 表示验证状态,( w_v ) 是集合 ( { w_T, w_U, w_F } ) 中的一个元素。每个 ( w_v ) 表示与其对应的验证状态相关的置信度。

最后,我们从所有候选答案中选择得分最高的答案,其中 ( \text{Score}(a) ) 根据公式 1 指的是答案 ( a ) 的得分。

在这里插入图片描述

应当注意,当 ( w_v = 1 ) 对所有 ( w_v \in { w_T, w_U, w_F } ) 成立时,公式 1 与在CoT自我一致性(CoT-SC)(Wang等人,2023年)中使用的简单多数投票等价。

通常,我们设定 ( w_T > w_U > w_F ),这意味着经过验证为真的答案比验证状态不确定的答案具有更高的置信度,而经过验证为假的答案具有最低的置信度。图 4 展示了在验证引导的加权多数投票中的计算过程的一个例子。

4 实验

4.1 在MATH上的表现

MATH数据集(Hendrycks等人,2021年)被认为是最具挑战性的数学文字问题数据集,这一点也由Chen等人(Chen等人,2023年)强调。我们的大部分实验和相应的分析都是在MATH基准上进行的。表1比较了GPT4-Code与其他模型的性能。GPT4-Code在MATH(Hendrycks等人,2020年)上达到了69.69%,大幅超过了之前53.90%的最新技术水平,这表明GPT4-Code在解决数学问题上表现出强大的能力,并被用作我们消融研究的基线。在GPT4-Code的基础上,我们的方法进一步提高了其准确性,增加了显式基于代码的自我验证后,结果提高到73.54%,在增加了显式基于代码的自我验证和验证引导的加权多数投票(采样路径数为16)后,提高到84.32%。

请注意,这个惊人的高结果是基于基础模型GPT4-Code的强大能力,我们的方法增强了GPT4-Code的优秀品质,具有验证解决方案的能力。请注意,尽管增加基于代码的自我验证可以提高每个单独科目的性能,但改进的程度因科目而异,从7.6%到只有0.6%不等。

特别是,几何问题的准确率只提高了0.6%,尽管原始的GPT4-Code准确率仅为54.0%,在科目中是低的。这种差异可能归因于解决几何问题通常需要多模态(Chen等人,2023年),这是一个超出本文范围的概念。
在这里插入图片描述

图 4:(a) 展示了简单多数投票(Wang等人,2023年)和我们的验证引导加权多数投票的示意图。所提出的验证引导加权多数投票框架的完整流程。我们使用模型生成几种不同的解决方案。然后我们检测每个解决方案的自我验证状态,并将其分类为三种状态:真(True)、不确定(Uncertain)和假(False)。根据验证的状态,我们为每个解决方案分配不同的权重,并使用分类结果来为每个可能的答案投票计分。
在这里插入图片描述

表 1:MATH数据集上的准确率(%)。VW-voting 是验证引导加权多数投票的缩写。(总体:跨不同MATH子主题的结果(Hendrycks等人,2021年)

4.2 在其他数据集上的表现

除了具有挑战性的MATH数据集,我们还在其他推理数据集上进行了我们的方法测试,如GSM8K(Cobbe等人,2021年)、MMLU-Math和MMLU-STEM(Hendrycks等人,2020年)。相应的结果可以在表2和表3中查看。当集成在GPT4-Code之上时,我们的方法在所有数据集上都超越了其他竞争方法,实现了最先进的结果。MMLU基准测试中的其他科目提供在图8中。我们还提供了我们的结果与先前最先进技术和开源模型的比较分析。

表2表明,与模型选择的GPT-4(Zhao等人,2023年)和PHP(Zheng等人,2023年)相比,验证引导的多数投票是一个有效的框架,可以减少采样路径的数量。
在这里插入图片描述
在这里插入图片描述

表3展示了我们模型在MMLU-Math数据集上与现有模型(Hoffmann等人,2022年;Taylor等人,2022年)的性能比较,以及在MMLU-STEM上与最先进开源模型的性能比较。开源模型在很大程度上落后于其闭源的对应模型。为了解决这一差距,我们已经制作了数据集,并将在不久的将来公开提供。我们的目的是促进开源LLMs的微调。例如,开源模型LLaMA 2(Touvron等人,2023年)可以潜在地利用这些数据进一步增强其数学推理能力。
在这里插入图片描述

图 5:每条曲线上的四个点分别对应使用提示1、提示2、基本提示和基于代码的自我验证提示的结果。(a) 不同代码使用频率下不同级别的准确率。(b) 不同科目在不同代码使用频率下的准确率。

4.3 所提提示的代码使用频率

与第3.1节中采用的方法类似,我们收集数据以阐明准确性与代码使用频率之间的相关性,涵盖不同的维度——提示(提出的CSV提示以及在初步实验中使用的提示)、科目和难度级别。如图5所示,当我们增加基于代码的提示时,模型的行为符合我们的预期。图5中的每一行都有一个明显的上升趋势,证明了代码使用频率的增加通常会引起准确性的提高。在使用更多代码时,在更高难度级别上的性能增益更为明显,而在较低级别上,性能增益不是非常显著,如图5(a)所示。同时,随着难度级别的增加,代码使用频率也在稳步增加。这表明更难的数学问题需要更频繁的代码使用,这暗示多次调用代码可能是GPT4-Code在解决困难数学问题上具有如此优势的一个重要原因。图5(b)中有类似的趋势。

4.4 消融研究和讨论

自然语言与基于代码的自我验证的比较:为了强调代码在自我验证阶段的重要性,我们采用了一个不同的自然语言自我验证提示。在这种方法中,GPT4-Code被指导通过自然语言来验证解决方案,而不是依赖于基于代码的验证,如表4所示。这种方法所达到的准确率略低于基本提示。此外,我们观察到7个子主题中有4个的准确率下降,表明仅依赖自然语言验证不仅可以损害准确性,还可能对性能产生负面影响。相比之下,基于代码的验证在所有7个子主题上与基本提示相比都提高了准确性。

验证引导加权多数投票的分析:我们最初编制了混淆矩阵(TP/TN/FP/FN),捕捉与公式1中提到的真(True)和假(False)状态匹配的自我验证解决方案,这些解决方案来自五个不同的采样路径。混淆矩阵的详细信息在附录A.1.1中展示。基于这些数据,我们计算了精确度、召回率和准确性。(在真状态的解决方案被视为正面。)结果在图6中展示。与准确性相比,我们观察到平均精确度和召回率分别提高了22.3%和5.6%。特别是,平均精确度达到了95.88%。这意味着如果更多的解决方案在给出最终答案之前达到验证为真的状态,准确性有潜力大大提高。

验证引导加权多数投票中超参数消融:我们还在公式1中的超参数 ( w_v \in { w_T, w_U, w_F } ) 上进行了消融研究。当超参数设置满足 ( w_T > w_U \geq w_F ) 时,验证引导加权多数投票的性能在所有采样路径上一致超过了简单多数投票方法。相反,当我们设置超参数为 ( (w_T = 0.5, w_U = 0.5, w_F = 1) ) 时,该配置下的性能不如简单多数投票。因此,我们提出的验证引导加权多数投票方法易于调整且稳健。
在这里插入图片描述

表 4:有无显式基于代码的提示的自我验证比较(总体:跨不同MATH子主题的结果(Hendrycks等人,2021年))

5 结论和局限性

在本文中,我们首先对GPT4-Code进行初步实验,探索其使用代码对其在数学推理中的性能有何影响。通过分析代码使用频率和准确性,我们确定GPT4-Code解决数学问题的能力在很大程度上归功于其生成和执行代码的能力,以及在遇到不合逻辑的执行输出时调整和修正解决方案的有效性。在此理解的基础上,我们引入了显式基于代码的自我验证和验证引导的加权多数投票的概念,旨在增强GPT4-Code的数学能力。

然而,我们的工作存在一些局限性,我们计划在未来进一步探索。首先,我们的分析和改进目前集中在GPT4-Code上,这在某种程度上是受限的。我们打算将这些方法应用到其他大型语言模型(LLMs)上。其次,我们的显式基于代码的自我验证和验证引导的加权多数投票技术可能创造出更准确的数据集。这些数据集将包括详细的基于代码的逐步解决方案生成和基于代码的验证,这可能有助于改进像LLaMA 2(Touvron等人,2023年)这样的开源LLMs并增强它们的数学能力。尽管我们尚未探索这种方法,我们将其留作未来的工作。
在这里插入图片描述

图 6:(a) 显示了在不同推理路径上的精确度、召回率和准确性。 (b) 显示了在将权重设置为不同值时,根据采样的推理路径数量的准确性。

  • 31
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值