人工智能咨询培训老师叶梓 转载标明出处
科学推理旨在理解和决策STEM领域内的问题。它是智能的基本方面,也是LLMs的一项重要能力。然而,现有的LLMs在科学推理基准测试中的表现并不理想。例如,GPT-4在TheoremQA和SciBench基准测试中的准确率分别仅为50%和35%。为了解决这一问题,南洋理工大学、清华大学、微软公司、加州大学和新加坡管理大学的研究团队提出了一种新的方法,即通过工具学习来增强LLMs的科学推理能力。这种方法不是从头开始解决科学问题,而是利用科学计算软件中已经总结和封装的各种函数,如Matlab、WolframAlpha、SymPy等,来辅助解决问题。
![](https://i-blog.csdnimg.cn/direct/838c3a4e34d84bee969d5d67b1ca2786.png)
左侧是逐个领域收集注释并微调LLMs的方法,右侧是提出的工具增强设置。LLMs在数学相关、工具增强的样本上进行微调,并在适应特定领域时附加一个可插拔的、领域特定的工具集
在工具辅助科学推理的设置中,LLMs被赋予了访问特定领域工具集的能力。这些工具集包含了大量经过良好文档化、特定于领域的函数。为了支持这种新的设置,研究者们构建了一个名为MATHFUNC的训练语料库。该语料库包含超过30,000个样本和大约6,000个工具。这些样本和工具被设计用来教授LLMs基本的数学技能以及如何检索、理解和使用函数。MATHFUNC的构建基于MATH训练集,目的是让LLMs同时学习数学技能和工具使用能力。
训练语料库:MATHFUNC
![](https://i-blog.csdnimg.cn/direct/2d43b1ba37cf481f928a494e53a08282.png)
图2展示了MATHFUNC训练语料库的自动化构建流程,该流程从左下角开始,按顺时针方向进行。在这一流程中,工具集的构建(用虚线表示)和功能增强型样本的构建(用实线表示)是分开进行的,以确保生成的注释更加通用。
计划与工具集构建
在计划与工具集构建阶段,研究者们首先使用GPT-4生成针对MATH训练集中问题(q)的高层次计划(Gq)。这个计划是解决问题的初步思路,为接下来的步骤提供指导。接着,GPT-4根据这个计划生成一组函数(),这些函数旨在帮助解决特定的问题。生成的解决方案(
)将调用这些函数,以展示如何将数学知识和工具使用结合起来解决问题。
研究者们特别强调生成的函数需要具有高度的通用性和可复用性,避免为单一问题定制的特定函数。为了确保解决方案的正确性,如果执行过程中遇到错误,GPT-4会被要求进行自我修正,这个过程会重复进行,直到解决方案能够成功执行。一旦解决方案验证无误,生成的计划和函数就会被纳入工具集中,供未来的问题解决使用。
功能增强型解决方案
在功能增强型解决方案的生成过程中,研究者们采用了一种交叉检索策略,以确保解决方案不会过度依赖于为特定问题生成的函数。具体来说,他们首先从工具集中移除之前生成的函数集,然后使用检索器R根据问题q和计划Gq检索新的函数集Fq。这一策略有助于避免使用针对特定问题定制的函数,从而提高了解决方案的通用性。
检索到的函数集Fq随后被用于生成解决方案Sq。研究者们使用GPT-4根据检索到的函数编写解决方案,这个过程可能涉及到调用这些函数来简化问题解决过程。为了增强模型的鲁棒性,解决方案的生成过程采用了多种策略,包括贪婪解码和核采样,以确保即使在某些情况下无法直接得出正确答案,也能够通过不同的方法找到正确的解决方案。
通过这两个步骤,MATHFUNC训练语料库不仅包含了大量的数学问题和解决方案,而且还特别强调了工具的使用和函数的调用,这为LLMs提供了丰富的学习资源,帮助它们更好地理解和掌握科学推理中的工具使用。
模型:SCIAGENT
基于MATHFUNC,研究者们开发了SCIAGENT模型。SCIAGENT能够检索、理解并在必要时使用工具来解决科学问题。SCIAGENT首先生成对给定问题的高层次计划,然后使用这个计划和问题来从给定的工具集中检索函数。利用这些检索到的函数,SCIAGENT进一步完成低层次的动作,将自然语言和Python代码结合起来。最后SCIAGENT执行代码以完成手头的问题。
![](https://i-blog.csdnimg.cn/direct/899d16c186c246bd860335aafdf3ac61.png)
SCIAGENT模型由四个连续的模块组成,分别是计划(Planning)、检索(Retrieval)、行动(Action)和执行(Execution)。
Planning(计划):此模块为每个问题提供一个高层次的计划(Gq = Mplanning(q))。这样的计划指导了更有目的的检索过程。
Retrieval(检索):给定问题和生成的计划Gq,检索器(Mretrieval)被引入以从特定领域的工具集中检索相关函数(Fq = Mretrieval([q, Gq]; FD) ⊆ FD)。
Action(行动):此模块旨在生成低层次的解决方案。具体来说,代理产生解决方案Sq = Maction(q; Fq)。解决方案Sq是自然语言理由(Eq)和程序片段(Pq)的交替,程序Pq在必要时调用检索到的函数。
Execution(执行):此模块是一个简单的Python执行器,用于运行程序Pq以得出最终答案(aq = Python-Executor(Pq))。
SCIAGENT的训练过程涉及到三个使用语言模型的模块:计划、检索和行动。对于检索模块,研究者直接使用了在前面描述的检索器R。而对于计划和行动模块,它们共享同一个大型语言模型M,但是通过不同的指令进行微调,以便分别执行它们的特定任务。
在训练数据的构建上,研究者从MATHFUNC中提取了指令模板,并将它们与相应的输出配对,形成了用于微调模型的训练集。例如,计划模块的训练集由问题和相应的高层次计划组成,而行动模块的训练集则由问题、检索到的函数集和解决方案组成。
微调过程中,模型通过模仿学习来优化其参数,以便更好地执行计划和行动任务。研究者使用了特定的损失函数来训练模型,使其能够准确地生成计划和解决方案。为了提高模型的鲁棒性,训练过程还包括了对模型进行评估和调整的步骤。
值得注意的是执行模块并不是通过微调得到的,而是一个简单的Python执行器,它的作用是运行行动模块生成的程序代码,并返回执行结果。
实验
SCITOOLBENCH基准测试包含了五个科学领域的856个问题,这些问题覆盖了数学、物理、化学、金融和电子工程与计算机科学(EECS)。每个问题都配有一个特定领域的工具集,工具集中包含了大量经过良好文档化的函数。这些函数设计得既具有通用性,也具有可组合性,它们可以在多个问题中重复使用。
![](https://i-blog.csdnimg.cn/direct/91ba0f1740e6492ea751179ef2f1aee8.png)
与以往的基准测试不同,SCITOOLBENCH不仅包含了问题,还提供了丰富的工具集,以评估LLMs在实际科学问题解决中的工具使用能力。这些问题和工具集的设计反映了科学领域中对推理和工具使用的双重需求。
![](https://i-blog.csdnimg.cn/direct/c5ea35cfc13b4319bcdae31ed1bd41e0.png)
数据集的注释过程是一个半自动化的流程,结合了GPT-4和人类注释者的工作。这个过程包括以下几个关键步骤:
问题筛选:研究者从现有的科学问题库中筛选出问题,确保它们适合用于评估科学推理能力。
工具集构建:通过两个子模块来构建工具集:正面函数构建和负面函数构建。正面函数是从问题中直接派生出的函数,而负面函数则是为了增加基准测试的难度而设计的,它们与正面函数相似但不相同。
函数生成:使用GPT-4为每个问题生成一组候选函数,这些函数能够解决相应的问题。
函数验证:研究者手动检查生成的函数,确保它们的正确性和泛化性。这一步骤是为了确保工具集中的函数不是针对特定问题的一次性解决方案。
函数改进:对于不够泛化的函数,研究者进行重写,以提高它们的通用性。
负面函数构建:为每个正面函数生成两个负面函数,这些函数与正面函数相似但不相同,用于评估LLMs在面对多个类似选项时选择正确工具的能力。
![](https://i-blog.csdnimg.cn/direct/003018bbcf62476da7bffcc07a448b1a.png)
实验主要基于SCITOOLBENCH基准测试进行,同时也使用了CREATION Challenge作为第二个评估平台。CREATION Challenge包含了2,047个样本,每个样本由一个问题和一个正确的函数组成,这些函数被聚合起来形成了工具集。
实验中,SCIAGENT系列模型与多个开源LLMs进行了比较,包括LLaMA-2、CodeLlama、Mistral等,并且与ChatGPT和GPT-4的性能进行了参照对比。所有的模型都被配置了相同的检索器,以便从工具集中检索函数,这是评估工具辅助推理能力的关键部分。
![](https://i-blog.csdnimg.cn/direct/e23cffcb559b42519ad2fe0c43ac1c0c.png)
实验结果对比了SCIAGENT系列与其他八个开源大型语言模型(LLMs)在SCITOOLBENCH基准测试上的表现。表2中列出了这些模型在不同科学领域(数学、物理、化学、金融和电子工程与计算机科学)的准确率,以及当提供工具集辅助时的性能提升。结果显示,几乎所有的LLMs在配备工具集后都表现出了性能上的显著提升,平均绝对准确率提高了5.3%,相对提高了61.6%,这验证了工具辅助设置对科学推理任务的有效性。特别是SCIAGENT系列的模型在所有领域中都显著优于其他开源LLMs,其中SCIAGENT-CODER在7B和13B版本上分别超过了最接近的基线MAmmoTH-Coder 12.5%和14.2%的绝对准确率。另外SCIAGENT-DEEPMATH-7B在配备工具集的情况下,其性能与GPT-4相当,但在没有工具集的情况下仍然落后于GPT-4,这是工具辅助科学推理任务面临的挑战。
研究者还进行了消融研究,以评估训练数据和代理模块中各个组成部分的有效性。他们考虑了以下变体:
- 移除代理中的计划模块。
- 移除上文介绍的交叉检索策略,并直接使用
和
构建功能增强型解决方案。
- 从训练数据中进一步移除所有功能增强型解决方案,仅保留无函数调用的解决方案。
- 不对代理进行微调,而仅使用CodeLlama作为Maction进行推理。
- 移除检索器以禁用LLMs的工具使用能力。
![](https://i-blog.csdnimg.cn/direct/e1cc56c186c64884bd420500974e4e1b.png)
通过消融研究,研究者们发现计划模块、交叉检索策略和功能增强型解决方案对于提高LLMs的科学推理能力至关重要。
研究者评估了使用检索到的函数和不使用的函数的样本子集的性能,发现即使在不直接使用检索到的函数的样本中,也观察到了性能的改善。这表明代理能够从检索到的函数中学习,并模仿这些函数编写自己的程序。
![](https://i-blog.csdnimg.cn/direct/d51b55266c5d441d968a9849f49de25e.png)
研究者们还评估了工具集的鲁棒性,以及检索器质量对最终性能的影响。他们发现,即使在提供不相关或弱相关工具集的情况下,SCIAGENT系列的代理也能保持与其他LLMs相当的性能。这表明SCIAGENT在工具辅助科学推理任务中具有较高的鲁棒性。
![](https://i-blog.csdnimg.cn/direct/fbf58e15c6ea4afd8dbe05807b09b75a.png)
通过这些实验和分析,研究者们提供了对SCIAGENT模型性能的全面理解,并展示了工具辅助设置在提高LLMs科学推理能力方面的潜力。
论文链接:https://arxiv.org/abs/2402.11451