枢纽
上真机
实时
输入模态vision,language,proprioception

X-VLA:用「软提示」把跨机体异构数据驯服成一台通用 VLA

Jinliang Zheng, Jianxiong Li 等(清华 AIR + 上海 AI Lab + 北大)。arXiv:2510.10274, 2025-10。 项目页 · foundation_modelsVLA 线索 T06

🧠 一句话心智模型:跨机体数据混合训练时,别再给每个机器人单独配「动作头」或写硬编码语言描述了——给每个数据源配一小撮可学习的「软提示」token,让模型自己学出「这把机体长什么样、相机怎么摆、控制频率多少」。最妙的是:这玩意儿只在「动作生成前」轻轻一注,主干完全共享,0.9B 的 X-VLA 用 1% 参数 (9M) LoRA 微调就能追平 3B 的 π0

🎯 为什么重要:异构数据是 VLA 的「真正暗礁」

VLA 想成为通用机器人基础模型,必须吃下「跨机体大数据」。但数据一混进来就出问题:每个机器人都有自己的动作空间、相机视角、控制频率、任务分布,简单一锅炖会让模型 confused。论文把现有方案的盲点列得很清楚:

核心矛盾:现有 VLA(π0、GR00T-N1、UniAct 等)只给每个机体配一个「专属动作头」就完事——但异构性不止在「动作」,还在视觉域、相机布置、任务分布。这些差异从输入端就把模型搞糊涂了,导致预训练发散、迁移效果差。

作者把这个问题抽象成「如何把硬件配置 $h_i$ 注入模型」,并对比了四种方案(论文 Fig.2)。结论:只有Soft Prompt 既不破坏预训练表征,也不需要人工标注。

💡 核心思想:硬件配置 → 一组可学习 token,端到端学出来

(a) 专属动作头 π0 / GR00T-N1 路线 只在最后输出层分流 → 早期推理没机体感 视野太窄 (b) HPT 投影 观察输入端加投影层 → 扰动 VLM 预训练表征 → 训练不稳 伤主干 (c) 语言提示 「这台机器人是…」 用 VLM 的语言能力 → 要人工写描述 难扩展 (d) Soft Prompt ✅ 每个数据源一组可学 token p_i ≈ Φ(h_i) 注入到自注意力 两全其美 X-VLA 主干:Soft-prompted Self-attention Transformer 多视角图像 固定视角 + wrist 语言 + 本体 + 噪声动作 VLM 编码器 Florence-Large 共享 ViT wrist 视角 Soft Prompt p_i (按数据源) 按 dataset ID 查 Transformer 自注意力 × 24 hidden 1024 Flow Matching 解码 噪声 → 动作 chunk EEF 6D + gripper
图 1:上半是四种「跨机体异构」处理方案对比(依 Fig.2 重绘);下半是 X-VLA 主干——Soft Prompt 作为额外的可学习 token,与视觉/语言/动作 token 一起进 self-attention,从而在特征融合早期就把机体差异注入了。

形式化地,每个数据源 $i$ 配一组可学习 embedding $p_i \in \mathbb{R}^k$,满足 $p_i \approx \Phi(h_i)$,其中 $\Phi: \mathcal{H} \to \mathbb{R}^k$ 不是人工定义的(区别于方案 c),而是随机初始化 + 端到端学出来。推理时按 dataset ID 查表得到 $p_i$,作为额外 token 拼进序列。

🛠️ 让 0.9B 的小模型跑赢 7B 的四个工程设计

设计心智为什么必要
① 双流视觉编码固定视角+语言喂 Florence VLM;wrist 视角单独走共享 ViTwrist 视角「噪声大、变化快」,硬塞进 VLM 会污染语义推理;分两条流既保高层理解又保精细操控
② 统一 EEF 动作空间所有机体动作统一成「EEF xyz + Rotate6D 旋转 + 二值 gripper」避免欧拉角/四元数的不连续性;不同机体的动作头被拉到同一语义层,软提示才能聚焦于「硬件差异」本身
③ Intention Abstraction(意图下采样)预训练时不预测每帧 EEF,而是预测「未来 4 秒的 30 个锚点」原始轨迹太细碎、含人类抖动噪声;下采样后的「意图序列」更适合让 VLM 学到高层规划
④ 两步适配(warm-up + joint)新机体 $h_{new}$:先冻主干只训新 $p_{new}$,再解冻联合微调(可叠 LoRA)第一步把新提示「对齐到」预训练的机体无关流形上,给联合训练一个好起点——这步是从 LLM→VLM 适配借鉴的
🔮 直觉:为什么软提示比「专属动作头」强?
动作头只在「最后一公里」分流——但机体差异在「输入端」就已经分裂了(wrist 相机视角、控制频率、任务先验都不同)。软提示 token 进了每一层自注意力,等于给整个网络戴了一副「机体有色眼镜」,让所有推理都带着「我现在在哪台机器人上」的觉知。这就是为什么 Fig.4 里只有 Soft Prompt 的训练曲线稳定收敛。

📊 关键结果:0.9B 在 6 仿真 + 3 真机上拿到 5 项 SOTA

评估数字(原文溯源)
主干规模X-VLA-0.9B(hidden 1024,24 层 Transformer),预训练 290K episodes / 7 数据源 / 5 种机械臂
预训练数据混合AGIBOT 48.8% · Franka-Droid 15.8%(左视角)+ 15.8%(右视角)· UR-5 8.7% · Franka-RoboMind 6.7% · Agilex 3.7% · Dual-Franka 0.8%
Libero(4 任务集平均)98.1%(SOTA,超过此前 97.1%)
Simpler-WidowX95.8%(远超此前 SOTA 71.9%)
RoboTwin-2.0 PS70.0(超过 π0 的 46.4)
VLABench PDMS39.0(超过 π0 的 16.4)
NAVSIM(自动驾驶 PDMS)87.3(超过 UniVLA 9B 的 81.7)
真机叠布任务1200 段演示微调 → ~100% 成功率33 折/小时,可比闭源 π0-folding
PEFT(LoRA, 9M 参数 ≈ 1%)Libero 93% / Simpler-WidowX 54%;π0 全参微调(3B)为 94.2% / 55.7%——用 1/300 的参数追平
关键洞察:T-SNE 可视化(Fig.8)显示,两个 Franka-Droid 数据源(仅主视角不同)的软提示是「交织」在一起的,而单臂/双臂/不同视角的机体则成独立簇。这说明软提示不是「硬查表」,而是真的学到了「硬件相似度」的几何结构——这正是它能跨机体迁移的根本原因。

🌐 在领域中的位置

RT-2 / OpenVLA(7B 单机体) π0 / GR00T-N1(多机体 + 专属动作头) X-VLA(软提示 + 共享主干)⭐ 未来:用软提示做「机体 continual learning」

X-VLA 在 T06 VLA 五阶段 里属于「跨机体基础模型」阶段的代表作。它把 NLP 里的 prompt-learning 思想干净地搬到了机器人上,用「最小可学参数」解决异构性——避免了 HPT 那种观察投影对 VLM 表征的破坏。后续像 UniVLA、BeyondMimic 等都开始吸收这套设计哲学。

❓ 常见误区

软提示和「专属动作头」是不是一回事?

不是。专属动作头只在最后输出层分流(解决动作维度不同);软提示是每个数据源一组 token,从输入自注意力就注入,影响整条推理链。前者只解决「动作异构」,后者还吃下了「视觉/相机/任务分布」的异构。论文 Fig.4 显示前者训练会发散,后者稳定。

0.9B 凭什么打 7B?是不是 cherry-pick?

作者的解释很直接:(1) 软提示让小模型也能高效吃下异构数据;(2) flow-matching + 标准 Transformer 比 DiT-style decoder 更稳;(3) 预训练验证误差与下游成功率强相关(Tab.1)——所以小模型只要训练 recipe 好,验证误差降下来,下游就能赢。但作者也承认在最大规模上仍未饱和(Fig.5),更大模型还会更好。

「Intention Abstraction」为什么不是 lossy 压缩?

只在预训练阶段下采样到 30 个锚点;下游适配时还会回到原始分辨率。这其实是「粗粒度预训练 + 细粒度微调」的经典套路——粗粒度让 VLM 学到任务意图,细粒度让 decoder 学到精确执行。 跨机体能不能不靠 dataset ID?

不能直接绕开——软提示是按 dataset ID 查表的。但 Fig.9 的实验显示,把别的单臂机体的预训练软提示迁移到 WidowX(预训练没见过)也能加速收敛,说明 $p_i$ 学到了「单臂 vs 双臂」「视角配置」等可迁移特征,未来可以做成「机体画像 → 提示初始化」的 zero-shot 推理。