论文学习笔记:FAST - 高效的视觉-语言-动作模型动作分词技术
论文标题: FAST: Efficient Action Tokenization for Vision-Language-Action Models
作者机构: Physical Intelligence, UC Berkeley, Stanford (核心作者: Karl Pertsch, Kyle Stachowicz)
发布时间: 2025年1月 (arXiv:2501.09747v1)
项目主页: https://pi.website/research/fast
1. 核心思想与背景 (Introduction)
主要问题
当前的视觉-语言-动作(VLA)模型(如OpenVLA, RT-2)通常采用自回归Transformer架构。然而,在处理连续动作信号时,现有的"分词化"(Tokenization)策略存在严重缺陷:
- Naive Tokenization(朴素分词): 简单地将每个动作维度在每个时间步独立离散化(例如分为256个bin)。
- 高频控制的挑战: 这种方法在低频控制(如5Hz)下有效,但在高频(如50Hz)或灵巧操作任务中失效。因为高频采样导致相邻时间步的动作高度相关(冗余),使得"下一个token预测"任务的边际信息量趋近于零,模型难以收敛,往往陷入仅复制上一步动作的局部最优解。
解决方案:FAST
论文提出了 Frequency-space Action Sequence Tokenization (FAST)。
- 核心:将动作序列视为一种需要压缩的时间序列信号(类似图像或音频)。
- 方法:利用 离散余弦变换 (DCT) 将动作转换到频域,再结合 字节对编码 (BPE) 进行压缩。
- 效果:能够高效训练高频、高灵巧度的VLA策略,且训练速度比扩散模型(Diffusion VLA)快5倍。
2. 技术细节:FAST 分词管线 (Methodology)
FAST 的处理流程设计为对"动作块"(Action Chunk,例如1秒的动作序列)进行操作。
Step 1: 归一化 (Normalization)
- 使用分位数(Quantiles)归一化,将动作值映射到 [ − 1 , 1 ] [-1, 1] [−1,1] 区间。
- 细节: 使用第1和第99分位数来确定范围,以增强对不同机器人数据集中离群值的鲁棒性。
Step 2: 频域变换 (DCT Transform)
- 对每个动作维度的时序信号分别应用 离散余弦变换 (DCT)。
- 原因: 动作通常是平滑的,低频分量包含主要形状信息,高频分量包含突变。DCT能将大部分信息集中在少数系数上(能量压缩)。它是解析解,无需训练,速度极快。
Step 3: 量化与修剪 (Quantization)
- 操作: 对DCT系数乘以一个缩放因子 γ \gamma γ(超参数,文中取10),然后四舍五入取整。
- 结果: 产生一个稀疏的整数矩阵,许多不重要的高频系数变为0。
Step 4: 展平 (Flattening) - 关键细节
- 将稀疏矩阵展平为一维整数序列。
- 顺序至关重要: 采用 Column-first(列优先/低频优先)策略。即先排列所有维度的最低频系数,再排列次低频系数,以此类推。
- 原理: 在自回归预测中,先预测决定整体动作轨迹形状的低频分量,能生成更稳定的轨迹。
Step 5: BPE 压缩 (Byte Pair Encoding)
- 使用 BPE 算法训练一个词表(文中词表大小为1024),将频繁出现的整数子序列合并为单个Token。
- 作用:
- 极大地压缩了序列长度(特别是去除了大量的0值冗余)。
- 将动作表示为固定词表内的Token,可以直接嵌入到VLM的词表中进行端到端训练。
3. 通用动作分词器:FAST+
作者基于 FAST 方法训练了一个通用的分词器 FAST+。
- 数据规模: 使用了约100万个1秒长的动作块。
- 数据多样性: 涵盖单臂、双臂、移动底盘、灵巧手、人形机器人等多种形态,以及不同的控制频率。
- 结论: FAST+ 作为一个"黑盒"分词器,在未见过的机器人数据集上表现与专门为该数据集训练的Tokenizer几乎一样好。这消除了为新数据集重新训练Tokenizer的摩擦成本。
4. 实验结果与结论 (Experiments & Findings)
作者在 π 0 \pi_0 π0 (PaliGemma-3B) 和 OpenVLA 架构上验证了 FAST。
A. 性能对比
- vs. Naive Binning: 在高频任务(如50Hz的T-shirt折叠,20Hz的餐桌清理)中,Naive方法完全失败(成功率接近0),而 FAST 表现优异。
- vs. FSQ (Vector Quantization): FAST 在灵巧操作任务上优于基于学习的矢量量化方法(FSQ),且更易于调参。
- vs. Diffusion VLA ( π 0 \pi_0 π0-flow):
- 性能: FAST 自回归模型在所有任务上匹配了最先进的扩散 VLA ( π 0 \pi_0 π0) 的性能。
- 训练效率: FAST 模型的收敛速度极快,达到相同性能所需的计算量(GPU小时数)比扩散模型 少5倍。
B. 泛化能力
- Zero-shot DROID: 训练出的策略是第一个能在 零样本 (Zero-shot) 条件下,仅通过自然语言提示,就在未见过的环境(新背景、新物体、新视角)中完成 DROID 数据集任务的模型。
- 通用性: FAST+ 在不同机器人形态(如人形机器人、四足机器人)上均实现了高压缩率。
C. 推理速度 (局限性)
- 虽然训练快5倍,但 推理速度慢于扩散模型。
- 数据: π 0 \pi_0 π0 Diffusion 生成1秒动作需 ~100ms; π 0 \pi_0 π0 FAST 需 ~750ms。
- 原因: 自回归模型需要串行解码数十个Token(30-60步),而扩散模型仅需少量去噪步数(10步),且自回归每一步都运行庞大的LLM主干。
5. 核心结论与启示
- 分词策略决定上限: 对于高频机器人控制,简单的离散化是瓶颈。利用信号处理(DCT)去除时序冗余是让自回归模型学会高难度动作的关键。
- 压缩即智能: 更好的动作压缩带来了更高效的学习信号。FAST 通过 DCT+BPE 将长序列动作压缩为少量高信息密度的 Token。
- 自回归不死: 尽管扩散策略(Diffusion Policy)近期流行,但配合高效分词的自回归 VLA 在性能上完全不输,且训练效率更高。
- 通用性可行: 动作数据的频域特征在不同机器人之间具有共性,使得构建通用的机器人动作分词器(FAST+)成为可能。
代码调用示例
论文提供了 HuggingFace 风格的易用接口:
python
from transformers import AutoProcessor
tokenizer = AutoProcessor.from_pretrained("physical-intelligence/fast", trust_remote_code=True)
tokens = tokenizer(action_chunk) # 一键分词