当前位置: 首页 > news >正文

π0-FAST-针对VLA模型的高效动作token化技术-2025.1.16-开源

0. 前言

2025年2月4日,π0 和 π0-FAST 一并开源,这个系列许多研究者、企业人士认为落地潜力很大
项目页
论文页
GitHub页

之前已经做了 π0 论文的详解:π0-通用VLA模型-2024.11.13-开源

本文来详解一下 π0-FAST

1. π0-FAST:针对VLA模型的高效动作token化技术

1.1 发现问题

自回归序列模型(Autoregressive sequence models),例如基于Transformer的 VLA 策略,在捕捉复杂且具有泛化能力的机器人行为方面非常高效。

大型高容量的Transformer模型,无论是从零开始训练,还是使用在互联网级图像-文本语料上预训练的模型,通过下一个token预测(next-token prediction)进行微调,都能非常有效地捕捉复杂且具有泛化能力的机器人行为。

然而,这些模型需要对连续的动作信号进行 tokenization,以决定模型预测出的离散符号如何映射回连续的机器人动作。众所周知,合理的 tokenization 方案对序列模型的性能至关重要。以往此类机器人策略通常采用简单的“每个维度、每个时间步”分箱token化方案。具体可以看这篇我写的博客:一文讲懂VLA的原理、进展、挑战 - 2025.5.7 - 美国康奈尔大学(原理篇)

作者发现现有的机器人动作token化的方法,基于简单的“每个维度、每个时间步”的分词策略,在从高频率机器人数据中学习灵巧操作技能时,通常表现不佳。这一点对简单的分箱策略构成了重大挑战,尤其是在以“动作片段”(action “chunks”)形式预测未来动作序列时。

现有的这种方案在扩展到高频机器人控制任务时遇到了困难

如下图1的右侧,OpenVLA风格的token化表现随着控制频率的升高变差。
图1
高度相关的动作token削弱了自回归VLA中“下一个token预测”目标的有效性。

目标函数变成“越简单越好”——模型通过复制上一个token就能取得低损失,却学不到真正有用的动作策略,陷入“懒惰”局部最优

1.2 解决问题

为了解决这一难题,作者提出了一种新的基于压缩的动作token化方案,核心是离散余弦变换(DCT)。他们的这个token化的方法叫做:频域动作序列token化( Frequency-space Action Sequence Tokenization)(FAST)。使得原本在标准方法彻底失效的高频率、灵巧任务上,训练出高效的自回归VLA策略。

作者的核心洞见是:在训练前应先对机器人动作信号进行压缩,以降低相邻令牌间的相关性。借鉴了基于压缩的离散化思路,比如语言模型中常用的字节对编码(byte-pair encoding,BPE)。

然而,由于机器人动作是连续的,压缩策略应该选择适合连续数据的。因此,他们的方法基于离散余弦变换(DCT)编码,这种方法广泛用于压缩连续信号,如图像(例如 JPEG 压缩)。

FAST,使能够通过简单的下一个token预测 训练自回归VLA策略,在那些标准token化方法完全失效的高频、高灵巧度任务上,也能取得成功(参见上图1 左图)。FAST 首次使得在 DROID 数据集:一个大规模、多任务、真实“野外”机器人操作数据集上,高效地训练 VLA 成为可能。

所以,所得策略是第一个可以在未见环境中成功进行零样本评估的语言条件通用操控策略,只需用自然语言提示即可。

此外,基于FAST,作者还发布了FAST+,一款通用动作分词器,是在100万条真实机器人动作轨迹上训练的(多种机器人结构、动作空间、控制频率)。它可以作为黑箱工具,FAST+ 能够高效地对从单臂、双臂到移动机器人等多种动作序列进行token化,是训练自回归VLA模型的优秀现成工具。

最后,实验证明,结合π₀ VLA后,本方法可扩展到训练1万小时机器人数据,并在性能上与扩散模型(diffusion VLA)相当,同时将训练时间最多缩短5倍。
在这里插入图片描述

2. 相关技术和工作

2.1 语言、文本、音频的token化

tokenization 是现代基于 Transformer 的自回归序列模型训练流程中的关键一环,token化策略的选择会显著影响模型训练效果和下游任务表现。

尽管已有多篇工作尝试训练“无需token化”的语言模型,直接在比特流上操作,但当前绝大多数语言模型仍然依赖训练前的文本token化阶段。

“无需token化”模型:跳过切词/子词阶段,类似直接在“0/1洪流”中撬动意义;目前实践难度和成本都很高。

常见方法是字节对编码(BPE),通过合并高频子串来压缩输入文本,从而生成新的token。

对于图像而言,学习型压缩方案是一种有效途径:先用预训练的视觉编码器将输入图像表示为“软token(soft tokens)”,再通过向量量化自编码器(VQ-AE)实现完整的自回归图像输入-输出。类似思路亦可推广至视频领域。

软token:连续表示(如实值向量),相比硬token更灵活。
VQ-AE:先编码再量化,后解码回图像,兼顾压缩和可生成性。

在音频生成与语音合成领域—它们与动作预测同属时序任务—最先进的模型通常以频域频谱图或学习型向量量化器来编码时序音频数据。

2.2 VLA 模型

最近,多项研究开发了通用机器人策略[RT-1, Octo, Rt-2, Openvla等],且所用训练集规模与日俱增。

训练通用机器人策略的一种有前景思路是视觉-语言-动作模型(VLA)。不过是大部分论文在提出他们的通用策略后,使用这个策略实现了一个VLA模型。

通用机器人策略:能够跨任务、跨环境、跨机器人平台,以同一套策略或模型完成多种不同操作需求的“全能型”控制策略
VLA:提供了一种具体的架构和训练流程,来落地通用机器人策略的理念

VLA通过对在海量图文数据上预训练的 VLM 进行微调,实现机器人控制。这带来多重好处:
1.采用拥有数十亿参数的大型视觉-语言模型骨干,能提供足够的表达能力以适配大规模机器人数据集。
2.复用了在互联网级别数据上预训练的权重,还提升了VLA理解各种语言指令和泛化到新对象、新背景的能力。

迄今大多数VLA模型仍局限于相对简单、低频率的控制任务,尤其是那些采用常见的自回归VLA设计的模型。第一节指出,这恰是由于这些模型所采用的动作token化方案所致,令在灵巧任务上的训练变得困难重重,所以才提出新的。

2.3 在VLA训练中此前的分词技术

之前的研究已探讨了多种动作参数化方案用于训练机器人策略(包括VLA)。

参数化方案:把动作定义成不同格式——离散令牌、连续向量、语义子任务等,各有利弊。

  1. 一类方法使用“语义化”动作表示,如语言子任务或关键点(keypoints)。

语言子任务:将动作拆成“拿起杯子”“移动到桌边”等离散语义单元。
关键点:用几何点来描述目标抓取位置,直观易懂但执行需专门控制器。

这类方法常常能通过少量示例或零示例就学习任务,但它们需要手工设计低级控制器来执行任务,从而限制了通用性。

  1. 另一思路是直接训练VLA,在输入图像和语言指令后,输出低级别的机器人控制命令,无需额外手写控制器。

最常见的设计是将动作直接映射为离散 token,借助通用自回归序列模型生成,就像生成文字或图像序列一样。现有方法通常使用前文所述的“每维度、每时间步”分箱策略-将连续的机器人动作映射到离散的动作token

  1. 还有一些研究提出了非令牌化的替代方案,例如通过回归头(regression heads)或为扩散解码引入新权重。

回归头直接输出实数控制指令,原汁原味但往往训练难度大、稳定性差。

  1. 另一组相关研究探索了向量量化动作表示方法

VQ方法:先用编码器提取向量,再用最近邻量化为离散索引,相当于学一个专属“动作词典”。其重构质量对超参数和网络结构较为敏感。调参工作量大,稍微一调不好就“细节化为乌有”。

作者发现,这些方法在粗粒度、低保真重构任务上表现不错,但在需要精细控制高频任务中就不堪一击。

相比之下,FAST 超少超参数,无需改动底层预训练Transformer,可无缝应用于任何自回归Transformer模型,并在多任务上与最先进的扩散型VLA性能相当,同时大幅提高训练效率。

3. tokenization 如何影响VLA

3.1 问题表述

首先,作者的目标是训练策略 π ( a 1 : H ∣ o ) \pi\left(a_{1: H} \mid o\right) π(a1:Ho),将观察o映射到未来机器人动作序列 a 1 : H a_{1: H} a1:H

策略 π:给定当前“看见”的信息 o,输出接下来连续 H 步动作。

  1. 他们假设策略输出一个”动作 chunk”,即长度为 H 的一组动作序列,这能更容易地保证动作在时间上的一致性,并减少误差累积。
  2. 动作 tokenization 的目标是定义一个映射 T a : a 1 : H → [ T 1 , … , T n ] \mathcal{T}_{a}: a_{1: H} \rightarrow\left[T_{1}, \ldots, T_{n}\right] Ta:a1:H[T1,,Tn],将 |A| 维的连续动作序列 a 1 : H a_{1: H} a1:H 转换为长度为 n 的离散token序列 [ T 1 , … , T n ] \left[T_{1}, \ldots, T_{n}\right] [T1,,Tn],其中token来自大小为 |V| 的词表 V。 T ∈ ∣ V ∣ T \in|\mathcal{V}| TV

注意,不同动作序列产生的 token 数 n 可能不同,就像相同长度的句子经过分词后,得到的词数也会有差异。

3.2 基于分箱的动作token化

最常见的动作token化方法是简单的分箱(binning)离散化策略。

分箱就是把连续值区间划成若干个小桶,数值落哪个桶就用桶编号代表。

  1. 对于给定的动作a,该方法独立地对每个维度进行离散化,将训练数据集中的值范围划分为N 个均匀的箱,最常用的是使用N =256
  2. 对 D 维度、长度为 H 的动作序列 a 1 : H a_{1: H} a1:H ,这种token化会在每个时间步、每个维度上都进行分箱,最终得到token序列 T a ( a 1 : H ) = [ T 1 , 1 , … , T 1 , D , … , T H , 1 , … , T H , D ] \mathcal{T}_{a}\left(a_{1: H}\right)=\left[T_{1,1}, \ldots, T_{1, D}, \ldots, T_{H, 1}, \ldots, T_{H, D}\right] Ta(a1:H)=[T1,1,,T1,D,,TH,1,,TH,D]

对于高频率的机器人数据,这种分箱token化并不理想:它很容易为每个动作块产生数百个token,从而使训练变得具有挑战性并导致推理速度缓慢。

逻辑链:目标是训练一个输入信息,输出动作的策略,这个策略输出的是动作块,在输入高频机器人数据时,以往的token化方法会给这个输出动作块里塞上百个token,导致效率低下。

3.3 案例研究:tokenization 如何影响 VLA

为了说明对于 RT-2 和 OpenVLA 使用那种动作tokenization方法训练自回归策略的所面临挑战,先从一个简单的示例入手。在一个教学用的插值任务上,训练了一个小型自回归 Transformer 模型。在该任务中,网络需要根据图中四个圆点预测黑色虚线所示的曲线。

  1. 首先,构建了一个合成时序数据集,目标是预测一条三次样条曲线,该样条插值四个随机生成的点(见下图3)。

三次样条(cubic spline):平滑连结四个点的“橡皮筋”。这个玩具问题反映了在高频动作块上训练的策略所面临的挑战:给定一些条件,预测一连串连续动作。

图3
左侧是以前的自回归 VLA(如 RT-2 、RT-2-X 和OpenVLA )使用的每维度分箱方案进行比较——那种方案被称native tokenization
右侧是FAST所采取的tokenization

  1. 然后,训练一个小型自回归transformer策略,在给定条件点的情况下预测tokenized信号

他们针对目标信号的不同采样率重复此实验,从每个序列的25到800个时间步长不等,而不更改基础数据集,这模拟了在不同频率收集的动作数据上训练自回归策略

不同频率下训练的自回归模型的平均预测均方误差(MSE)如下图图3顶部所示,可以看出来,在DCT压缩目标token上训练自回归模型在各种采样频率下始终保持较低的预测误差。
在这里插入图片描述
使用分箱tokenization的模型在低采样率下实现了良好的预测性能(即低MSE)但随着采样率的增加,预测误差急剧增加,直到最终模型仅复制第一个动作,如图3的定性可视化所示 (那一条直线)

高频下,相邻token几乎相同,模型只需抄上一句即可“蒙混过关”。导致只复制第一个

数据没变,模型能力也不变,唯独换了tokenization方式,结果天差地别——“锅”只能甩给 tokenization。

为什么呢?要理解token化策略如何影响学习效果,就得回过头看学习目标函数。

本质上,自回归模型的训练目标是:**在已知前序token的情况下,预测下一个token。**因此,它们的学习信号与 T i T_{i} Ti 给定 T 1 : i − 1 T_{1: i-1} T1:i1的边际信息内容成正比。

学习信号 = “预测下一个 token 时收到的误差反馈(梯度)”。
边际信息内容 = “在给定历史上下文的前提下,新 token 出现的“意外”程度
学习信号越大,说明误差越大,新的token的“意外”程度就越大,促使模型更大幅度地修正以便下次更好地预测。

关键在于,采用简单的逐时刻分箱token化时,随着控制频率提升,边际信息会趋近于零(token之间越来越像,就没意外了):对于平滑信号,时间步越短,步间变化也同比减小。这会大大减缓训练收敛速度,也让拟合复杂高频数据变得异常困难。

事实上,此类挑战在先前工作中已有所体现。例如,OpenVLA低频的 BridgeV2 和 RT-1 数据集上表现良好,但在高频的 DROID 数据集上就力不从心了。

因此,这个案例的研究结果强调了为机器人动作设计更好分词方案的重要性。

4. 通过时间序列压缩实现高效动作Tokenization

在上一节中,我们已经看到,高频动作轨迹中的冗余会导致每个动作token的边际信息变少,从而影响训练效果。

为此,我们需要一种能够将高度冗余的动作信号压缩成更少但信息量更大的token的Tokenization方法。

在本节中,按照原论文的描述,将首先介绍一种简单的压缩连续时间序列的方法,然后基于它来设计一个动作tokenization算法,最后解释他们如何训练一个通用的机器人动作tokenizer

4.1 基于离散余弦变换的时间序列压缩

针对连续时序信号的有效压缩已有大量研究,既有先将信号变换到频域再压缩的方法,也有基于学习的压缩方法,如向量量化。

他们工作的一个关键结论是,任何足够有效的压缩方法在应用于动作目标时都适合于提高VLA模型的训练速度。

在实践中,还要考虑压缩算法的训练复杂度,以及它在token化和解码时的效率等因素。

在π0-FAST中,作者使用了一种基于离散余弦变换(DCT)的压缩算法,DCT是一种频域变换,它将连续信号表示为各种频率的余弦函数的线性组和。

  • 低频分量描述信号的整体趋势,高频分量则反映信号的突变或细节。
  • DCT因其简单高效且在实际图像压缩中表现优异(如JPEG),被广泛采用:图像像素通常变化平滑,只需少量DCT系数就能保留大部分信息。
  • 信号可以通过省略低权重的频率分量来压缩

总之,与基于矢量量化的学习压缩方法相比,基于DCT的压缩是一种解析方法,因此极其简单和快速。

4.2 FAST Tokenization 算法

所以,作者利用离散余弦变换设计了FAST,一种快速且高效的机器人动作token化方法。在下图4中展示了从原始动作token的各个处理步骤
图4

给定一段归一化后的动作块,我们首先对其应用离散余弦变换(DCT),将时域信号转换到频域。接着对 DCT 系数量化,并使用字节对编码(BPE)将各维度的 DCT 系数展平成一维序列后压缩,得到最终的动作 token 序列。

  1. 首先对输入动作进行标准化:将训练集中每个动作维度的第1到第99百分位映射到[−1,1]区间。
    这个初始标准化步骤有助于将数据带入指定范围,并且还使得具有不同动作尺度的跨实体数据集的token化更为容易,且使用分位数来应对大型机器人数据集中偶尔出现的异常动作。
  2. 在数据标准化后,作者对每个动作维度分别应用离散余弦变换DCT,变成频域系数
    对DCT系数进行压缩时,可以简单的省略不重要的系数,通过“缩放+四舍五入”来实现,其中缩放比例是一个超参数,控制token化的损失率和压缩率之间的平衡。
  3. 在舍入操作之后,DCT系数矩阵通常是稀疏的,大多数条目为零,每个动作维度仅保留少数几个重要系数
  4. 为了真正实现压缩,必须将这个稀疏矩阵转换为一系列密集的token
    先将矩阵展平成一维整数向量,按先低频后高频并在维度间交错的顺序拼接,然后训练字节对编码(BPE)分词器,对其进行无损压缩,得到紧凑的动作token。
  5. BPE步骤会“压扁”所有零值分量,并合并跨维度的高频组合。
    之所以选用BPE来压缩DCT矩阵,因为它有众多高效实现,还能生成固定大小的输出词表,便于与现有视觉-语言模型词表无缝集成。其他无损压缩算法,如哈夫曼编码或Lempel-Ziv方法(gzip底层算法)也可替代,但留待后续研究

注意,在进行BPE编码前,如何扁平化 |A|×H 的DCT系数矩阵,对策略训练效果影响很大

有两种展平方式:列优先——先拼接每个维度低频分量;行优先——先拼接单个维度的所有频率分量。

列优先让模型先学整体趋势,行优先则先学某个维度全貌,各有得失。

这里选择列优先,因为实验发现,在自回归预测时先预测低频分量(即输出序列的整体形状),能带来更稳定的策略执行。

如此,tokenization流程中的所有操作都易于逆转,允许快速解码预测的动作。该tokenizer只有两个超参数:用于DCT系数舍入前的缩放比例,以及BPE步骤的词汇表大小。

作者发现这两个参数都不太敏感,并且在所有的单数据集tokenization实验中使用了相同的值(舍入比例10,BPE词汇量大小1024)。这与依赖于矢量量化的端到端学习压缩模块形成对比(那些模块往往动辄数十个超参),需要为每个数据集精心调参才能获得良好的重构效果。

实验表明,我们的DCT令牌化方法训练出的策略性能优于VQ方法,且更简单易调。在3.3 案例研究中实证展示了DCT的优势:

在算法1中简要总结了离散化流程,并将在后续实验中测试FAST在机器人控制问题上的有效性。
算法1

4.3 通用机器人动作tokenizer:FAST+

FAST分词器的唯一学习组件是 BPE 编码器的词汇表,这需要为每个新数据集进行训练,以便应用该分词器,虽然该训练过程很快(通常仅需几分钟),但仍为使用FAST引入了额外的门槛。

因此,作者的目标是再训练一个通用动作分词器,能对来自任意机器人的动作块进行编码。

为此,作者使用上述流程在一个大型跨形态机器人动作数据集上训练分词器,该数据集由大约一百万个1秒的动作chunk组成,涵盖单臂、双手和移动操作机器人,具有关节和末端执行器控制动作空间以及各种控制频率——他们在附录A中详细列出了用于训练通用分词器的数据混合集。

对于许多数据集,他们包括了多个动作空间参数化版本:联合空间、末端执行器世界框架和末端执行器摄像头框架,以确保生成的分词器的通用性。Open X-Embodiment 、DROID 和 Bridge V2 以其原始形式包含在内。
在这里插入图片描述
一旦训练完成,通用动作分词器FAST+即可以作为一个黑箱分词器,应用于任何机器人设置的1秒动作序列。且实验评估显示,它与为单个数据集调优的分词器具有竞争力。

作者将预训练好的通用动作分词器 FAST+ 封装为 HuggingFace 的 AutoProcessor 类,用户只需三行代码即可在任意新动作块上调用。

from transformers import AutoProcessortokenizer = AutoProcessor.from_pretrained("physical-intelligence/fast",trust_remote_code=True
)tokens = tokenizer(action_chunk)

为获得最佳压缩效果,建议如4.2所述,先将输入动作通过分位数标准化到[−1,1]后,再以1秒为单位进行token化。

这个模块同样支持在给定动作块数据集上快速训练新的FAST分词器:

from transformers import AutoProcessortokenizer = AutoProcessor.from_pretrained("physical-intelligence/fast",trust_remote_code=True
)new_tokenizer = tokenizer.fit(action_dataset)

5. 实验

在他们的实验中,他们使用两个VLA 主干测试FAST:π0 [7] 和OpenVLA [39]。且将FAST 与多种用于自回归 VLA 训练的 tokenization方案进行比较,并分析关键设计决策。

然后,将使用FAST tokenization训练的π0 模型与最先进的π0 流匹配(扩散)VLA 进行比较,并使用 FAST 对具有 10000 小时灵巧机器人操作数据的大型跨实体数据集进行自回归 VLA 训练的扩展性测试。

5.1 实验设置

5.1.1 policy实施

在大多数实验中,使用基于 PaliGemma-3B 的 π₀ ;同时也测试了基于 Prismatic 7B 的 OpenVLA 。

训练时,将 1 秒钟的动作片段进行token化,并沿用了先前 VLA 的做法,将其生成的动作token覆盖到视觉–语言模型(VLM)词汇表中使用频率最低的词条。对 VLA 模型进行微调(fine-tune)以预测机器人动作,且不冻结任何参数。更多细节在附录C。

5.1.2 用于评估的任务

下面列出了 7 个评估任务(6 个真实机器人任务,1 个仿真任务)。旨在测试VLA在高度灵巧的任务(如折叠洗衣物)和泛化任务(如在未见过的环境中0-shot执行桌面操作)上的性能。
在这里插入图片描述

  1. Libero:在 Libero 仿真基准套件上测试,并衡量 Libero-Spatial、Libero-Object、Libero-Goal 及 Libero-10 四个子任务的平均表现。
  2. Table bussing (20 Hz):单臂 UR5 机器人需要清理桌面,将 12 个物体分类:垃圾放入垃圾桶,盘子/碗/杯子/餐具放入塑料容器。
  3. T-Shirt folding (50 Hz):双臂 ARX 机器人需在静止的桌面上折叠多种 T 恤。
  4. Grocery bagging (20 Hz):单臂 UR5 机器人需将桌上的七件物品装入购物袋,注意不要使袋子倾倒或撕裂。
  5. Toast out of toaster (50 Hz):双臂 Trossen Viper-X 机器人需取出烤面包机中的两片面包,放置到盘子中。
  6. Laundry folding (50 Hz):双臂 ARX 机器人需从篮子中取出衬衫和短裤,摊平、折叠并堆叠。
  7. Zero-shot DROID tabletop manipulation (15 Hz):将基于完整 DROID 数据集训练的策略,在完全未见过的环境中执行包括抓取、放置、擦拭、开关抽屉等桌面操作——无需联训或微调,仅凭自然语言提示即可零次学习(zero-shot)完成。

5.1.3 实验中对FAST与FAST+的比较

作者测试了:

  1. FAST,如上所述,这是一种基于 DCT 的动作tokenization方法,分别在每个评估数据集上进行训练
  2. 以及在 100 万条动作序列的大型数据集上训练得到的通用版本 FAST+

将二者与先前自回归 VLA(如 RT-2 、RT-2-X 、OpenVLA )采用的按维度分桶(binning)方式——即“native token化”进行对比。

最后,尽管作者的方法无需额外训练模型即可实现压缩token化,但也可以采用另一种压缩方案:训练一个模型通过 FSQ 对动作片段生成量化表示,这与 VQ-VAE 类似,常用于高维图像的 token 化。

可以视为作者基于压缩的方法的消融,该方法利用压缩表示,但采用一种更复杂的基于学习的替代方案,而不是相对简单的基于DCT的方法

5.2 对比 FAST 和 native

首先在表 I 中对比了所提 FAST 与先前工作中采用的朴素分桶 token 方案的压缩率,他们使用来自具有不同动作维度和控制频率的数据集的1秒的动作块。
表1
两种方法都使用默认超参数,使得它们在 token 化误差上具有可比性。结果表明
1.FAST 在所有数据集上都能实现显著的输入动作序列压缩。
2.对于高频动作数据集,这种压缩优势尤为明显。

有趣的是,无论在哪个领域,FAST 通常为每条 1 秒动作片段的单臂生成约 30 个动作标记(双臂约 60 个)。这表明 FAST 能够找到一种近似表达底层动作信号复杂度的表示,与动作数据的频率基本无关

作者注意到,这种压缩并非完全无损;压缩比与重构精度之间存在权衡,由算法 1 中的尺度参数 γ 决定。有关各token化方法在压缩率与保真度(fidelity)之间权衡的详细曲线,请参见附录 B。

接下来,我们按照第5.1实验设置中所述的策略网络架构和 token 化方法训练策略。如下图图6
图6
总体而言,可以发现之前工作中应用的简单分词在学习高频机器人数据的有效策略方面表现不佳,这一点在高频任务中尤为明显。

相比之下,基于压缩的 token 化方法能够实现有效训练。将 FAST 与基于 FSQ 的基线方法比较,FAST 在灵活高频任务上表现相当甚至更佳,而它更简单且无需额外的神经网络训练,只用DCT。

值得注意的是,FAST 首次实现了在 DROID 数据集 上成功训练出强大的通用策略,使其能够在未见过的环境中通过自然语言提示进行 zero-shot 评估,无需任何微调。

而先前所有工作(包括原始 DROID 论文、OpenVLA)都未展示在DROID上的 zero-shot 结果,仅专注于联合训练或微调评估。

作者通过在各种桌面操作任务上测试他们在DROID上训练的策略,展示了其通用性,可以看原文图7,抓取放置物体、开关橱柜门、开关水龙头等,且适应多种场景布局与摄像机视角。

5.3 通用版FAST+ 的性能评估

本节中,作者评估了 FAST+ 的性能,FAST+ 在 100 万条真实机器人动作序列上训练得到。

为了检验其泛化能力,作者汇总了一组多样化的小型测试数据集。这些数据集覆盖了丰富的机器人形态、动作空间与控制频率(见图 8,完整列表详见表 III)。

请注意,这些数据集中没有任何一个是tokenizer训练集的一部分。因此,它们测试了一个场景:在全新机器人平台上,直接复用分词器而不重计算分词。

发现 FAST+ 在各类机器人数据集上均表现出良好的压缩效果,平均将动作标记数减少了 2 倍,在部分数据集上甚至更多。
还测试了通用分词器在策略训练中的性能,并在图6中报告了与每个数据集分词器的结果 。

在所有任务中,通用分词器的训练效果与各数据集专用的 FAST 不相上下,这表明 FAST+ 可作为机器人动作token化的强大默认方案。

5.4 消融实验

接下来,重点研究两个关键方面:

  1. FAST分词方法是否独立于基础的VLA骨架?验证FAST 能否在不同模型结构上同样有效。
  2. 在token 化流程中,唯一的学习组件——BPE 压缩步骤,其重要性如何?

为了回答第一个问题,在高频 T 恤折叠数据集上训练了 OpenVLA 策略 ,将 OpenVLA 原本采用的朴素方法与我们的 FAST+ 进行对比。为了符合任务设置,他们修改了 OpenVLA 模型代码,使其能够接受多帧输入图像并预测 1 秒钟的动作片段。

下图的结果表明,FAST能够显著提升OpenVLA的性能,使其能够有效地在高频机器人操作数据上进行训练。这表明,作者的tokenization独立于底层模型骨干,并且可以轻松应用于各种预训练的自回归transformer模型。
在这里插入图片描述
其次,在桌面清理和 T 恤折叠任务上对 BPE 编码步骤进行了消融实验。下面的图表显示,没有BPE编码的策略在展开性能上表现更差(但仍优于native tokenization)。
在这里插入图片描述
直观上看,DCT 变换仍将大部分信号信息集中到少数token中,从而增强了学习信号。然而,在没有BPE中存在大量重复的0-token,这会稀释学习信号并显著减慢推理速度,因为模型需要自回归地预测数百个动作token,最终导致策略性能变差。

5.5 FAST 与扩散π0的比较

本节中,将 π₀ (扩散式VLA)与结合了 FAST 采用自回归解码的 π₀ 模型进行对比。作者比较了两种模型在第5.1.2节任务上的表现,作者在图9 中报告了结果:
在这里插入图片描述
结果显示,在小规模数据集(Libero、T 恤折叠;训练时长 <50 小时)上,两种 VLA 表现相近。

然而,在大型数据集(如桌面清理)上,基于 FAST 的 VLA 收敛明显更快,以约 1/3 的训练步数达到同等高性能。

此外,他们发现使用FAST tokenization训练的自回归π0 模型更紧密地遵循语言指令:在DROID 评估中,扩散π0 模型经常忽略语言指令,导致得分较低。作者将把对扩散和自回归VLA 语言跟随能力的详细研究留待未来工作。

自回归 VLA 当前的一个局限是推理速度较慢
利用 NVIDIA 4090 GPU,扩散 π₀ 通常可在 100 ms 内完成 1 秒动作片段的预测,而结合 FAST 的自回归 π₀ 则需约 750 ms

原因在于自回归解码需更多步骤(通常需解码 30–60 个动作token,而扩散模型仅需 10 步去噪)且使用全量 2 B 参数语言模型作为解码主干(相比之下,扩散 π₀ 使用 300 M 参数的“动作专家”网络)。

虽然没有发现这种较慢的推理会对评估的静态操作任务的性能造成影响,但它确实使评估显著变慢

虽然有许多技术可以加速离散、自回归transformer模型的推理,这些技术在LLM 文献中被广泛使用(例如,推测性解码、量化、自定义推理内核等),但作者表示只能把对此的研究留待未来工作

5.6 π0-FAST 与 扩散π0 的比较

已经展示了 FAST 在单个机器人数据集上训练自回归 VLA 的有效性,但它能否扩展到训练灵巧的通用策略?

为了测试这一点,他们在上一节中使用的π0-FAST模型上训练了跨多种身体结构的机器人数据混合数据集,这是迄今为止最大的灵巧机器人操作数据集。该混合集中包含他们自有数据集的 903M 个时间步。

此外,训练混合集还有 9.1% 来自开源数据集:BRIDGE v2 、DROID 和 OXE 。

在下图 11 中,作者将 zero-shot 性能与 Black et al. 提出的扩散 π₀ 模型在相同任务上的表现进行了对比。
在这里插入图片描述
整体来看,自回归 π₀-FAST 模型在包括最具挑战性的洗衣折叠任务上,都能与扩散 π₀ 模型的性能相当,同时所需训练****算力大幅降低

同时,在展示π0-FAST 执行折叠衣物任务的一个定性例子时,发现π0-FAST 的收敛速度明显快于扩散π0 模型:在上述评估中,该模型的训练所需GPU 小时数比 π0 模型少5x

作者在下图图1 中展示了训练过程中多个 check points 的机器人评估结果(在两个代表性任务:清理桌子和折叠T 恤上的平均性能)
在这里插入图片描述
结果清晰地表明,π₀-FAST 能在更少的训练资源下更快地达到高性能。对于通常需数千 GPU 小时的前沿 VLA 训练而言,五倍的算力节省尤为关键。

总结而言,作者证明了 FAST 使得自回归 VLA 能够在以往token化方案完全失败的复杂灵巧任务上成功训练。

还展示了,将 FAST 与前沿扩散式 VLA(如 π₀)结合,可扩展至训练通用的跨体形策略,其性能可与最佳扩散式 VLA 媲美,且训练速度显著更快。

本文已初步探讨了自回归扩散解码两大类 VLA 架构的权衡,但哪种架构最佳仍无定论

总之:自回归式π0训练快,而扩散π0推理快,在这里评估的静态任务中,这种延迟尚可接受;但未来应寻求加速自回归 VLA 推理的方法,以支持处理高动态任务。大型语言模型领域已有大量推理优化技术,可直接移植到自回归 VLA。

打个比方
自回归:像写作文,一字一句接着写,写到哪儿就决定哪儿。
扩散式:像整体给你一块泥,用雕塑刀逐步修整,最后一次性出炉一尊精致雕像。
扩散式 VLA 就是用去噪的方式并行地“雕刻”全序列动作,再量化成离散 token,而不是像大模型那样一句一句地自左向右生成。

相关文章:

  • MySQL + CloudCanal + Iceberg + StarRocks 构建全栈数据服务
  • 【Netty系列】核心概念
  • 如何从ISO镜像直接制作Docker容器基础镜像
  • 怎么在window上打开ubuntu虚拟机?
  • 深度学习复习笔记
  • 循环神经网络(RNN):为什么它能处理时序数据?它真的能减轻过拟合吗?
  • 文字转图片的字符画生成工具
  • 打卡day41
  • 【Ant Design】解决树形组件面板收起问题
  • C++题解(34) 2025年顺德区中小学生程序设计展示活动(初中组C++)U560289 字符串排序(一)和 U560136 字符串排(二)题解
  • 现代密码学 | 高级加密标准(AES)
  • Syslog 全面介绍及在 C 语言中的应用
  • 主流电商平台的反爬机制解析
  • Idea使用springAI搭建MCP项目
  • 使用摄像头推流+VLC软件拉流
  • 跟我学c++中级篇——动态库的资源处理
  • 气体放电管(GDT)选型时需要注意的事项
  • 前端流式接收数据讲解
  • 分表后如何做分页查询?
  • Linux之Nginx配置篇
  • 中国文化网站建设方案/北京网站优化多少钱
  • 电子商务网站建设报告分析/杭州seo 云优化科技
  • 大理如何做百度的网站/软件公司
  • 建立b2b网站成本/网站广告接入
  • 福清网站商城建设/微信营销的10种方法技巧
  • 湖北网站建设论文题目要求/信息流广告代理商排名