Meta AI 发布 Toolformer:通过调用 API 提升 NLP 任务性能
Meta AI 研究团队近日宣布了 Toolformer,这是一种能够学习调用 API 来帮助解决自然语言处理(NLP)任务的语言模型。Toolformer 通过自动标注训练数据集来微调模型,并在多项零样本 NLP 任务中表现出色,甚至超越了参数规模更大的 GPT-3 模型。
技术背景与核心创新
- 基础模型:Toolformer 基于一个 6.7B 参数的预训练 GPT-J 大型语言模型。
- 训练方法:模型接收人工编写的 API 调用示例(包括输入和输出),并将这些示例作为提示附加到训练数据样本中。模型通过生成标注样本来指示在何处插入 API 调用以生成结果(例如,调用计算器 API 回答算术问题),然后在这些标注数据集上进行微调。
- 性能优势:实验表明,Toolformer 在多项零样本 NLP 基准测试中优于 GPT-3 等更大规模的模型,同时保留了其核心语言建模能力。
解决 LLM 的局限性
大型语言模型(如 GPT-3)在广泛的 NLP 任务中具有良好的零样本性能,但在某些任务(如算术)上表现不佳,且无法回答模型训练后发生的事件相关的问题。Meta 的解决方案是教会语言模型使用外部工具(如搜索引擎或计算器)来弥补这些不足。
数据集生成与训练过程
- 数据集生成:Toolformer 使用语言模型为自身生成训练数据集。具体方法是从 Common Crawl 数据集中抽取子集,并为每个样本附加提示,要求模型在文本中插入 API 调用及其结果。
- 损失度量:研究人员开发了一种“适应性评分”机制,用于评估 API 调用的效果。如果添加 API 调用结果后导致下一段文本的预测变差,则舍弃该编辑。
工具与实验
Toolformer 被训练使用五种工具:问答 API、维基百科搜索引擎、机器翻译系统、计算器和日历。Meta 进行了多项实验,将 Toolformer 与基线 GPT-J 模型、66B 参数的 OPT 模型以及 175B 参数的 GPT-3 模型进行对比。Toolformer 在几乎所有任务中均表现优异,尽管 GPT-3 在问答任务中表现更好,而基线 GPT-J 在多语言问答中的某些非英语语言上表现更佳。
潜在改进与开源实现
AI 开发者 Jay Hack 在 Twitter 上指出,Toolformer 的训练过程尚未迭代,未来可以通过预训练的 Toolformer 引导生成更复杂的数据集,进一步提升性能。尽管 Meta 尚未发布 Toolformer 的代码,但独立开发者 Phil Wang 和 Enrico Shippole 已根据 Meta 的论文开源了各自的实现版本。
Toolformer 的推出展示了通过结合语言模型与外部工具解决复杂 NLP 任务的潜力,为未来 AI 研究提供了新的方向。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。