ToolACE: Winning the Points of LLM Function Calling

TL;DR

ToolACE通过自我演化合成26,507个API,提升LLM函数调用能力,参数仅8B模型即达SOTA。

cs.LG 🔴 高级 2024-09-02 43 次浏览
Weiwen Liu Xu Huang Xingshan Zeng Xinlong Hao Shuai Yu Dexun Li Shuai Wang Weinan Gan Zhengying Liu Yuanqing Yu Zezhong Wang Yuxian Wang Wu Ning Yutai Hou Bin Wang Chuhan Wu Xinzhi Wang Yong Liu Yasheng Wang Duyu Tang Dandan Tu Lifeng Shang Xin Jiang Ruiming Tang Defu Lian Qun Liu Enhong Chen
大规模语言模型 函数调用 数据合成 API自我演化 多智能体交互

核心发现

方法论

ToolACE采用自我演化合成(TSS)机制,通过层级API树提取与适应多领域API,结合多智能体协作生成复杂对话,并利用双层验证确保数据质量。核心包括API自我演化、对话多智能体生成、复杂度评估与验证。模型训练采用LoRA策略,参数仅8B,显著优于其他开源模型,性能媲美GPT-4。

关键结果

  • 在BFCL和API-Bank基准测试中,ToolACE-8B模型在函数调用准确率上超越多数开源模型,AST和执行类别表现优异,尤其在多轮和依赖调用场景中表现出色,达到89.27%的准确率,显著优于xLAM-8x22b-r和Gorilla-OpenFunctions-v2。
  • 训练数据的多样性和复杂性显著提升模型的零-shot泛化能力,模型在BFCL中AST类别排名第三,整体性能达59.27%,与GPT-4系列相当,验证了合成数据的有效性。
  • 双层验证系统有效减少了数据中的错误和偏差,模型在Hallucination和Irrelevance指标上表现优异,Hallucination仅14.37%,Irrelevance为83.81%,确保了数据的高质量和实用性。

研究意义

本研究突破了现有工具增强LLM的局限,提出自动化、多样化、复杂化的API合成与对话生成方案,有效提升模型在复杂、多轮、多工具场景中的表现。为未来大规模、多任务、多模态应用提供了基础技术支撑,推动AI在自动化、金融、智能助理等领域的深度应用。该方法解决了真实场景中数据稀缺、标注困难的问题,具有广泛的实用价值和推广潜力。

技术贡献

提出ToolACE端到端自动化数据生成框架,结合API自我演化机制、多智能体对话生成策略及双层验证体系,显著提升合成数据的多样性、复杂性和准确性。创新性在于引入API树的层级提取、模型引导的复杂度调节,以及多层验证确保数据质量,突破了传统基于真实API采集的局限,为大模型函数调用能力的提升提供了新思路。

新颖性

首次系统性提出API自我演化合成机制,结合多智能体协作生成多样复杂对话,显著扩展API池规模和多样性。不同于以往依赖真实API或静态合成的方案,ToolACE实现动态演化与自适应,极大丰富了训练数据的覆盖面和复杂度,推动模型泛化能力的突破。

局限性

  • 当前API自我演化依赖预训练数据的丰富性,可能在某些新兴或低资源领域表现不足,限制了跨领域泛化。
  • 合成对话虽丰富,但仍存在与真实场景差异,未来需结合真实数据进行微调以提升实用性。
  • 验证体系虽高效,但在极端复杂场景下仍可能漏检部分错误,需引入更强的自动化验证机制。

未来方向

未来将结合真实场景数据优化API演化策略,增强模型对新兴API的适应能力。探索多模态、多任务场景下的函数调用能力,提升模型的鲁棒性和泛化性。此外,将引入强化学习等技术优化对话生成的复杂度调节,推动工具增强LLM的全面能力提升。

AI 总览摘要

随着大规模语言模型(LLMs)在自然语言理解和生成中的突破,如何赋予其更丰富、更复杂的工具调用能力成为研究焦点。现有方法多依赖公开API,难以覆盖多样化场景,且数据采集与标注成本高昂。ToolACE提出了一套创新的自动化数据合成框架,通过API自我演化机制,利用多智能体协作生成涵盖26,507个多领域API的丰富数据集。该系统包括API树的层级提取、对话复杂度自我调节以及双层验证,确保数据的多样性、复杂性和高质量。实验结果显示,参数仅8B的模型在BFCL和API-Bank基准中表现优异,准确率超越多数开源模型,媲美GPT-4。该技术不仅突破了数据稀缺的瓶颈,还显著提升了模型在多轮、多工具场景下的泛化能力,为未来智能系统的自动化和多任务处理奠定了基础。未来,结合真实场景数据,优化API演化策略,将推动工具增强LLMs在工业界的广泛应用。整体而言,ToolACE为大模型的工具调用能力提供了全新的解决方案,具有深远的学术与应用价值。

深度分析

研究背景

近年来,随着GPT系列、LLaMA等模型的崛起,LLMs在自然语言处理中的应用日益广泛。早期工作如GPT-3、T5等主要关注模型能力提升,后续研究逐渐转向模型与外部工具的结合,如Toolformer、PALM等,旨在增强模型的任务执行能力。尽管如此,现有方法多依赖静态API调用或有限的任务场景,难以应对复杂、多轮、多工具的实际需求。数据的获取和标注成为瓶颈,限制了模型在真实场景中的泛化能力。近年来,Synthetic Data的应用逐渐兴起,但缺乏系统性和多样性,导致模型表现有限。由此,如何自动化生成高质量、多样化的API调用数据,成为推动工具增强LLMs的关键技术难题。

核心问题

当前大模型在函数调用方面表现有限,主要受制于数据不足和场景复杂度。现有数据多为静态API调用样本,难以覆盖多轮交互、依赖调用和复杂参数结构,限制模型的泛化能力。真实API的快速变化和多样性也增加了数据采集难度。如何自动生成丰富、准确、复杂的训练数据,提升模型在多场景、多任务中的适应性,成为亟待解决的问题。此外,确保数据的质量和多样性,避免偏差和错误,也是一大挑战。

核心创新

本研究提出ToolACE框架,核心创新包括:1)API自我演化机制,通过层级API树自动生成多领域API,丰富数据池;2)多智能体对话生成,模拟用户、助手和工具交互,生成多样化复杂对话;3)模型引导的复杂度调节,确保数据既具有挑战性又符合模型能力;4)双层验证体系,结合规则和模型检测,保证数据质量。这些创新突破了传统依赖真实API和静态合成的局限,极大丰富了训练样本的多样性和复杂性,为模型泛化提供了坚实基础。

方法详解

  • �� API自我演化:利用预训练数据提取API领域,递归构建API树,生成新API定义,加入多样参数和约束。
  • �� 多智能体对话:模拟用户、助手、工具三方交互,生成单轮、多轮、依赖调用等多样对话场景,采用多次一致性筛选提升质量。
  • �� 复杂度调节:用模型作为评估器,根据损失指标动态调节对话复杂度,确保数据既不过于简单也不过于复杂。
  • �� 双层验证:规则层确保格式和结构正确,模型层检测内容合理性和一致性,结合人工验证提升可靠性。

实验设计

采用BFCL和API-Bank两个基准,训练参数为8B,使用LoRA微调策略。对比GPT-4、Gorilla-OpenFunctions等模型,评估函数调用准确率、Hallucination和Irrelevance指标。通过消融实验验证API多样性、复杂度调节和验证体系的贡献,分析模型在多轮、多工具场景中的表现。实验结果显示,ToolACE-8B在准确率和鲁棒性方面优于多数开源模型,验证了合成数据的有效性。

结果分析

模型在BFCL中AST类别准确率达89.27%,多轮和依赖调用场景表现优越,显著优于对比模型。在API-Bank中,准确率达75.94%,优于xLAM-8x22b-r和Gorilla-OpenFunctions-v2。验证体系显著降低Hallucination(14.37%)和Irrelevance(83.81%),确保数据质量。多样化API和复杂对话提升模型泛化能力,验证了合成数据的实用性和有效性。

应用场景

该技术可广泛应用于智能助理、自动化工作流、金融分析等场景,支持多轮、多工具交互,提升自动化水平。未来结合真实API和多模态数据,将推动工业界智能系统的自主学习和适应能力,降低数据采集成本,增强模型的实用性。

局限与展望

当前API演化依赖预训练数据,可能在新兴或低资源领域表现不足。合成对话虽丰富,但与真实场景仍有差距,需结合实际数据微调。验证体系在极端复杂场景下可能漏检,未来需引入更强的自动化验证机制。模型训练成本和复杂度仍需优化,以实现更广泛的应用。

通俗解读 非专业人士也能看懂

想象你在一家大型厨房里做菜。每次做菜都需要不同的调料和工具,厨房里的调料罐和工具箱就像API一样。以前,厨师只知道少量调料,遇到新菜就得花时间找配料。现在,厨师有了一个智能助手,能自己学习新调料的配方,还能根据不同菜式自动搭配调料。这个助手会不断学习新菜谱,帮厨师准备各种复杂菜肴。它还能确保每次用料正确,避免出错。这样一来,厨房的菜肴变得丰富多样,厨师也能更快做出美味佳肴。ToolACE就像这个智能助手,能自己学习API,生成丰富的对话,帮助模型更聪明地调用工具,做出更复杂的任务。

简单解释 像给14岁少年讲一样

想象你在学校的科学实验室里,老师让你用各种工具做实验。有时候,你需要用显微镜观察细胞,有时候用化学试剂反应。以前,你只知道一些基础工具,遇到新实验就得问老师或者查资料。现在,假如你有一个超级聪明的机器人助手,它可以自己学习各种新工具的用法,还能帮你设计复杂的实验方案。它会不断学习新工具的说明书,帮你模拟实验过程,确保每一步都正确。这样一来,你可以用它做很多复杂的实验,不用担心出错,也不用花太多时间查资料。ToolACE就像这个机器人助手,能自己学会新工具,帮模型更聪明地调用各种API,完成复杂任务,就像你在实验室里用各种工具做出精彩的实验一样。

原文摘要

Function calling significantly extends the application boundary of large language models, where high-quality and diverse training data is critical for unlocking this capability. However, real function-calling data is quite challenging to collect and annotate, while synthetic data generated by existing pipelines tends to lack coverage and accuracy. In this paper, we present ToolACE, an automatic agentic pipeline designed to generate accurate, complex, and diverse tool-learning data. ToolACE leverages a novel self-evolution synthesis process to curate a comprehensive API pool of 26,507 diverse APIs. Dialogs are further generated through the interplay among multiple agents, guided by a formalized thinking process. To ensure data accuracy, we implement a dual-layer verification system combining rule-based and model-based checks. We demonstrate that models trained on our synthesized data, even with only 8B parameters, achieve state-of-the-art performance on the Berkeley Function-Calling Leaderboard, rivaling the latest GPT-4 models. Our model and a subset of the data are publicly available at https://huggingface.co/Team-ACE.

cs.LG cs.AI cs.CL