40多位学者联合发布基础模型工具学习综述,开源BMTools平台
OpenBMB开源社区机器之心 2023-04-26 20:46 发表于北京
机器之心专栏
机器之心编辑部
大模型工具学习系统性综述 + 开源工具平台,清华、人大、北邮、UIUC、NYU、CMU 等联合发布。
近期,来自清华大学、中国人民大学、北京邮电大学、UIUC、NYU、CMU 等高校的研究人员联合知乎、面壁智能公司探索了基础模型调用外部工具的课题,联合发表了一篇 74 页的基础模型工具学习综述论文,并发布了开源工具学习平台。该团队提出了基础模型工具学习的概念,系统性地整理和阐述了其技术框架,同时展示了未来可能面临的机遇和挑战。这项研究对于了解基础模型工具学习的最新进展及其未来发展趋势具有重要价值。
- 论文链接:https://arxiv.org/abs/2304.08354
- BMTools 工具包:https://github.com/OpenBMB/BMTools
- 工具学习论文列表:https://github.com/thunlp/ToolLearningPapers
研究背景
近年来,基础模型(Foundation Model)在自然语言处理、计算机视觉、生物学等诸多领域展现出惊人的应用价值,持续刷新各类下游任务的效果上限。基础模型通过预训练过程中积累的丰富世界知识,在复杂交互环境中展现出了非凡的理解、推理与决策能力,并能与现实世界进行紧密交互。尤其是最近诞生的 ChatGPT 和 GPT-4,更是彰显了基础模型在理解人类意图、自动化复杂过程、解读多模态信息等方面的巨大潜力。
尽管基础模型在很多方面取得了显著的成果,但在特定领域的任务上,仍然存在一定的局限性。这些任务往往需要专业化的工具或领域知识才能有效解决。以金融领域为例,基础模型虽然可以在自然语言处理和风险评估上发挥作用,但在证券交易和金融市场预测等领域,却需要更为专业的工具和领域知识来应对特定问题。整合专用工具与基础模型可以充分发挥各自独特优势。专用工具可解决模型时效性不足的问题、增强专业知识、提高可解释性。而基础模型在理解复杂数据和场景方面具备类人的推理规划能力,进而与现实世界交互。
研究团队认为,基础模型需要具备调用各种专业化工具的能力,这样才能为现实世界任务提供更为全面的支持。将二者结合能够充分发挥各自的优势,将复杂工具的使用平民化,降低新用户门槛,充分释放创造力。那么,如何将基础模型与专业化工具相结合,共同打造更强大、高效的任务解决方案呢?
工具学习范式旨在结合专有工具与基础模型的优势
团队总结并提出了新的范式:基础模型工具学习。这一范式的核心在于将专业工具与基础模型的优势相融合,以在问题解决方面达到更高的准确性、效率和自主性。近期的研究成果揭示,基础模型在运用工具方面表现出了显著的灵活性和精细操作能力,这为该范式的发展奠定了坚实基础。
工具增强学习通过工具的执行结果来增强基础模型、辅助内容生成;工具导向学习专注于利用模型来管理工具并代替人类进行序列决策
工具学习是指让模型能够理解和使用各种工具来完成任务的学习过程。从学习目标的角度来看,现有工具学习主要可以分为两类:
- 工具增强学习(Tool-augmented Learning),利用各种工具的执行结果,增强基础模型性能。在这一范式中,工具执行结果被视为辅助生成高质量输出的外部资源。
- 工具导向学习(Tool-oriented Learning),将学习过程重点从增强模型性能转向工具执行本身。这一类研究关注开发能够代替人类控制工具并进行序列决策的模型。
上述两类方法的核心差异在于学习过程的侧重点,即通过工具执行来增强基础模型(工具为 AI 服务)或者通过基础模型优化工具的使用(AI 为工具服务)。在这篇综述中,团队提出了统一这两类方法的工具学习框架,对两者进行了统一。
工具学习框架
工具学习整体框架,呈现了人类用户和四个核心成分:工具集、控制器、感知器、环境。
通用的工具学习框架包含人类用户和四个关键组成部分:工具集、控制器、感知器和环境:
- 工具集(Tool Set):可供模型使用的各种工具。从交互接口的视角可以分为三类:基于物理交互的工具、基于 GUI 交互的工具、基于程序交互的工具。
- 控制器(Controller):通常使用基础模型建模,负责接收用户的指令,并根据这些指令制定可执行的计划并调用工具执行。
- 感知器(Perceiver):负责接收来自环境和用户的反馈信息,并将其汇总给控制器。
- 环境(Environment):模型所处的场景,包括物理环境和虚拟环境等。
从用户界面的角度对工具进行分类:(a)基于物理交互的工具,(b)基于图形用户界面交互的工具,和(c)基于程序交互的工具。
在该框架中,控制器负责理解用户指令,将复杂任务分解为若干子任务,并通过推理动态调整计划,最终调用合适的工具完成每个子任务。为了有效地利用工具,必须考虑其物理特性、与控制器的关系以及周围环境。因此,工具学习框架是通过强调所有这些组件之间的相互作用来设计的。
整个过程从用户指令开始,接收到指令后,由基础模型支持的控制器被激活来响应用户,并为该指令制定计划并执行工具与环境进行交互;工具执行可能导致环境发生变化,感知器捕捉这些变化并将信息反馈给控制器,进行新一轮的工具执行;人类也可以提供反馈来纠正或协助控制器的决策。经过多轮工具执行后,实现用户需求;最后,控制器可以将工具返回的信息总结给用户。
形式化定义:给定工具集合,在时间步 t,环境提供工具执行的反馈。感知器接收用户反馈和环境反馈,并生成总结反馈。控制器生成计划,选择并执行来自的合适工具。这个过程可以建模为以下概率分布:
其中表示控制器的参数,表示用户查询或指令,代表工具的具体执行计划,表示历史的反馈和计划。我们可以进一步将上式分解:
该分解揭示了制定计划可以分为两个子任务:基于用户意图选择适当的工具和使用所选工具执行的具体操作。例如,对于 “我想预订下周去北京的飞机” 的指令,控制器首先推断出用户的目标是预订一次去北京的航班。接着,模型选择航空公司预订系统作为工具。最后,它将时间和目的地作为初步计划输入以完成第二个子任务。良好的工具学习框架必须具备纠错的能力:例如如果下周没有飞往北京的航班,控制器可以在接受到该反馈后更新计划。
关键研究问题
研究团队指出了工具学习领域的一系列关键研究问题:
意图理解
控制器需要理解用户所给出的自然语言指令,识别其对应的任务目标。意图理解在现实工具学习应用场景中仍存在着诸多挑战:(1)指令模糊问题:用户给出的指令很有可能是不精确甚至多义的。(2)指令多样问题:用户给出的指令天然具有个性化和多样性。
工具理解
控制器使用工具的前提是理解工具的功能与使用方式。人类在学习使用工具时通常会有两种途径,一是从工具的说明书或是教程中学习;二是通过观察其它人使用工具的过程来学习。类似的,现有工具学习工作通常采用两种提示学习技术实现工具理解:零样本提示学习和少样本提示学习。但是提示学习的有效性很大程度上取决于模型能力,而且会受到输入上下文长度的限制。
零样本提示学习描述工具的功能、输入输出格式等,少样本提示学习则通过具体的使用案例来提示模型如何使用对应工具。
规划与推理
对于复杂任务,控制器需要具备一定的规划和推理能力,以便将任务拆分成若干子任务。这一过程中的推理能力可以分为两类:内省推理(Introspective Reasoning),是指控制器在不涉及与环境交互的情况下,仅根据指令对任务进行推理和规划,无需中间执行结果。这种推理方式侧重于分析任务的本质,通过对指令的理解来生成相应的规划;与之相反,外省推理(Extrospective Reasoning),涉及控制器与环境的交互。在这种情况下,控制器会根据先前步骤的执行结果逐步推理并生成规划。这种方式强调了模型的实时调整和适应能力,使得控制器能够在完成任务过程中不断优化规划策略。
工具学习内省推理和外省推理
在完成对复杂任务进行分解之外,控制器还需要利用不同工具完成各个子任务,在该过程中存在一些挑战需要进一步研究。
- 工具间的协同配合:为了完成复杂任务,模型不仅需要理解各个工具的功能,还应该理解它们之间的相互作用和依赖关系。这有助于控制器更有效地使用工具,确保任务的顺利完成。
- 并行执行:对于彼此不存在依赖关系的子任务,模型需要具有并行执行的能力以提高执行效率。这将有助于在有限的时间内完成更多任务,提高整体性能。
- 多智能体协作:复杂任务通常需要多个智能体彼此协作,在这种情况下,每个智能体都具有其独特的能力和专业知识,彼此协作可以实现更高效和有效的问题解决。因此,探索多智能体协作机制对于提升控制器在复杂任务中的表现具有重要意义。