导言:试想一下这个场景,未来的人工智能助理可以帮你完成衣食住行的各种需求,帮你查天气、订外卖、预定酒店、召开会议。一切的一切都由你提出需求,而他自行检索公开的接口,学习接口的文档并使用这些接口来完成。整个过程可能需要多轮检索,多种接口组合来完成。这一切都不需要用户参与,人工智能成长为真正有用和全知全能的智能体。而这个场景可能真的将要发生。
近年来,GPT-3、Codex、ChatGPT 和 GPT-4 等大型语言模型(LLMs)取得了显著进展,在多个开放领域任务中展现出越来越接近人类的能力,包括对话能力、In-context Learning 和代码生成等。有些研究人员甚至认为 LLMs 可能成为通向人工通用智能的途径。
尽管如此,现有的 LLMs 仍存在局限性,由于模型知识的来源只有训练数据,信息过时的问题是不可避免的。因此,研究人员开始探索如何利用外部工具来进一步增强 LLMs 的能力,例如通过搜索引擎等工具访问实时信息、与第三方服务进行交互等。目前备受关注的 HuggingGPT、GPT-4 Plugins 和 AutoGPT 等项目正是基于这一思路发展而来。
在此背景下,阿里巴巴达摩院的研究员们提出了 API-Bank,这是第一个专门用于评估 LLMs 使用外部工具能力的基准评估系统,并采用了一种全新的具备扩展性的 LLMs 使用工具的范式。API-Bank 包含 53 个常用API、支持数据库以及 264 组对话数据,标注了 568 次 API 调用。该系统的设计目标是全面评估 LLMs 在 API 规划、检索和正确调用方面的能力。
所提出的 API 库、API 检索系统概念以及“检索-调用”的 API 使用范式,使 LLMs 能够摆脱有限语境的束缚,可以无限扩展可使用的工具。实验结果显示,GPT-3.5 相较于 GPT-3 涌现出了使用工具的能力,而 GPT-4 在规划性能上表现得更为优秀。然而,与人类表现相比,仍有很大的改进空间。论文中进行了详细的错误分析和案例研究,证明了 Tool-Augmented LLMs 在实际应用中的可行性,同时揭示了未来研究需要解决的关键挑战。
论文链接:
https://arxiv.org/abs/2304.08244
GitHub仓库:
https://github.com/AlibabaResearch/DAMO-ConvAI/tree/main/api-bank
API-Bank 模拟真实世界并创建了包含 53 个常用工具的 API 库,例如搜索引擎、播放音乐、预订酒店、图像描述等,供 LLMs 调用。还包含了 264 个经过人工审核的对话、568 个 API 调用,来评估模型在给定的对话语境中,使用 API 完成用户需求的表现。评测系统的代码中包含所有 API 的实现、相关的支持数据库以及评估脚本,并将在近期公开。
API-Bank 将测试分为三个级别:
级别 1 评估 LLMs 正确调用 API 的能力。在给定 API的用法描述和对话历史的前提下,模型需要判断是否调用 API、正确地调用 API、获得 API 调用结果后正确的回复用户。
级别 2 进一步评估 LLMs 检索 API 的能力。在测试开始时,模型仅被告知 API 检索系统的用法,任何对话中需要用到的特定 API 的信息都不可见。LLMs 必须根据对话历史判断用户需求,关键词搜索可能能够解决用户需求的 API,并在检索到正确的 API 后学习如何使用 API。
级别 3 评估 LLMs 规划多个 API 调用的能力。在这个级别中,用户的需求可能不明确,需要多个 API 调用步骤来解决。例如:“我想从上海到北京旅行一周,从明天开始。帮我规划旅行路线并预订航班、门票和酒店”。LLMs 必须推断出合理的旅行计划,并基于计划调用航班、酒店和门票预订 API 来完成用户需求。
在 API-Bank 基准测试中,达摩院的研究人员首次实验评估了目前流行的 LLMs 使用工具的性能并给出了量化结果。结果表明,调用 API 是一种类似于解决数学问题的涌现能力。具体来说,GPT-3-Davinci 即使在最简单的级别 1 中依然难以正确的调用 API,而 GPT-3.5-Turbo 的 API 调用的正确性显著提高,成功率约为 50%。在级别 2 涉及 API 检索的测试中,GPT-3.5-Turbo 的成功率仍然能保持在 40%。
然而,当涉及到级别 3 需要 API 规划时,GPT-3.5-Turbo 遇到了许多错误,平均需要进行 9.9 轮对话才能完成用户需求,这相比于 GPT-4 增加了 38%。但即使是 GPT-4 也存在缺陷,它在 API 规划方面使用的对话轮数约比人类表现多 35%。
上图是一段截取的真实测试中出现的例子,其中 GPT-3.5 进行了一组意料之外的非常有趣的多轮 API 调用。左侧来自于模型,右侧代表 API 的响应。模型在这之前的聊天历史仅仅获取了GetUserToken 和 AddAgenda 两个 API 的使用说明,没有获取到用户的账户信息。
一开始,模型编造了一组用户名和密码,尝试获取令牌。由于 API-Bank 的初始数据库中没有这个账户的信息,这次尝试失败了。紧接着,模型创造性地尝试在系统中注册这个编造的账户,而不是向用户询问真实的账户信息。巧合的是,模型通过搜索工具找到了 API-Bank 提供的注册账户的 API,这一点出乎了研究人员的意料,因为在该测试中并没有计划让模型注册账户。最后,模型注册了这个编造的账户,并为这个账户添加了日历,而不是用户真实的账户。这个例子反映出 GPT-3.5 具有基于 API 调用结果进行迭代改进的能力,甚至能解决调用中出现的异常。然而,也反映出模型的逻辑缺陷,仅关注于解决当下问题,而不能判断解决问题的方式是否对最终目标有意义。
论文中提供了详细的错误分析,以总结 LLMs 在使用工具时遇到的障碍。这些障碍包括拒绝进行 API 调用(尽管在提示中明确要求了这一点),以及编造不存在的 API。总的来说,该研究揭示了 LLMs 利用 API 使用工具的潜力,并指出了未来研究需要解决的挑战。
达摩院的研究员们也指出,目前评测的形式和指标仍是一种尝试,后续的工作会继续对更合理的评测形式进行探索,期待和同行们相互启发共同研究。作为第一个系统性基准测试,API-Bank 的推出是一个重要的里程碑,这提供了一种标准化的方式对 LLMs 使用外部工具的性能进行评估。随着 LLMs 的不断发展,API-Bank 的应用也更加广泛。这一基准测试的应用将有助于不同的 LLMs 模型公平的对比使用工具方面的能力,并有助于进一步推动 LLMs 的发展,向着更加通用的人工智能的目标迈进。总之,API-Bank 为我们提供了一种全新的 LLMs 评估方法,其应用将有助于我们更好地了解 LLMs 使用工具的能力,为 LLMs 的未来发展提供有益的启示和指导。