Schick 等,2023-02,Toolformer: Language Models Can Teach Themselves to Use Tools(Meta AI)。在 GPT-J 上插入计算器、问答、搜索、翻译、日历等 API 调用。
原文:arXiv:2302.04761。
Schick 等,2023-02,Toolformer: Language Models Can Teach Themselves to Use Tools(Meta AI)。在 GPT-J 上插入计算器、问答、搜索、翻译、日历等 API 调用。
原文:arXiv:2302.04761。
Timo Schick, Jane Dwivedi-Yu, Roberto Dessì, Roberta Raileanu, Maria Lomeli, Luke Zettlemoyer, Nicola Cancedda, Thomas Scialom. Toolformer: Language Models Can Teach Themselves to Use Tools。Meta AI。2022-12 工作,arXiv 2023-02。arXiv:2302.04761。
语言模型在需要最新信息、或做精确计算一类任务上仍会失败。本文表明:语言模型可以自己教会自己使用外部工具,只需少量工具使用示范。方法称 Toolformer:以自监督方式决定调用哪些 API、传什么参数、以及如何把结果写回后续 token 预测。
在不牺牲通用语言模型能力的前提下,Toolformer 学会使用多种工具:计算器、问答系统、搜索引擎、翻译系统、日历。作者用 GPT-J(66 亿参数)实现;在若干任务上超过大得多的、不会用工具的模型。
出发点:人写文本时,遇到算不准或不知道的地方会去查工具。作者把这种行为做成生成过程里的内联 API 调用。
流程大意:
调用在文本里表现为特殊标记包起来的字符串,解码时遇到调用就执行工具、把返回值填回去,再继续生成。工具集在文中包括:Calculator、QA 系统、Wikipedia 搜索、机器翻译、日历。
关键主张:不必为每个工具准备大规模人类标注轨迹;自监督过滤就够让模型学会何时调用。
工具集合是作者选定的,不是开放的任意函数。调用格式仍是文本插入,不是后来的 JSON schema。评测是语言任务与知识/计算基准,不是开放目标上的多步 Agent 循环。模型规模远小于 GPT-3 / GPT-4。
2022 年工具使用默认靠提示:示范格式、解析字符串、赌模型吐出可执行调用。脆,也不会从预训练目标里长出来。Toolformer 改问:若一次 API 调用能降低后续 token 损失,模型能不能自己发现该插在哪。
过滤标准不是人喜欢哪条轨迹,是语言模型损失有没有下降。对象仍是生成中间的内联 API,不是「给一个目标转完」。
「工具使用可学」从此有训练侧证据。后来各家把函数调用做进微调与偏好数据,问题陈述同类:何时调用、参数是什么。它没有规定 Chat Completions 的 functions 字段;那是 6 月的接口工程。训练目标 ≠ 开放 schema。
按 AI Agent 定义,Toolformer 不是 Agent:一次生成里插入调用,没有目标驱动的多步循环,也没有宿主侧的执行循环。它补的是决策核心的一块——算不准时把计算交出去。没有这一块,循环里的 Action 只能靠提示词演戏。有了这一块,仍缺宿主、缺停机、缺完成谓词。