语言模型自己学会用搜索引擎了?Meta AI提出API调用自监督学习方法Toolformer
在自然语言处理任务中,大型语言模型在零样本和少样本学习方面取得了令人印象深刻的结果。然而,所有模型都存在固有的局限性,往往只能通过进一步扩展来部分解决。具体来讲,模型的局限性包括无法访问最新信息、会对事实产生「信息幻觉」、低资源语言理解困难、缺乏进行精确计算的数学技能等等。
解决这些问题的一种简单方法就是给模型配备外部工具,如搜索引擎、计算器或日历。然而,现有方法通常依赖于大量的人工注释,或将工具的使用限制在特定的任务设置下,使得语言模型与外部工具的结合使用难以推广。
为了打破这种瓶颈,近期 Meta AI 提出了一种称为 Toolformer 的新方法,使得语言模型学会「使用」各种外部工具。
论文地址:https://arxiv.org/pdf/2302.04761v1.pdf
Toolformer 很快就引起了人们的高度关注,有人认为这篇论文解决了目前大型语言模型的许多问题,称赞道:「这是最近几周最重要的论文」。
有人指出 Toolformer 以自监督学习的方式,仅用极少数样本就让大型语言模型学会使用一些 API 和工具,这是非常灵活且高效的:
甚至有人认为 Toolformer 将让我们离通用人工智能(AGI)更近一步。
Toolformer 之所以能获得如此高的评价,是因为它满足了以下的实际需求:
- 大型语言模型应该在自监督的方式下学习工具的使用,而不需要大量的人工注释。这一点很关键, 人工注释的成本很高只是一方面,更重要的是人类认为有用的东西可能与模型认为有用的东西不同。
- 语言模型需要更全面地使用不受特定任务约束的工具。
这明确打破了前文所述的瓶颈。我们来具体看一下 Toolformer 的方法和实验结果。
方法
Toolformer 基于带有 in-context learning(ICL)的大型语言模型从头开始生成数据集(Schick and Schütze, 2021b; Honovich et al., 2022; Wang et al., 2022)的思路:只需给出少数几个人类使用 API 的样本,就可以让 LM 用潜在的 API 调用标注一个巨大的语言建模数据集;然后使用自监督损失函数来确定哪些 API 调用实际上有助于模型预测未来的 token;最后根据对 LM 本身有用的 API 调用进行微调。
由于 Toolformer 与所使用的数据集无关,因此可以将其用于与模型预训练完全相同的数据集,这确保了模型不会失去任何通用性和语言建模能力。
具体来说,该研究的目标是让语言模型 M 具备一种能力 —— 通过 API 调用使用各种工具。这就要求每个 API 的输入和输出都可以表征为文本序列。这允许将 API 调用无缝插入到任何给定文本中,并使用特殊的 token 来标记每个此类调用的开始和结束。
该研究将每个 API 调用表示为一个元组
,其中 a_c 是 API 的名称,i_c 是相应的输入。给定具有相应结果 r 的 API 调用 c,该研究将不包括和包括其结果的 API 调用的线性化序列分别表示为:
其中,
给定数据集
,该研究首先将这个数据集转换成一个增加了 API 调用的数据集 C*。这分三个步骤完成,如下图 2 所示:首先,该研究利用 M 的 in-context learning 能力对大量潜在的 API 调用进行采样,然后执行这些 API 调用,再检查获得的响应是否有助于预测未来的 token,以用作筛选标准。筛选之后,该研究合并对不同工具的 API 调用,最终生成数据集 C*,并在此数据集上微调 M 本身。
实验及结果
该研究对各种不同的下游任务进行了实验,结果表明:基于 6.7B 参数预训练 GPT-J 模型的 Toolformer(学习过使用各种 API 和工具)在各种任务上明显优于更大的 GPT-3 模型和其他几个基线。
该研究在 LAMA 基准的 SQuAD、GoogleRE 和 T-REx 子集上对几种模型进行了评估,实验结果如下表 3 所示:
为了测试 Toolformer 的数学推理能力,该研究在 ASDiv、SVAMP 和 MAWPS 基准上进行了实验。实验表明,Toolformer 在大多情况下都使用了计算器工具,这明显比 OPT (66B)和 GPT-3 (175B)略胜一筹。
在问答方面,该研究在 Web Questions、Natural Questions 和 TriviaQA 三个问答数据集上进行了实验。Toolformer 明显优于大小相同的基线模型,但逊于 GPT-3 (175B)。
在跨语言任务方面,该研究将 Toolformer 和 MLQA 上所有的基线模型进行了比较,结果如下表 6 所示:
为了研究日历 API 的效用,该研究在 TEMPLAMA 和一个名为 DATESET 的新数据集上对几种模型进行了实验。Toolformer 优于所有基线,但没有使用 TEMPLAMA 日历工具。
除了验证各种下游任务的性能改进之外,该研究还希望确保 Toolformer 的语言建模性能不会因为 API 调用的微调而降低。为此,该研究在两个语言建模数据集上进行实验来评估,模型的困惑度如下表 8 所示。
对于没有任何 API 调用的语言建模来说,添加 API 调用无需花费任何成本。
最后,研究人员分析了随着语言模型规模的扩大,向外部工具寻求帮助的能力对模型性能的影响,分析结果如下图 4 所示
感兴趣的读者可以阅读论文原文,了解更多研究细节。
以上是语言模型自己学会用搜索引擎了?Meta AI提出API调用自监督学习方法Toolformer的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

本文介绍几种检查Debian系统OpenSSL配置的方法,助您快速掌握系统安全状态。一、确认OpenSSL版本首先,验证OpenSSL是否已安装及版本信息。在终端输入以下命令:opensslversion若未安装,系统将提示错误。二、查看配置文件OpenSSL主配置文件通常位于/etc/ssl/openssl.cnf。您可以使用文本编辑器(例如nano)查看:sudonano/etc/ssl/openssl.cnf此文件包含密钥、证书路径及加密算法等重要配置信息。三、利用ope

DebianSniffer是一个网络嗅探工具,用于捕获和分析网络数据包时间戳(Timestamp):显示数据包捕获的时间,通常以秒为单位。源IP地址(SourceIP):发送数据包的设备的网络地址。目标IP地址(DestinationIP):接收数据包的设备的网络地址。源端口(SourcePort):发送数据包的设备使用的端口号。目标端口(Destinatio

提升DebianTomcat日志安全性,需关注以下关键策略:一、权限控制与文件管理:日志文件权限:默认日志文件权限(640)限制了访问,建议修改catalina.sh脚本中的UMASK值(例如,从0027改为0022),或在log4j2配置文件中直接设置filePermissions,以确保合适的读写权限。日志文件位置:Tomcat日志通常位于/opt/tomcat/logs(或类似路径),需定期检查该目录的权限设置。二、日志轮转与格式:日志轮转:配置server.xml

Tomcat日志是诊断内存泄漏问题的关键。通过分析Tomcat日志,您可以深入了解内存使用情况和垃圾回收(GC)行为,从而有效定位和解决内存泄漏。以下是如何利用Tomcat日志排查内存泄漏:1.GC日志分析首先,启用详细的GC日志记录。在Tomcat启动参数中添加以下JVM选项:-XX: PrintGCDetails-XX: PrintGCDateStamps-Xloggc:gc.log这些参数会生成详细的GC日志(gc.log),包含GC类型、回收对象大小和时间等信息。分析gc.log

本文探讨网络分析工具Wireshark及其在Debian系统中的替代方案。需要明确的是,不存在名为“DebianSniffer”的标准网络分析工具。Wireshark是业界领先的网络协议分析器,而Debian系统则提供其他功能类似的工具。功能特性对比Wireshark:这是一款功能强大的网络协议分析器,支持实时网络数据捕获和深入的数据包内容查看,并提供丰富的协议支持、过滤和搜索功能,便于网络问题的诊断。Debian系统中的替代工具:Debian系统包含诸如tcpdump和tshark等网

本文探讨DDoS攻击检测方法,虽然未找到“DebianSniffer”的直接应用案例,但以下方法可用于DDoS攻击检测:有效的DDoS攻击检测技术:基于流量分析的检测:通过监控网络流量的异常模式,例如突发性的流量增长、特定端口的连接数激增等,来识别DDoS攻击。这可以使用多种工具实现,包括但不限于专业的网络监控系统和自定义脚本。例如,Python脚本结合pyshark和colorama库可以实时监控网络流量并发出警报。基于统计分析的检测:通过分析网络流量的统计特征,例如数据

本文将阐述如何通过分析Debian系统下的Apache日志来提升网站性能。一、日志分析基础Apache日志记录了所有HTTP请求的详细信息,包括IP地址、时间戳、请求URL、HTTP方法和响应代码等。在Debian系统中,这些日志通常位于/var/log/apache2/access.log和/var/log/apache2/error.log目录下。理解日志结构是有效分析的第一步。二、日志分析工具您可以使用多种工具分析Apache日志:命令行工具:grep、awk、sed等命令行工具可

本文介绍如何在Debian系统上有效监控Nginx服务器的SSL性能。我们将使用NginxExporter将Nginx状态数据导出到Prometheus,再通过Grafana进行可视化展示。第一步:配置Nginx首先,我们需要在Nginx配置文件中启用stub_status模块来获取Nginx的状态信息。在你的Nginx配置文件(通常位于/etc/nginx/nginx.conf或其包含文件中)中添加以下代码段:location/nginx_status{stub_status
