Redian新闻
>
清华提出开源工具学习框架,接入真实世界 16000+API, 效果达 ChatGPT

清华提出开源工具学习框架,接入真实世界 16000+API, 效果达 ChatGPT

公众号新闻

近些年,开源大语言模型(LLM)进步飞快,例如LLaMA和Vicuna等模型在各种语言理解、生成任务上展现了极佳的水平。但是,当它们面对更高级别的任务,例如根据用户指令使用外部工具(API)时,仍然有些力不从心。

为了解决这个问题,清华大学研究人员近期联合耶鲁大学、中国人民大学、面壁智能、知乎、腾讯一起发布了ToolLLM工具学习框架,。ToolLLM框架包括如何获取高质量工具学习训练数据、模型训练代码和模型自动评测的全流程。作者构建了ToolBench数据集,该数据集囊括16464个真实世界API。ToolLLM框架的推出,有助于促进开源语言模型更好地使用各种工具,增强其复杂场景下推理能力。该创新将有助于研究人员更深入地探索LLMs的能力边界,也为更广泛的应用场景敞开了大门。

目前ToolLLM的所有相关代码均已开源,以下是作者训练的ToolLLaMA的与用户交互对话并实时进行推理的演示:

● ToolLLM论文链接:https://arxiv.org/pdf/2307.16789.pdf

● ToolLLM数据与代码链接:https://github.com/OpenBMB/ToolBench

● ToolLLM开源模型下载链接:https://huggingface.co/ToolBench
● 工具学习学术交流社群:https://discord.gg/asjtEkAA



1

ToolLLM 研究背景

大模型工具学习范式

工具学习的目标是让LLM能给定用户指令与各种工具(API)高效交互,从而大大扩展LLM的能力边界,使其成为用户与广泛应用生态系统之间的高效桥梁。尽管已经有一些工作(例如Gorrila、APIBank等)探索了如何让LLM掌握API调用能力,这些工作仍然存在以下局限性:

1.  有限的API:很多研究没有使用真实世界的API(如RESTful API),存在API范围有限、多样性不足的问题。

2.  场景受限:先前工作大多集中在单一工具的使用,而实际场景中可能需要多个工具协同工作来完成复杂任务;此外,现有研究通常假设用户提供与指令相关的API,但现实中可供选择的API可能非常多,用户难以从中高效选择。

3.  模型规划和推理能力不足:现有模型推理方法如CoT、ReACT过于简单,无法充分利用LLM的潜力来处理复杂指令,因而难以处理复杂任务。



2

ToolLLM 研究框架

为了激发开源LLM的工具使用能力,该研究提出了ToolLLM,一个包括数据构建、模型训练和评估过程的通用工具学习框架。作者首先收集高质量的工具学习指令微调数据集ToolBench,随后对LLaMA进行微调得到ToolLLaMA,最后通过ToolEval评估ToolLLaMA的工具使用能力。

ToolLLM数据收集、模型训练、性能评测流程


3

ToolBench数据集

ToolBench的构建完全由最新的ChatGPT(gpt-3.5-turbo-16k)自动化完成,无需人工标注。在ToolBench上训练出来的模型具备极强的泛化能力,能够直接被应用到新的API上,无须额外训练。下表列出了ToolBench与之前相关工作的对比情况。ToolBench不仅在多工具混合使用场景独一无二,且在真实API数量上也一骑绝尘。

ToolBench与之前相关工作的对比情况

ToolBench的构建包括三个阶段:API收集,指令生成和解路径标注:

API收集
API收集分为API爬取、筛选和响应压缩三个步骤。

API爬取:作者从RapidAPI Hub上收集了大量真实多样的API。RapidAPI是一个行业领先的API提供商,开发者可以通过注册一个RapidAPI密钥来连接各种现有API。所有RapidAPI中的API可以分为49个类别,例如体育、金融和天气等;每个类别下面有若干工具,每个工具由一个或多个API组成。

API筛选:作者对在RapidAPI收集到的10,853个工具(53,190个API)基于能否正常运行和响应时间、质量等因素进行了筛选,最终保留了3,451个高质量工具(16,464个API)。

API响应压缩:某些API返回的内容可能包含冗余信息导致长度太长无法输入LLM,因此作者对返回内容进行压缩以减少其长度并同时保留关键信息。基于每个API的固定返回格式,作者使用ChatGPT自动分析并删除其中不重要信息,大大减少了API返回内容的长度。

指令生成

RapidAPI层次架构和工具指令生成示意图

为了兼顾生成高质量的指令和保证指令能用API完成,作者采用自底向上的方法进行工具指令生成,即从收集的API入手,反向构造涵盖各种API的指令。具体而言,作者首先从整个API集合中采样各种各样的API组合,接着通过prompt engineering让ChatGPT构思可能调用这些API的指令。其中prompt包括了每个API的详细文档,这样ChatGPT能够理解不同API的功能和API之间的依赖关系,从而生成符合要求的人类指令。具体的采样方式分为单工具指令(指令涉及单工具下的多个API)和多工具指令(指令涉及同类或跨不同类的工具的多个API)。通过该方法,作者最终自动构造逾20万条合格的指令。

解路径标注

给定一条指令,作者调用ChatGPT来搜索(标注)一条有效的解路径(动作序列):{, · · · , }。这是一个多步决策过程,由ChatGPT的多轮对话来完成。在每个时间步t,模型根据先前的行为历史和API响应预测下一步动作,即:

,其中表示真实的API响应。每个动作包括了调用的API名称,传递的参数和为什么这么做的“思维过程”。为了利用ChatGPT新增的函数调用(function call)功能,作者将每个API视为一个特殊函数,并将其API文档放入ChatGPT的函数字段来让模型理解如何调用API。此外,作者也定义了"Give Up"和"Final Answer"两种函数标识行为序列的结束。

DFSDT与传统模型推理方法的对比(左图),解路径标注流程示意图(右图)

在实际应用中,作者发现传统的CoT或ReACT算法在决策过程中存在错误累加传播和搜索空间有限的问题,这导致即使是最先进的GPT-4在很多情况下也很难成功找到一条解路径,从而对数据标注形成了一定的障碍。

为解决这个问题,作者采用构建决策树的方式扩展搜索空间增加找到有效路径的概率。作者提出DFSDT算法,让模型评估不同的推理路径并沿着有希望的路径继续前进,或者放弃当前节点并扩展一个新的节点。



4

DFSDT于传统推理方法(ReACT)的性能比较

为验证DFSDT的效果,作者基于ChatGPT比较了DFSDT与ReACT的差异。此外,作者还引入了更强的baseline (ReACT@N),它进行多次ReACT推理直到找到一条合理的解路径。如上图所示,DFSDT在所有场景下的通过率(pass rate)显著更高,超越了两种baseline。此外,DFSDT在更复杂场景下(I2,I3)的效果提升更大,这说明扩大搜索空间更加有助于解决复杂的工具调用任务。

总而言之,DFSDT算法显著提升了模型推理能力,增加了解路径标注的成功率。最终,作者生成了12000+条指令-解路径数据对用于训练模型。



5

ToolEval模型评估

为了确保准确可靠的工具学习性能评测,作者开发了一个名为ToolEval的自动评估工具,它包含两个评测指标:通过率(Pass Rate)和获胜率(Win Rate)。通过率是指在有限步骤内成功完成用户指令的比例;获胜率则基于ChatGPT衡量两个不同解路径的好坏(即让ChatGPT模拟人工偏好)。

ToolEval评测工具排行榜

为了检验这种评估方式的可靠性,作者首先收集了大量人类标注结果,并且发现利用ChatGPT做自动评测与人类评判的一致性高达75.8%,这意味着ToolEval的结评测果与人类判断高度相似。此外, ToolEval的评测在多次重复时方差非常小(3.47%),小于人类的3.97%,这表明,ToolEval的评测一致性超越了人类,更加稳定可靠。



6

ToolLLaMA 模型训练&实验结果

基于ToolBench,作者微调LLaMA 7B模型并得到了具备工具使用能力的ToolLLaMA。由于训练数据中存在十分多样的工具与指令,ToolLLaMA学习到了非常强的泛化能力,能在测试中处理一些在训练期间未见过的新任务、新工具。为了验证ToolLLaMA的泛化能力,作者进行了三个级别的测试:

1.  单一工具指令测试(I1):评测模型解决面向单工具的在训练中未学习过的新指令。

2.  类别内多工具指令测试(I2):评测模型如何处理已经再训练中学习过的类别下的多种工具的新指令。

3.  集合内多工具指令测试(I3):考查模型如何处理来自不同类别的工具的新指令。

作者选择了两个已经针对通用指令微调的LLaMA变体Vicuna和Alpaca以及OpenAI的ChatGPT和Text-Davinci-003作为baseline。对所有这些模型应用了更加先进的DFSDT推理算法,此外对ChatGPT应用了ReACT。在计算win rate时,将每个模型与ChatGPT-ReACT进行比较。下面两幅图总结了ToolLLaMA模型和其他模型比较结果。

根据上图显示,ToolLLaMA在pass rate和win rate上显著优于传统的工具使用方法ChatGPT-ReACT,展现出优越的泛化能力,能够很容易地泛化到没有见过的新工具上,这对于用户定义新API并让ToolLLaMA高效兼容新API具有十分重要的意义。此外,作者发现ToolLLaMA性能已经十分接近ChatGPT,并且远超Davinci, Alpaca, Vicuna等baseline

将API检索器与ToolLLaMA结合

在实际情况下用户可能无法从大量的API中手动推荐和当前指令相关的API,因此需要一个具备API自动推荐功能的模型。为解决这个问题,作者调用ChatGPT自动标注数据并依此训练了一个sentence-bert模型用作dense retrieval。为了测试API检索器的性能,作者比较了训练得到的API检索器和BM25、Openai Ada Embedding方法,发现该检索器效果远超baseline,表现出极强的检索性能。此外,作者也将该检索器与ToolLLaMA结合,得到了更加符合真实场景的工具使用模型pipeline。

作者训练的API检索器和baseline方法的性能对比



7

工具学习扩展大模型能力边界

近年来,大模型在诸多领域展现出惊人的应用价值,持续刷新各类下游任务的效果上限。尽管大模型在很多方面取得了显著的成果,但在特定领域的任务上,仍然存在一定的局限性。这些任务往往需要专业化的工具或领域知识才能有效解决。因此,大模型需要具备调用各种专业化工具的能力,这样才能为现实世界任务提供更为全面的支持。

最近,新的范式大模型工具学习(Tool Learning)应运而生。这一范式的核心在于将专业工具与基础模型的优势相融合,以在问题解决方面达到更高的准确性、效率和自主性,工具学习极大地释放了大模型的潜力。

在应用方面,ChatGPT Plugins的出现补充了ChatGPT最后的短板,使其可以支持连网、解决数学计算,被称为OpenAI的“App Store”时刻。然而直到现在,它仅支持部分OpenAI Plus用户,大多数开发者仍然无法使用。

为此,该团队之前也推出了工具学习引擎 BMTools,一个基于语言模型的开源可扩展工具学习平台,它将是面壁智能在大模型体系布局中的又一重要模块。研发团队将各种各样的工具(例如文生图模型、搜索引擎、股票查询等)调用流程都统一到一个框架上,使整个工具调用流程标准化、自动化。

开发者可以通过BMTools,使用给定的模型(ChatGPT、GPT-4)调用多种多样的工具接口,实现特定功能。此外,BMTools 工具包也已集成最近爆火的Auto-GPT与BabyAGI。未来,团队还将围绕大模型工具学习有更多发布,敬请大家期待!

BMTools 工具包 :https://github.com/OpenBMB/BMTools
工具学习综述链接 :https://arxiv.org/abs/2304.08354
工具学习论文列表 :https://github.com/thunlp/ToolLearningPapers

大模型使用搜索引擎实践:https://github.com/thunlp/WebCPM

更多内容,点击下方关注:

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
CMU博士让智能体在真实世界竞技!GPT-4夺冠,但成功率只有一成惊呆!某院医生4个月用ChatGPT写了16篇论文,发表5篇!(附ChatGPT干货)DeepMind推出AI图像识别工具;华为Mate 60 Pro接入盘古大模型;传谷歌Gemini算力达GPT-4五倍【城事】巴黎市长将重修Châtelet 广场以方便行人今夜悉尼似银河,流光溢彩冠全球ChatGPT 突然被 block 了机器人ChatGPT来了!大模型进现实世界,DeepMind重量级突破!大模型掌握16000+真实世界API了,清华等机构ToolLLM的工具使用能力不输ChatGPTIJCAI 2023 | 清华提出:具有显式位置增强的鲁棒场景文本图像超分辨率网络LLM+模仿学习,解决真实世界中的复杂任务:AI2提出SwiftSageChatGPT 成功诊断 4 岁男孩怪病,击败 17 位医生,这意味着什么?如何评估乌军第一波反攻是否成功?开源打败闭源?Meta 即将推出开源代码生成平台 Code Llama,剑指 OpenAI Codex12种模态,一个学习框架,Meta-Transformer实现骨干网络大一统参数量仅为1/700,性能超越GPT-3.5!CMU+清华开源Prompt2Model框架Chatgpt 图片识别能力超越人类了啊,谁第一眼看走眼的举手微软也搞起了开源小模型!利用OpenAI的ChatGPT和GPT-4 训练,实力碾压当前最强开源模型刘知远等众多机构提出ToolLLM:促进大型语言模型掌握16000+真实世界的APIs清华第二代60亿参数ChatGLM2开源!中文榜居首,碾压GPT-4,推理提速42%开源打败闭源?Meta即将推出开源代码生成平台Code Llama,剑指OpenAI Codex惊了!某院医生用ChatGPT4个月写了16篇论文!成功发表5篇!(附ChatGPT干货教程)chatGPT 太好用了11个LLM一起上,性能爆炸提升!AI2联合USC开源LLM-Blender集成学习框架:先排序再融合|ACL 2023Tube Downloader:下载 YouTube 视频的开源工具 | Linux 中国《报任安书》和《答苏武书》并读LLaMA微调显存需求减半,清华提出4比特优化器巴黎市长将重修Châtelet 广场以方便行人谷歌AI芯片大升级:瞄准大模型和生成式AI,还集成主流深度学习框架使用开源工具监控 Kubernetes 云成本 | Linux 中国能抓取玻璃碎片、水下透明物,清华提出通用型透明物体抓取框架,成功率极高AI之下没有秘密:网友诱骗ChatGPT激活 Windows 11,ChatGPT落入陷阱!机器人ChatGPT来了:大模型进现实世界,DeepMind重量级突破五十四 除四害这个开源工具防止错误配置乱入k8s生产环境使用开源工具 CBconvert 转换你的漫画书 | Linux 中国2.7k star开源工具,推荐给研发或运维伙伴五十三 昭忠祠Meta版ChatGPT来了:Llama 2加持,接入必应搜索,小扎现场演示聚焦慢病真实世界数据,以循证诊疗推动慢病患者获益——第二届“真实世界研究与慢病论坛暨瞰见论坛”重磅来袭!
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。