引言
在当今人工智能的迅猛发展中,大型语言模型(LLMs)如LLaMA正逐渐成为自然语言处理领域的中坚力量。然而,尽管这些模型在语言理解和生成上展现了令人瞩目的能力,它们在工具使用能力上却显得相对不足。尤其是在使用外部工具,比如API(应用程序编程接口)来完成复杂任务时,开源LLM的表现远不及闭源模型,如ChatGPT。这一现象引发了研究者们的关注,尤其是在如何提升开源LLM的工具使用能力方面。
为了弥补这一差距,我们提出了ToolLLM,一个通用的工具使用框架,包含数据构建、模型训练和评估等多个环节。ToolLLM的核心在于ToolBench,这是一个专门为工具使用而设计的指令调优数据集,它由ChatGPT自动构建而成。我们在ToolBench中收集了超过16,000个来自RapidAPI Hub的真实RESTful API,覆盖49个类别,形成了一个丰富的工具使用数据集。
📊 ToolBench的构建
API收集
ToolBench的构建分为三个阶段,其中第一阶段是API的收集。我们从RapidAPI平台收集了16,464个API,这些API涵盖了社交媒体、电子商务、天气等多个领域。通过对API文档的深入理解,LLMs能够学习如何有效地调用这些API,甚至能够在未见过的API上进行迁移学习。
指令生成
在指令生成阶段,我们通过采样API并利用ChatGPT生成多样化的指令。这些指令不仅涵盖单工具场景,还包括多工具场景,以确保我们的模型能够学习如何有效地组合多个API来完成复杂任务。例如,用户可能希望在一个指令中调用多个API,以获取关于电影、天气和餐厅的信息。
解决路径注释
为了增强LLMs的推理能力,我们开发了一种基于深度优先搜索的决策树算法(DFSDT)。该算法能够让模型评估多条推理路径,进而选择最优的解决方案。这一过程显著提高了注释效率,成功完成了那些传统方法难以处理的复杂指令。
🧠 ToolEval:工具使用能力的评估
为了评估LLMs的工具使用能力,我们开发了自动评估器ToolEval。ToolEval通过两个关键指标来衡量模型的表现:通过率(pass rate)和胜率(win rate)。通过率衡量模型在有限预算内成功执行指令的能力,而胜率则比较了两条解决路径的质量和实用性。我们的实验表明,ToolEval与人工评估的结果高度一致,证明了其在机器工具使用评估中的有效性。
🔍 ToolLLaMA:训练和评估
通过在ToolBench上对LLaMA模型进行微调,我们得到了ToolLLaMA。实验结果显示,ToolLLaMA在处理单工具和复杂多工具指令方面表现优异。与ChatGPT相比,ToolLLaMA在解决复杂指令时的表现几乎不相上下,尤其是在面对未见过的API时,ToolLLaMA展现出了强大的迁移学习能力。
📈 实验结果与分析
在我们的实验中,ToolLLaMA的表现超越了多个基线模型,包括Text-Davinci-003和Claude-2,展现出与ChatGPT相当的能力。此外,ToolLLaMA在APIBench等未分布数据集上的表现也表明了其强大的泛化能力。这一系列实验结果不仅验证了ToolLLM的有效性,也为未来的研究指明了方向。
🤖 结论
ToolLLM通过构建一个覆盖16000多个真实API的ToolBench,极大地提升了开源LLM在工具使用上的能力。DFSDT算法使得LLMs能够在推理过程中进行更加灵活的决策,而ToolEval则提供了一种高效、可靠的评估机制。未来,随着API的不断扩展和技术的不断进步,我们有望看到开源LLM在实际应用中的更广泛应用。
参考文献
- Yujia Qin et al. “TOOLLLM: FACILITATING LARGE LANGUAGE MODELS TO MASTER 16000+ REAL-WORLD APIS.” ICLR 2024.
- Touvron et al. “LLaMA: Open and Efficient Foundation Language Models.” 2023.
- Wei et al. “Chain of Thought Prompting Elicits Reasoning in Large Language Models.” 2023.
- Yao et al. “ReAct: Synergizing Reasoning and Acting in Language Models.” 2022.
- Patil et al. “API-Bench: A Benchmark for Evaluating API Understanding in Language Models.” 2023.