ToolBench: 开源大语言模型的工具操作能力提升平台
近年来,大语言模型(LLMs)在各种自然语言处理任务中展现出惊人的能力。然而,如何使这些模型能够熟练地操作和使用各种软件工具,仍然是一个具有挑战性的研究课题。为了推动这一领域的发展,来自多所知名高校和研究机构的研究人员联合推出了ToolBench项目。这个开源项目旨在构建一个全面的平台,用于提升开源大语言模型的工具操作能力。
ToolBench的核心组成
ToolBench项目包含以下几个核心组成部分:
- 大规模高质量数据集
- 训练和评估脚本
- ToolLLaMA模型
- ToolEval评估基准
这些组成部分共同构成了一个完整的工具学习生态系统,为研究人员提供了丰富的资源来增强语言模型的工具使用能力。
数据集构建
ToolBench的数据集构建过程充分利用了最新的人工智能技术。研究人员使用升级后的ChatGPT(gpt-3.5-turbo-16k)模型,通过自动化的方式生成了大量高质量的指令调优数据。这些数据涵盖了各种真实世界的API和工具使用场景,为模型的训练提供了丰富多样的样本。
如上图所示,ToolBench的数据构建流程包括以下几个步骤:
- API收集:从RapidAPI平台收集了16,464个代表性的REST API
- 指令生成:针对单工具和多工具场景生成指令
- 答案标注:开发了基于深度优先搜索的决策树(DFSDT)方法,增强了模型的规划和推理能力
- API检索:集成API检索功能,使ToolLLaMA具备开放域工具使用能力
ToolLLaMA模型
ToolLLaMA是ToolBench项目的核心模型,它在ToolBench数据集上进行了微调。目前,研究团队发布了以下几个版本的ToolLLaMA模型:
- ToolLLaMA-2-7b-v2:基于最新版本数据训练
- ToolLLaMA-7b-v1:基于0801版本数据训练
- ToolLLaMA-7b-LoRA-v1:LoRA版本,同样基于0801版本数据训练
这些模型在多任务场景下进行了训练,能够处理各种工具操作相关的任务。
ToolEval评估基准
为了客观评估模型的工具操作能力,研究人员开发了ToolEval评估基准。ToolEval借鉴了AlpacaEval的思路,引入了两个关键的评估指标:
- 通过率(Pass Rate):计算在有限的OpenAI API调用次数内成功完成指令的比例
- 偏好度(Preference):通过比较两个答案(动作序列)来衡量对给定指令的处理效果
ToolEval使用ChatGPT作为评估器,根据预定义的标准对模型生成的答案进行评判。为了提高评估的可靠性,每对答案会被多次评估。研究表明,ToolEval的评估结果与人类评估具有高度一致性,通过率的一致性达到87.1%,胜率的一致性达到80.3%。
ToolBench的实际应用
ToolBench不仅提供了丰富的研究资源,还开发了实用的工具和接口,方便研究人员和开发者使用:
- Web UI:基于Chatbot UI开发的交互界面,允许用户直观地体验ToolLLaMA的能力
- 推理接口:提供了多种方式进行模型推理,包括使用ToolBench团队提供的RapidAPI服务器或用户自己的RapidAPI账户
- API自定义:支持用户添加自定义API,扩展模型的应用范围
这些功能大大降低了研究人员和开发者使用ToolBench的门槛,促进了工具学习领域的快速发展。
ToolBench的影响和未来展望
ToolBench项目的推出,为开源大语言模型的工具操作能力研究提供了一个全面的平台。通过提供高质量的数据集、先进的模型和可靠的评估基准,ToolBench极大地推动了这一领域的发展。
在未来,ToolBench团队计划持续改进数据质量,并扩大对真实世界工具的覆盖范围。这将进一步增强ToolLLaMA模型的能力,使其能够应对更加复杂和多样化的工具操作场景。
总的来说,ToolBench为人工智能研究社区提供了一个宝贵的资源,有望推动大语言模型在工具操作方面取得突破性进展,为未来更智能、更实用的AI系统铺平道路。
如上图所示,ToolLLaMA在多项任务中已经达到了与ChatGPT相当的性能水平,展现出了巨大的潜力。随着ToolBench项目的不断发展和完善,我们有理由相信,开源大语言模型在工具操作能力方面将会取得更加显著的进步,为人工智能的发展做出重要贡献。