论文标题:Toolformer : Language Models Can Teach Themselves to Use Tools
论文地址:arxiv.org
1. 论文介绍
本文讨论了大型语言模型的局限性,并提出了一种名为Toolformer的模型,该模型可以通过简单的API自学使用外部工具,实现两全其美的效果。Toolformer 经过训练,可以决定调用哪些 API、何时调用它们、传递哪些参数以及如何最好地将结果纳入未来的token预测中。该模型包含一系列工具,包括计算器、问答系统、搜索引擎、翻译系统和日历。Toolformer 在不牺牲其核心语言建模能力的情况下显著提高了各种下游任务的零点性能,通常与更大的模型相比具有竞争力。
2. 本文中使用的方法
Toolformer是一种可以通过简单的API自学使用外部工具的语言模型,经过训练,可以决定调用哪些API、何时调用它们、传递哪些参数以及如何最好地最终结果纳入未来的代币预测中。这是通过我监督的方式完成的,只需要为每个API 进行少量演示。作者表示,在非本质其核心语言构建模能的情况下,Toolformer在各种下游戏任务中实现了大广提高的零点性能,通常与更大的模型相竞争。该论文还评价了多语种回答基准测试MLQA上的Toolformer和所有基准模型,并在两个语言构建模型数据集上测试了Toolformer:WikiText和来自CCnet的10,000份随机选择的文档子集。
3. 本文中使用了哪些数据
本文使用三个数据集来评估Toolformer的性能:ASDiv、SVAMP和MAWPS基准测试。作者在这些数据集上测试了数学推理能力,并表明即使禁用 API 调用,Toolformer 也能获得更强的结果。他们推测这是因为该模型对许多 API 调用示例及其结果进行了微调,提高了其自身的数学能力。
4. 本文的文献综述
本文讨论了在预训练期间用某种形式的额外文本信息来增强语言模型的各种方法,包括各种形式的元数据、HTML 标签、维基百科标记或从信息检索系统获得的相关文本。此外,本文还讨论了几种旨在让 LM 能够使用外部工具(例如搜索引擎、网络浏览器、计算器、翻译系统和 Python 解释器)的方法。这些模型学会使用工具的方式大致可以分为两种方法:要么依赖大量的人工监督,要么通过针对特定任务量身定制的少量设置来提示语言模型起作用,在这种设置中,先验地知道需要使用哪些工具。
5. 论文的结论
该论文的结论是,Toolformer 是一种语言模型,它以自我监督的方式学习如何通过简单的 API 调用使用不同的工具,例如搜索引擎、计算器和翻译系统,它显著提高了 6.7B 参数 GPT-J 模型的零性能,使其在一系列不同的下游任务上甚至可以胜过更大的 GPT-3 模型。
6. 多语言问答是如何完成的?
对于多语言问答,作者在多语言问答基准 MLQA 上评估了 Toolformer 和所有基准模型。每个问题的上下文段落均以英文提供,而问题可以是阿拉伯语、德语、西班牙语、印地语、越南语或简体中文。为了完成任务,模型需要能够理解段落和问题,因此将问题翻译成英语可能会对模型有所帮助。使用的评估指标是生成模型包含正确答案的次数百分比,上限为 10 个字。Toolformer 在使用 API 调用时所有语言的性能都得到了持续改善,这表明它已经学会了使用机器翻译工具。根据语言的不同,在所有示例中,有63.8%至94.9%使用此工具;唯一的例外是印地语,只有7.3%的案例使用了机器翻译工具。但是,Toolformer 的表现并不一直优于原版 GPT-J。这主要是因为对于某些语言来说,在 CCnet 上进行微调会降低性能;这可能是由于与 GPT-J 的原始预训练数据相比,分布发生了变化。OPT 和 GPT-3 在所有语言中的表现都出人意料地弱,这主要是因为尽管他们被指示提供英语答案,但它们还是无法提供英语答案。GPT-J 没有遇到这个问题的一个潜在原因是,它是在比 OPT 和 GPT-3(包括 EuroParl 语料库)更多的多语言数据上训练的。作为上限,作者还在 MLQA 的变体上评估了 GPT-J 和 GPT-3,其中上下文和问题均以英文提供。在这种设置中,GPT-3 的性能优于所有其他模型,这支持了这样的假设,即它在 MLQA 上的表现不佳是由于任务的多语言方面造成的。
7. Toolformer 在执行算术或事实查找等基本功能方面与传统语言模型有何不同?
Toolformer 与传统语言模型的不同之处在于其执行基本功能(例如算术或事实查找)的能力。虽然传统语言模型难以完成这些任务,但 Toolformer 可以通过简单的 API 自学使用外部工具,实现两全其美。它经过训练,可以决定调用哪些 API、何时调用它们、传递哪些参数以及如何最好地将结果纳入未来的token预测中。这是通过自我监督的方式完成的,只需要为每个 API 进行少量演示。Toolformer 在不牺牲其核心语言建模能力的情况下显著提高了各种下游任务的零点性能,通常与更大的模型相比具有竞争力。
8. Toolformer 中包含哪些外部工具示例,它们如何提高下游任务的性能?
Toolformer 集成了一系列外部工具,包括计算器、问答系统、搜索引擎、翻译系统和日历。这些工具用于提高 Toolformer 在下游任务上的性能。例如,Toolformer 可以使用计算器 API 执行算术运算,使用问答系统 API 来回答问题,使用搜索引擎 API 来查找相关信息,使用翻译系统 API 来翻译文本,使用日历 API 来安排活动。通过整合这些外部工具,Toolformer 在不牺牲其核心语言建模能力的情况下显著提高了各种下游任务的零点性能,通常与更大的模型相比具有竞争力。
9. 解释本文的实际意义
本文的实际意义是,Toolformer可以通过简单的API教程大型语言模型使用外部工具,从而提供高级语言模型在各种下游任务中的性。这可以导致更高效率、更有效的自然语言处理系统,从而执行更广泛的任务。此外,Toolformer 可用于资源不足的设置,在这些环境中,外部工具可能特别有用。总体而言,本文的贡献可能表现出提高语言模型的能力及其实际应用。
10. 本文的局限性
本文的局限性在于 Toolformer 不能使用链中的工具,这意味着它不能使用一个工具的输出作为另一个工具的输入。此外,当前的方法不允许LM以交互方式使用工具,这对于某些应用程序可能至关重要。最后,在决定是否调用 API 时,使用 Toolformer 训练的模型通常对输入的确切措辞很敏感。
11. 本文提出的今后的工作建议
该论文提出了几个未来的研究方向,包括探索更复杂的API的使用,研究Toolformer在多任务环境中的使用,以及探索在更具交互性的环境中使用Toolformer,在模型可以要求更多信息或澄清的环境中使用 Toolformer。此外,该论文建议探索在更真实的环境(例如聊天机器人或个人助理)中使用Toolformer,并研究在资源不足的环境中使用Toolformer的情况,在这些环境中,外部工具可能特别有用。
