华为诺亚与中科大联合发布ToolACE:一款高效的大语言模型工具调用框架,API合成与数据质检能力媲美GPT-4,成为开源新星

大语言模型(如GPT-4)具有强大的语言处理能力,但在独立运行时仍存在一些局限性,例如无法进行复杂计算、无法获取实时信息以及难以提供专业定制化功能。然而,大语言模型的工具调用能力使其能够提供更全面、实时和精准的服务,从而大大扩展了其应用场景和实际价值。为了提升模型的工具调用能力,高质量、多样化且复杂的训练数据至关重要。然而,现实中收集和标注工具调用数据非常困难,现有合成数据生成方法在覆盖率和准确性方面仍有不足。

为了解决这个问题,华为诺亚方舟实验室联合中科大等机构的研究人员提出了一个统一的工具调用数据合成框架——ToolACE。该框架能够自动化地生成高准确性、高复杂性和高多样性的工具调用数据。ToolACE 通过创新的自进化合成过程,构建了一个包含 26,507 个多样化的 API 库。通过多智能体之间的交互生成对话,并通过形式化的思维过程进行引导,确保生成的数据复杂且多样化。此外,结合了基于规则和基于模型的数据质检机制,确保数据准确性。

ToolACE 的数据合成流程分为三个阶段:API 生成、对话生成和数据质检。基于自演进的 API 合成模块能够根据不同的数据类型和约束条件合成新的工具描述。具体来说,该模块利用多样的网页预训练数据提取了一个 API 上下文树,每个节点代表一个潜在的应用领域和函数调用的功能,如金融、健康、交通等。通过从 API 上下文树中采样,结合给定的 API 示例,由语言模型合成新的 API。API 的多样性和复杂性通过递归的自我进化和更新逐渐增加。

基于多智能体交互的对话生成模块利用多智能体交互的方式进行工具调用对话合成,生成的对话涵盖了多种类型,包括简单函数调用、并行函数调用、依赖函数以及非工具使用的对话。对话生成过程首先从构建好的 API 库中采样一个或多个候选 API,之后通过三个不同的智能体(用户、助手和工具)的互动生成对话。每个智能体都由大语言模型模拟。用户智能体主要提出请求或提供额外信息,请求的多样性和复杂性由多模式提示和基于相似性的复杂化策略来保证。助手智能体则使用给定的 API 来完成用户提出的请求。每个操作都通过形式化的思考过程确定,并通过自我一致性验证以确保准确性。工具智能体作为 API 执行者,处理助手提供的工具描述和输入参数,并模拟输出潜在的执行结果。所生成的对话可进一步进行格式泛化为不同的工具调用格式。

双层数据质检流程确保了数据的准确性和可靠性。规则质检保证数据严格遵循 API 定义的格式和结构要求,确保工具调用的可执行性。模型质检则进一步对规则难以处理的问题进行检查,如幻象和数据不一致性。ToolACE 数据集共包含了 26,507 个不同的 API,来自不同的领域。这些 API 的参数覆盖多个类型:字符串(string)、浮点数(float)、整数(int)、字典(dict)、数组(array)等。数据中含有单工具调用(single)、并行多工具调用(parallel)、多轮数据(multi-turn)、工具依赖调用(dependency)和无需工具调用(non-tool)等多种可能情形。

研究团队使用 ToolACE 方案生成的数据集对开源的 LLaMA-3.1-8B-Instruct 模型进行 LoRA 微调得到 ToolACE-8B 模型,并在加州大学伯克利分校团队发布的工具调用测试榜单 BFCL 上进行评估,在 BFCL 上击败所有模型获得榜首。实验结果显示 ToolACE-8B 模型在大幅提升工具调用能力的同时,相比于基座模型(LLaMA-3.1-8B-Instruct)并未明显损失其他能力,且各方面明显优于同规模开源工具调用模型 xLAM-7B-fc-r。

本文来源: 机器之心【阅读原文】
© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...