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 解析。
资源链接
- 代码:github.com/dexmal/opendm(Apache-2.0)
- 权重:Hugging Face Dexmal/DM05 | ModelScope
- 技术博客:dexmal.com/blog/dm0.5
- RoboDojo 基准:github.com/RoboDojo-Benchmark/RoboDojo(arXiv:2607.04434)
- MaaS 服务:maas.dexmal.com
常见问题
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 等多机型;新机型在数据集配置里登记关节/夹爪布局后微调即可。