在人类的进化史中,制作和使用工具是关键的转折点。如今,在 Google Deepmind 等最新的研究中,大语言模型也具备了相似的能力,进化成了工具制作者。
我们知道,大语言模型(LLM)在广泛的 NLP 任务中已经表现出卓越的能力,甚至展现出能够实现通用人工智能某些方面的良好迹象。此外,与人类的智能进化类似,LLM 在最近的研究中被揭示出使用外部工具从而提升解决问题能力及效率的潜力。
需要注意的是,这些工具使用方法的适用性很大程度程度上取决于是否有合适的工具。从人类进化的里程碑可以发现,人类进化的关键转折点是人类有能力制造工具来解决出现的困难。
受到制造工具对人类重要性的启发,在本文中,Google Deepmind、普林斯顿和斯坦福大学的研究者将这种「进化」的概念应用于 LLM 领域,进行了初步探索。他们提出了一个闭环框架,在这个框架中 LLM 作为工具制作者(LLMs As Tool Makers ,LATM),使其能够生成自己的可重新使用的工具来处理新任务。
论文地址:arxiv.org/pdf/2305.17…
该方法包括两个关键阶段:
-
工具制作:LLM 作为工具制作者,专门为给定的任务设计工具(作为 Python 函数实现);
-
工具使用:另一个 LLM 作为工具使用者,它可以与工具制作者相同,应用工具来处理新的请求。
两阶段设计允许 LATM 在每个阶段将作业分配给最合适的 LLM。一方面,需要高度能力的工具制造过程可以分配给一个功能强大且资源密集型的模型 (例如 GPT-4)。另一方面,相对简单的使用工具过程,可以分配给轻量、经济高效的模型 (例如 GPT-3.5 Turbo)。这种方法不仅增强了 LLM 解决问题的能力,并能够显著降低处理一系列任务的平均计算成本。
LATM 的闭环框架。
由于工具制作过程只需要对给定的功能执行一次,因此生成的工具可以在不同的任务实例中反复使用。这种方法为处理复杂任务开拓了可扩展、成本高效的解决方案。例如,假定一个任务,用户要求 LLM 安排一个适合每个人的会议(例如在电子邮件对话中)。涉及复杂算术推理的任务对于像 GPT-3.5 Turbo 这样的轻量级模型来说是艰巨的挑战。相比之下,更强大的模型(例如 GPT-4)虽然推理成本要高得多,但是能够找到正确的解决方案。
LATM 能够克服这种困难,是因为它将强大但昂贵的模型当作工具制作者,并将工具传递给工具使用者 —— 经济型模型进行使用。工具制作完成后,轻量级工具使用者可以用它来高效、高性能地解决任务。
本文的实验能够验证这种方法在复杂的推理任务上(包括几个具有挑战性的 Big-Bench 任务)的有效性。结果表明,LATM 可以达到与资源密集型模型相当的性能,同时具有更高的成本效益。这种新颖的 LLM 方法,模仿了人类在创建和使用工具方面的进化飞跃,为开辟使用 LLM 生成的工具的社区提供了无限可能。
方法概览:LLM as Tool Maker (LATM)
制作新工具并重复使用
在 LATM 范式中,主要过程可以分为两个阶段:工具制作和工具使用。每个阶段都利用不同类型的大语言模型(LLM)来平衡性能和成本效率。
对于工具制作(Tool Making) ,该阶段采用强大但成本更高昂的模型(例如 GPT-4)作为工具制作者。工具制作者通过特定任务的一些演示来创建通用和可复用的工具(作为 Python 函数实现)。该阶段又可以进一步分为以下三个子阶段:
首先是工具提出(Tool Proposing) 。在这一阶段,工具制作者尝试生成一个 Python 函数,用以解决给定任务的演示。该过程遵循「实例编程」(PbE)范式,其中提供了几个具体的演示,并且需要模型编写产生演示行为的程序。在实验中,研究者在该阶段使用了 3 个演示。如果提出的工具无法执行或者遇到错误,工具制作者会将错误信息附加到历史记录中并进行另一次尝试。
其次是工具验证(Tool Verification) 。在这一阶段,工具制作者使用验证样本生成单元测试,然后在提出的工具中执行这些测试。研究者在实验中使用了 3 个验证样本。如果工具未能通过任何这些测试,工具制作者会在其历史记录中记录下错误,并尝试在单元测试中纠正问题(此过程只会纠正单元测试部分的函数调用,而不会纠正功能)。LLM 的自调试能力已在最近的研究中得到有效证明,然而在 LATM pipeline 中,验证阶段的用途稍有不同。该阶段有两个关键作用:一是提供示例来演示如何将自然语言问题转换为函数调用;二是验证工具的可靠性,使整个过程充分自动化。
最后是工具封装(Tool Wrapping) 。如果执行或验证失败超过了预设阈值,则工具封装阶段被视为失败。相反,工具制作者准备好为工具使用者提供封装后的工具。该步骤涉及封装函数代码,并演示如何将一个任务转换为函数调用。这些演示从工具验证步骤中提取,从而将问题转换为单元测试。随后最终产品可供工具使用者使用。
完成了工具制作,接下来是工具使用(Tool Using) 了。该阶段涉及一个轻量级且具有成本效益的模型(例如 GPT-3.5 Turbo),用作工具使用者。工具使用者的角色是利用验证后的工具来解决任务的不同实例。该阶段的 prompt 是封装工具,它包含了解决任务的函数和如何将任务查询转换为函数调用的演示。通过演示,工具使用者能够以一种上下文学习的方式来生成需要的函数调用,然后执行函数调用以解决任务。或者可以应用后处理来转换输出以匹配任务所需的格式,例如多项选择题的选项。
总的来说,工具制作阶段包括工具提出、验证和封装,每类任务只需执行一次,然后可以将生成的工具重复用于该任务的所有实例。与单独使用强大的模型相比,这使得 LATM 的效率和成本效益显著增加。此外,Python 函数时一种更通用的思维链,增强了整体效用和灵活性,因此可用于解决涉及算法推理能力的问题。
LATM 的 pipeline。
下图 3 展示了方法的具体示例,说明工具制作者如何通过生成工具(Python 函数)来解决 BigBench 的逻辑推导任务,以及工具使用者如何使用工具。
使用 Dispatcher 处理流数据
在真实世界场景中,任务实例通常按顺序出现。为了适应这种数据流,研究者引入了第三个 LLM 即 dispatcher,它确定是让工具使用者还是工具制作者参与每个传入的任务。dispatcher 模块与现有工作中的工具选择功能有相似之处,然后在识别现有工具无法解决的新任务以及让工具制作者为这些任务生成新工具方面具有独到的能力。
具体而言,dispatcher 保留了工具制作者产生的现有工具的记录。当接收到新的任务实例时,dispatcher 首先确定是否有适合手头任务的工具。如果有合适的工具,则将实例确定为新任务,并利用强大的模型解决该实例,甚至可以调用人工标注器。随后缓存新任务的实例,直到缓存实例足够工具制作者制作新工具。具体的工作流程如下图 4 所示。
实验结果
本文在来自不同领域的 6 个数据集上评估了所提出的方法,包括 Logical Deduction、Tracking Shuffled Objects、Dyck Language、Word Sorting、 Chinese Remainder Theorem 和 Scheduling Meeting。
在工具制作阶段,研究者将温度参数设置为 0.3,以在生成过程中引入随机性,并在必要时允许重试。在这个阶段,实验使用了带有 ChatCompletion API 的 GPT-4 和 GPT-3.5 Turbo 模型进行,并不断将响应附加进聊天记录当中,来创造交互体验。
在工具使用阶段,LLM API 调用仅进行一次,并使用标准完成 API 对 gpt -3 型模型进行消融研究。当使用工具时,温度参数始终为设置为 0.0。在工具提出和工具验证阶段的最大重试次数设置为 3。
工具制作的有效性
据实验观察,GPT-4 作为工具制作者时,常能设计出合适的算法来解决任务。例如下表 1 中,工具制作者搜索所有排列,并选择满足给定约束的正确排列来创建代码,解决逻辑演绎任务。在实验中,工具验证阶段主要用于演示如何将自然语言问题转换为函数调用。在 60 次试验中,只观察到 2 例工具制作者可以在错误消息的指导下纠正其错误。
LATM 提升轻量级 LLM 的性能
下表 2 比较了思维链提示与 LATM 的性能。实验使用 GPT-4 作为工具制作者为这六项任务生成工具,并评估 GPT-3.5 Turbo 和 GPT-4 作为工具使用者的性能。结果表明,在该工具的帮助下,像 GPT-3.5 Turbo 这样的轻量级模型可以达到与 GPT-4 相当的性能,显著优于 CoT 提示。此外与使用 GPT-4 相比,使用 GPT-3.5 Turbo 的平均成本要低得多。
这突出了 LATM 在增强轻量级模型的性能方面的有效性。因此,使用 LATM 相较于安规的模型来说,能够降低成本。
将 LATM 扩展为具有混合任务的流设置
将 LATM 扩展为流设置后,流设置中不同任务的实例可以实时到达。在这种情况下,需要另一个模型调度程序,来确定实例所属的任务。实验使用 GPT-3.5 Turbo 作为调度器,并评估其能力:
-
识别现有工具来解决传入实例;
-
为未知任务的实例请求工具制作。
结果表明,调度程序可以有效地识别现有的工具,并为未知任务请求工具制作,但它不会大幅降低性能。这表明 LATM 可以平滑地扩展到具有混合任务的流设置。
消融实验
首先是工具制作语言模型所需的能力。研究者调研了工具制作阶段所用语言模型的能力要求。一般来说,更强大且成本更高昂的模型越能达到目的,这是因为该阶段中每个任务只执行一次,高准确度对于有效地将工具传递给更小的模型至关重要。
其次是工具使用语言模型所需的能力。研究者调研了工具使用模型的能力要求,具体结果如下表 4 所示,GPT-3.5 Turbo 在所有测试的模型中实现了最佳的性能与成本平衡。
最后是思维链(CoT)作为工具没有帮助。除了 LATM 之外,研究者还调研了是否可以通过重用更大模型和更小模型(类似于 LATM pipeline)的思维链来提高性能。具体结果如下表 5 所示,使用大模型的 CoT 与人类编写的 CoT 具有相似甚至更差的性能,这要比 LATM 差得多。