25年5月来自PI的论文“Knowledge Insulating Vision-Language-Action Models: Train Fast, Run Fast, Generalize Better”。
视觉-语言-动作 (VLA) 模型通过将端到端学习与来自网络规模视觉-语言模型 (VLM) 训练的语义知识迁移相结合,为机器人等物理系统训练控制策略提供了一种强大的方法。然而,实时控制的约束通常与 VLM 的设计相冲突:最强大的 VLM 拥有数百亿甚至数千亿个参数,这给实时推理带来障碍,并且 VLM 操作的是离散tokens,而不是控制机器人所需的连续值输出。为了应对这一挑战,近期的 VLA 模型使用了专门的模块来实现高效的连续控制,例如动作专家或连续输出头,这通常需要在预训练的 VLM 主干模型中添加新的未训练参数。虽然这些模块提升了实时性和控制能力,但它们是否会保留或降低预训练 VLM 中包含的语义知识,以及它们对 VLA 训练动态的影响,仍然是一个悬而未决的问题。本文在包含连续扩散或流匹配动作专家的 VLA 环境中研究了这个问题,结果表明,单纯地引入此类专家会严重损害训练速度和知识迁移。为此,本文对各种设计方案及其对性能和知识迁移的影响进行了广泛的分析,并提出一种在 VLA 训练期间隔离 VLM 主干网的技术,以缓解此问题。
大语言模型 (LLM) 的成功可以归因于大规模数据集的可用性,以及强大的模型架构,例如以预测下一个token为目标,在数万亿个tokens上进行训练的 Transformer。LLM 可以用于解决各种任务,从创作诗歌和代码到解决竞赛级数学问题,甚至可以进一步应用于解决视觉推理问题,并通过多模态编码器进行扩展,从而生成视觉语言模型 (VLM)。将 LLM 的强大功能引入物理世界的下一步自然是进一步扩展其以执行物理动作,从而生成视觉语言动作 (VLA) 模型,该模型可以控制机器人执行语言命令,将端到端机器人学习的强大功能与从网络规模的视觉语言预训练中提炼出的语义知识相结合 [59, 24, 7]。然而,将 LLM 和 VLM 应用于现实世界的控制需要应对许多新的挑战。大多数物理系统(例如机器人)需要连续且精确的指令,例如关节角度或目标姿态,这些指令必须以高频实时生成。离散tokens的自回归解码不太适合这种高频连续控制,这既因为离散化动作的分辨率有限,也因为大模型的自回归解码计算成本高昂,而模型规模越大,这一挑战就越严峻。
此外,物理系统通常会产生比训练 VLM 更复杂的观测数据,例如多视角图像和本体感受状态。这些差异使得需要修改原始 VLM 架构以适应机器人控制。
因此,机器人界已经开发出特别适合实时连续控制需求的架构 [54, 11, 45, 55, 7, 32, 6, 8, 25, 22]。虽然许多不同的设计都取得了成功,但一个共同的主题是,用于有效灵巧控制的模型通常会在Transformer或VLM主干上添加某种用于连续输入和输出的适配器,后者最常使用例如扩散或流匹配与动作块(未来动作的短序列)[54]。这使得模型能够表示复杂的连续动作分布,选择非常精确的动作,并捕捉灵巧的高频技能。然而,当将这些附加模块添加到预训练的VLM以创建VLA时,通常需要从头开始初始化它们,并且VLA训练过程必须将它们“嫁接”到VLM主干上。这就引出了一个重要的问题:添加了这些连续状态和动作适配器的VLA实际上在多大程度上继承并受益于网络规模的预训练?
π0 和 π0.5 模型。以 π0 [7] 和 π0-FAST [37] VLA 为基础。π0 引入连续动作专家,它可以捕捉动作块的复杂连续分布,实现高效推理,并支持对灵巧任务(例如叠衣服)的连续控制。然而,正如在实验中所展示的,π0 本身会导致语言跟随和训练速度的下降,因为来自动作专家的梯度会降低预训练的 VLM 主干模型性能。π0-FAST 通过使用token化动作解决了这个问题,它使用基于 DCT 的token化器,可以高效地离散化复杂的动作块,但代价是需要昂贵的自回归推理,并且会降低执行精细动态任务的能力,在实验中也证明了这一点。π0.5 [22] 首先仅使用 FAST token 化动作进行训练,然后在训练后添加一个随机初始化的动作专家,以便通过联合训练对移动操作数据进行微调。
先前用于微调具有连续输出的 VLM 的方法,由于依赖于来自连续适配器(例如扩散头)的梯度作为训练信号,可能会导致训练动态显著下降。这会降低 VLM 解释语言命令的能力,并降低最终 VLA 策略的整体性能。为了应对这一挑战,本文提出一种解决这些问题的训练方案,称之为知识隔离。知识隔离背后的关键思想,是使用离散化动作微调 VLM 主干网络,同时使动作专家适应生成连续动作(例如,通过流匹配或扩散),而不将其梯度传播回 VLM 主干网络,如图所示。实际上,离散动作tokens提供了一种替代学习信号,该信号不受动作专家未初始化权重的影响,因此 VLM 仍然可以学习适合机器人控制的表示,但不会受到动作专家梯度带来的干扰。
构建和训练视觉-语言-动作模型 (VLA) 的标准方法如下。训练 VLA π 的思路是调整视觉-语言模型 (VLM),使其输出机器人动作 a,该动作以图像观测 I_1:V、机器人本体感受状态 q 和自然语言指令 l 为输入,即 a ∼ π(·|_I1:V , q, l)。VLA 的优势在于,在根据机器人动作进行微调时,能够继承底层已在互联网规模数据上预训练的 VLM 的知识。
动作表示。在大多数情况下,机器人动作 a 是实值向量,通常表示机器人关节角度或末端执行器坐标。一种常见的策略是采用所谓的动作分块 [54],即预测机器人动作 a_1:H 相对于当前机器人状态的轨迹。为了使 VLM 适应 VLA,有多种选择来表示这些动作块。
简单离散化。在最简单的情况下,将块中每个动作的每个维度离散化,然后将每个离散化块与一个特殊的文本token 关联 [59]。这样,块 a_1:H 被映射到 H · d 个tokens。然后,机器人动作预测被构建为下一个token 预测问题,并且该模型可以像一个非机器人特定的、带有 交叉熵损失的可变长度语言模型 (VLM) 一样进行训练。
时间动作抽象。简单离散化的缺点在于,对于高频和高维系统,表示动作的tokens数量会快速增长,这大大增加了计算成本并导致训练收敛速度缓慢。近期的研究,例如 PRISE [57] 和 FAST [37],通过应用一种在时间上压缩信息的变换来缓解这种影响。用 FAST 对动作进行编码,该方法对动作块中的每个维度应用离散余弦变换,然后进行量化和字节对编码 [18] 以生成动作tokens。
扩散和流匹配。许多近期提出的 VLA 模型使用扩散或流匹配 [29, 35] 来生成连续动作,本文实验遵循 π0 的设计,使用流匹配“动作专家” [7],如上图所示。对于流匹配时间索引 τ ∈ [0, 1],模型的输入是动作块 a^1:H_τ,ω = τa_1:H+(1−τ)ω, ω∼N(0,I) 的噪声化版本,并且训练模型预测的投影将连续状态直接映射到主干网络(“连续状态”)。
VLA 架构、训练和专家混合。大多数 VLA 是由多模态Transformer构建的,通常使用预训练的 VLM 权重进行初始化。本文描述一种基于Transformer VLA 架构的通用形式。该模型将 n 个多模态输入tokens x_i 的序列映射到 n 个多模态输出 tokens y 序列上的概率。对于 VLA,通常 y = ya 对应于动作目标。之前的研究考虑联合训练一个模型用于动作预测和 VLM 任务(其中 y = yl 是 token 化的文本输出)[14, 59]。如其模态类型 ρ : i → {图像, 单词, 动作, 状态, . . . . . } 所示,每个 token 可以是文本 tokens (xl_i)、图像块 (xI_i) 或连续输入 (xi),例如机器人状态或动作。token 嵌入不同的编码器 φ_j : T_j → Rd_e,其中 T_j 是所有类型 j 的多模态 token 空间,d_e 是模型的嵌入维度。图像块使用视觉Transformer (Vision-Transformer) 进行编码,文本 token 带有嵌入矩阵,并通过仿射投影进行连续输入。注意掩码 A (ρ(i)) ∈ {−∞, 0} 指示哪些 tokens 可以相互关注。Transformer [47] 是一个函数 f,它将 n 个输入嵌入映射到 n 个输出嵌入。它通过堆叠多个块构建而成,这些块本身由注意层、前馈层和规范化层组成。令 X = x_1:n。标准Transformer中的注意层计算为 attn(X) = E(X)W_V ,其中 E(X) = P(X)V(X),P(X) = softmax(Q(X)K(X)^T),Q(·)、K(·)、V(·) 是所谓的 Q、K 和 V 投影,例如 Q(X) = XQ_m,d_q 是投影的维度。与标准 Transformer 相比,该模型使用不同的权重处理不同的 token,正如 [28] 中提出的。作为 π0 [7],从 PaliGemma [4] 中初始化 VLM,并对动作 token 使用较小的权重集,这显著减少生成动作时的推理时间。主干和动作 token 拥有各自的Q、K和V投影,但这些投影的维度 d_q、d_k、d_v 相同,以便专家之间可以相互交互。
大多数 VLA 都是在大型机器人行为克隆数据集上进行训练的。对于自回归架构,标准的训练程序是最小化目标 token 的负对数似然 LAR-VLA(θ)。在使用流匹配进行动作预测的情况下,损失会被修改 LFLOW-VLA(θ)。
如图将当前 VLA 训练方案中的问题可视化。 自回归 VLA 速度较慢。自回归 VLA 将预测实值动作的问题转化为离散的下一个token预测问题,这既限制了模型能够表示的值分辨率,也导致了缓慢的顺序推理。π0-FAST 在 RTX4090 GPU [37] 上预测 1 秒动作块的推理时间约为 750 毫秒,正如在实验中所展示的,这可能导致动态不匹配和整体轨迹缓慢。 机器人专用架构和模态适配器无法从 VLM 预训练中获益太多。像 π0 [7] 或 GROOT [6] 这样的架构包含机器人专用模块,可以实现更快的推理。例如,π0 架构中的动作专家比 VLM 主干网络的参数更少,因此 π0 可以实现 10 Hz 的控制频率,这比自回归 VLA(1.3 Hz)快得多。
虽然这些模型的部分内容是从预训练的 VLM(例如视觉编码器或语言模型主干网络)初始化的,但机器人专用模块是从头初始化的。使用这种随机初始化的动作专家进行简单的训练会损害模型执行语言命令的能力(可能是由于梯度干扰)。 VLM 预训练没有足够的机器人表征——冻结不起作用。直观地说,维护 VLM 预训练知识并从而避免上述问题的最简单方法是冻结预训练的权重,仅训练新添加的、机器人专用的权重。然而,当前的 VLM 并未使用机器人数据进行预训练。因此,当它们的表征被冻结时,它们不足以训练出高性能的策略。
考虑了一系列措施来克服第四节中概述的先前 VLA 方法的局限性。具体而言,其提出:
- 同时联合训练自回归和流匹配动作预测模型(联合训练)。该模型使用(较小的)动作专家生成连续动作,以便在测试时进行快速推理。自回归目标仅在训练时用作表征学习目标,这使得模型的训练速度更快。
- 在非动作数据集(例如通用视觉-语言数据和机器人规划数据)上联合训练模型(VLM 数据联合训练)。在这些数据源上进行训练可确保模型在适应 VLA 时丢失更少的知识。
- 停止动作专家和主干网络权重之间的梯度流。这样,当将预训练的 VLM 适配到 VLA 时,动作专家新初始化的权重不会干扰预训练的权重。
联合训练和表征学习,结合离散/连续动作预测
为了实现与 VLM 数据的有效协同训练,增强从语言到策略的知识迁移,并实现快速训练,考虑将自回归语言和离散动作预测以及连续动作的流匹配建模结合到一个模型中。具体而言,学习一个模型,从中可以同时采样实值动作块 a_1:H 和文本 lˆ,即模型的输出空间为 y = (a_1:H , yl,a),其中 a_1:H 表示连续动作,yl,a 表示语言 token 和离散动作 token。用 FAST [37] token 化器将连续动作转换为离散 tokens。然后,可以从模型中联合采样动作和文本,(a, lˆ) ∼ π(·, ·|I_1:V , q, l),并使用 token 预测(参见 (L_AR-VLA)和流匹配损失(L_FLOW-VLA)的组合来训练模型,即 L_CO-VLA(θ)。
这种损失函数的构造,能够灵活地混合搭配不同模态的数据进行协同训练。具体而言,将 VLM 数据(仅包含图像和文本标注)与纯动作数据(任务是基于图像和文本的动作预测)以及语言和动作预测任务(其中采用纯动作数据,并额外使用语言描述对其进行标注,以说明机器人下一步应该做什么)相结合 [53]。以这种方式混合不同模态的数据可以增强生成的 VLA 中的知识迁移。lˆ 包含文本(语言)token 和 FAST token 化的动作 token。至关重要的是,设置注意掩码 A,使得任何离散的 FAST 动作 token 都无法关注连续的动作 token,反之亦然。在实验中,这种联合训练目标能够兼顾两者的优势:在训练过程中通过使用 FAST 动作 token 学习良好的表示获得了快速收敛,同时仍然可以通过几个流-集成步骤,获得连续动作的快速推理。
知识隔离与梯度流
使用流匹配训练的动作专家的梯度可能会对图像编码器和语言模型主干网络的训练动态产生不利影响;尤其是在将新的、随机初始化的动作专家添加到预训练的主干网络时。因此,停止从动作专家到模型中预训练权重的梯度流。当且仅当主干网络经过额外训练,能够将动作预测作为其语言输出的一部分时,这种限制才是合理的。
由于对离散动作进行联合训练,因此可以确保 Transformer 层的组合激活包含足够的信息来推断动作。预训练的模型主干网络和动作专家仅通过注意层进行交互。为了阻止从动作专家到主干网络的梯度流,需要按如下方式修改注意层。对于单头注意的情况,可以编写注意操作。结果是针对 token 特征的注意概率,这些概率分解为:来自 VLM 主干网络的特征关注主干网络特征 P_bb 的概率、动作专家特征关注主干网络特征 P_ab 的概率,以及动作专家特征关注其他动作专家特征 P_aa 的概率。鉴于此,可以通过相应地修改 softmax 计算的实现来根据需要限制信息流。
此设计的另一个优点是,可以简单地在 L_CO-VLA(θ) 中设置 α = 1,因为现在扩散损失项适用于一组独立的权重。
在现实世界中针对涵盖多种不同机器人实施例的灵巧、长视野操作任务评估方法(如图所示)。这些任务包括清洁桌子(“桌子清洁”);用双手静态机器人折叠衬衫(“衬衫折叠”);用单个静态机械臂将家居用品放入抽屉(“抽屉中物品”);以及涉及双手移动机械手的多个任务。对于后两者,仅在模型未见过任何数据的留空场景中评估模型进一步展示了在 LIBERO 模拟基准 [30] 和现实世界中的 DROID [23] 上的结果。既在单个机器人实施例上训练模型,也训练通用模型,后者使用来自许多不同机器人的大量混合数据进行训练,这些任务包括非动作预测任务,如图像字幕、边框预测和机器人规划。
通才模型基于一个包含 12 种机器人形态配置的大型数据集进行训练,其中包括单臂静态机械手(ARX、UR5、Franka)、双手静态机械手(ARX、AgileX、Trossen、UR5)和双手移动机械手(Trossen mobile、ARX slate、Galaxea G1、Hexmove H1、Fibocom)。这些机器人数据涵盖了各种各样的任务,远远超出了本文所考虑的评估任务(例如,在各种环境(包括办公室环境和真实家庭环境)下研磨咖啡豆或将毛巾挂在烤箱手柄上)。还纳入了开源 OXE 数据集 [36]。
使用各种通用 VLM 任务来训练通用模型。数据涵盖图像字幕制作(CapsFusion [52]、COCO [10])、视觉问答(Cambrian-7M [46]、PixMo [13]、VQAv2 [19])以及目标定位。对于目标定位,进一步扩展标准数据集,添加了带有边框标注的室内场景和家居物品网络数据。
使用 PaliGemma VLM [4] 架构作为 VLM 的主干,并使用其预训练权重对其进行初始化。动作专家是一个较小的 Transformer,它接收一系列带噪声的动作 aτ,ω_1:H,动作范围为 50,即 H = 50。首先使用单个线性层将带噪声的动作块投影到 Transformer 的嵌入维度。用 MLP 来投影 τ,然后应用自适应 RMSNorm 将时间步长信息注入动作专家的每一层。MLP 的形式为 swish(W2 · swish(W1 · φ(τ ))),其中 φ 是一个正弦位置编码函数 [47]。动作专家输出动作 token y^a_1:H,然后使用最终的线性投影将其解码为目标向量场。
VLM 主干网络和动作专家的维度如下:2B 语言模型主干网络的维度为 { width = 2048, depth = 18, mlp_dim = 16,384, num_heads = 18, num_kv_heads = 1, head_dim = 256 };动作专家的维度除 { width = 1024, mlp_dim = 4096} 外其他维度均相同,因此共有 3 亿个参数。
VLM 和动作专家的嵌入仅通过自注意力机制进行交互。图像、语言标记和文本状态使用完整前缀掩码;FAST 动作标记会关注此前缀,并自回归地关注先前的动作标记。动作专家的嵌入会关注前缀和彼此,但不关注 FAST 动作标记,以避免两种动作表示之间的信息泄漏。实际上,信息从 VLM 单向流向动作专家;没有任何 VLM 嵌入会关注动作专家。我们遵循π0对流匹配时间步长τ进行采样。总而言之,我们偏离了标准的均匀采样τ∼U(0,1)[29, 33]或强调中段时间步长的方法[16],而是使用强调低段时间步长的时间步长采样分布[7],该分布由p(τ) = Beta(s−τ/s; α=1.5, β=1), s=0.999 给出。
考虑机器人本体感受状态 q 的三种不同表示形式:
• 文本状态。此表示形式将状态离散化为 n_b 个容器,然后将这些容器转换为从 1 到 n_b 的数字。这些数字随后作为普通文本输入模型。这是以往 VLA 的标准方法。对于像 Gemma [44] 中的 token化器来说,这意味着最多需要⌊log10(nb) + 2)⌋ · s 个 tokens 来将状态表示为文本。
• 特殊标记状态。与“文本状态”类似,此表示形式直接使用离散化的容器,将每个容器与 VLM token化器中的一个特殊token关联起来。这需要 s 个tokens。
• 连续状态。此表示形式通过将实值向量 q 使用学习的仿射投影投影到 de 维嵌入空间,将其直接输入模型。
文本状态方法的优势在于,它最接近主干网络在预训练期间可能看到的内容,因为它只是自然文本中的数字序列,但它需要最多的 tokens。特殊 token 状态和连续状态都是模型的全新输入,并带有随机初始化的投影/嵌入。