LM2 : A Simple Society of Language Models Solves Complex Reasoning

文章目录

    • 题目
    • 摘要
    • 简介
    • 相关工作
    • 方法论
    • 实验
    • 结果
    • 结论
    • 局限性

题目

LM2:简单的语言模型社会解决复杂推理问题
在这里插入图片描述

论文地址:https://aclanthology.org/2024.emnlp-main.920/
项目地址: https://github.com/LCS2-IIITD/Language_Model_Multiplex

摘要

    尽管展示了新兴的推理能力,大型语言模型 (LLMS) 通常会失去对复杂、多步骤推理的跟踪。现有研究表明,通过将原始问题分解为多个子问题来提供指导可以使 LLM 推理更具鲁棒性——分解器生成子问题,求解器解决每个子问题。然而,这些技术无法适应分解器和求解器模块之间的协调(无论是在单个模型中还是在不同的专门模型中)——分解器不会跟踪求解器遵循分解推理的能力。在本文中,我们提出 LM2 来解决这些挑战。LM2 将分解、解决方案和验证模块化为三个不同的语言模型。分解器模块识别解决问题所需的关键概念,并根据推理要求生成逐步的子问题。求解器模型生成子问题的解决方案,然后由验证器模块检查;根据验证者的反馈,使用子问题和解决方案构建推理上下文。这些模型经过训练,可以使用策略学习进行协调。详尽的实验表明,LM2 在域内和域外推理问题上优于现有方法,在 MATH 上的表现比最佳基线高出 8.1%,在 JEEBench 上的表现比最佳基线高出 7.71%,在 MedQA 问题上的表现比最佳基线高出 9.7%。

简介

    使用大型语言模型 (LLM) 解决复杂推理任务的最新趋势通常遵循两种不同的主导方法:(i) 在像 GPT-4 (OpenAI, 2023) 这样贡献规模过大的 LLM 上使用精心策划的提示技术 (Zheng 等人,2023;Yao 等人,2024),或 (ii) 使用领域聚焦数据对相对较小的 LLM 进行微调 (Shao 等人,2024;Toshniwal 等人,2024;Dutta 等人,2024)。前者的方法严重依赖于所使用的专有 LLM,并且在与功能较弱的模型一起使用时很容易彻底失败。后一类方法虽然与庞大的 LLM 相比具有成本效益,但由于训练领域狭窄,往往在通用性方面有所损失。

    分解推理的编年史。最近的许多文献指出,当问题分解为逐步的子问题时,LLM 往往在复杂的推理任务上表现更好(Zhou 等人,2023;Khattab 等人,2022;Juneja 等人,2023)。早期的技术通过为模型提供包含分解为多个子问题的原始问题及其答案的示例来展示其优越性(Zhou 等人,2023)。然而,Juneja 等人(2023)说明,通过微调单独的分解器语言模型(LM)以与更大的求解器 LM 协调,将分解器与求解器分离,比简单地提示单个单片 LM 分解和求解更有益。与他们的发现相呼应,Wu 等人(2024)也发现,与直接分解求解器能力相比,将分解能力从较大的 LM 提炼到较小的 LM 更具通用性。

    我们的贡献。然而,现有分解器微调方法的一个主要瓶颈是分解器-求解器交互之间缺乏紧密性。通常,分解以无记忆方式进行,无论求解器是否有初始响应;没有采用任何策略来跟踪求解器是否可以遵循分解后的推理链。为此,我们提出了一种新颖的多 LLM 协调框架,即语言模型多路复用 (LM2)。LM2 建立在三个独立的 LM 之上,每个 LM 专用于复杂的多步推理有三个不同的组成部分——求解器 LM 负责回答问题;验证器 LM 提供有关求解器输出正确性的反馈;分解器 LM 确定解决问题所需的基本概念,并通过分解原始问题生成逐步的子问题(参见图 1 中的工作示例)。与之前的方法不同,LM2 中的分解器根据求解器对先前子问题的答案以及验证器对这些答案的反馈来生成每个子问题。

在这里插入图片描述
图 1:LM2 对 MATH 数据集中问题的推理过程。问题(蓝色)被提供给 Solver LM,该问题产生了错误答案(红色)。然后将问题提供给 Decomposer LM,后者生成概念和分步子问题(淡紫色)。每个子问题都由 Solver LM 回答,子答案由 Verifier LM 验证。如果 Verifier LM 认可子答案,则将该子问题-子答案对添加到推理步骤的上下文中;否则,将生成新的子问题。问题、概念、子问题和子答案在上下文中提供给 Decomposer LM 以生成下一个子问题。
最后,将问题、概念、子问题和子答案提供给 Solver LM 以生成最终答案(绿色)。

    此外,分解器还会生成解决问题的概念要求,这进一步简化了求解器 LM。无论底层推理的复杂性如何,回答任何问题所需的世界知识通常都能更好地保存在更大的专有 LM 中。考虑到这一点,我们使用 GPT-3.5(text-davinci-003)作为求解器,未进行微调。对于分解器和验证器,我们分别对 LLaMA-2(130 亿个参数)实施参数高效微调(Hu et al, 2022)。首先,使用 GPT-4 注释的数据集分别针对分解和验证任务对这些模型进行微调。然后,在策略学习设置中,教分解器与求解器和验证器模型协调。LM2 在一系列不同的推理任务中取得了令人鼓舞的性能。在数学推理的 MATH 数据集上,LM2 的平均绝对准确率比最佳分解器调整基线高出惊人的 8.1%。尽管 LM2 使用 MATH 数据集的训练分割来调整分解器和求解器,但它可以无缝推广到 MedQA 和 JEEBench 中的分布外任务,在绝对准确率上分别以 9.7% 和 7.71% 的差异胜过最佳竞争基线。

    除了讨论总体数字之外,我们还进行了深入的消融分析,以确定模型中每个组件的作用。我们观察到:

  1. 验证器 LM 和分解器 LM 生成的概念在推广 MedQA、JEEBench Chemistry 等分布外推理任务中起着至关重要的作用;
  2. 对分解器进行微调对于更好地识别概念至关重要——与 GPT-4 相比,经过微调的 LLaMA-2 7B 可以生成更有效的概念要求;
  3. 即使不使用所有LM2 的模块化组件,结构化推理的提示模板提升了 GPT-4 的性能。

相关工作

    Nye 等人(2021)首次证明了明确生成中间推理步骤优于直接生成所需答案的有效性。思维链提示(Wei 等人,2022)将 Nye 等人(2021)的草稿本学习推广到使用 LLM 的上下文学习机制。思维链及其后继者(Chen 等人,2022;Yao 等人,2024)通常让复合、多步骤推理问题的分解在 LLM 中保持隐式。

    Zhou 等人(2023)证明,相反,明确调用 LLM 来生成多个较小的问题,这些问题是回答原始查询的步骤,可以实现更鲁棒的推理。他们提出的方法 Least-to-Most prompting 使用这些较简单的子问题及其答案作为上下文来解决原始问题。同样,Khot 等人 (2023) 提出了一种基于提示的问题分解方法,其中要求 LLM 使用少量示例分解复杂任务。但是,这仍然会给单个语言模型带来处理分解和解决方案的负担。Juneja 等人 (2023) 通过将分解能力提炼为相对较小的语言模型来解决这一挑战。他们提出的方法 DaSLaM 利用两个相互协调的独立语言模型来解决复杂的推理问题。他们的研究结果表明,对分解器进行微调比对求解器模型进行微调更具通用性。Wu 等人 (2024) 最近进一步支持了这一点。Tarasov 和 Shridhar (2024) 探索了通过离线强化学习来提炼分解能力。 Khattab 等人 (2022) 提出了一种程序化检索增强框架,即演示-搜索-预测 (DSP),用于知识密集型生成任务。

    DSP 依赖于通过复杂程序在生成式 LM 和检索模型之间进行协调。最近有人尝试结合密集验证器(通常是经过微调的双向语言模型,充当分类器),帮助生成模型实现稳健、可验证的问题解决和文本生成 (Cobbe 等人,2021;Sun 等人,2023)。已经提出了用于验证 LM 生成输出的不同技术随后提出的新方法,如自我验证(Weng 等,2023)、多数投票(Li 等,2023)等。

方法论

    我们提出的方法 LM2 建立在多个 LM 的协调基础上,以模块化方式进行推理。然而,这种协调并不隐含在模型的相关阶段;相反,我们试图通过微调(部分)LM 多路复用来灌输这种能力。为此,LM2 建立在三个功能组件之上:一个(最好是更大的)求解器模型、一个分解器模型和一个验证器模型。为了对 LM2 不同组件的功能进行细粒度控制,我们使用了一个结构化的、循序渐进的输入输出框架(见图 1)。LM2 中每个模块的作用描述如下。

    分解器LM通过两种方式指导求解器LM解决多步推理问题。首先,它为求解器模型提供解决问题所需的概念集合。其次,它告诉求解器LM,给定前面的子问题及其答案,下一个子问题是什么。更具体地说,分解器LM是一个函数,可以定义为D(q, {si, sai}, c) : Q×S×SA → {S, C},其中q表示需要解决的初始问题,{si, sai}表示前面的子问题(si)及其对应答案(sai)的集合,(c)表示函数是否需要预测概念或下一个子问题。Q是所有问题的空间,S是所有子问题的空间,SA是所有子答案的空间,C是所有概念的空间。

    监督微调。分解器训练分两个阶段进行,类似于(Juneja et al, 2023)。第一阶段是监督微调,其中语言模型在使用 GPT-4 准备的数据集上进行微调。为了创建数据集,我们为 GPT-4 提供了一个问题及其黄金推理。然后要求它首先生成解决问题所需的所有概念,然后生成子问题和子答案。只有正确回答的问题才会包含在数据集中。数据集中的每个样本都可以表示为一个元组 {Q, c, {si , sai} n i=1, sn+1},其中 sn+1 是根据前面的子问题和答案得出的下一个子问题。分解器然后在标准语言建模目标上进行微调。

    策略优化。通过监督微调步骤,分解器 LM 被训练来响应具有概念和分解子问题的推理问题。但是,它仍然不能考虑到求解器和验证器模型的反馈。为此,我们利用近端策略优化(Schulman 等人,2017),以分解器为策略,以求解器和验证器模型为黑盒环境。确切地说,我们利用验证器模型的反馈计算不同类型的奖励,该反馈在每个步骤中考虑求解器模型的响应并为分解器提供必要的细化信号。

    验证者鉴于多步推理的复杂性,我们需要验证者能够就求解器可能犯的错误向分解器提供细致入微的反馈;先前使用验证器进行的研究(Li et al, 2023; Weng et al, 2023)中使用的二进制正确/错误消息将限制分解器模型的视野范围。对于细粒度控制,验证器在监督数据集上进行微调,该数据集包含一个问题、一个正确答案中有错误的答案、错误类型的分类以及分类的解释。验证器将给定的输入分为以下九类:

  1. 概念错误,
  2. 计算错误,
  3. 程序错误,
  4. 误解的问题,
  5. 第一步的错误,
  6. 前半部分的错误,
  7. 后半部分的错误,
  8. 最后一步的错误,
  9. 没有错误。

    该数据集是使用 GPT-4 生成的,要求它根据正确的解决方案、错误的解决方案和分类为分类生成一个解释。验证器经过微调以生成解释和分类(请参阅第 3.3 节中每种错误消息和解释的示例)。

    使用分解器反馈进行训练 为分解器 LM 策划的训练数据集仅包含正确答案;因此,分解器无法识别语言模型可能犯的错误。为了让分解器生成有意义的问题,我们进一步微调分解器,同时使用策略梯度方法与求解器语言模型协同工作。环境。环境由黑盒求解器模型 Θ 组成。模型 Θ 根据概念和先前的问题及其答案生成当前问题的答案。策略、动作和状态空间。分解器语言模型 ϕ 包括策略网络。状态空间 S 中的状态 s 由初始状态 s0 和从初始状态到当前状态采取的所有动作串联定义。初始状态 s0 定义为初始问题 Q。

    动作空间定义为语言模型 ϕ 的标记空间。因此,状态 sn 可以表示为 (s0, {ai} n i=1),其中 ai 是在第 i 个时间步骤采取的动作。奖励函数。奖励基于验证者对分解器生成的每个子问题给出的反馈。奖励结构直观地设计为对早期子问题中出现的错误相对于后期子问题中出现的错误施加惩罚。这是因为纠正早期错误可以显著增加问题正确的几率。此外,与计算错误相比,该策略对概念和程序错误的惩罚更多。

    我们为第 k 个子问题构建奖励函数如下:在这里插入图片描述其中 γ < 1 是负责对早期代施加更多惩罚的折扣因子。ri 是验证者给出的个别反馈的奖励,定义如下(对于每种类型的奖励,我们都提供了分解器提出的示例问题、求解器对该问题的错误答案、识别出的错误类型以及验证者在红色文本框中生成的解释)。概念正确性奖励定义为,在这里插入图片描述其中 I 是指示函数,V 是验证器,它接受第 k 个子问题 (sk) 及其由求解器生成的答案 (sak) 作为输入,并输出错误类别。此奖励可解释求解器在理解或错误应用概念时所犯的任何错误。

问:就公差 d 而言,a、b、c 是多少?答:由于 a、b 和 c 构成一个等差数列,我们可以用 a 来表示 c,即 c = a + d,其中 d 是公差。
验证者:概念错误:学生误解了在等差数列中寻找公差的可能值以形成具有给定周长的三角形的概念。

    计算正确性奖励定义为,在这里插入图片描述此奖励考虑了模型在计算或公式应用方面犯错的情况。与其他类型的错误相比,这类错误的权重较小,因为可以轻松使用外部工具来完成这些机械任务。

问:a + c 的值是多少?答:由于已知 a、b 和 c 组成一个等差数列,我们可以将 b 表示为 a 和 c 的平均值。这给出了 b = a+c 2 。三角形的周长由 P = a + b + c = a + a+c 2 + c = 3a+3c 2 给出。已知周长为 60 个单位,因此得到 60 = 3a+3c 2 。解 a + c 可得出 a + c = 20 验证器:计算错误:模型在计算 a + c 的值时出现计算错误。a + c 应该是 40

程序正确性奖励定义为,在这里插入图片描述这包括模型在遵循解决问题时已在上下文中提供的逐步程序时所犯的任何错误。

问:a、d 的可能值有哪些?答:将其代入方程 a + c = 20,得到 a + (a + d) = 20,简化为 2a + d = 20 − a。由于边长必须是整数,因此 a 和 d 必须是整数。然后,我们可以尝试满足方程 2a + d = 20 − a 的不同 a 和 d 值。尝试不同的值后,我们发现唯一能给出整数边长的解是 a = 10 和 d = 20。
验证者:程序错误:学生在解决问题的过程中犯了一个错误,没有准确地找到公差的可能值。

    问题理解奖励定义为,在这里插入图片描述此奖励针对的是模型在理解子问题时犯错的情况。要么它没有回答子问题中提出的数量。这发出一个信号,子问题要么与前面的问题不一致,要么过于复杂,模型无法回答。这种错误很重要,需要解决,因此赋予了更高的权重。

问:a、b、c 可能有多少个不同的值?答:这给出了三角形的边长,即 a = 10、b = 15 和 c = 30。
验证者:错误理解问题:模型犯了一个错误,没有给出不同值的数量。

    根据错误位置进行奖励。如上所述,后面的错误受到的惩罚比前面的错误少。因此,如果在第一步犯了错误,则给予 -0.2 的奖励。如果模型在子答案的前半部分犯了错误,则给予 -0.12 的奖励。对于子答案的后半部分的错误,给予 -0.08 的奖励。如果在最后一步犯了错误,则给予 -0.05 的奖励。无错误奖励是指模型在回答子问题时没有犯任何错误,并给予 +1 的正奖励。

    在推理过程中,分解器、求解器和验证器模型共同回答给定的问题(参见图 1 中的工作示例)。在推理过程中,分解器首先生成解决问题所需的概念列表。然后,在给定问题和概念作为上下文的情况下,分解器生成一个子问题。子问题由求解器回答。现在,给定子问题和子答案,验证器以多类分类的形式提供反馈,这些反馈分为上述错误类别。如果验证器提供的反馈包括概念错误、程序错误、理解错误或第一步中的错误,我们再次生成子问题。

实验

    对于所有实验,LM2 使用 OpenAI text-davinci-003 模型(以下称为 GPT-3.5)作为求解器,并使用 LLaMA-2 13B(Touvron 等人,2023)作为分解器和验证器的基础模型。在分解器 LM 微调的第一阶段,我们管理了一个包含 15,396 个问题、概念、子问题、子答案元组的数据集。这些问题取自 MATH 数据集(Hendrycks 等人,2021 年)。问题取自 MATH 数据集。对于验证器 LM 微调,生成了一个包含 3,674 个问答分类元组的数据集。附录 A 提供了每个步骤使用的提示的详细信息。

    训练细节我们为分解器和验证器微调了 LLaMA2-13B。我们训练了 8 个 epoch,批处理大小为 128,学习率为 2e-5,预热步骤为 100,Lora r 值为 4,LoRA Alpha 为 16,dropout 为 0.05。这些模型在 80G A100 GPU 上以 8 位量化进行训练。对于第二阶段的微调,我们对 LoRA 适配器的最后 3 层进行了微调,使用批次大小为 16、梯度累积步骤=4、初始 kl 系数=0.01、目标=4。对于推理,我们在所有实验中使用温度 0 以确保结果的一致性,最大输出长度为 2000。

    评估我们在需要多步推理的硬推理数据集上评估我们的方法。这些数据集包括 MATH(Hendrycks et al, 2021)(测试拆分)、JEEBench(Arora et al, 2023)和 MedQA(Jin et al, 2020)(英语问题)。MATH 数据集包含来自具有挑战性的数学竞赛的数学问题,因为它也用于训练,这显示了我们在领域内问题上的表现。接下来,我们在分布外的数据集上进行评估,例如 JEEBench(包含从 JEE Advanced 考试中提取的 PCM 问题)和 MedQA(包含来自专业医学委员会考试的开放域问题)。我们只评估英语问题。

    基线细节 我们将 LM2 与五种现有方法进行比较:思路链提示 (CoT) (Wei 等人,2022 年)、从最少到最多提示 (L2M) (Zhou 等人,2023 年)、渐进提示提示 (PHP) (Zheng 等人,2023 年)、Demonstrate-SearchPredict (DSP) (Khattab 等人,2022 年) 和 DaSLaM (Juneja 等人,2023 年)。PHP 的原始设置需要 8 次提示;但是,由于包括 LM2 在内的所有其他方法都在零次设置中预测,因此我们使用 1 次 PHP 进行更公平的比较。

在这里插入图片描述
表 1:使用 GPT-3.5 作为求解器 LM,在 MATH 和 MedQA 数据集上对 LM2 与基线的性能进行比较。

    消融研究,在我们的调查中,我们进行了五种类型的消融研究,旨在全面了解 LM2 管道中每个组件的重要性。我们首先通过进行一项实验来调查验证器的相关性,在该实验中我们将其完全删除(LM2\V)。在这里,我们接受分解器在推理过程中生成的每个问题,而无需进行任何验证。然后,我们探索概念在管道中的作用。在这里,我们通过指示分解器直接生成子问题来改变方法,而不在答案生成阶段将概念提供给求解器 LM(LM2\C)。在此之后,我们研究通过策略学习进行第二阶段微调所获得的增量收益。为此,我们分析了微调初始阶段之后分解器检查点的性能,称为(LM2\RL)。为了评估不同类型奖励的影响,我们将奖励分为两个不同的类别:

  1. 基于错误的类型,包括概念、计算、程序和问题理解的正确性,以及
  2. 基于错误的位置。随后,我们提出了两种消融变体,使用每类奖励进行微调:LM2 类型和 LM2 位置。

结果

    我们在表 1 中总结了 LM2 以及基线方法在 MATH 和 MedQA 数据集上的表现,并在表 2 中总结了 JEEBench 数据集上的表现。在所有数据集中,LM2 都大大改进了现有方法(使用 GPT-3.5 求解器)。与 GPT-3.5 求解器相比,它在 MATH 数据集上平均提高了 8%,在 JEEBench 数据集上平均提高了 2.5%。达到最佳表现的基线 DaSLaM。它能在域外任务上有所改进吗?在 DaSLaM 和 LM2 中,求解器模型都保持冻结状态,希望保留可推广性。

在这里插入图片描述
表 2:LM2 在 JEEBench 数据集上的表现以及基线和消融变体。(上三分之一)我们用粗体和下划线突出显示最佳和第二佳方法。在不同主题和不同类型的问题(物理 MCQ 问题除外)上,LM2 通常优于所有现有的使用 GPT-3.5 的提示技术。
在 3/12 个案例中,LM2 的表现优于 GPT-4。(中间三分之一)我们观察到每个消融变体的性能都有大幅下降,这表明这些模块可以有效集成到 LM2 中(有关每个变体的描述,请参见第 4.5 节)。(下三分之一)使用 GPT-3.5 和 GPT-4 作为求解器,在 LM2 中采用的结构化答案生成的性能,没有分解器和验证器。

    但是,两种方法中的分解器模型(以及 LM2 中的验证器)都是使用数学推理问题进行微调的。这就引发了一个问题,即这些微调组件在数学推理以外的问题上的可推广性。DaSLaM 面临的最重大挑战之一是它无法在 JEEBench Chemistry 等域外任务上表现良好。我们发现我们的方法可以超越这一限制,如表 1(MedQA)和表 2(JEEBench Chemistry)所示。虽然 DaSLaM 在 MedQA 上的性能低于 CoT,但 LM2 的绝对准确率提高了 6.8 个百分点。验证器有多重要?接下来,我们试图调查管道中每个组件的相对重要性。我们观察到,删除验证器模型后准确率大幅下降(表 2 中间三分之一的 LM2\V)。

    我们可以看到,化学下降了 13.0%,而物理下降了 10.08%,数学子集下降了 3.4%。在多答案、数字和整数答案问题中,随着验证器的消失,准确率的相对下降更为明显。这是有道理的,因为这些问题对计算推理的要求更高,而验证器在指导分解器和求解器沿着正确的推理路径前进。

在这里插入图片描述
图 2:token 生成成本比较。我们描述了求解器模型使用不同方法解决给定问题时生成的平均 token 数量,该数量平均来自 JEEBench 数据集中的 50 个问题。

    概念有多重要?从表 2 可以看出,删除概念会使物理子集的准确率降低 11.6%,数学子集的准确率降低 6.03%,化学子集的准确率降低 17.5%。这表明概念在提高物理和化学等域外数据集的性能方面也发挥着非常重要的作用。通常,LM2\C 的表现比其他消融变体更差,这表明概念是 LM2 中最重要的组成部分。GPT-4 作为概念生成器?我们还检查我们的分解器在生成概念时与 GPT-4 相比如何。为了进行比较,我们提示 GPT-4 在给定问题的情况下生成概念。我们观察到,与分解器模型相比,使用 GPT-4 生成概念时平均下降了 9.13%,这表明基于反馈的微调生成的概念质量更高。

在这里插入图片描述
图 3:基于 MATH 数据集示例的 GPT-4、DaSLaM 和 LM2 的比较。

    基于反馈的微调有什么效果?当将没有第二阶段微调的分解器与验证器的性能与 LM2 的性能进行比较时,基于反馈的微调的效果显而易见。平均而言,当省略第二阶段微调时,我们观察到性能显着下降了 9.6%。这一发现凸显了微调作为优化模型性能的关键步骤的重要性。然而,概念和验证器的重要性似乎超过了微调。这表明,虽然微调有助于提高模型性能,但将概念和验证器纳入模型架构可以带来更实质性的增强。结构化回答模板如何发挥作用?回想一下,在 LM2 中,我们引入了一种新颖的结构化回答模板,用于可控地协调三个模型。必须研究这种模板在性能提升背后所起的作用。我们将模板与两个不同的求解器一起使用模型,GPT-3.5 和 GPT-4。正如我们在表 2 底部三分之一处所见(称为 modelnameSP),这两个模型都通过我们的结构化模板提高了其基本性能。然而,更强大的 GPT-4 模型能够更有效地利用模板,在 JEEBench 问题中平均增益为 7.8%。通常,物理问题的改进高于数学问题,这表明语言模型在使用思路链提示时不太擅长检索物理概念和解决问题。应该注意的是,虽然结构化回答模板本身是一个强大的提升,但如果没有 LM2 中的完全协调,它就会弱得多。

    引导推理有助于限制 token 的使用吗?与 LLM 进行迭代交互的一个重要挑战是 token 使用量的增加,这将转化为计算或货币方面的费用。在图 2 中,我们绘制了使用 LM2 和 DaSLaM 时求解器模型 (GPT-3.5) 产生的平均令牌使用量(每个问题)与基本思路链生成的平均令牌使用量。请注意,我们仅显示使用 LM2 和 DaSLaM 时修改后的响应对应的令牌使用量。这两种方法最初都使用基本 CoT 来生成初始响应,因此它们的总令牌使用量将始终高于 CoT。但是,添加的结构和引导推理显著减少了修改后的响应中的令牌使用量。LM2 在这方面也占了上风。这背后的主要原因是 LM2 中分解器、求解器和验证器之间的逐步协同作用。由于分解器根据求解器对前一个子问题的响应来生成子问题,因此冗余生成的机会减少了,而 DaSLaM 则是一次性生成所有子问题。

    示例分析。为了进一步了解 LM2 的细微差别,我们对 MATH 数据集中的示例进行了生成的输出分析(见图 3)。我们比较了 LM2、DaSLaM 和带有 CoT 的 GPT-4。我们可以看到,GPT-4 对问题本身的解释是错误的。它假设延误后的总行程需要 10 个小时,从而导致选项选择错误。DaSLaM 产生的子问题不遵循解决问题所需的推理顺序,并会产生冗余问题。它首先问要覆盖的总距离是多少?然而,在第二个问题中,它要求火车的速度,这个问题本身已经给出了。DaSLaM 生成的第 3 个子问题实际上是原始问题,求解器犯了一个数字错误,将分数 3d 4 75 简化为 d 300 而不是 d 100 。如果没有验证器,这个错误的回答就会被整合到求解器的推理环境中。在接下来的问题中,要求解决同样的问题,求解器继续做出错误的回答。使用 LM2 ,我们观察到分解器模型提出了一条更加明确、清晰的提问路线;求解器能够在不重新生成相同信息或得出不正确的子答案的情况下找到正确的答案选项。

结论

    在本文中,我们提出了 LM2 ,这是一组协作的生成语言模型,它们共同解决复杂的推理问题。 LM2 采用冻结求解器模型,该模型通过逐步回答由分解器模型构建的问题并由经过训练以相互协调的验证器模型检查来引导解决推理问题。我们发现,LM2 证明了其在各种推理任务(包括域内和域外)上优于现有方法。我们发现,尽管使用数学推理示例进行训练,但我们提出的结构化响应方案以及细粒度验证策略在将 LM2 推广到严重超出分布的任务(如医学问答和化学)中起着至关重要的作用。

局限性

    尽管结果很有希望,但 LM2 也有一些固有的局限性。与纯粹基于提示的方法相比,它需要一定的计算开销来进行两阶段训练。使用专有的基于 LLM 的求解器,与思路链等单次解决方案相比,LM2 会产生额外的令牌使用量。求解器模型的隐性限制,如缺乏长度泛化、任意数字操作等,预计也将在 LM2 中继承。未来的一项可能工作是将确定性求解器和工具纳入多路复用中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/16759.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

(三十三)队列(queue)

文章目录 1. 队列&#xff08;queue&#xff09;1.1 定义1.2 函数1.3 习题1.3.1 例题&#xff08;周末舞会&#xff09; 2. 双向队列&#xff08;deque&#xff09;2.1 定义2.2 函数2.3 题目2.3.1 例题&#xff08;打BOSS&#xff09; 1. 队列&#xff08;queue&#xff09; 队…

web——upload-labs——第二关

MIME验证 MIME&#xff08;Multipurpose Internet Mail Extensions&#xff09;验证是指在互联网传输中&#xff0c;通过检查数据的MIME类型来确保数据格式的正确性和安全性。MIME最初是为了扩展电子邮件的功能&#xff0c;让邮件支持多种格式&#xff0c;如文本、图片、音频等…

Vue3 -- 集成sass【项目集成5】

集成sass&#xff1a; 看过博主的 配置styleLint工具应该已经安装过 sass sass-loader 了&#xff0c;所以我们只需要加上我们的 lang"scss"即可。 <style scoped lang"scss"></style>给项目添加全局样式文件&#xff1a; 在src文件夹下创建…

【Web前端】Promise的使用

Promise是异步编程的核心概念之一。代表一个可能尚未完成的操作&#xff0c;并提供了一种机制来处理该操作最终的成功或失败。具体来说&#xff0c;Promise是由异步函数返回的对象&#xff0c;能够指示该操作当前所处的状态。 当Promise被创建时&#xff0c;它会处于“待定”&a…

EI检索!2024年大数据与数据挖掘会议(BDDM 2024)全解析!

第二届大数据与数据挖掘国际会议&#xff08;BDDM 2024&#xff09;将于2024年12月13-15日在武汉举行&#xff0c;已启动第二轮征稿&#xff0c;截稿2024年11月30日。邀请学者探讨大数据与数据挖掘进展&#xff0c;可在线投稿及AC学术中心查看详情。 大会官网&#xff1a;www.i…

基于java+ssm+Vue的校园美食交流系统设计与实现

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven mysql5.7或8.0等等组成&#x…

关于 MSVCP110.dll 缺失的解决方案

背景&#xff1a;之前使用 PR&#xff08;Adobe Premiere&#xff09; 从来没有遇到过这样的问题。今天重装系统后&#xff08;window 10&#xff09;&#xff0c;想要重新安装以前的软件时&#xff0c;遇到了以下 DLL 文件缺失的错误。 解决方案&#xff1a; 可以到微软官网的…

Python小游戏27——飞翔的小鸟

首先&#xff0c;你需要确保已经安装了Pygame库。如果还没有安装&#xff0c;可以通过以下命令进行安装&#xff1a; 【bash】 pip install pygame 游戏的代码&#xff1a; 【python】 import pygame import random # 初始化Pygame pygame.init() # 设置屏幕大小和标题 screen_…

【Three.js基础学习】24. shader patterns

前言 课程回顾: ShaderMaterial 这里用的是着色器材质 所以顶点和片段着色器就不需要像原始着色器那样添加需要的属性 然后写 片段着色器需要属性 &#xff1a; 顶点 属性 -》变化 -》 片段中 顶点中的属性不需要声明 只需要声明传送的变量 例如 varying vec vUv; vUv uv; 补充…

构建客服知识库:企业效率提升的关键步骤

客服知识库是企业提升客户服务效率和质量的重要工具。它不仅帮助客服团队快速准确地回答客户问题&#xff0c;还能通过数据分析来优化服务流程和提升客户满意度。 1. 明确知识库的目标和范围 构建客服知识库的第一步是明确其目标和范围。这包括确定知识库的主要用户群体、需要…

运动汇 专业的比赛管理平台数据获取

在获取到运动汇的网站链接后&#xff0c;界面如图所示: 右键检查&#xff0c;我们会发现没有任何数据&#xff0c;只有当我们点开这些"第一单元"、"第二单元"等&#xff0c;数据才会加载出来&#xff1b; 由于我们只需要分析这一个网页并获取其中的数据&a…

免费送源码:Java+Springboot+MySQL Springboot多租户博客网站的设计 计算机毕业设计原创定制

Springboot多租户博客网站的设计 摘 要 博客网站是当今网络的热点&#xff0c;博客技术的出现使得每个人可以零成本、零维护地创建自己的网络媒体&#xff0c;Blog站点所形成的网状结构促成了不同于以往社区的Blog文化&#xff0c;Blog技术缔造了“博客”文化。本文课题研究的“…

Docker环境搭建Cloudreve网盘服务(附shell脚本一键搭建)

Docker搭建Cloudreve Cloudreve介绍&#xff1a; Cloudreve 是一个基于 ThinkPHP 框架构建的开源网盘系统&#xff0c;旨在帮助用户以较低的成本快速搭建起既能满足个人也能满足企业需求的网盘服务。Cloudreve 支持多种存储介质&#xff0c;包括但不限于本地存储、阿里云OSS、…

Macs Fan Control - 控制 Apple 计算机上的风扇

免费下载 提供 macOS 和 Windows &#xff08;Boot Camp&#xff09; 版本 https://apsgo.cn/joN0WG Mac 风扇控制 监视和控制 Apple 计算机上的风扇 实时监控风扇速度和温度传感器&#xff0c;包括第三方 HDD/SSD&#xff08;使用 S.M.A.R.T.&#xff09;。设置自定义 RP…

3.STM32之通信接口《精讲》之USART通信

本节将进行实战&#xff0c;基础了解请查看第二节&#xff08;Whappy&#xff09;开始背&#xff01;&#xff01; USART ---》全双工 异步/同步 点对点 USART&#xff1a;STM32自带硬件电路&#xff0c;通过配置相对应的寄存器来设置数据帧的发送&#xff0c;我们收发只需要…

无插件H5播放器EasyPlayer.js网页web无插件播放器选择全屏时,视频区域并没有全屏问题的解决方案

EasyPlayer.js H5播放器&#xff0c;是一款能够同时支持HTTP、HTTP-FLV、HLS&#xff08;m3u8&#xff09;、WS、WEBRTC、FMP4视频直播与视频点播等多种协议&#xff0c;支持H.264、H.265、AAC、G711A、MP3等多种音视频编码格式&#xff0c;支持MSE、WASM、WebCodec等多种解码方…

SPIRiT-Diffusion:基于自一致性驱动的加速MRI扩散模型|文献速递-基于深度学习的病灶分割与数据超分辨率

Title 题目 SPIRiT-Diffusion: Self-Consistency Driven Diffusion Model for Accelerated MRI SPIRiT-Diffusion&#xff1a;基于自一致性驱动的加速MRI扩散模型 01 文献速递介绍 磁共振成像&#xff08;MRI&#xff09; 在临床和研究领域被广泛应用。然而&#xff0c;其…

Vue3中一级导航栏的吸顶导航交互以及Pinia优化重复请求

一、前言 在日常的网站中&#xff0c;当鼠标滚轮往页面的底部滑动时&#xff0c;会出现顶部导航栏的隐藏&#xff0c;而出现新的导航栏显示&#xff0c;这就是一级导航栏的吸顶导航交互。本文当实现改模块功能的实现。 二、示例图 参考黑马程序员小兔仙儿PC端项目&#xff1a;…

JDK17源码系列-ArrayList源码解读

JDK17源码系列-ArrayList接口源码解读 1.List集合接口类图 2.ArrayList详细类图 ArrayList继承了AbstractList实现了List、Serializable等接口&#xff0c;实现Serializable接口使得ArrayList类的对象可以串行化&#xff0c;串行化后&#xff0c;对象可以进行网络传输&#x…

VBA学习笔记:点击单元格显示指定的列

应用场景&#xff1a; 表格中列数较多&#xff0c;特定条件下隐藏一些无关的列&#xff0c;只保留相关的列&#xff0c;使表格更加清晰。 示例&#xff1a;原表格如下 点击一年级&#xff0c;只显示一年级相关的科目&#xff1a; 点击二年级&#xff0c;只显示二年级相关的科…