始智AI wisemodel.cn开源社区
始智AI wisemodel.cn社区是源自中国的中立开放的AI开源社区。欢迎《》以及《》。wisemodel社区上线,H800/H20等资源上线,价格实惠,灵活方便,支持在线微调训练模型,及模型和,并。
大语言模型(如 GPT-4)具备强大的语言处理能力,但其独立运作时仍存在局限性,如无法进行复杂计算,获取不到实时信息,难以提供专业定制化功能等。而大语言模型的工具调用能力使其不仅限于文字处理,更能提供全面、实时、精确的服务,极大地扩展了其应用范围和实际价值。
为提高模型的工具调用能力,高质量、多样化、且复杂的训练数据至关重要。然而,现实中工具调用数据的收集和标注极为困难,现有的合成数据生成方式在覆盖率和准确性方面仍存在不足。
针对这一挑战,华为诺亚方舟实验室联合中科大等机构的研究人员提出了一个统一的工具调用数据合成框架 ToolACE,可以自动化地生成高准确性、高复杂性、高多样性的工具调用数据。ToolACE 通过创新的自进化合成过程,构建了一个包含 26,507 个多样化 API 的 API 库。通过多智能体之间的交互生成对话,并通过形式化的思维过程进行引导,确保生成的数据复杂且多样化。并结合了基于规则和基于模型的数据质检机制,确保数据准确性。基于对应合成数据对 Llama 3.1 进行微调,以 8B 的模型量级,在开源工具调用榜单 BFCL(https://gorilla.cs.berkeley.edu/leaderboard.html)中持平 GPT-4,获得开源第一,超过如 Functionary 等 70B 模型效果。
论文题目:
ToolACE: Winning the Points of LLM Function Calling
论文链接:
https://arxiv.org/abs/2409.00920
模型链接:
https://wisemodel.cn/models/XuHwang/ToolACE-8B
图 1. ToolACE 数据合成框架图
ToolACE 工具调用数据合成框架
ToolACE 的数据合成流程分为 API 生成、对话生成、数据质检三个阶段:
基于自演进的 API 合成:多样化的 API 能够显著提升工具调用数据的多样性和复杂性。ToolACE 利用基于自演进的 API 合成模块构建了一个包含 26,507 个 API 库,在数量和领域覆盖上均超越了其他代表性的工具调用数据。基于自演进的 API 合成模块可以根据不同的数据类型和约束条件合成新的工具描述。具体来说,该模块利用多样的网页预训练数据提取了一个 API 上下文树,每个节点代表一个潜在的应用领域和函数调用的功能,如金融、健康、交通等。通过由 API 上下文树中进行采样,结合给定的 API 示例,由语言模型可以合成新的 API。API 的多样性和复杂性通过递归的自我进化和更新逐渐增加。
基于多智能体交互的对话生成:ToolACE 利用多智能体交互的方式进行工具调用对话合成,所生成的对话涵盖了多种类型,包括简单函数调用、并行函数调用、依赖函数以及非工具使用的对话。
对话生成过程首先从构建好的 API 库中采样一个或多个候选 API,之后通过三个不同的智能体(用户、助手和工具)的互动生成对话,每个智能体都由大语言模型模拟。用户智能体主要提出请求或提供额外信息,请求的多样性和复杂性由多模式提示和基于相似性的复杂化策略来保证。助手智能体则使用给定的 API 来完成用户提出的请求。助手智能体的操作空间包括:调用 API、请求进一步信息、总结工具反馈以及提供非工具使用的回答。每个操作都通过形式化的思考过程确定,并通过自我一致性验证以确保准确性。工具智能体作为 API 执行者,处理助手提供的工具描述和输入参数,并模拟输出潜在的执行结果。所生成的对话可进一步进行格式泛化为不同的工具调用格式。
双层数据质检流程:影响大语言模型工具调用能力的一个关键因素是训练数据的准确性和可靠性。不一致或不准确的数据会阻碍模型理解和执行工具的能力。与一般问答数据不同,工具调用数据的正确性更容易验证,因为成功的工具调用必须严格符合 API 定义中指定的格式。因此,ToolACE 提出了结合规则质检和模型质检的双层数据质检流程对合成数据进行校验。规则质检保证数据严格遵循 API 定义的格式和结构要求,确保工具调用的可执行性。模型质检则进一步对规则难以处理的问题进行检查,如幻象和数据不一致性。
实验验证
数据分布:ToolACE 数据共包含了 26507 个不同的 API,来自于不同的领域。下图展示了各个领域的 API 数量分布,以及在娱乐(Entertainment)领域的二级 API 分布。
图 2. ToolACE 数据集 API 领域来源分布
此外,ToolACE 数据集中 API 的参数覆盖多个类型:字符串(string),浮点数(float),整数(int),字典(dict),数组(array)等。且数据中含有单工具调用(single)、并行多工具调用(parallel)、多轮数据(multi-turn)、工具依赖调用(dependency)和无需工具调用(non-tool)等多种可能情形,分布如下图所示。
图 3. ToolACE 数据 API 参数类型分布和工具调用形式分布
工具调用能力验证:研究团队使用 ToolACE 方案生成的数据集,对开源的 LLaMA-3.1-8B-Instruct 模型进行 LoRA 微调得到 ToolACE-8B 模型,并在加州大学伯克利分校团队发布的工具调用测试榜单 BFCL 上进行评估,在 BFCL 上击败所有模型获得榜首。
表 1. 模型在 BFCL-v2 榜单上的工具调用性能比较(榜单数据更新于 2024/08/16)。表中选择排名前 20 的模型作为比较。
通用能力验证:研究团队对训练后模型的综合通用能力进行测试,实验涵盖通用理解任务、代码生成任务、数学推理任务、尝试问答任务以及工具调用任务,结果证明 ToolACE-8B 模型在大幅提升工具调用能力的同时,相比于基座模型(LLaMA-3.1-8B-Instruct)并未明显损失其他能力,且各方面明显优于同规模开源工具调用模型 xLAM-7B-fc-r。
图 4. ToolACE-8B 模型通用能力评估
在线部署体验和API服务
ToolACE模型在wisemodel社区已经可以直接在线部署的在线体验和API服务,大家可以来体验和使用,部署流程可以参考以下内容:
从模型详情页面点击“在线部署”,选择“部署在线体验”或“部署API服务”按钮,也可以从“应用”模块点击“新建体验”或“新建API服务”开启模型部署的流程。
填写和选择模型服务相应的内容,然后直接点击“下一步”,进入确认订单环节。
确认计费方式之后,直接提交订单,进入模型启动环节,在“应用-API服务/在线体验”页面显示“启动中”的状态。
大概1分钟左右的时候,状态自动变更为“运行中”,则表示模型启动成功,点击运行中的服务直接到服务详情页面。
在服务详情页面左右可以直接进行在线问答对话,右侧是API服务调用方式,支持OpenAI兼容的模式进行调用,欢迎大家到wisemodel社区上进行体验和使用。
转载自机器之心
编辑:成蕴年
----- END -----
wisemodel相关
系统升级
系列模型:
关于wisemodel更多
1
欢迎持续关注和支持
开源社区建设需要长期坚持和投入,更需要广大用户的积极参与、贡献和维护,欢迎大家加入wisemodel开源社区的志愿者计划和开源共创计划。期待更多开发者将开源成果,包括模型、数据集和代码等发布到 wisemodel.cn 社区,共建中立、开放的AI开源社区生态。欢迎扫码添加wisemodel微信,申请加入wisemodel社群,持续关注wisemodel.cn开源社区动态,
2
欢迎加盟wisemodel开源社区
始智AI wisemodel社区自2023年9月上线以来,逐渐成为影响力日益扩大的中立开放的AI开源社区,为了加快公司发展,我们长期需要技术、运营等人才加盟,技术侧重在AI infra、后端开发,熟悉K8S、模型训练和推理等技术, 以及熟悉开发者生态运营的成员,欢迎感兴趣的朋友加盟,可以通过添加wisemodel微信,或者将简历投递到邮箱:liudaoquan@wisemodel.cn
3
欢迎投稿优质内容
欢迎投稿分享人工智能领域相关的优秀研究成果,鼓励高校实验室、大企业研究团队、个人等,在wisemodel平台上分享各类优质内容,可以是AI领域最新论文解读、最新开源成果介绍,也可以是关于AI技术实践、应用和总结等。投稿可以发邮件到liudaoquan@wisemodel.cn,也可以扫码添加wisemodel微信。
4
关于wisemodel开源社区
始智AI wisemodel.cn开源社区由清华校友总会AI大数据专委会副秘书长刘道全创立,旨在打造和建设中立开放的AI开源创新社区,将打造成“HuggingFace”之外最活跃的AI开源社区,汇聚主要AI开源模型、数据集和代码等,欢迎高校科研院所、大型互联网公司、创新创业企业、广大个人开发者,以及政府部门、学会协会、联盟、基金会等,还有投资机构、科技媒体等,共同参与建设AI开源创新生态。
向上滑动查看
热门跟贴