DM0.5 全面开源:4090 单卡即可微调的最强开源具身 VLA

DM0.5 是目前可部署的最强开源具身 VLA(视觉-语言-动作)模型:4B 参数、Apache-2.0 协议,登顶 RoboDojo 仿真+真机双榜,单张 RTX 4090 约 18 小时即可微调新任务。本文基于官方 OpenDM 仓库 完整走一遍:环境搭建、推理服务、数据集注册和 SFT 微调。

为什么值得关注

开源机器人基础模型本就稀缺,能打过闭源对手的更少。Dexmal 在 DM0.5 登顶 RoboDojo(由非营利学术联盟运营的中立仿真+真机基准)后,把权重(Hugging Face / ModelScope)和代码(GitHub,Apache-2.0)全部放出。RoboChallenge Table 30 v2 上它拿到 54.42 分(成功率 43%),对比 Pi0.5 的 31.48 分(14.3%);LIBERO 达 99.0%。榜单之外更关键的是:一个 4B 模型做到这些,推理只要一张卡,微调只要一张 4090——这直接改变了谁能在具身模型之上做开发。

DM0.5 核心能力拆解

DM0.5 是原力灵机(Dexmal)第二代具身原生 VLA,从零训练,数据规模 15 万小时:5 万小时高精度真机操作数据 + 10 万小时第一视角(Ego)数据,另有 100 万平方米场景重建数据压低 sim-to-real 差距。四个架构要点:

  • 上下文抽象层:原生记忆最长 60 秒(多数 VLA 不足 10 秒),长周期多步任务不丢状态。
  • 具身思维链:先把指令拆成子任务、规划顺序再执行,而不是像素到动作一步映射。
  • 轨迹对齐层:学运动规律而非逐点目标,是跨机型迁移的关键。
  • Sys1/Sys2 双系统:高频反应 + 深思规划,并对相机扰动、人类动作打断做了针对性强化。

还支持视频示教:给一段人类演示视频,模型可直接跟随执行,无需语言指令。对 Pi0.5 全面领先:LIBERO 99.0% vs 96.9%,RoboTwin2.0 Clean 93.6% vs 82.7%,VLA-Arena L0 89.0% vs 64.3%。推理延迟 4090 约 90ms、H100 约 50ms。

环境搭建:Docker 或本地安装

官方推荐先用 Docker,绕开 CUDA/PyTorch/flash-attn 版本地狱。前置:Ubuntu 20.04/22.04、NVIDIA 驱动、Docker、NVIDIA Container Toolkit。

git clone https://github.com/dexmal/opendm.git
cd opendm

docker run -it --rm --gpus all --network host \
  --name opendm --shm-size=16g \
  -v "$PWD":/app/opendm -w /app/opendm \
  dexmal/opendm:latest /bin/bash

# 容器内执行
conda activate opendm
pip install -e .

本地安装走 Conda(Python 3.10)+ cu128 版 PyTorch + flash-attn;另有基于 TensorRT/Triton/FlexAttention 的 fast 推理后端(pip install -e ".[fast-infer]"),追求低启动延迟再用。

启动推理服务

huggingface-cli download Dexmal/DM05 --local-dir ./checkpoints/DM05

script/dm05_launcher.sh \
  --exp opendm/exp/dm05_exp.py \
  --task inference \
  --model-config.model-name-or-path ./checkpoints/DM05 \
  --model-config.chunk-size 50 \
  --inference-config.output-action-dim 14 \
  --inference-config.image-prompts "Head" "Left wrist" "Right wrist" \
  --inference-config.port 7891

示例是三路相机 + 14 维状态/动作空间。新集成统一走 /v1/infer 接口(旧 /process_frame 已进入淘汰流程)。机器人配置、请求字段和 fast 后端细节见推理指南

用自己的数据微调

先参照 opendm/dataset/demo.py 注册数据集:

# opendm/dataset/my_robot.py
from opendm.constants.robot import RobotStateDesc, RobotType
from opendm.dataset.register import register_dataset

MY_ROBOT_STATE_DESC = (
    [RobotStateDesc.JOINT] * 6 + [RobotStateDesc.GRIPPER]
    + [RobotStateDesc.JOINT] * 6 + [RobotStateDesc.GRIPPER]
)

register_dataset({
    "my_robot": {
        "jsonl_dir": "./assets/my_robot/",
        "image_dir": "./assets/my_robot/",
        "image_keys": ["images_1", "images_2", "images_3"],
        "image_prompts": ["Head", "Left wrist", "Right wrist"],
        "robot_type": RobotType.ALOHA,
        "state_desc": MY_ROBOT_STATE_DESC,
    },
})

再跑 SFT(训练建议 8 卡,推理单卡即可):

script/dm05_launcher.sh \
  --exp playground/dm05_sft_demo.py \
  --task train --nproc_per_node 8 \
  --data-config.dataset-name my_robot \
  --model-config.model-name-or-path ./checkpoints/DM05 \
  --model-config.chunk-size 50 \
  --trainer-config.num-train-steps 50000

官方口径:新下游任务单张 4090 约 18 小时达到专家级微调,成本较上代下降 60%。仓库自带 LIBERO、RoboTwin2.0、VLA-Arena、SO101 LoRA、RoboChallenge Table 30 v2 全套评测复现指南。

实践建议

  • 先用内置 demo 数据和 playground/dm05_sft_demo.py 跑通全流程,再换自己的机器人数据——先验证数据格式、归一化统计和推理闭环。
  • 推理一张卡即可,训练上 8 卡;消费级 4090 两头都能干。
  • 非标机型通过数据集配置注册即可:模型已覆盖 ALOHA、ARX、UR、W1、宇树 G1 等,同一基座跨机型迁移。
  • 生产环境启用 fast 后端,注意首次启动要做 ONNX 导出和 TensorRT 引擎构建。
  • 模型对相机扰动和人类打断做了强化,但上线前务必在自己设备上复测这两类故障模式。

关于具身模型落地部署的行业瓶颈,可参考我们此前的具身智能量产真相;训练环境类开源工具可看EnvHarness 解析

资源链接

常见问题

Q:没有机器人能试 DM0.5 吗?
A:可以。仓库自带 LIBERO、RoboTwin2.0 等仿真基准,Docker 镜像里单卡即可先跑评测,验证权重再碰硬件。

Q:微调 DM0.5 需要什么显卡?
A:单张 RTX 4090 即可,约 18 小时完成一个新任务的专家级微调;规模化训练用 8 卡 A100/H100/H20。

Q:DM0.5 支持我的机械臂吗?
A:原生支持 ALOHA、ARX、UR、W1、宇树 G1 等多机型;新机型在数据集配置里登记关节/夹爪布局后微调即可。

发表评论

滚动至顶部