Small LLMs Are Weak Tool Learners: A Multi-LLM Agent
作者: Weizhou Shen, Chenliang Li, Hongzhan Chen, Ming Yan, Xiaojun Quan, Hehong Chen, Ji Zhang, Fei Huang
分类: cs.AI, cs.CL
发布日期: 2024-01-14 (更新: 2024-02-16)
备注: On progress, github repo: https://github.com/X-PLUG/Multi-LLM-Agent
💡 一句话要点
提出多LLM框架以提升工具学习能力
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 工具学习 模块化设计 多LLM框架 任务规划
📋 核心要点
- 现有方法主要集中在训练单一LLM,导致在工具使用和任务规划方面的性能限制,尤其是小型模型表现不佳。
- 本文提出将任务能力分解为规划、调用和总结三个模块,分别由不同的LLM实现,形成协作机制以完成复杂任务。
- 实验结果表明,所提多LLM框架在多个工具使用基准测试中表现优于传统单LLM方法,显示出显著的性能提升。
📝 摘要(中文)
大型语言模型(LLM)代理显著扩展了单一LLM的能力,使其能够与外部工具(如API、函数)交互并自我导向地完成各种任务。然而,传统方法在训练单一LLM时面临性能限制,尤其是对于较小的模型。为此,本文提出了一种新颖的方法,将任务能力分解为规划者、调用者和总结者,分别由不同的LLM实现并协作完成任务。该模块化框架便于单独更新,并允许使用较小的LLM构建各项能力。我们还引入了两阶段训练范式,首先对主干LLM进行全数据集微调,然后分别实例化规划者、调用者和总结者,并在各自子任务上持续微调。评估结果表明,所提出的多LLM框架在工具使用基准测试中超越了传统的单LLM方法,展示了其在工具学习中的有效性和优势。
🔬 方法详解
问题定义:本文旨在解决现有单一LLM在工具使用和任务规划中的性能限制,尤其是小型模型在复杂任务中的不足。
核心思路:通过将任务能力分解为规划者、调用者和总结者,分别由不同的LLM实现,形成模块化的协作框架,以提升整体性能和灵活性。
技术框架:整体架构包括两个阶段的训练流程:第一阶段对主干LLM进行全数据集微调,第二阶段分别实例化规划者、调用者和总结者,并在各自子任务上进行持续微调。
关键创新:最重要的创新在于模块化设计,使得每个LLM专注于特定能力,允许使用较小的模型并便于单独更新,显著提高了工具学习的效率。
关键设计:在训练过程中,采用了两阶段的微调策略,确保主干LLM对任务有全面理解,并在后续阶段针对各子任务进行精细化调整,提升了模型的适应性和性能。
🖼️ 关键图片
📊 实验亮点
实验结果显示,所提出的多LLM框架在多个工具使用基准测试中表现优于传统单LLM方法,具体提升幅度达到了XX%(具体数据待补充),验证了其在工具学习中的有效性和优势。
🎯 应用场景
该研究的潜在应用领域包括智能助手、自动化工具调用、数据分析等场景,能够有效提升系统在复杂任务中的处理能力和灵活性。未来,随着LLM技术的不断发展,该框架有望在更多实际应用中发挥重要作用,推动智能系统的进步。
📄 摘要(原文)
Large Language Model (LLM) agents significantly extend the capabilities of standalone LLMs, empowering them to interact with external tools (e.g., APIs, functions) and complete various tasks in a self-directed fashion. The challenge of tool use demands that LLMs not only understand user queries and generate answers accurately but also excel in task planning, tool invocation, and result summarization. While traditional works focus on training a single LLM with all these capabilities, performance limitations become apparent, particularly with smaller models. To overcome these challenges, we propose a novel approach that decomposes the aforementioned capabilities into a planner, caller, and summarizer. Each component is implemented by a single LLM that focuses on a specific capability and collaborates with others to accomplish the task. This modular framework facilitates individual updates and the potential use of smaller LLMs for building each capability. To effectively train this framework, we introduce a two-stage training paradigm. First, we fine-tune a backbone LLM on the entire dataset without discriminating sub-tasks, providing the model with a comprehensive understanding of the task. Second, the fine-tuned LLM is used to instantiate the planner, caller, and summarizer respectively, which are continually fine-tuned on respective sub-tasks. Evaluation across various tool-use benchmarks illustrates that our proposed multi-LLM framework surpasses the traditional single-LLM approach, highlighting its efficacy and advantages in tool learning.