ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world APIs

Yujia Qin, Shihao Liang, Yining Ye, Kunlun Zhu, Lan Yan, Yaxi Lu, Yankai Lin, Xin Cong, Xiangru Tang, Bill Qian, Sihan Zhao, Runchu Tian, Ruobing Xie, Jie Zhou, Mark Gerstein, Dahai Li, Zhiyuan Liu, Maosong Sun
[Tsinghua University]

ToolLLM:让大型语言模型掌握16000多种真实世界API

该研究从 RapidAPI Hub 收集了 16464 个真实世界的 RESTful API,涵盖 49 个类别。该研究在 ToolBench(指令调优数据集)上对 LLaMA 进行微调,得到了 ToolLLaMA。ToolEval(自动评估器)评估显示,ToolLLaMA 展现出了出色的执行复杂指令和泛化到未知 API 的能力,并且在工具使用方面性能与 ChatGPT 相媲美。

  • 动机:当前开源大型语言模型(LLM)在执行高级任务(如遵循人类指令使用外部工具API)方面受限,现有的指令微调主要集中在基本语言任务而非工具使用领域。为了在开源LLM中实现工具使用能力,本文引入ToolLLM,一个通用的工具使用框架。
  • 方法:使用ChatGPT自动构建ToolBench数据集,该数据集用于指令微调,涵盖了16,464个真实世界的RESTful API,并生成涵盖单一工具和多工具场景的多样人类指令。本文还开发了深度优先搜索决策树(DFSDT)来增强LLM的规划和推理能力。本文还提出用于工具使用评估的自动评估器ToolEval,并通过在ToolBench上对LLaMA进行微调得到了ToolLLaMA模型。
  • 优势:提出一个通用的工具使用框架ToolLLM,该框架可以增强开源LLM在执行复杂指令时的能力,同时具有较好的泛化性和评估准确性。

介绍了ToolLLM,一个通用的工具使用框架,通过自动构建数据集,开发DFSDT增强规划和推理能力,以及设计自动评估器ToolEval,来提升开源LLM在复杂指令执行方面的能力。

 

https://github.com/OpenBMB/ToolBench

https://arxiv.org/abs/2307.16789 

 

ToolBench

论文首先介绍了 ToolBench,这是一个用于工具使用的指令调优数据集,由 ChatGPT 自动创建。具体而言,研究团队从 RapidAPI Hub 收集了 16464 个涵盖 49 个类别的真实世界 RESTful API,然后提示 ChatGPT 生成涉及这些 API 的多样化人类指令,涵盖单工具和多工具场景。最后,他们使用 ChatGPT 为每个指令搜索有效的解路径(一系列 API 调用)。为了使搜索过程更加高效,他们开发了一种新颖的基于深度优先搜索的决策树(DFSDT),使 LLMs 能够评估多个推理轨迹并扩展搜索空间。

API 收集

研究团队从 RapidAPI 收集了 16464 个 REST(representational state transfer)API。这些 API 涵盖 49 个不同类别,如社交媒体、电子商务和天气。对于每个 API,研究团队都会从 RapidAPI 抓取详细的 API 文档,包括功能描述、所需参数、API 调用的代码片段等。他们希望 LLM 能够通过理解这些文档来学习使用 API,从而使模型能够泛化到训练过程中未见过的 API。


图片

 

指令生成

研究团队首先从整套程序中抽取 API 样本,然后使 ChatGPT 为这些 API 生成各种指令。为了涵盖实际场景,他们策划了涉及单工具和多工具场景的指令,这确保了模型不仅能学会如何与单个工具交互,还能学会如何将它们组合起来完成复杂的任务。

生成高质量的指令需要两个重要特性:多样性和多工具使用,以确保 LLM 能够处理广泛的 API 使用场景,并反映现实世界中经常需要多种工具相互作用的情况,从而提高 LLM 的实际应用性和灵活性。为此,研究团队采用了一种自下而上的指令生成方法,即从收集 API 入手,然后精心制作涉及这些 API 的各种指令。

解路径注释

研究团队对这些指令的高质量响应进行注释。每个响应可能包含多轮模型推理和实时 API 调用,以得出最终答案。由于工具学习本身的难度,即使是最复杂的 LLM(即 GPT-4),对复杂指令的通过率也很低,从而导致数据收集效率低下。为此,研究团队开发了一种新颖的基于深度优先搜索的决策树(DFSDT),以增强 LLM 的规划和推理能力。与传统的思维链(CoT)和 ReACT 相比,DFSDT 使 LLM 能够评估多种推理路径,并慎重做出决定,以撤回步骤或沿着有希望的路径前进。在实验中,DFSDT 显著提高了注释效率,并成功完成了那些用 CoT 或 ReACT 无法回答的复杂指令。

实验及结果

本文通过实验来研究了 ToolLLaMa 的性能,报告了 ToolLLaMa 的评估指标、API retriever 和 DFSDT 的有效性以及实验和分析结果。

考虑到 API 的时间可变性,为每条测试指令标注固定的真实解路径是不可行的。此外,确保不同模型在评估过程中使用相同版本的 API 也至关重要。考虑到人工评估可能会耗费大量时间,该研究仿效 AlpacaEval 开发了高效的机器评估工具 ToolEval,其依赖于 ChatGPT 的支持,并包含两个关键评估指标:(1)通过率,用于衡量在有限预算内成功执行指令的能力,以及(2)胜率,用于比较两条解路径的质量和有用性。本文证明 ToolEval 与人类评估有很高的相关性,并为工具学习提供了一个强大、可扩展且可靠的评估方式。

总之,这些结果表明,ToolBench 可以充分激发 LLM 的工具使用能力,使他们能够熟练掌握各种指令的未知 API。在实验研究团队对 LLaMA 的所有参数进行了微调,得到了 ToolLLaMA。为了提高参数效率,他们进一步应用了具有代表性的参数效率调整方法 LoRA,并研究了其对性能的影响。

内容中包含的图片若涉及版权问题,请及时与我们联系删除