跳转至

ToolLLM:规模化工具调用数据的通用化训练

原文链接: ToolLLM: Facilitating Large Language Models to Master 16000+ Real-world APIs [83]

论文信息

  • 年份:2023 [83]
  • 作者:Yujia Qin, Shihao Liang, Yining Ye, Kunlun Zhu, Lan Yan, Yaxi Lu, Yankai Lin, Xin Cong, Xiangru Tang, Bill Qian, Sihan Zhao, Lauren Hong, Runchu Tian, Ruobing Xie, Jie Zhou, Mark Gerstein, Dahai Li, Zhiyuan Liu, Maosong Sun [83]
  • 作者背景(研究领域):工具调用数据/泛化 [83]
  • 前后血缘关系(同主题):前序:ToolformerGorilla;后续:无(大规模工具数据代表)

主旨

ToolLLM 的主旨是用大规模、多样化的 API 调用数据训练模型,使其获得通用的工具使用能力。论文强调,真正的泛化来自数据覆盖面与调用结构的系统化整理,而不是单一工具或少量示例。[83]

背景与问题定义

论文针对工具调用能力难以泛化的问题:以往研究通常只在少量工具或合成数据上训练,导致模型面对真实 API 时易出错。作者提出用更大规模、更真实的 API 调用数据,让模型学习到通用的调用范式。[83]

方法与机制

论文构建了覆盖 16000+ API 的数据集,包含工具选择、参数填充与调用格式等信息。训练过程中,模型将工具调用当作一等输出,学习在不同工具间迁移策略。该方法使模型在未知 API 上也能保持相对合理的调用模式。[83]

实验与结果

作者在多种工具任务与真实 API 场景中评估 ToolLLM,显示其在正确调用率与泛化能力上优于基线模型。实验的核心信息是:规模化的工具数据能够让模型掌握“调用范式”,并减轻对特定工具的过拟合。[83] 论文还展示了不同数据规模的对比结果,说明性能提升与数据覆盖范围密切相关。这意味着工程团队若想提升工具泛化能力,必须投入持续的数据建设与更新。[83]

关键数据结果

  • ToolBench 收集 16,464 个 REST API(来自 49 个类别),由 53,190 个候选 API 过滤得到 3,451 个高质量工具。[83]
  • 数据产出规模:约 200k 条 instruction-API 对,以及 126,486 条 instruction-solution path 用于训练 ToolLLaMA。[83]
  • ToolEval 与人工评价一致性:pass rate 一致率 87.1%,win rate 一致率 80.3%。[83]

工程启示(优化点)

  • 构建覆盖面广的工具调用数据集,避免单点优化。
  • 将工具调用格式标准化,提升跨 API 迁移能力。
  • 引入执行或模拟反馈,确保调用不仅“像”而且“可用”。
  • 维护 API 变更日志,持续更新训练数据。
  • 为高频 API 建立黄金样例,稳定学习基线。

局限与延伸

ToolLLM 对数据规模与质量依赖极高,数据收集与维护成本大。工具调用正确率也受限于文档质量与执行环境,且真实调用日志可能涉及安全与隐私问题。需要在数据规模与合规之间寻找平衡,跨领域 API 语义差异会削弱泛化。延伸方向包括:自动化数据收集、跨领域工具生态的统一协议、加入数据治理策略,以及结合检索与执行验证的闭环训练。[83]