LLM-BRAIn: 基于LLM驱动的行为树快速生成方¶
论文介绍了一种名为 LLM-BRAIn 的新型自主机器人控制方法。LLM-BRAIn 是一种基于 Transformer 的大型语言模型(LLM),通过对 Stanford Alpaca 7B 模型进行微调,能够根据操作员的文本描述生成机器人行为树(BT)。
音频概览:
1. 引言与背景 随着高性能大型语言模型(如 Stanford Alpaca 模型)的发布,研究人员在相关技术领域获得了巨大的可能性。将 GPT 类模型应用于人机交互领域,特别是机器人技术,对开发和实施人工智能驱动的机器人系统产生了重大影响。长期以来,人们一直致力于将机器人指令和逻辑形式化,目标是让非技术专业人员能够方便、逻辑清晰地控制和操作机器人。行为树(BT)被认为是指定机器人逻辑的先进方法,它允许从简单的块(节点)组装复杂的机器人行为,并提供块互换性以及清晰易懂的结构,可以存储在 XML 文件中。现代基于 Transformer 的 LLM 非常适合根据指定逻辑创建严格结构化的文本文件,甚至能够生成程序代码。
2. 相关工作 Transformer 模型自 Vaswani 等人 的开创性论文《Attention is all you need》提出以来,在语言建模、翻译和语音识别等多个领域获得了显著关注。其中,OpenAI 的 GPT-2 和 GPT-3 等大型语言模型引起了极大关注。ChatGPT 的引入进一步提高了 LLM 的普及性,使其更容易被大众接触。除了 OpenAI 的产品,Google T5 和 Meta 的 LLaMa 等 GPT 类 LLM 也为研究人员提供了更多选择。
许多实验室和行业都在探索使用 GPT 或其替代品开发机器人行为的方法。例如: * PaLM-E (Driess et al.):一种具身多模态语言模型,使机器人能够遵循指令。 * RT-1 (Brohan et al.):一种用于大规模实际控制的机器人 Transformer。 * 波士顿动力:已成功训练其机器人狗 Spot 使用 GPT 报告工作成果。 这些模型通常需要大量的计算资源和训练数据。
Stanford Alpaca 模型 的出现对全球 LLM 研究人员来说是一个转折点,它不仅性能接近 GPT-3,而且可以在普通个人电脑上运行。其架构允许进行微调以执行指令遵循任务。
曹和李 提出了使用 GPT 生成机器人行为的方法,但他们的工作并非直接用 LLM 生成完整的 BT,而是使用 OpenAI 产品填充固定结构的 BT,仅限于使用序列和动作节点,限制了 BT 的模块化优势。LLM-BRAIn 则旨在通过专门微调 LLM 来生成各种 BT,而没有这些限制。
3. 系统概述 LLM-BRAIn 系统架构包括: * 硬件:需包含一个板载微型计算机,能够运行重训练的 LLM-BRAIn 模型(70亿参数),以及机器人执行任务所需的所有传感器、执行器和机械部件。 * 软件:包含运行 LLM-BRAIn 模型的应用程序、一个将模型输出转换为机器人可执行文件(基于 ROS2)的 BT 解释器,以及一个列出机器人所有可执行动作的节点库。
操作员可以用自然语言向机器人发出指令,该指令被格式化为对模型的请求,并附带可用节点列表。模型处理该查询后,输出转换特殊字符后的 XML 格式行为树。
4. 利用 LLM 生成的 BT 定义机器人行为
4.1 行为树在机器人中的优势 行为树(BT)是一种分层结构,用于在抽象层表示机器人任务,是状态机范式的替代方案。BT 是一个有向根树,叶节点负责任务执行(如动作或条件),分支节点定义控制流逻辑(如序列或回退节点)。BT 的优势在于: * 模块化结构:允许添加、删除和替换节点,无需重构整个结构。 * 直观高效:被广泛应用于机器人领域,提供结构化方式来表示和控制自主代理的行为。 * 成功应用:已在 DARPA 机器人挑战赛、RoboCup 和 Eurobot 等多个机器人竞赛和挑战中成功应用。
4.2 行为树作为 LLM 输出的优势 行为树作为 LLM 的输出具有以下引人注目的特点: * 分层和模块化结构:适合 Transformer 模型,允许节点替换和轻松添加或修改现有节点。 * 子树复用:可以将生成的 BT 作为子树添加到节点库中,用于构建更复杂的行为。模型可以递归生成子树,首先构建抽象层面的 BT,然后下降到较低抽象层面生成缺失节点。这种方法有助于创建大型复杂行为结构,同时避免了 LLM 输出的 token 长度限制,对模型性能产生积极影响。
5. 数据集收集
5.1 数据集表示格式
用于训练 LLM 模型生成 BT 的数据集样本分为三部分:instruction:、input: 和 output:。在本研究中,input: 元素未被使用。每个样本包含构建机器人行为的指令和作为输出的逻辑和结构正确行为树。指令包括通用部分(“为机器人编写一个行为树,使其仅使用可用节点执行命令”)和所需机器人行为的描述。指令的最后一部分包含机器人可以执行的动作(Action)和条件(Condition)节点的列表,这对于确保生成的 BT 可以在目标机器人上执行至关重要。节点库有时也包含子树(SubTree)节点,这些节点本身是编译好的 BT,允许分阶段生成机器人行为的整体逻辑。这种方法避免了 LLM 一次性生成大型结构所需的大量内存。
5.2 使用 Text-Davinci-003 生成数据集
尽管 OpenAI 的产品并非专为生成 BT 而设计,但 text-davinci-003 模型能够生成不同结构的机器人随机行为 BT(XML 格式)。数据集生成过程包括:
1. 第一次请求:要求模型生成一个 BT,并进行澄清(例如,适用于移动机器人,具有和平应用,包含机器人移动和物体操作元素)。
2. 第二次请求:要求 text-davinci-003 创建构成生成 BT 的节点库,并提供所需的响应结构示例。
3. 第三次请求:要求根据生成的 BT 提供机器人行为的口头描述。
通过对这些请求进行调试,并使用 OpenAI 的 API 将生成响应插入样本中,最终创建了 1000、5000 和 8500 个样本的数据集。数据集的质量标准包括样本多样性、BT 结构的正确性以及 BT 与指定任务的一致性。
6. LLM-BRAIn 7B 模型微调
6.1 LLM-BRAIn 的获取方法 LLM-BRAIn 模型是通过对 Stanford Alpaca 7B 模型进行进一步微调获得的。Stanford Alpaca 7B 模型本身是基于 LLaMA 7B 模型,并使用 52,000 个指令遵循演示进行微调的。微调目标是确保模型能够生成满足所有指定条件的 BT,并研究数据集大小对生成 BT 质量的影响。研究采用了 参数高效微调 (PEFT) 方法,特别是 低秩适应 (LoRA) 方法,该方法仅调整 Transformer 层中的少量额外参数(低秩矩阵),从而显著降低了计算和存储成本。
6.2 微调过程
微调在 NVIDIA Tesla A100 显卡(80GB 显存)上进行,使用 128 的批量大小和 4 的微批量大小。仅使用查询中的 instruction: 部分对训练速度产生了积极影响。最终数据集的训练 epoch 数量为 3。
* 1000 样本数据集微调后:模型能够重现单个节点的格式,但无法构建复杂的 BT 逻辑。
* 5500 样本数据集微调后:模型开始生成与工业界使用的 BT 接近的行为树,但仍存在逻辑错误(如先进入门再开门)和非平凡的格式错误(如在 BT 根部放置多个节点)。
* 8500 样本数据集微调后:通过专注于解决先前模型遇到的任务,逻辑和格式错误数量被最小化。在 NVIDIA Tesla A100 显卡上训练最终版本数据集耗时 8 小时。
7. 人类识别模型生成行为树能力的实验 为了评估模型的性能,进行了一项人类区分 LLM-BRAIn 生成的 BT 与人类专家手动创建的 BT 的能力评估。 * 参与者:招募了 15 名机器人学专业的本科生和研究生,其中 10 名是经常使用 BT 的 Eurobot 团队成员,另 5 名没有 BT 经验但接受了原理和构造技术的明确指导。 * 程序:准备了 10 个由 LLM-BRAIn 生成的 BT 和 10 个由人类专家手动创建的 BT。参与者被提供机器人行为的描述以及 BT 对(一个 LLM-BRAIn 生成,一个人类创建),并被要求判断哪个是 LLM-BRAIn 创建的,哪个是人类创建的。 * 实验结果: * 在 10 个问题中,平均答对率为 4.53,表明参与者区分两种 BT 的能力接近随机猜测。 * 单向方差分析(ANOVA)显示,用户对不同问题的感知没有统计学上的显著差异(F = 0.75, p = 0.66 > 0.05)。 * t 检验(显著水平 5%)评估了 null 假设(即它们无法区分)。根据结果(平均分 = 0.453,t 统计量 = -1.200,临界值 = 2.145,p > 0.05),没有理由拒绝 null 假设,表明平均分与 0.5 没有显著差异。 * 用户研究表明,在实验的背景下,LLM-BRAIn 生成的 BT 与人类创建的 BT 之间没有主观上的实质性差异,模型生成机器人行为的结果接近人类创建的 BT。
8. 局限性 LLM-BRAIn 目前存在以下局限性: * 子树生成:模型目前的训练不包括子树的生成,因此生成的 BT 大小受限于执行 LLM 的设备的内存能力(需要存储所有 token 之间的注意力权重)。未来计划通过整合递归生成子树的能力来缓解这一限制。 * 设备特定训练:尽管 LLM-BRAIn 被定位为综合机器人控制系统,但将其应用于特定设备可能需要额外的模型训练,其中包含针对这些设备定制的 BT 和控制逻辑示例(例如,控制无人机需要包含飞行逻辑示例的 BT)。 * 节点库:系统依赖于一个节点库,其中包含机器人所有可执行的动作和可评估的条件。将 LLM-BRAIn 安装到特定机器人或系统上时,需要单独构建此库。虽然这限制了机器人能执行的动作范围,但它也使行为更可预测,从而更安全。如果节点库中的所有节点都以安全为主要考虑进行设计,则机器人的行为也将优先考虑安全,最大限度地减少潜在的负面影响。
9. 结论与未来工作 该论文提出了一种新的自主机器人控制方法 LLM-BRAIn,能够根据操作员的命令生成机器人行为树。LLM-BRAIn 的突出之处在于它能准确生成复杂的机器人行为,同时保持小巧的尺寸,适合安装在机器人板载微型计算机上。用户研究结果显示,LLM-BRAIn 生成的行为树与人类生成的行为树在主观上没有显著差异,参与者仅在 45.3% 的情况下能够区分它们。
未来的工作计划包括: * 通过启用子树的递归生成来增强模型,以扩展节点库。 * 添加功能,允许操作员根据需要改变机器人行为并请求相关注释。 * 将 LLM-BRAIn 集成到移动机器人、机器人机械臂系统和无人机群的控制系统中。 *