目录
1. 什么是Toolformer?
2. Toolformer 的架构和实现方法
2.1 API 调用的采样
2.2 API调用的执行
2.3 过滤API调用
2.4 模型微调
2.5 推理
2.6 API工具
3. 应用示例
3.1 LAMA
3.2 数学数据集
3.3 问题解答
3.4 多语言问答
3.5 时间数据集
4. ToolFormer 的局限
5. 小结
首页 科技周边 人工智能 解读Toolformer

解读Toolformer

May 05, 2023 pm 08:10 PM
语言 模型 toolformer

大语言模型(LLM)在利用有限的文本数据解决新任务方面表现出令人难以置信的优势。然而,尽管如此,它们在其他方面也有局限性,例如:

  • 无法访问最新信息
  • 幻想事实的倾向
  • 低资源语言的困难
  • 缺乏精确计算的数学技能
  • 对时间进程的不了解

如何使用大模型解决更多的问题呢?在《解读TaskMatrix.AI》一文中,TaskMatrix.AI是 Toolformer 和 chatGPT 的结合,将基础模型与数百万个 API 连接起来以完成任务。那么,什么是 Toolformer 呢?

Toolformer 是 Meta 开源的新模型,能够解决需要利用 API 的问题,如计算器、维基百科搜索、字典查找等。Toolformer 能够认识到它必须使用一个工具,能够确定使用哪个工具,以及如何使用该工具。Toolformers 的用例可能是无穷无尽的,从提供任何问题的即时搜索结果,到情景信息,比如城里最好的餐馆。

1. 什么是Toolformer?

什么是 Toolformer 呢?简而言之,Toolformer 是一个可以自学使用工具的语言模型。

Toolformer 基于一个预先训练的 GPT-J 模型,包含 67 亿个参数,使用自监督学习方法进行训练。这种方法包括采样和过滤 API 调用,以增加现有的文本数据集。

Toolformer 希望通过以下两个要求来完成 LLM 自学如何使用工具的任务:

  • 工具的使用应该通过自我监督的方式来学习,而不需要大量的人工注释。
  • LM 不应丧失其一般性,应该能够自行决定何时以及如何使用哪种工具。

下图显示了 Toolformer 的预测(例如,在数据样本中嵌入的 API 调用):

解读Toolformer

2. Toolformer 的架构和实现方法

ChatGPT 中的一个核心特性是基于上下文的学习(In-Context Learning),指的是一种机器学习方法,其中模型从特定上下文或环境中呈现的示例中学习。上下文学习的目标是提高模型理解和生成适合给定上下文或情况的语言的能力。在自然语言处理(NLP)任务中,可以训练语言模型来生成对特定提示或问题的响应。那么,Toolformer 如何利用 In-Context Learning 呢?

Toolformer 是一个大型语言模型,它能够通过 API 调用使用不同的工具。每个 API 调用的输入和输出需要格式化为文本/对话序列,以便在会话中自然流动。

解读Toolformer

从上面的图片中可以看到的,Toolformer 首先利用模型的上下文学习能力来对大量潜在的 API 调用进行采样。

执行这些 API 调用,并检查获得的响应是否有助于将来预测 token,并被用作筛选条件。经过过滤之后,对不同工具的 API 调用被嵌入到原始数据样本中,从而产生增强的数据集,而模型就是在这个数据集上进行微调的。

具体地,上图显示了使用问答工具完成此任务的模型:

  1. LM 数据集包含示例文本: 为“Pittsburgh is also known as”输入提示“Pittsburgh is also known as The Steel City”。
  2. 为了找到正确的答案,模型需要进行一个 API 调用并正确地进行调用。
  3. 对一些 API 调用进行了抽样,特别是“ What other name is Pittsburgh known by?”和“ Which country is Pittsburgh in?”。
  4. 相应的答案是“Steel City”和“United States”。因为第一个答案更好,所以它被包含到一个新的 LM 数据集中,并带有 API 调用: “Pittsburgh is also known as [QA(”What other name is Pittsburgh known by?”) -> Steel City] the Steel City”。
  5. 这包含预期的 API 调用和应答。重复此步骤以使用各种工具(即 API 调用)生成新的 LM 数据集。

因此,LM 使用嵌入在文本中的 API 调用来注释大量数据,然后使用这些 API 调用对 LM 进行微调,以进行有用的 API 调用。这就是自监督训练的方式,这种方法的好处包括:

  • 更少需要人工注释。
  • 将 API 调用嵌入到文本中允许 LM 使用多个外部工具来添加更多内容。

Toolformer 然后学会预测每个任务将使用哪个工具。

2.1 API 调用的采样

下图显示了给定用户输入的情况下,Toolformer使用和来表示API调用的开始和结束。为每个API编写一个提示符,鼓励Toolformer使用相关的API调用对示例进行注释。

解读Toolformer

Toolformer为每个token分配一个概率,作为给定序列的一个可能的延续。该方法通过计算ToolFormer分配给在序列中每个位置启动API调用的概率,对API调用的最多k个候选位置进行采样。保持概率大于给定阈值的位置,对于每个位置,通过使用以API调用为前缀、以序列结束标记为后缀的序列从Toolformer采样,最多可获得m个API调用。

2.2 API调用的执行

API调用的执行完全取决于正在执行调用的客户端。客户端可以是不同类型的应用程序,从另一个神经网络、Python脚本,到在大型语料库中搜索的检索系统。需要注意的是,当客户端发出调用时,API会返回一个单一的文本序列响应。此响应包含有关调用的详细信息,包括调用的成功或失败状态、执行时间等。

因此,为了获得准确的结果,客户端应该确保提供正确的输入参数。如果输入参数不正确,API可能会返回错误的结果,这对于用户来说可能是不可接受的。另外,客户端还应该确保与API的连接是稳定的,以避免在调用期间发生连接中断或其他网络问题。

2.3 过滤API调用

在过滤过程中,Toolformer通过API调用后的token计算Toolformer的加权交叉熵损失。

然后,比较两种不同的损失计算:

(i)一种是API调用,其结果作为输入给Toolformer

(ii)一种是没有API调用或者API调用但没有返回结果。

如果为API调用提供输入和输出,使得Toolformer更容易预测未来的token,那么API调用就被认为是有用的。应用过滤阈值仅保留两个损失之间的差值大于或等于阈值的API调用。

2.4 模型微调

最后,Toolformer将剩余的API调用与原始输入合并,并创建一个新的API调用来增强的数据集。换句话说,增强的数据集包含与原始数据集相同的文本,只插入了API调用。

然后,使用新的数据集使用标准语言建模目标对ToolFormer进行微调。这样可以确保在增强的数据集上微调模型会暴露给与在原始数据集上微调相同的内容。通过在准确的位置插入API调用,并使用帮助模型预测未来token的输入,对增强数据的微调使语言模型能够了解何时以及如何根据自己的反馈使用API调用。

2.5 推理

在推理过程中,当语言模型产生“→”token时,解码过程被中断,这表明 API 调用的下一个预期响应。然后,调用适当的 API 来获取响应,并在插入响应和token之后继续解码。

此时,我们需要确保获取的响应与上一个token所期望的响应相匹配。如果不匹配,我们需要调整 API 调用以获得正确的响应。在继续解码之前,我们还需要执行一些数据处理来准备下一步的推理过程。这些数据处理包括对响应的分析、对上下文的理解以及对推理路径的选择。因此,在推理过程中,不仅需要调用 API 来获取响应,还需要进行一系列的数据处理和分析,以确保推理过程的正确性和连贯性。

2.6 API工具

Toolformer 中每个可以使用的API工具都要满足以下两个条件:

  • 输入/输出都需要表示为文本序列。
  • 有可用的演示表达如何使用这些工具。

Toolformer 的初始实现中支持了五个API工具:

  1. 问答回答:这是另一个LM,可以回答简单的事实问题。
  2. 计算器:目前只支持4个基本的算术运算,并四舍五入到小数点后两位。
  3. Wiki搜索:返回从维基百科剪切下来的短文本的搜索引擎。
  4. 机器翻译系统:一个可以将任何语言的短语翻译成英语的LM。
  5. 日历:对日历的API调用,该调用返回当前日期而不接受任何输入。

下图显示了使用的所有API的输入和输出示例:

解读Toolformer

3. 应用示例

Toolformer在LAMA、数学数据集、问题解答和时间数据集等任务中的性能优于基线模型和GPT-3,但在多语言问答中表现不如其他模型。Toolformer使用API调用来完成任务,例如LAMA API、Calculator API和Wikipedia搜索工具API。

3.1 LAMA

任务是完成一个缺少事实的陈述语句。Toolformer 的性能优于基线模型,甚至更大的模型,如 GPT-3。下表展示了通过 LAMA API 调用获得的结果:

解读Toolformer

3.2 数学数据集

任务是评估 Toolformer 的数学推理能力来对比各种基线模型。Toolformer 的性能优于其他模型,可能是因为它对 API 调用示例进行了微调。允许模型进行 API 调用可以显著提高所有任务的性能,并优于 OPT 和 GPT-3等更大的模型。在几乎所有情况下,模型都决定向计算器工具寻求帮助。

下表展示了通过 Calculator API 调用获得的结果:

解读Toolformer

3.3 问题解答

任务是回答问题,Toolformer 的性能优于同样大小的基线模型,但是优于 GPT-3(175B)。Toolformer 利用 Wikipedia 的搜索工具来完成这项任务中的大多数示例。下表展示了通过 Wikipedia 搜索工具 API 调用获得的结果:

解读Toolformer

3.4 多语言问答

问答数据集被用于多语言问答基准测试 MLQA,其中包含英语上下文段落和阿拉伯语、德语、西班牙语、印地语、越南语或简体中文的问题。Toolformer 在这里并不是最强大的表现者,这可能是由于 CCNet 在所有语言上都缺乏调优。

下表展示了通过 Wikipedia 搜索工具 API 调用获得的结果:

解读Toolformer

3.5 时间数据集

任务是了解当前日期对于回答问题至关重要的位置。Toolformer 能够超越基线,但是,显然它没有100% 地利用日历工具。相反,它使用的是维基百科的搜索。下表展示了通过 Wikipedia 搜索工具 API 调用获得的结果:

解读Toolformer

4. ToolFormer 的局限

Toolformer 仍然存在一些局限性,例如无法同时使用多个工具、无法处理返回结果过多的工具、对输入措辞敏感导致效率低下、未考虑使用成本可能导致高计算成本等问题。具体如下:

  1. 由于每个工具的 API 调用都是独立生成的,因此 Toolformer 无法在一个流程中使用多个工具。
  2. 特别是对于可能返回数百个不同结果的工具(如搜索引擎),Toolformer 不能以交互方式使用。
  3. 使用 Toolformer 进行训练的模型对输入的确切措辞非常敏感,这种方法对于某些工具来说效率很低,需要大量的文档以生成少量有用的 API 调用。
  4. 在决定使用每个工具时,没有考虑使用它的成本,这可能会导致较高的计算成本。

5. 小结

Toolformer 是一个大型语言模型,通过使用 In-Context Learning 来提高模型理解和生成适合给定上下文或情况的语言能力。它使用 API 调用来注释大量数据,然后使用这些 API 调用对模型进行微调,以进行有用的 API 调用。Toolformer 学会预测每个任务将使用哪个工具。然而,Toolformer 仍然存在一些局限性,如无法在一个流程中使用多个工具,对于可能返回数百个不同结果的工具不能以交互方式使用等。

【参考资料与关联阅读】

  • Toolformer: Language Models Can Teach Themselves to Use Tools,https://arxiv.org/pdf/2302.04761.pdf
  • Meta's Toolformer Uses APIs to Outperform GPT-3 on Zero-Shot NLP Tasks,https://www.infoq.com/news/2023/04/meta-toolformer/
  • Toolformer: Language Models Can Teach Themselves to Use Tools (2023),https://kikaben.com/toolformer-2023/
  • Breaking Down Toolformer,https://www.shaped.ai/blog/breaking-down-toolformer
  • Toolformer: Meta Re-enters the ChatGPT Race With a New Model Using Wikipedia,https://thechainsaw.com/business/meta-toolformer-ai/
  • Toolformer language model uses external tools on its own,https://the-decoder.com/toolformer-language-model-uses-external-tools-on-its-own/

以上是解读Toolformer的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
威尔R.E.P.O.有交叉游戏吗?
1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

全球最强开源 MoE 模型来了,中文能力比肩 GPT-4,价格仅为 GPT-4-Turbo 的近百分之一 全球最强开源 MoE 模型来了,中文能力比肩 GPT-4,价格仅为 GPT-4-Turbo 的近百分之一 May 07, 2024 pm 04:13 PM

想象一下,一个人工智能模型,不仅拥有超越传统计算的能力,还能以更低的成本实现更高效的性能。这不是科幻,DeepSeek-V2[1],全球最强开源MoE模型来了。DeepSeek-V2是一个强大的专家混合(MoE)语言模型,具有训练经济、推理高效的特点。它由236B个参数组成,其中21B个参数用于激活每个标记。与DeepSeek67B相比,DeepSeek-V2性能更强,同时节省了42.5%的训练成本,减少了93.3%的KV缓存,最大生成吞吐量提高到5.76倍。DeepSeek是一家探索通用人工智

AI颠覆数学研究!菲尔兹奖得主、华裔数学家领衔11篇顶刊论文|陶哲轩转赞 AI颠覆数学研究!菲尔兹奖得主、华裔数学家领衔11篇顶刊论文|陶哲轩转赞 Apr 09, 2024 am 11:52 AM

AI,的确正在改变数学。最近,一直十分关注这个议题的陶哲轩,转发了最近一期的《美国数学学会通报》(BulletinoftheAmericanMathematicalSociety)。围绕「机器会改变数学吗?」这个话题,众多数学家发表了自己的观点,全程火花四射,内容硬核,精彩纷呈。作者阵容强大,包括菲尔兹奖得主AkshayVenkatesh、华裔数学家郑乐隽、纽大计算机科学家ErnestDavis等多位业界知名学者。AI的世界已经发生了天翻地覆的变化,要知道,其中很多文章是在一年前提交的,而在这一

谷歌狂喜:JAX性能超越Pytorch、TensorFlow!或成GPU推理训练最快选择 谷歌狂喜:JAX性能超越Pytorch、TensorFlow!或成GPU推理训练最快选择 Apr 01, 2024 pm 07:46 PM

谷歌力推的JAX在最近的基准测试中性能已经超过Pytorch和TensorFlow,7项指标排名第一。而且测试并不是在JAX性能表现最好的TPU上完成的。虽然现在在开发者中,Pytorch依然比Tensorflow更受欢迎。但未来,也许有更多的大模型会基于JAX平台进行训练和运行。模型最近,Keras团队为三个后端(TensorFlow、JAX、PyTorch)与原生PyTorch实现以及搭配TensorFlow的Keras2进行了基准测试。首先,他们为生成式和非生成式人工智能任务选择了一组主流

你好,电动Atlas!波士顿动力机器人复活,180度诡异动作吓坏马斯克 你好,电动Atlas!波士顿动力机器人复活,180度诡异动作吓坏马斯克 Apr 18, 2024 pm 07:58 PM

波士顿动力Atlas,正式进入电动机器人时代!昨天,液压Atlas刚刚「含泪」退出历史舞台,今天波士顿动力就宣布:电动Atlas上岗。看来,在商用人形机器人领域,波士顿动力是下定决心要和特斯拉硬刚一把了。新视频放出后,短短十几小时内,就已经有一百多万观看。旧人离去,新角色登场,这是历史的必然。毫无疑问,今年是人形机器人的爆发年。网友锐评:机器人的进步,让今年看起来像人类的开幕式动作、自由度远超人类,但这真不是恐怖片?视频一开始,Atlas平静地躺在地上,看起来应该是仰面朝天。接下来,让人惊掉下巴

替代MLP的KAN,被开源项目扩展到卷积了 替代MLP的KAN,被开源项目扩展到卷积了 Jun 01, 2024 pm 10:03 PM

本月初,来自MIT等机构的研究者提出了一种非常有潜力的MLP替代方法——KAN。KAN在准确性和可解释性方面表现优于MLP。而且它能以非常少的参数量胜过以更大参数量运行的MLP。比如,作者表示,他们用KAN以更小的网络和更高的自动化程度重现了DeepMind的结果。具体来说,DeepMind的MLP有大约300,000个参数,而KAN只有约200个参数。KAN与MLP一样具有强大的数学基础,MLP基于通用逼近定理,而KAN基于Kolmogorov-Arnold表示定理。如下图所示,KAN在边上具

特斯拉机器人进厂打工,马斯克:手的自由度今年将达到22个! 特斯拉机器人进厂打工,马斯克:手的自由度今年将达到22个! May 06, 2024 pm 04:13 PM

特斯拉机器人Optimus最新视频出炉,已经可以在厂子里打工了。正常速度下,它分拣电池(特斯拉的4680电池)是这样的:官方还放出了20倍速下的样子——在小小的“工位”上,拣啊拣啊拣:这次放出的视频亮点之一在于Optimus在厂子里完成这项工作,是完全自主的,全程没有人为的干预。并且在Optimus的视角之下,它还可以把放歪了的电池重新捡起来放置,主打一个自动纠错:对于Optimus的手,英伟达科学家JimFan给出了高度的评价:Optimus的手是全球五指机器人里最灵巧的之一。它的手不仅有触觉

FisheyeDetNet:首个基于鱼眼相机的目标检测算法 FisheyeDetNet:首个基于鱼眼相机的目标检测算法 Apr 26, 2024 am 11:37 AM

目标检测在自动驾驶系统当中是一个比较成熟的问题,其中行人检测是最早得以部署算法之一。在多数论文当中已经进行了非常全面的研究。然而,利用鱼眼相机进行环视的距离感知相对来说研究较少。由于径向畸变大,标准的边界框表示在鱼眼相机当中很难实施。为了缓解上述描述,我们探索了扩展边界框、椭圆、通用多边形设计为极坐标/角度表示,并定义一个实例分割mIOU度量来分析这些表示。所提出的具有多边形形状的模型fisheyeDetNet优于其他模型,并同时在用于自动驾驶的Valeo鱼眼相机数据集上实现了49.5%的mAP

牛津大学最新!Mickey:3D中的2D图像匹配SOTA!(CVPR\'24) 牛津大学最新!Mickey:3D中的2D图像匹配SOTA!(CVPR\'24) Apr 23, 2024 pm 01:20 PM

写在前面项目链接:https://nianticlabs.github.io/mickey/给定两张图片,可以通过建立图片之间的对应关系来估计它们之间的相机姿态。通常,这些对应关系是二维到二维的,而我们估计的姿态在尺度上是不确定的。一些应用,例如随时随地实现即时增强现实,需要尺度度量的姿态估计,因此它们依赖于外部的深度估计器来恢复尺度。本文提出了MicKey,这是一个关键点匹配流程,能够够预测三维相机空间中的度量对应关系。通过学习跨图像的三维坐标匹配,我们能够在没有深度测试的情况下推断出度量相对

See all articles