增强大型语言模型(LLMs)的外部工具使用能力被认为是提高其性能的一种有前途的方法,尤其是在处理复杂任务时。通过现实世界模拟合成工具使用数据是一种有效的方法。然而,我们的研究表明:(1)随着合成数据量的增加,训练增益显著下降。由于潜在的数据多样性问题,模型难以从更多的合成数据中受益,导致在复杂场景中的表现不佳。此外,我们发现(2)这种挑战主要表现为模型输出与真实响应之间的细微差异(称为缺陷),例如需要从上下文中进行复杂推理以解决的参数值错误。为此,我们提出了一种迭代强化微调策略来缓解这些挑战。该策略包括:(1)通过蒙特卡洛树搜索路径探索增强合成数据的多样性。(2)迭代识别与缺陷相关的数据,构建细粒度偏好对以精确定位缺陷,并应用偏好优化来优化这些缺陷。实验结果表明,使用我们方法训练的模型比同规模模型性能高出约3%,优于较大的开源和闭源模型。

工具使用是LLMs的关键特征之一。将LLMs与外部工具集成可以显著提高其在现实场景中处理复杂任务的能力 (Qin等, 2023; Qu等, 2024) 。工具使用功能使LLMs能够获取最新信息、执行精确计算并减少幻觉现象的发生 (Schick等, 2023) 。这解锁了各种领域的广泛应用,例如自动化复杂任务 (Zhong等, 2023) (如长文本推理 (Manduzio等, 2024) )以及在设备上调度应用程序 (Gunter等, 2024; W. Chen, Li, 和 Ma, 2024) 。本质上,工具使用过程如下:给定一个或多个工具,用户提出一个问题,LLM从候选工具中选择适当的工具并执行工具调用以满足用户的问题。本文中, 工具与API、函数和插件互换使用。

工具使用流程进行SFT(监督微调)使用合成数据(a)。然而,如图(b)所示,随着合成数据的增加,其训练增益显著下降。 Live  Non-Live 分别表示复杂和简单的工具使用场景。

最近的研究发现,LLMs可以通过提示工程处理简单工具使用场景 (Tang等, 2023) ,但在更复杂的现实应用场景(例如长文本或广泛的工具集) (Yan等, 2024) 中遇到困难。为了解决这一问题,一些研究模拟现实世界场景,例如票务系统,以模拟更真实的使用案例 (Lin等, 2024) ,用于收集合成数据。合成数据用于监督微调(SFT),以增强复杂场景中的工具使用,如图 1 (a) 所示。尽管这些解决方案在开发工具使用模型方面取得了进展,但我们的研究表明,在使用合成工具使用数据进行训练时,随着数据规模的增加,存在训练增益下降的关键弱点。

如图 1 (b) 所示,当使用正常SFT时,模型难以从更多的合成数据中受益,这可能是由于数据多样性不足(内部因素)。我们的研究分析表明,这一挑战导致模型无法从用户查询中提取少数参数。这个问题通常只影响答案的一小部分,与真实响应不同,我们称之为缺陷(外部因素)。此问题将在第 2.2 节中详细探讨。

因此,我们尝试通过缓解内部和外部因素来克服这一挑战。幸运的是,OpenAI o1 2 的成功提供了一个通过逐步慢思考(例如,蒙特卡洛树搜索(MCTS) (Coulom 2006) )和强化微调(ReFT) (Luong等, 2024) 实现复杂推理的成功范例。这种方法包括针对特定任务定制的强化学习,高效地使模型与用户意图对齐 (Trung等, 2024) 。

为此,我们提出了一种新颖的学习方法,帮助模型在复杂场景中弥补差距:MCTS路径探索确保数据多样性,而ReFT逐步增强模型在面对缺陷时的能力。具体来说,我们提出了一个 迭代 强化微调策略,用于 工具 使用,命名为 iTool 。它首先基于策略模型的反馈迭代识别与缺陷相关的数据。然后进行MCTS以收集细粒度偏好对,这有助于探索数据多样性和精确定位缺陷。最后,应用直接偏好优化(即强化学习策略 (Rafailov等, 2024) )以使模型的响应与真实响应对齐,并使其与有缺陷的响应错开。此外,在迭代ReFT之前,我们提出了一种从易到难的SFT热身策略,以从复杂场景中学习。通过这些改进, iTool 展示了大约3%优于同规模模型的性能。尽管只有7B参数,它仍优于较大的开源模型,并能与顶级闭源模型(如GPT系列)竞争。

2 问题陈述和分析

2.1 任务概述

工具使用的说明。给定一组包含“必需”参数的工具。在接收到用户查询后,LLMs从候选工具中选择工具,然后执行API调用操作,最终回复用户。在此案例中,LLM正确回答了第一个查询,但在第二个查询中失败,因为无法识别‘天气’中的‘晴天’。

2.2 预研究

本节旨在展示工具使用模型在使用合成数据进行微调时面临的挑战。我们旨在找出增强模型实际使用工具能力的方法。

我们使用不同比例的合成工具使用数据对模型进行微调。具体而言,以下数据用于训练: ToolACE (Liu等, 2024) 是通过一种新的自进化合成过程创建的,以策划API,从而生成最多包含10K样本的全面工具使用数据。以下基准用于评估: BFCL (Yan等, 2024) 提供了一个综合数据集,包含4k+实例(更新中),由 非实时 (专家策划的简单工具)、 实时 (用户贡献的复杂工具)、 多轮 (涉及多轮和多步工具使用)和幻觉检测(即相关性与不相关性检测)组成。这里, 非实时 表示简单工具使用场景(例如单个工具),而 实时 表示更复杂的工具使用场景(例如多个并行工具)。为了便于分析,我们在本文中仅评估 非实时 和 实时 。

结果如图 1 所示。我们观察到,随着训练数据比例的增加,模型的性能增益显著下降。具体而言,模型的整体性能增益在达到30%的数据后开始下降,这与其在 实时 场景中的表现一致。从结果可以看出,由于数据多样性不足,模型难以从更多合成数据中受益。这个问题在更复杂的 实时 场景中尤为明显。

错误类型分布于不良案例中。左侧饼图(a)显示每种错误类型的百分比。右侧条形图(b)显示每种错误类型的准确数量。

为了进一步探讨这个问题,我们进行了不良案例分析。我们统计了BFCL中 实时 和 非实时 的所有错误类型,并将其分类如图 3 所示。这里, 参数值 表示参数值或类型与真实值不匹配。 参数名 表示无法从用户查询中识别参数值。更多详情请参见附录 8 。从图 3 可以看出,错误高度集中在 参数值和名称 错误中。在工具调用中,参数值和名称仅占模型响应文本的一小部分。换句话说,在模型的错误响应中,大部分内容实际上是正确的,只有一小部分是不准确的。我们将此称为模型的缺陷。

图 2 显示了这种情况的一个例子。LLMs正确回答了单个工具使用查询,但在多个工具使用查询中失败,原因是无法从上下文中识别所需的参数。从上下文中正确识别参数并将其转换为所需格式要求模型具备强大的上下文理解和推理能力。

总之,我们的分析表明,数据多样性不足(内部因素)减少了模型训练的收益。这反过来又导致了模型在复杂场景中的缺陷(外部因素)。为了克服内部因素,我们利用MCTS路径探索以确保数据多样性。为了解决外部因素,我们探索了一种逐步精确定位和优化模型响应缺陷的策略。我们将在下一部分详细介绍。

3 方法

3.1 预热训练

在实际应用中,工具使用模型应从复杂的候选工具集中选择多个工具并正确安排它们(即硬模式),而不是直接使用单一候选工具进行响应(即易模式)。类似于人类学习程序,工具学习模型可以从易到难的课程设置中受益 (B. Xu等, 2020) 。因此,我们提出了一种从易到难的SFT进行预热训练。

3.2 基于MCTS的迭代强化学习

为了缓解使用合成工具使用数据进行LLM训练时的训练增益下降问题,在此模块中,我们提出了一种迭代强化学习方案,以持续修复这一缺陷。如图 [fig:main] 所示,它迭代刷新重放缓冲区以采样复杂数据并生成偏好数据以进行偏好优化。

MCTS用于分步偏好。 OpenAI o1的成功提供了逐步思考有效性的一个令人信服的例子。作为关键算法,MCTS路径探索可以完全遍历搜索空间并提供更大的数据多样性 (Grill等, 2020) 。受此启发,我们提出整合MCTS以收集分步偏好数据。

4 实验

4.1 实验设置

我们采用广泛使用的开源LLM LLaMA3.1-8B-Instruct作为基础模型。我们使用来自ToolACE的合成数据进行实验,90%用于预热训练,50%用于强化学习,以平衡性能和成本。对于预热训练,我们采用参数高效的训练策略LoRA (Hu等, 2022) 。对于强化学习,我们使用SimPO(DPO的一种变体)进行偏好优化,利用QLoRA参数高效的训练策略 (Dettmers等, 2024) 。有关更多实现细节和偏好优化分析,请参见附录 9 。

评估数据集 。除了 BFCL ,我们还使用 API-Bank (Li等, 2023) ,它由314个工具使用对话和753个API调用组成。该数据集用于评估模型根据查询正确调用已知API(L-1)以及从工具列表中检索和调用API(L-2)的能力。

基线模型 我们将整体性能与最先进的闭源模型(例如GPT系列 3 , Gemini 4 ) 和开源模型(例如 Llama-3.1-8B-Instruct, Qwen2.5-7B (Team 2024) ),以及使用工具使用数据集微调的开源模型进行比较,包括 ToolACE-8B(在ToolACE上微调Llama-3.1-8B-Instruct)模型、xLAM系列 (Zhang等, 2024) 和 Hammer系列 (Lin等, 2024) 。

4.2 整体性能

iTool-8B 和各种代表性模型的整体性能如表 [overall_res] 和表 1 所示。结果表明,我们的模型在相同规模下(约8B参数)始终表现出色。我们的模型在复杂场景(例如 实时 和 多轮 )中表现出优越性。这表明我们的方法可以从合成数据中更有效地学习高级工具使用能力。这主要是由于我们的迭代ReFT策略,可以持续精确定位并优化模型的缺陷。此外,我们的模型在API-Bank上的表现优于开源模型,并且在BFCL上也优于大多数闭源和开源模型,展示了与GPT-4系列模型相当的性能。

不同消融设置在BFCL数据集上的性能对比。

4.3 消融分析

4.3.1 模块消融

为了评估我们方法中两个组件的有效性,我们进行了消融研究,移除了 (1) 预热训练 ( w/o warm-up ) 和 (2) 迭代强化学习 ( w/o IRT )。我们还将 Llama-3.1-8B-Instruct 作为 base 模型进行比较。从图 4 可以看出,所有组件在我们的方法中都是必不可少的。预热训练相较于IRT对我们的方法有更大的影响,这证明了其在强化学习之前的不可或缺性。

4.3.2 更深入的消融分析

  1. 在预热训练中,我们对易到难SFT策略进行了研究。 我们展示了从简单到复杂的性能进展,并将其与混合SFT策略和基础模型进行了比较。为了进行公平的比较,我们从ToolACE中为所有策略使用了相同数量的数据。实验结果总结在图 5 中。从结果来看,我们的策略显示出逐步改进并超过了混合SFT。从 基础 到 简单 有显著的跃升,而从 中等 到 困难 是第二大改进。这表明模型从易到难的课程学习过程中受益。在合成数据中,模型可以在较简单的阶段快速学习工具使用的任务模式,从而有利于处理更复杂的场景。


BFCL数据集上易到难SFT的性能进展,以及与对比模型的比较。


iTool 中MCTS的消融研究结果。

  1. 在迭代强化学习中,我们对MCTS和迭代次数进行了研究。 结果分别如图 6 和图 7 所示。为了替换MCTS,我们从策略模型中采样四个响应,并选择具有最高和最低概率的响应作为偏好对。这些对随后用于后续的偏好优化(w/o MCTS)。从图 6 可以看出,当MCTS被替换时,模型的性能下降。从图 7 可以看到,随着迭代次数的增加,我们的方法最初呈现上升趋势,然后开始下降。模型在大约3次迭代时表现最佳,尤其是在 多轮 和 实时 场景中。这表明MCTS可以通过少量迭代有效缓解数据多样性不足的问题。然而,过多的迭代可能导致过拟合,从而降低数据多样性。 iTool 在 非实时 中的表现较差。这表明它专注于增强复杂工具使用情况下的性能,可能以牺牲简单工具使用情况为代价。

随迭代次数增加,我们模型的性能变化。

4.3.3 基础模型分析。

4.4 训练增益分析

为了分析我们方法的训练增益,正如第 2.2 节所述,我们在完整的BFCL上进行了实验。从图 8 可以看到,我们的方法在 实时 和 多轮 场景中随着数据规模的增加表现出更大的训练增益。它在最多70%的数据量下保持良好的训练增益,与SFT相比,后者在超过30%的数据量时表现不佳。这与 非实时 场景中的基线一致。原因是我们的方法能够持续优化困难案例,而基线无法实现这一点。这表明我们的模型可以在复杂场景中缓解内部训练增益衰减问题,并在面对模型缺陷时增强性能。

随着数据规模增加,模型的训练增益。

5 相关工作

5.1 LLMs的工具使用

开创性的工作如Toolformer (Schick等, 2023) 和 ToolAlpaca (Tang等, 2023) 已经探索了LLMs在工具使用方面的潜力。以前,一些无需调优的方法被提出,涉及操作提示(例如 (Q. Xu等, 2023; Shi等, 2024; Qiao等, 2024) ) 或增强执行框架(例如 ReAct (Yao等, 2023) , RestGPT (Song等, 2023) ) 以解锁固有能力。

由于上述方法在提示中定义用户工具的局限性,基于调优的方法结合合成数据成为研究重点。ToolLlama (Qin等, 2023) 显著扩展了工具集并研究了数据扩展对性能的影响。更高效的工具使用数据合成技术已被提出(例如,ToolACE (Liu等, 2024) , BUTTON (M. Chen等, 2024) , 和 xLAM (Zhang等, 2024) )。

5.2 强化学习

从人类反馈中学习对于使LLMs与人类意图对齐至关重要 (Leike等, 2018) ,这被称为强化学习。ReFT通过将强化学习与监督微调(SFT)结合,利用奖励信号优化模型性能。在线强化学习算法 (Schulman等, 2017; R. Zheng等, 2023) 复杂且难以优化。最近,直接偏好优化(DPO) (Rafailov等, 2024) 提出了一种更简单的离线算法,重新参数化奖励函数以直接从偏好数据学习策略模型,提高了简单性和训练稳定性。此外,还提出了各种偏好优化目标,例如 SimPo (Meng, Xia, 和 Chen 2024) , IPO (Azar等, 2024) , ORPO (Hong, Lee, 和 Thorne 2024) 和 KTO (Ethayarajh等, 2024) 。

进一步的研究将这种方法扩展到迭代训练设置,通过连续更新最新的策略模型或在每次迭代中生成新的偏好对来改进参考模型 (Dong等, 2024; Yuan等, 2024; Kim等, 2024; Xiong等, 2024)

6 结论

为大型语言模型配备外部工具正成为提升其能力的一种可行方法。本文研究了如何提升LLMs的工具使用能力。鉴于合成工具使用数据相关的训练衰减和模型缺陷问题,我们提出了一种迭代强化微调策略,以持续引导模型克服这一挑战。实验结果证明了所提方法的有效性。

7 局限性

尽管我们的研究取得了显著进展,但仍需承认几个局限性,这些局限性将在未来工作中解决。首先,迭代强化学习过程(尤其是蒙特卡洛树搜索)需要大量计算资源来生成细粒度偏好数据。虽然我们有效地实施了参数约束以管理计算成本(例如,在8个V100 GPU上每轮花费7小时),但这可能会对性能产生影响。此外,由于计算资源有限,我们无法在更大规模的30B或70B基础模型上验证我们的方法。然而,我们在较小模型上的当前结果展示了有希望的性能和可扩展性潜力。我们相信将该方法扩展到更大规模的模型将进一步增强其适用性。最后,在分析合成工具使用数据时,仅测试了一个数据集。测试更多公开可用的数据集将加强结论的有效性和说服力。我们将在未来的工作中解决这些局限性。

8 预研究细节

8.1 错误类型描述

以下是所有错误类型的描述。

  • 参数值 。参数的值或类型与真实值不匹配。
  • 参数名 。无法从用户查询中识别参数值。
  • 参数数量 。参数数量不正确;缺少必需参数。
  • 工具数量 。调用了错误数量的工具。
  • 工具名称 。调用工具名称时出现错误,例如调用不存在的工具名称或与真实值不匹配的工具名称。
  • 代码语法 。工具调用不符合Python、Java或JavaScript的语法。
  • 其他 。除上述之外的错误。

9 补充实验

9.1 更多实现细节

实验使用了公开可用的训练仓库LLaMA-Factory (Y. Zheng等, 2024) 。我们的模型训练可以在8个NVIDIA Tesla V100-SXM2-32GB GPU上于28小时内完成。对于训练模型,我们选择在验证集上表现最佳的检查点。

实现设置 。由于资源限制,我们在SFT热身阶段采用LoRA( rank =16 和 alpha =32)进行参数高效训练,并在强化学习(RL)阶段采用QLoRA(来自bitsandbytes库 5 的量化方法,4位)。我们使用余弦学习率调度器,预热比例为0.1。更详细的训练设置见表 2 。

MCTS-base RL的实现设置 。在MCTS的 扩展 阶段,自评估提示如表 [eval_prompt] 所示。在计算正确性的置信分数时,我们评估策略模型在四个选项( A, B, C, D )上的标记级别概率,权重分别为1.0、0.1、-1.0和-2.0。我们对模型响应进行四次采样,并使用这些样本的加权平均值作为最终置信分数。

9.2 偏好算法分析

在迭代强化学习中,我们还探索了不同的偏好优化算法。 除了广泛使用的DPO (Rafailov等, 2024) ,我们还探索了SimPO (Meng, Xia, 和 Chen 2024) , IPO (Azar等, 2024) , 和 ORPO (Hong, Lee, 和 Thorne 2024) 。DPO重新参数化奖励函数以直接从偏好数据学习策略模型。IPO是一种理论上有根据的方法,避免了DPO假设成对偏好可以替换为点式奖励。ORPO引入了无参考模型的奇数比率项,直接对比获胜和失败响应,并与SFT目标联合训练。SimPO在偏好优化目标中对齐无参考模型的奖励函数与生成指标。为了公平比较,我们从相同的SFT检查点开始这些算法,参考模型初始化为策略模型。

对于这些算法,我们进行了详尽的超参数搜索以确保公平比较。超参数设置的结果如表 [tab:po] 所示。不同偏好优化算法在最优超参数设置下的结果如图 9 所示。从结果来看,我们发现 iTool 使用SimDPO实现了最佳性能。不同偏好算法之间没有显著的性能差距,除了ORPO。

iTool 使用不同偏好优化算法在BFCL上的性能。

真实响应: {gt_ans}
模型生成的响应: {response}
用户指令:
请评估生成的响应相对于真实响应的质量。
注意:生成的响应是真实响应的一部分也是优秀的。
评估标准:
1. 函数名称:所有调用的函数名称是否正确?
2. 参数数量:所有函数的参数数量是否正确?
3. 参数名称:所有函数的参数名称是否正确?
4. 参数值/类型:所有函数的参数值/类型是否正确?
5. 语义相似度:生成的响应与真实响应在语义上是否接近?
请直接从以下选项中选择以判断整体质量:
(A) 优秀:生成的响应满足所有标准并且几乎与真实响应相同。
(B) 可接受:生成的响应满足大多数标准但存在细微差异。
(C) 一般:生成的响应满足部分标准但存在显著问题。
(D) 差:生成的响应未能满足大多数或所有标准。
助手:整体质量选项是
您是专门从事工具使用的AI。
您的任务是评估 {placeholder} 的潜在真实性。

10 案例分析

10.1 工具使用的示例

一个工具使用数据的示例如表 [tab:case_tool] 所示。

10.2 偏好对示例

表 [tab:case_pair1] 展示了一个偏好对的例子。 选择 响应正确地使用了“获取趋势结果”工具及其合适的参数以响应用户的请求。相反, 拒绝 响应格式不正确,省略了必要的括号,并错误地将值 1 赋予了 timeframe 参数,展示了工具应用的错误。

表 [tab:case_pair2] 展示了另一个偏好对案例,如图 [fig:case_pair2] 所示。在这种情况下,用户的查询缺乏提到的功能所需的特定细节(即 reviews 用于’ reviewAnalytics.extractSentiment ’和 metrics 用于’ socialTrends.fetchTrendingProducts ’)。助手的选定响应正确识别了这些参数值的需求,而拒绝响应在识别这些参数时出现了错误幻觉。

>lp 0.85
工具列表 &

[{
"name": "fetchTrendingProducts",
"description": "根据评论和参与度指标获取热门产品。",
"parameters": {
"metrics": {
"type": "array",
"items": {
"productID": "string",
"engagementScore": {
"likes": "int",
"shares": "int"
} } } }
},{
"name": "extractSentiment",
"description": "从评论中提取情感评分。",
"parameters": {
"reviews": {
"type": "array",
"items": {
"reviewText": "string",
"reviewDate": {
"type": "string",
"pattern": "^\\w+ \\d{1,2}, \\d{4}$"
} } } }
}]


用户 & 我正在开展营销活动,需要分析本月旗舰产品的评论情感。昨天我们获得了300个赞和50次分享。请分析我们竞争对手的产品的趋势和情感;他们获得了450个赞和75次分享。

选择 & 您需要提供旗舰产品和竞争对手产品的评论以进行情感分析。
拒绝 & [reviewAnalytics.extractSentiment(reviews={"reviewText": "product_name ticks the check for everything."}),

  1. 通讯作者。电子邮件: xding@ir.hit.edu.cn ↩︎
  2. https://openai.com/index/learning-to-reason-with-llms/ ↩︎
  3. https://chatgpt.com/ ↩︎
  4. https://gemini.google.com/ ↩︎
  5. https://github.com/TimDettmers/bitsandbytes ↩︎

原论文:https://arxiv.org/pdf/2501.09766

Yirong Zeng 1 , Ding Xiao 1 1 , Yuxian Wang 2 , Weiwen Liu 3 , Wu Ning 2 , Yutai Hou 2 , Xu Huang 3 , Duyu Tang 3 , Dandan Tu 3 , Wenyu Zang 4 , Bing Qin 1 , Ting Liu 1 , 1 Harbin Institute of Technology SCIR Lab, 2 Huawei Technologies Co., Ltd, 3 Huawei Noah’s Ark Lab, 4 Academy of Cyber, China Electronics Technology Group Corporation,

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐