ToolGen: Unified Tool Retrieval and Calling via Generation
作者: Renxi Wang, Xudong Han, Lei Ji, Shu Wang, Timothy Baldwin, Haonan Li
分类: cs.CL
发布日期: 2024-10-04 (更新: 2025-03-29)
备注: ICLR 2025
💡 一句话要点
ToolGen:通过生成式方法统一工具检索与调用,提升LLM自主任务执行能力。
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 工具调用 生成式模型 自主任务执行 工具检索
📋 核心要点
- 现有方法依赖上下文输入工具描述,受限于上下文长度,且检索效率低,阻碍了LLM自主任务执行。
- ToolGen将每个工具表示为唯一token,直接嵌入LLM参数,实现工具调用与语言生成的无缝融合。
- 实验表明,ToolGen在工具检索和自主任务完成方面表现出色,支持LLM适应不同领域的工具。
📝 摘要(中文)
大型语言模型(LLMs)的发展受到其自主执行任务能力的限制,特别是直接与外部工具交互。传统方法依赖于将工具描述作为上下文输入,这受到上下文长度的限制,并且需要单独的、通常效率低下的检索机制。我们提出了ToolGen,一种范式转变,通过将每个工具表示为一个唯一的token,将工具知识直接集成到LLM的参数中。这使得LLM能够生成工具调用和参数,作为其下一个token预测能力的一部分,从而无缝地将工具调用与语言生成融合。我们的框架允许LLM访问和利用大量工具,而无需额外的检索步骤,从而显著提高性能和可扩展性。超过47,000个工具的实验结果表明,ToolGen不仅在工具检索和自主任务完成方面取得了优异的成果,而且为AI agent的新时代奠定了基础,这些AI agent可以适应不同领域的工具。通过从根本上将工具检索转化为生成过程,ToolGen为更通用、高效和自主的AI系统铺平了道路。ToolGen支持端到端的工具学习,并为与其他先进技术(如思维链和强化学习)的集成开辟了机会,从而扩展了LLM的实际能力。
🔬 方法详解
问题定义:现有的大型语言模型在自主执行任务时,需要与外部工具进行交互。传统方法是将工具的描述信息作为上下文输入到模型中,让模型根据这些描述来调用工具。这种方法的痛点在于:一是上下文长度有限,无法支持大量工具;二是需要额外的检索机制来找到合适的工具描述,效率较低。
核心思路:ToolGen的核心思路是将每个工具都表示为一个唯一的token,并将这些token直接嵌入到LLM的参数中。这样,LLM就可以像生成普通文本一样生成工具调用和参数,从而将工具调用过程与语言生成过程无缝融合。这种方法避免了对工具描述的检索,提高了效率,并且可以支持大量的工具。
技术框架:ToolGen的整体框架可以分为两个主要阶段:1) 工具token嵌入阶段:在这个阶段,为每个工具分配一个唯一的token,并将这些token添加到LLM的词汇表中。然后,使用一个预训练任务来训练LLM,使其能够理解和生成这些工具token。2) 工具调用阶段:在这个阶段,LLM可以像生成普通文本一样生成工具调用和参数。当LLM生成一个工具token时,它就知道需要调用哪个工具,然后它可以继续生成该工具的参数。
关键创新:ToolGen最重要的技术创新点在于将工具检索问题转化为生成问题。传统方法需要先检索相关的工具描述,然后再根据这些描述来调用工具。而ToolGen直接生成工具调用和参数,避免了对工具描述的检索,从而提高了效率和可扩展性。
关键设计:ToolGen的关键设计包括:1) 工具token的表示:每个工具都被表示为一个唯一的token,这个token可以是任意的字符串,只要它在LLM的词汇表中是唯一的即可。2) 预训练任务:使用一个预训练任务来训练LLM,使其能够理解和生成工具token。这个预训练任务可以是任何适合LLM的任务,例如语言建模或机器翻译。3) 损失函数:使用标准的交叉熵损失函数来训练LLM。4) 模型结构:可以使用任何现有的LLM结构,例如Transformer。
🖼️ 关键图片
📊 实验亮点
ToolGen在超过47,000个工具的实验中取得了显著成果,在工具检索和自主任务完成方面均优于现有方法。具体性能数据未知,但论文强调ToolGen为AI agent适应不同领域工具奠定了基础,并为更通用、高效和自主的AI系统铺平了道路。
🎯 应用场景
ToolGen具有广泛的应用前景,可应用于智能助手、自动化流程、机器人控制等领域。它能够使AI系统更高效、自主地利用各种工具,完成复杂任务,例如自动生成报告、控制智能家居设备、进行科学研究等。未来,ToolGen有望与思维链、强化学习等技术结合,进一步提升AI系统的能力。
📄 摘要(原文)
As large language models (LLMs) advance, their inability to autonomously execute tasks by directly interacting with external tools remains a critical limitation. Traditional methods rely on inputting tool descriptions as context, which is constrained by context length and requires separate, often inefficient, retrieval mechanisms. We introduce ToolGen, a paradigm shift that integrates tool knowledge directly into the LLM's parameters by representing each tool as a unique token. This enables the LLM to generate tool calls and arguments as part of its next token prediction capabilities, seamlessly blending tool invocation with language generation. Our framework allows the LLM to access and utilize a vast amount of tools with no additional retrieval step, significantly enhancing both performance and scalability. Experimental results with over 47,000 tools show that ToolGen not only achieves superior results in both tool retrieval and autonomous task completion but also sets the stage for a new era of AI agents that can adapt to tools across diverse domains. By fundamentally transforming tool retrieval into a generative process, ToolGen paves the way for more versatile, efficient, and autonomous AI systems. ToolGen enables end-to-end tool learning and opens opportunities for integration with other advanced techniques such as chain-of-thought and reinforcement learning, thereby expanding the practical capabilities of LLMs.