ART: Automatic multi-step reasoning and tool-use for large language models

TL;DR

ART框架利用冻结大模型自动生成多步推理程序,显著提升跨任务性能。

cs.CL 🔴 高级 2023-03-16 50 次浏览
Bhargavi Paranjape Scott Lundberg Sameer Singh Hannaneh Hajishirzi Luke Zettlemoyer Marco Tulio Ribeiro
多步推理 工具使用 大模型 自动化 迁移学习

核心发现

方法论

ART通过从任务库中检索相关示例,构建结构化程序化推理链,结合外部工具(如搜索、代码执行)实现自动化推理。模型在推理过程中暂停调用工具,整合输出后继续生成,避免手工设计复杂提示。其核心在于利用预训练大模型(如InstructGPT、Codex)自动生成程序,支持多任务迁移和工具扩展,极大降低了任务特异性调优需求。

关键结果

  • 在BigBench和MMLU基准测试中,ART在未见任务上平均提升22%以上的准确率,显著优于传统few-shot提示和自动链式推理(CoT)方法。特别是在算术和算法推理任务中,性能提升超过12个百分点,达到或超越手工设计的链式推理效果。
  • 引入工具使用后,任务表现平均提升12.3个百分点,验证了外部工具对复杂推理的辅助作用。与仅依赖模型内部推理的基线相比,效果提升明显,显示出工具调用的必要性。
  • 通过人类微调和错误修正,性能在部分任务上超越最优手工提示方案,展示了ART的可扩展性和易于改进的特性。

研究意义

该研究突破了大模型在多步推理和工具集成方面的瓶颈,提供了一种无需大量任务特定调优的自动化框架。其跨任务迁移能力和工具扩展性,为AI在复杂推理、科学计算、知识检索等应用场景提供了新路径,有望推动通用人工智能的发展。未来,结合更丰富的工具和人机交互,ART有望实现更高水平的自主推理与学习能力。

技术贡献

提出基于结构化程序的自动推理框架ART,结合任务库检索、多工具调用和程序解析机制,实现模型自动生成多步推理链。引入自定义程序语法支持工具调用,增强模型的可解释性和扩展性。通过无监督学习策略,模型能在无需微调的情况下进行迁移,显著提升多任务性能。该方法在保持模型参数冻结的同时,赋予其复杂推理和工具集成能力,突破了传统微调和提示工程的限制。

新颖性

首次提出利用预训练大模型自动生成程序化推理链,结合外部工具实现多任务迁移。区别于传统链式推理和手工提示,ART实现了跨任务的示范迁移和工具调用的自动化,降低了人工设计成本,增强了模型的适应性和可扩展性。这在多任务、多工具场景中具有开创性意义。

局限性

  • 当前系统依赖于预定义的任务库和工具库,泛化到未涵盖的任务仍存在挑战,尤其在工具缺失或任务复杂度超出示范范围时效果有限。
  • 程序生成的准确性受模型能力影响,错误程序可能导致推理失败,需人工干预或改进错误检测机制。
  • 推理过程中调用外部工具带来潜在的计算延迟和安全风险,实际应用中需考虑效率与安全性平衡。

未来方向

未来将探索更丰富的工具集成,包括知识图谱、物理模拟等,提升推理的深度和广度。同时,结合强化学习和人机交互,优化程序生成的准确性和鲁棒性。还计划扩展到多模态任务,推动模型自主推理与工具使用的智能化发展。

AI 总览摘要

随着大规模预训练模型(如GPT-3、InstructGPT)在自然语言处理中的广泛应用,复杂推理任务的性能仍受限于模型内部能力和提示设计的繁琐性。传统的链式推理(Chain of Thought, CoT)虽能提升推理能力,但多依赖人工手工设计提示,难以扩展到新任务或多工具场景。为解决这一瓶颈,本文提出了ART(Automatic Reasoning and Tool-use)框架,旨在实现模型的自动化多步骤推理和工具调用。

ART通过从任务库中检索相关示例,构建结构化的程序化推理链,支持多任务迁移。模型在推理过程中会暂停调用外部工具(如搜索引擎、代码执行器),将工具输出整合后继续推理。这一机制无需微调,完全由预训练模型自主生成程序,极大降低了任务调优成本。

在大规模基准测试中,ART在未见任务上平均提升22%以上的准确率,特别在算术和算法推理任务中表现优异,提升超过12个百分点。工具调用的引入进一步增强了模型的推理能力,平均提升12.3个百分点。该框架还能通过人类微调和错误修正实现性能超越手工设计的提示方案,显示出极强的扩展性和实用性。

总体而言,ART为大模型推理提供了一种自动化、可扩展的解决方案,推动其在科学计算、知识检索和复杂推理等领域的应用。未来,结合更多工具和人机交互,将使模型具备更强的自主推理和学习能力,开启通用人工智能的新篇章。

深度分析

研究背景

近年来,预训练大模型在自然语言处理中的表现不断突破,尤其在少样本学习和零样本推理方面展现出强大潜力。链式推理(CoT)作为一种引导模型生成中间推理步骤的方法,显著提升了模型在数学、逻辑推理等任务中的表现。然而,手工设计提示和有限的工具调用能力限制了其扩展性和自动化水平。近年来,研究者尝试通过微调、提示工程和工具集成(如Toolformer)改善模型推理能力,但仍面临高成本和任务特异性的问题。本文在此背景下提出ART,旨在实现无需微调的自动化多步推理与工具调用,突破现有瓶颈。

核心问题

当前大模型在多步推理任务中表现有限,尤其在跨任务迁移和复杂推理链生成方面存在瓶颈。手工提示设计繁琐,难以扩展到新任务或多工具场景。微调虽能改善性能,但成本高、缺乏灵活性。如何让模型自主生成推理程序,自动调用外部工具,成为提升模型能力的关键。解决这一问题,不仅能降低人工成本,还能增强模型的适应性和扩展性,推动其在科学计算、知识检索等复杂场景中的应用。

核心创新

本研究的核心创新在于提出基于程序化推理的ART框架,结合任务库和工具库实现自动化多步推理。具体包括:

  • �� 结构化程序语法支持多任务迁移和工具调用,增强可解释性;
  • �� 从任务库中检索示范,构建灵活的推理程序,避免手工提示;
  • �� 在推理过程中暂停调用外部工具(如搜索、代码执行),整合输出,提升推理深度;
  • �� 无需微调,模型自主生成程序,适应多任务场景。这些创新突破了传统提示工程的局限,赋予模型更强的自主推理和工具利用能力。

方法详解

  • �� 任务库构建:收集15个多样任务,定义程序语法,示范多任务推理程序;
  • �� 检索示范:根据任务相似度,从库中选取示范,构建多任务prompt;
  • �� 程序生成:模型在推理时自主写程序,调用工具(搜索、代码)暂停与继续;
  • �� 工具调用:识别工具调用指令,暂停模型生成,调用工具,整合输出;
  • �� 人类反馈:用户可编辑程序或工具库,改进性能;
  • �� 评估:在BigBench、MMLU等基准上测试,比较不同策略和基线,验证效果。

实验设计

采用InstructGPT作为主模型,使用预定义任务库和工具库,设置不同提示策略,评估准确率。对比few-shot、自动CoT、ART(有无工具),在未见任务上进行测试。指标包括准确率提升、任务迁移能力和工具调用效率。还进行人类微调实验,验证可扩展性和性能提升。实验结果显示,ART在大部分任务中优于基线,尤其在算术和算法推理方面表现突出。

结果分析

ART在BigBench和MMLU测试中,平均提升准确率达22%以上,算术任务提升超过12个百分点。工具调用后,性能平均提升12.3个百分点,验证了工具的有效性。与手工提示相比,自动生成的推理链表现相当甚至更优,且能通过人类微调进一步提升。整体结果表明,ART在多任务迁移和复杂推理中具有显著优势,为未来大模型的自主推理提供了新范式。

应用场景

该框架适用于科学计算、知识问答、自动编程等场景,能帮助模型自主生成推理流程,调用搜索引擎、代码执行器等工具,提升复杂任务的解决能力。企业可利用ART实现智能客服、自动诊断等应用,减少人工干预。未来,结合多模态数据和强化学习,ART有望实现更高层次的自主推理与学习。

局限与展望

目前依赖预定义任务和工具库,泛化到未覆盖任务仍有限。程序生成的正确性受模型能力影响,错误程序可能导致推理失败。调用外部工具存在延迟和安全风险。未来需增强程序验证、扩展工具集、提升鲁棒性,以实现更广泛应用。

通俗解读 非专业人士也能看懂

想象你在厨房做饭,所有的步骤都需要按照一定顺序,比如先洗菜、再切菜、然后炒菜。每一步都可以用不同的工具,比如洗菜池、刀、锅。现在,假设你有一个聪明的助手,它可以帮你自动规划这些步骤,还能调用不同的工具,比如帮你查菜谱、计算调料用量。这个助手不需要你手工写每个步骤,而是根据你提供的食谱自动生成详细的操作流程,并在需要时调用工具帮忙。这样一来,做饭变得更快、更智能,也更容易应对不同的菜谱和工具。ART的思想也是类似的,它让大模型像这个聪明的助手一样,自动规划推理步骤,调用各种工具,完成复杂任务。

简单解释 像给14岁少年讲一样

想象你在学校里做科学实验,你需要按照步骤操作,比如先准备材料,然后测量、计算、最后得出结论。现在,如果你有一个超级聪明的朋友,他可以帮你规划每一步,还能帮你查资料、做计算,甚至帮你写代码。你只需要告诉他任务,他就会自动想出详细的步骤,调用不同的工具帮忙,最后帮你完成整个实验。这个朋友不用你教他每个细节,他自己会学会怎么做,还能根据需要改进。ART的想法也是一样,它让大模型像这个聪明的朋友一样,自己规划推理步骤,调用工具,完成复杂的任务。这样,模型就变得更聪明、更自主了!

术语表

Chain of Thought (CoT) (思维链)

一种引导模型逐步推理的方法,通过生成中间步骤提升复杂任务的表现。技术上,模型在提示中逐步展开推理链。

在论文中,CoT用于提升模型在多步推理任务中的准确性,但手工设计提示繁琐,扩展性有限。

程序化推理 (Program-based Reasoning)

将推理过程表示为结构化程序,包含步骤和工具调用,模型自动生成执行流程。技术上,类似编程语言的表达。

ART利用程序化推理,将推理拆解成可调用工具的程序,增强可解释性和迁移能力。

工具调用 (Tool Use)

模型在推理中调用外部工具(如搜索、代码执行)支持计算或信息检索,提升推理能力。

在ART中,工具调用通过暂停模型生成,调用工具后再继续,增强复杂推理表现。

任务库 (Task Library)

存储多任务示范程序和示例,用于检索相关示范指导新任务推理。

ART通过任务库检索示范,构建推理程序,实现跨任务迁移。

工具库 (Tool Library)

存放各种工具(搜索、代码、查词等),供模型调用支持推理。

模型在推理时识别工具调用指令,暂停生成调用工具,整合输出后继续。

开放问题 这项研究留下的未解疑问

  • 1 如何进一步扩展工具库以支持更复杂的推理场景,尤其是在多模态和动态环境中,仍是未解难题。
  • 2 模型自动生成程序的准确性和鲁棒性仍需提升,避免错误程序导致推理失败。
  • 3 在实际应用中,调用外部工具的安全性和效率问题亟待解决,尤其在敏感或实时场景。

应用场景

近期应用

科学计算与教育辅助

利用ART自动生成解题推理程序,帮助学生理解复杂问题,支持自动批改和辅导,提升学习效率。

智能问答与知识检索

结合搜索工具,提升大模型在开放域问答中的准确性,应用于客服、信息检索等场景。

远期愿景

自主科研与自动化推理系统

未来结合多模态和强化学习,打造具备自主推理、工具扩展和学习能力的AI,推动科学研究和工业自动化。

原文摘要

Large language models (LLMs) can perform complex reasoning in few- and zero-shot settings by generating intermediate chain of thought (CoT) reasoning steps. Further, each reasoning step can rely on external tools to support computation beyond the core LLM capabilities (e.g. search/running code). Prior work on CoT prompting and tool use typically requires hand-crafting task-specific demonstrations and carefully scripted interleaving of model generations with tool use. We introduce Automatic Reasoning and Tool-use (ART), a framework that uses frozen LLMs to automatically generate intermediate reasoning steps as a program. Given a new task to solve, ART selects demonstrations of multi-step reasoning and tool use from a task library. At test time, ART seamlessly pauses generation whenever external tools are called, and integrates their output before resuming generation. ART achieves a substantial improvement over few-shot prompting and automatic CoT on unseen tasks in the BigBench and MMLU benchmarks, and matches performance of hand-crafted CoT prompts on a majority of these tasks. ART is also extensible, and makes it easy for humans to improve performance by correcting errors in task-specific programs or incorporating new tools, which we demonstrate by drastically improving performance on select tasks with minimal human intervention.

cs.CL