Wall-X · WALL-OSS Qwen2.5-VL + MoE · Flow / FAST
X²-Robotics 开源具身基础模型系列 · 4B 参数 · 20+ 具身平台 · 完整 CUDA 加速栈
Wall-X 是国内团队 X² Robotics(X-Square-Robot)2025-09 起陆续开源的一整套具身基础模型(Embodied Foundation Model)框架 —— 包含预训练权重(WALL-OSS 家族)、训练/推理代码栈、以及自研 CUDA 加速核。它把「一台机器人如何看图 → 理解语言 → 输出动作」这条完整链路做成了一个可复现、可微调的开源基线,是当前为数不多敢直接叫「foundation model」的中国大陆团队开源项目。
核心卖点一句话:用 Mixture-of-Transformers(MoT)把 VLM(Qwen2.5-VL)主干和动作专家在每一层都拆成两组权重 —— 视觉/文本/离散动作 token 走 VL Expert,连续动作走 Action Expert;但梯度端到端穿过两侧,只是路由拆分不是梯度隔离。推理时两个专家通过自研的非对称双专家 GEMM kernel(dual_asym_grouped_gemm.cu)并行走,配合 CUDA Graph capture 相对 PyTorch eager 快 4×、单卡 15 Hz 实时控制。相比 π₀ / OpenVLA 只写好推理接口,Wall-X 把训练侧也全部开源。
Wall-OSS-0.5 关键成绩
+17.5 pp · 相对 DreamZero(33.4%)高 +27.1 pp · arXiv 2605.30877Wall-OSS-0.5 是 4B 参数(
3B VLM + 约 1B 动作专家)· 训练时跨 20+ 具身平台 · 每 epoch 消化 >1M 条真机轨迹。
「60.5%」不是准确率 —— 是 100 分制的"任务进度"平均分
论文里的核心指标是 Task Progress(任务进度评分),满分 100,每个任务由预定义 rubric 打分,评估的是「部分完成度」而不是"成功/失败"二值。相比 binary success rate 更适合衡量 VLA 的基础操纵能力。所以 60.5 只是15 项的平均,单看某些强项分数很高:
| 阶段 | 典型高分单任务 | 分数 | 对照 π₀.₅ |
|---|---|---|---|
| 零样本(400k pretrain ckpt · 未 fine-tune) | Block Sorting(积木分类) | 100 | — |
| Fruit Sorting(水果分类) | 96 | — | |
| Ring Stacking(叠环) | 86 | — | |
| Rope Tightening(拉紧绳索 · unseen 变形) | 82 | — | |
| Fine-tuned(500 demo / 任务) | Color Block Sorting | 96 | 42 |
| Ring Stacking | 91 | 60 | |
| Spoon-in-Bowl | 80 | 43 | |
| Drawer Organization | 52 | 7 |
整体 60.5 之所以被"拉下来",主要是几项难任务:Pencil Case Packing 18.5%(双臂变形物细粒度操作)、Towel Folding 零样本仅 10%(毛巾折叠)、Table Setting 9%、Charger Plugging 9%。这类任务是当前所有 VLA 的公共短板,不是 Wall-OSS-0.5 独有。
换句话说:训练好后单项做到 96% 是常见的(多个任务达到),但把 15 项都平均起来后能到 60.5% 才是这份技术报告真正的贡献 —— 它同时把 15 项都拉高,而不是只在某一项刷分。
细分子集分(fine-tuned)
| 模型 | Manipulation (10 tasks) | Reasoning (5 tasks) | Overall (15) |
|---|---|---|---|
| Wall-OSS-0.5 | 61.1 | 59.3 | 60.5 |
| π₀.₅ | 35.0 | 58.9 | 43.0 |
| DreamZero | 33.7 | 32.7 | 33.4 |
操纵子集领先幅度更大(+26.1 pp),推理子集与 π₀.₅ 打平(+0.4 pp)—— 说明 Wall-OSS-0.5 的相对优势主要来自"敢让手动起来"这一侧,语言 grounding 上 π₀.₅ 本来就不弱。
产品线一览
| 模型 / 版本 | 发布 | 关键定位 | arXiv |
|---|---|---|---|
| WALL-OSS 初代 |
2025-09 | Qwen2.5-VL backbone + Unified Cross-Level CoT · 引入「指令推理 → 子目标分解 → 细粒度动作合成」端到端可微框架 | 2509.11766 |
| WALL-OSS-Flow | 2025-09 | 动作专家 = flow-matching 连续动作生成 · 对应 π₀ 家族路线 · 轨迹更平滑 | — |
| WALL-OSS-Fast | 2025-09 | 动作专家 = FAST tokens 快速离散 · 对应 OpenVLA / RT-2 路线 · 单步延迟低 | — |
| Wall-OSS-0.5 ⭐ | 2026-05-29 | Gradient-Bridged Co-Training + MoT 骨干 + Vision-Aligned RVQ Action Tokenizer · 4B · 跨 20+ 具身预训练 · 15 真机任务 60.5%(比 π₀.₅ 高 17.5 pp) | 2605.30877 |
| WALL-WM World Action Model |
2026-06-01 | Event-grounded VLA 预训练 · 用「语义事件」代替固定长度 chunk · Staircase Decoding + Muon 优化器 | 2606.01955 |
| Wall-X 1.1.0 训练/推理栈 |
2026-06 | 整合以上模型的通用训练 / 推理 / 部署框架 · 就是本篇讲的 GitHub 仓库 | — |
架构:MoT 骨干 + RVQ 动作 Tokenizer + Action-Space Flow Matching
论文术语 vs 代码术语(避免混淆)
Wall-OSS-0.5 论文里用的是 Mixture-of-Transformers(MoT) —— 每一层把权重拆成 VL Expert(吃 vision / text / 离散 action token)和 Action Expert(吃连续 action 信号)两组,视为路由拆分:token 走不同路径,但梯度端到端穿过两侧。GitHub 代码里的类名叫 Qwen2_5_VLMoEModel(把两组 expert 用 MoE 风格 API 组织),底层机制是一致的 —— 不是常见 Switch Transformer 那种 top-k 路由 MoE。
核心带来的三个能力
- VLM 分支的原生能力不丢:训练时可以只训动作专家 / 冻结 VLM,也可以给两边分别配学习率(
QwenVlAct_Trainer支持) - 推理时两个专家可以并行:靠自研的
dual_asym_grouped_gemmkernel,把两组权重形状不同的 GEMM 融合成一次调用 - 下游微调时可以只替换动作头:Flow / Fast 两个动作头共享同一个 VLM 冷启点
动作 tokenizer 的路线迭代
- 初代(WALL-OSS-Fast):FAST tokens 离散动作 head,规则式,把动作压成 200-400 个 token 交给 backbone 自回归吐出 —— 沿用 OpenVLA / RT-2 路线
- Wall-OSS-0.5:改用 Vision-Aligned RVQ Action Tokenizer(残差向量量化)—— 让离散 action token 变成对 VLM 语义更"友好"的训练接口,梯度桥(gradient bridge)借此把 VLM 原生的 next-token CE 强梯度导回骨干
动作专家两种规格(对应两条产品线)
- WALL-OSS-Flow:flow-matching head,连续动作直接从噪声流到目标轨迹。Wall-OSS-0.5 上进一步用 Action-Space Supervision(loss 直接落在 raw action space、不是常规的 velocity field),收敛更快、连续动作更稳
- WALL-OSS-Fast:FAST token 快速离散动作,单步延迟低 · 是 Flow 版的对照品,也是初代设计
参数规格(Wall-OSS-0.5)
- VLM backbone:
3B参数(Qwen2.5-VL 3B 系) - 动作专家:约
1B参数 - 合计:
~4B· 相比 π₀(约 3B)稍大、相比 GR00T N1(2B)大、相比 OpenVLA(7B)小 - 推理:CUDA Graph capture + 自研融合算子 · 相对 PyTorch eager
4×端到端加速 · 高分辨率下15 Hz实时控制
Unified Cross-Level CoT(跨层次统一思维链)
Wall-OSS 论文最核心的一句话是:"seamlessly unifying instruction reasoning, subgoal decomposition, and fine-grained action synthesis within a single differentiable framework"。翻成人话就是三层内容都在同一张网里、同一次前向、同一份梯度里走:
| 层次 | 输入 | 输出 | 损失来源 |
|---|---|---|---|
| 1. 指令推理 | 自然语言指令 + 观测 | 子目标文本("先抓起红杯子放到左侧") | VLM 自监督 token loss |
| 2. 子目标分解 | 子目标 + 当前状态 | 短期动作规划(一段 chunk) | 子目标标注 + 动作 chunk 监督 |
| 3. 细粒度动作合成 | 短期规划 + 本体感受 | 逐帧 joint / eef action | Flow matching 或 FAST token loss |
常规 VLA 会把这三层拆到三张网(LLM planner + policy),跨网通信只能靠文本或 latent — 梯度断了、部署链路长、失配严重。Wall-OSS 把三层塞进一个 backbone,梯度可以从「最细粒度的动作 loss」一路反传回「最上层的语言推理」层,这是它相比 Qwen-VLA 的差异点之一。
Gradient-Bridged Co-Training(Wall-OSS-0.5 关键技术)
Wall-OSS-0.5 论文提出的训练配方,回答了一个尖锐问题:大规模 VLA 预训练到底能产出可执行行为,还是只能提供下游微调的初始化? 答案是需要三个互补的训练目标同时挂上去:
- 离散动作预测(FAST-style token)—— 提供强 VLM-native 梯度把动作监督"导"回 backbone。因为离散 token 和文本 token 同类,backbone 的原生梯度通路可以直接吃
- 多模态预测(图像-文本-动作互相预测)—— 保留 VLM 的视觉语言语义 grounding 能力,避免"过拟合到动作"导致语义崩塌
- 连续 flow matching—— 作为部署时的动作接口,输出平滑连续的轨迹
三者共享同一个 backbone,梯度像「桥」一样把 backbone 的 VLM 能力和动作专家的控制能力桥接起来 —— 这就是 "Gradient-Bridged" 的含义。结果:零样本已能完成 17-task suite 里的若干任务、微调后 15 真机任务上做到 60.5% 平均进度,比 π₀.₅ 高 17.5 个百分点。
WALL-WM · 世界动作模型
Wall-WM(World Action Model)是 2026-06 发布的一个方向性尝试:把视频-动作学习从「chunk-centric 优化」转到「event-grounded VLA 预训练」。传统做法是把连续视频切成固定长度 chunk(比如每 16 帧一段)算 loss;Wall-WM 反过来,用语义连贯的动作事件作为原子单位。
两种推理模式
- Event mode:模型消化"下一个事件描述"(如"接住球"),执行变长动作直到该事件完成 —— 适合长程任务
- Unified mode:VLM 用 Staircase Decoding(阶梯解码)输出定长预测 —— 适合固定周期控制
训练细节
- 事件级 caption 监督(每个 chunk 有语义标签)
- Cluster-balanced sampling 平衡长尾
- Muon 优化器 —— 这是 Wall-X 系列里首次公开使用 Muon 训 VLA 的技术报告
相较之下 Qwen-VLA 用的是标准 chunk-centric flow matching;Wall-WM 走的是一条相对激进的替代路线,还没有完全对齐的公开基准分数,但方向值得跟踪。
CUDA 加速栈
| Kernel | 作用 | 受益场景 |
|---|---|---|
dual_asym_grouped_gemm.cu |
对两组形状不同的专家权重做批量 GEMM —— 把 VLM 分支和动作专家分支的 MoE 前向融合成一次 kernel 调用 | 推理关键路径 · 消除专家切换的 kernel launch 开销 |
permute.cu |
MoE 场景常见的 token permutation(把不同专家路由到的 token 重排到一起再 gather) | MoE 前向必经步骤 |
rope.cu |
手写 Rotary Position Embedding · 支持 Qwen2.5-VL 特有的多模态 rope 分段 | Attention 前置计算 |
底层基于 CUTLASS,位于仓库 csrc/ 目录。这套 kernel 是 Wall-X 相较其它开源 VLA 的显著差异 —— 大部分开源 VLA 都只写训练脚本 + 依赖 PyTorch 现成算子;Wall-X 直接把推理加速这一层也扔进了仓库,工程完成度更高。
训练数据 · 三源混合
Wall-OSS-0.5 论文明确的数据配方
- 高质量自采操纵数据:X² Robotics 自家收集的真机轨迹,占据核心操纵能力的监督来源
- 开源多具身轨迹:OXE · DROID · RoboMind / RoboMind2 · AgiBot World · Bridge V2 · RT-1 —— 共同支撑「跨 20+ 具身平台」的宽度
- 多模态语料:
90M样本 · 其中含12M条"embodied bridge samples"(从机器人观测视角合成的 grounding + spatial-decision 监督)· 用来抵消动作 token CE 训练带来的多模态能力退化压力
训练体量
- 单 epoch 处理:
>1M条真机轨迹(加上多模态语料)· 跨20+具身平台(各种单臂、双臂、移动底盘) - 轨迹结构:多相机 RGB(head + wrist 常见)+ 关节角度 + 末端执行器(eef)位姿 + 语言指令
- 训练方式:单阶段联合训练(single-stage co-training)· 三个损失(动作 token CE / 多模态 CE / flow matching)同时挂上
- 数据管线:GitHub 仓库走 LeRobot HDF5 ·
PreprocessedDataset+DataCollator· 可直接读 HF LeRobot dataset
注意:训练数据 mixture 里没有明确的仿真合成数据来源 —— Wall-OSS 走的是"广采真机 + 多模态"路线,和 GR00T N1 大量依赖 Isaac Sim 合成的路径明显不同。
和其它开源 VLA 的横向对比
| 模型 | Backbone | 动作头 | 参数 | 训练开源? | 推理加速 |
|---|---|---|---|---|---|
| Wall-X / WALL-OSS-0.5 | Qwen2.5-VL 3B | Flow + FAST 双动作头 | ~4B | ✅ 全流程 | ✅ 自研 CUDA |
| OpenVLA | Llama-2 7B + SigLIP/DINOv2 | 离散 action token | 7B | ✅ | ❌ |
| π₀ / π₀.₅ | PaliGemma 3B | Flow matching | ~3B | 部分 | ❌ |
| GR00T N1 | Eagle-2 | Diffusion Policy 双系统 | ~2B | 部分 | NVIDIA 私有栈 |
| Qwen-VLA(闭源) | Qwen3.5 4B | DiT flow matching 1.15B | ~5B | ❌ | — |
| X-VLA | Soft-prompted foundation | Flow matching | ~0.9B | 部分 | ❌ |
"训练开源"指是否公开了完整训练脚本 + 数据处理 pipeline + 分布式配置,而不是只放推理权重。Wall-X 是当前最完整的开源 VLA 之一。
典型用法
1. 下载权重(HF)
huggingface-cli download x-square-robotics/wall-oss-flow --local-dir ./wall-oss-flow huggingface-cli download x-square-robotics/wall-oss-fast --local-dir ./wall-oss-fast huggingface-cli download x-square-robotics/wall-oss-0.5 --local-dir ./wall-oss-0.5
2. 编译 CUDA kernels
cd wall-x pip install -e . # 触发 csrc/ 编译 · 需要 CUTLASS + CUDA 12.x
3. LeRobot 数据 → 训练 → 推理
python scripts/prepare_lerobot.py --dataset lerobot/pusht --out ./data/pusht python scripts/train.py --config configs/wall_oss_flow_pusht.yaml python scripts/eval_openloop.py --checkpoint runs/wall_oss_flow_pusht/last.ckpt
配置里可以细粒度控制:freeze VLM 与否、两组参数各自学习率、启用 MoE attention / MLP。仓库 scripts/draw_openloop_plot.py 是内置的评估可视化。
局限 / 值得盯的点
- 缺完整基准分数表:Wall-OSS-0.5 只报了"15 真机任务平均任务进度 60.5%"这一个高层数字,没有拆到 LIBERO / RoboTwin / DOMINO 这些主流基准。想和 Qwen-VLA 直接对比暂时不可能
- 论文数据接触真实但复现门槛高:15 真机任务本身没有开源,社区无法直接复现分数
- 三代产品线并行、命名容易混:Wall-OSS ≠ Wall-OSS-0.5 ≠ WALL-WM ≠ Wall-X 1.1.0。前三个是模型,最后一个是训练/推理框架
- 训练成本没公开:预训练 1M 轨迹 × 20+ 具身,实际用了多少 GPU-hour、成本几何都没写
- 还没有大规模用户复现:截至 2026-07 · 社区 issue 里的独立复现案例数量还很少 —— 想部署到实机需要做好踩坑准备