paint-brush
语法无错误且可推广的法学硕士 (LLM) 工具使用:摘要和简介经过@textmodels
109 讀數

语法无错误且可推广的法学硕士 (LLM) 工具使用:摘要和简介

太長; 讀書

研究人员提出了 TOOLDEC,一种用于 LLM 的有限状态机引导解码,可减少错误并改善工具使用。
featured image - 语法无错误且可推广的法学硕士 (LLM) 工具使用:摘要和简介
Writings, Papers and Blogs on Text Models HackerNoon profile picture
0-item

作者:

(1)加州大学圣巴巴拉分校的张克迅及其同等贡献;

(2)Northwood High School的Hongqiao Chen及同等贡献;

(3) 李蕾,卡内基梅隆大学;

(4)威廉杨·王(William Yang Wang),加州大学圣巴巴拉分校

链接表

抽象的

大型语言模型 (LLM) 在使用外部工具解决复杂问题方面表现出了良好的能力。然而,现有的方法要么涉及对工具演示进行微调,这不会在没有额外训练的情况下推广到新工具,要么在上下文中提供工具文档,从而限制了工具的数量。这两种方法通常都会生成语法无效的工具调用。在本文中,我们提出了 TOOLDEC,这是一种用于工具增强型 LLM 的有限状态机引导解码算法。TOOLDEC 通过确保有效的工具名称和符合类型的参数来消除任何工具增强型 LLM 的工具相关错误。此外,TOOLDEC 使 LLM 能够仅使用其名称中包含的信息来有效地选择工具,而无需微调或上下文文档。我们在涉及数学函数、知识图谱关系和复杂的现实世界 RESTful API 等工具的各种任务上评估了多种先前方法及其 TOOLDEC 增强版本。我们的实验表明,TOOLDEC 将语法错误减少到零,从而实现了显着更好的性能和高达 2 倍的加速。我们还表明,TOOLDEC 在前所未见的工具上实现了卓越的泛化性能,性能比基线高出 8 倍 [1]

1. 引言

使用外部工具增强大型语言模型 (LLM) (Mialon 等人,2023) 可使它们解决复杂问题。当前的 LLM 可以利用检索器 (Shen 等人,2023;Gupta 和 Kembhavi,2022;Schick 等人,2023)、RESTful API (Qin 等人,2023;Song 等人,2023)、程序解释器 (Chen 等人,2022;Gao 等人,2023) 和各种其他工具。工具增强型 LLM 的性能取决于其做出三个关键决策的能力——何时使用工具、使用哪种工具以及如何调用工具。现有方法通过微调或上下文学习来学习做出这些决策。


但是,这些方法仍然会产生错误的工具调用。例如,上下文学习很容易生成不在工具清单中的不存在的工具名称,因为不存在的工具也可能看起来像下一个标记(Song 等人,2023;Qin 等人,2023)。微调模型虽然通常用正确的名称调用工具,但通常会将无效参数传递给正确的工具函数(Hao 等人,2023),就像上下文学习一样。此外,先前的方法不能很好地推广到看不见的工具。微调方法需要额外的训练数据和进一步的微调才能采用新工具。上下文学习方法需要提示中的工具文档。


为了解决这些问题,我们提出了 TOOLDEC,这是一种由有限状态机 (FSM) 引导的解码算法,以确保 LLM 正确调用工具。我们的核心见解是在 LLM 解码期间明确表示状态。每个状态都与一组与工具名称和工具参数相对应的有效标记相关联。随着解码的进行,TOOLDEC 会从一个状态转换到另一个状态。在每个解码步骤中,TOOLDEC 不会从语言模型的整个词汇表中采样。相反,它从当前状态允许的标记子集中采样。为 TOOLDEC 提供指导的 FSM 是根据工具文档和 API 签名构建的,因此机器可以精确地表示工具调用的语法。通过这种方式,TOOLDEC 能够始终生成


图 1:使用外部工具的 LLM。没有工具的 LLM 无法进行乘法运算,因此它们只会生成可能的下一个标记。工具增强型 LLM 可以访问乘法等外部工具,但它们可能会调用不存在的工具(如乘法)并传递无效参数(如字符串“pi”)。我们提出的 TOOLDEC 始终会生成没有语法错误的工具调用。


语法正确的工具调用。图 1 说明,通过 TOOLDEC 增强的 LLM 能够生成正确的函数调用乘法,并带有精确的参数(“3.14”和“123”),因此,它得到了工具返回的正确结果。附录 A.3 中提供了更多比较 TOOLDEC 和其他工具 LLM 的示例。


此外,TOOLDEC 可以更有效地推广到从未出现过的新工具。与之前需要对新工具进行微调或上下文描述的方法不同,TOOLDEC 可以根据工具的 API 签名(其名称和参数类型)自动构建有限状态机并将其添加到现有的 FSM 中。然后,TOOLDEC 无需微调或上下文演示即可调用新工具。虽然预训练语言模型可以在提示时生成工具名称,但它们通常会产生不在库存中的合理工具名称。TOOLDEC 不会这样做。在图 1 中,产品和乘法听起来都适用于该场景,但只有乘法是给定的工具。由于 TOOLDEC 只调用现有的工具,因此它不会产生合理但不存在的工具的幻觉,并且可以依靠工具名称来找到正确的工具。


本文的贡献可以总结如下:


• 我们提出了一种有限状态解码算法 TOOLDEC,使 LLM 能够正确使用工具。TOOLDEC 具有两个优点:其生成的工具调用保证语法正确,并且能够有效地推广到未知工具。


• 我们在来自不同领域的四个不同数据集上通过实证验证了 TOOLDEC 相比之前的强大基线的卓越性能。我们进行了广泛的实验,结果表明 TOOLDEC 消除了所有语法错误和幻觉工具名称,从而提高了准确性,并将推理时间缩短了 50%。我们的结果还表明,在使用 9 种未知工具进行数学推理时,TOOLDEC 比基线好 8 倍以上,在使用 204 种未知工具进行知识问答时,TOOLDEC 比基线好 7 倍。



[1] 我们在https://github.com/chenhongqiao/tooldec发布了我们的代码和数据。