枢纽
机器人OpenX 本体
上真机
实时
输入模态vision,language

FAST:把机器人动作「JPEG 压缩」后再丢给 Transformer 预测

Karl Pertsch, Kyle Stachowicz, Brian Ichter, Danny Driess, Suraj Nair, Quan Vuong, Oier Mees, Chelsea Finn, Sergey Levine(Physical Intelligence + UC Berkeley + Stanford)。arXiv:2501.09747v1 (2025-01-16)。 项目页 · 开源(FAST+ HuggingFace 权重)· VLAaction tokenization 线索 T05

🧠 一句话心智模型:自回归 VLA(像 OpenVLA / RT-2 那种「下一个 token」式输出动作的模型)在高频灵巧任务上崩,根因是动作 token 相邻太相似——网络学会「抄上一步」就能拿低 loss。FAST 的解法极其朴素:先把动作序列用 DCT(离散余弦变换)+ BPE 压缩成一小撮高信息 token,再让 Transformer 预测——就像 JPEG 把图像压成少数关键频率系数,再把预测空间从「稠密逐拍」变成「稀疏频率」。

🎯 为什么重要:动作 token 化曾是 VLA 的隐形天花板

要把 VLA 做成「下一个 token 预测」(和 LLM 同款训练目标),就必须先把连续动作切成离散 token。过去的主流做法(RT-2、OpenVLA)是逐维度、逐时刻地把动作值分到 256 个 bin——简单粗暴。

作者用一个插值玩具实验(Fig.3)揭了底:给定 4 个点,预测插值的样条曲线。当采样率从 25 提到 800 时:

核心矛盾:相邻 token 越相似,「下一个 token 预测」的边际信息量越接近 0——模型只要学会「复制上一步」就能蒙混过关,掉进糟糕局部最优。论文原话:「low token prediction loss can often be achieved with mappings as trivial as simply copying the most recent action token」。这就是为什么 OpenVLA 在 5Hz 的 BridgeV2 上行,但在 15Hz 的 DROID 上完全跑不动

问题不在「模型不够大」,也不在「数据不够多」,而在动作信号的表示形式错了——它本来就是高度冗余的时序信号。语言模型能用 BPE 把英文压成 1 token/词,因为英文天生就稀疏;但机器人动作「每一拍都很像上一拍」,必须主动压缩才能喂给自回归 Transformer。

(a)Binning 分箱 每维每拍 → 256 bin · 每拍独立 · 相邻 token 高度相关 · 高频时崩(抄上一步) DROID 105 → T-shirt 700 token/s ❌ 高频任务失效 (b)VQ-VAE / FSQ 学一个编码器量化 · 能压缩 · 但需调超参 · 重建质量敏感 额外训练一个网络 ⚠️ 工程负担重 (c)FAST ✅ DCT + BPE 解析压缩 · 无需训练(除 BPE 词表) · 2 个超参,跨数据集通用 · 高频任务大幅压缩 T-shirt 折叠:700 → 53 token 全都要
图 1:动作 tokenization 三条路。FAST 选择「解析式压缩(DCT)+ 无损压缩(BPE)」组合——和 JPEG+BPE 处理图像/文本的思路同源。

💡 核心思想:把动作当信号,先 DCT 再 BPE

FAST 把动作序列当一段一维信号,套用 JPEG 压缩图像的同款思路:信号 → 频域 → 砍高频 → 无损压零。三步全部解析可逆,推理时解码极快。

① 归一化 动作 chunk 1 秒, |A|×H quantile → [-1,1] ② DCT 变换 时域 → 频域 每维独立 能量集中在低频 ③ 量化 scale × γ + round() 稀疏矩阵(多 0) ④ 展平 低频优先 跨维交错 [C̄₁₁,C̄₁₂,...,C̄₂₁,...] ⑤ BPE 无损压缩 合并常见模式 词表 1024 吞掉大片 0 类比:JPEG = DCT + 量化 + 熵编码;FAST = DCT + 量化 + BPE BPE 是 LLM 文本 tokenization 的标准做法(GPT/BPE 同源),可直接复用 VLM 词表
图 2:FAST 流水线(论文 Fig.4 / Algorithm 1)。归一化 → DCT → 量化 → 展平(低频优先)→ BPE。每一步都可逆,推理时反向解码。

两个小巧思让 FAST 真正好用:

  • 低频优先展平:把所有维度的最低频系数排在前面,让 Transformer 自回归时先预测整体形状,再补细节——和人类画画「先打稿再上色」同理,rollout 更稳。
  • BPE 是唯一学到的部分:DCT 是解析的,BPE 只需训个词表(几分钟)。这让 FAST 几乎「零训练成本」就能用,远比 VQ-VAE 省心。

🛠️ 三个让 FAST 真好用的关键设计

设计心智为什么必要
① DCT(而非 DFT / 小波)把动作看成一段平滑信号,转成频率系数;低频 = 整体形状,高频 = 细节抖动机器人动作大多平滑(关节角、末端速度),低频分量就能描述大部分能量 → 砍掉高频系数几乎无损(同 JPEG 之于照片)
② scale-and-round 量化乘以 γ 后取整,丢弃小幅系数γ 是唯一调参(论文用 γ=10),在压缩率和重建精度间 trade-off;量化后系数矩阵大半为 0,为下一步 BPE 铺路
③ BPE(byte-pair encoding)把频繁共现的整数序列合并成新 token(GPT/LLM 同款算法)无损地把稀疏矩阵压成定长词表(1024),且直接接入预训练 VLM 的 vocabulary——无需改 backbone
🔮 直觉:为什么压缩 = 训练加速?
自回归 VLA 的训练信号 ∝ 「给定前面 token,预测下一个 token 的边际信息量」。Binning tokenization 下,相邻 token 几乎相同 → 边际信息 ≈ 0 → 学不动。FAST 把冗余压没了,每个 token 都携带新信息 → 同样算力下学得快、学得准。论文实测:T-shirt 折叠任务 token 数 700 → 53(13.2× 压缩),训练信号密度同步 ×10。

📊 关键结果:高频任务 5-13× 压缩,π0-FAST 训练快 5×

Table I:动作 chunk 压缩(1 秒 chunk,token 数对比)

数据集动作维度控制频率Binning tokenFAST token压缩比
BridgeV275 Hz35201.75×
DROID715 Hz105293.6×
Table Bussing720 Hz140285.0×
T-Shirt Folding14(双臂)50 Hz7005313.2×

观察:频率越高、维度越多,FAST 收益越大。所有领域每条手臂约稳定 30 token,几乎不随频率变——说明 FAST 抓住了信号的「真实复杂度」。

Fig.6 / Fig.9:训练性能(vs binning / 扩散 π0)

维度数字(PDF 溯源)
任务覆盖7 个评测环境(6 真机 + 1 仿真:Libero / DROID / Table Bussing 20Hz / T-Shirt Folding 50Hz / Grocery Bagging / Toast / Laundry Folding 50Hz)
Binning 表现在 Table Bussing(20Hz)和 T-Shirt Folding(50Hz)完全无法做出进展(论文:「unable to make progress」)
FAST vs FSQFAST 在灵巧真机任务上「as good or at times better」,且无需训练额外网络
π0-FAST vs 扩散 π0性能持平(包括最难的 Laundry Folding),但 训练只需 1/5 GPU 时
OpenVLA + FASTOpenVLA 在 T-Shirt Folding 上原本训不动;换用 FAST 后能训起来 → 说明 FAST 与 backbone 解耦
DROID 零样本首次实现 DROID 策略零样本部署到完全未见的环境(3 所大学场景),仅靠自然语言提示
主要代价:推理慢。π0-FAST 一个 1 秒 chunk 需 ~750 ms(30-60 个 action token 都要走完整 2B 参数 LM 自回归解码),而扩散 π0 仅需 100 ms(10 步扩散 + 300M action expert)。作者明确指出这是当前局限,未来靠 speculative decoding / 量化 / custom kernel 提速。
关键洞察:FAST 不是「在某一个任务上赢了一点」,而是把自回归 VLA 从「只能做低频简单任务」推进到「能做 50Hz 双臂折衣服」。瓶颈从来不是模型容量,而是「动作表示」——压缩即效率。

🌐 在领域中的位置

RT-2 / OpenVLA(binning 256) FAST / FAST+(DCT + BPE 压缩)⭐ π0-FAST(自回归 VLA 与扩散 VLA 持平) speculative decoding / action expert 提速

FAST 是自回归 VLA 「再扳回一城」的关键。此前人们以为扩散 VLA(π0、RDT-1B)注定赢——因为 binning 在高频任务上崩。FAST 证明:只要 tokenization 选对,自回归 VLA 也能做灵巧任务,且训练比扩散快 5×。关联线索:T05 扩散策略谱系(与扩散头对照)。

❓ 常见误区

FAST 是一种新的 VLA 模型架构吗?

不是。FAST 只是一个 tokenizer——把连续动作序列转成离散 token 的方法。它可以叠加在 π0、OpenVLA 等任何自回归 VLA 上,无需改 backbone。论文把它和 π0 / OpenVLA 都组合实验过。

DCT 不是有损吗?压缩后动作精度会不会变差?

有损的部分在量化(scale-and-round),但 γ 可调。论文 Table I 的对比是在「重建精度相当」的设置下做的——FAST 既压得紧又重建得准。BPE 本身是无损的。整体 trade-off 远优于 VQ-VAE。

那为什么不直接用 VQ-VAE / FSQ 学一个编码器?

能做,论文也对比了 FSQ——但 VQ 类方法需额外训练一个网络,超参敏感,重建质量随数据集结构变化。FAST 无需训练神经网络(BPE 词表训练只要几分钟),2 个超参(scale γ=10、BPE 词表 1024)跨数据集通用。简单就是胜利。

FAST+ 通用 tokenizer 是怎么训的?

1M 条 1 秒真实机器人动作 chunk 上训练 BPE 词表,覆盖单臂 / 双臂 / 移动操作、关节 / 末端控制、多种频率。发布为 HuggingFace AutoProcessor,三行代码即可用作黑盒 tokenizer。在未见过的机器人上仍有 2× 以上压缩。

推理 750ms 一个 chunk,控制不就慢了吗?

是当前主要局限。但 1 秒 chunk 只需预测一次(执行整秒),750ms 离线预测 + 1s 执行 → 实际控制频率不受影响,只是首次延迟较高。论文说在静态操作任务上未观察到性能损失。未来靠 LLM 推理加速技术(speculative decoding 等)解决。