File size: 7,931 Bytes
9376017
152f686
6420fce
 
 
 
 
 
 
 
 
9376017
6420fce
15272d7
6420fce
b6c6273
6420fce
b6c6273
 
 
 
 
6420fce
b6c6273
6420fce
09fde64
e315425
fbd4db2
b6c6273
 
 
 
 
 
 
 
237d604
 
 
 
 
a7bf3f4
 
 
 
 
237d604
 
b6c6273
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6420fce
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
---
license: gemma
library_name: transformers
tags:
- robotics
- robot-control
- vision-language-action
- vla
- dm05
- dm0.5
- opendm
---

# DM05

![DM0.5](https://raw.githubusercontent.com/dexmal/opendm/main/docs/image/header.png)

<p align="center">
  <a href="https://www.dexmal.com/blog/dm0.5/index_en.html"><img src="https://img.shields.io/badge/📖-Tech_Blog-blue" alt="Tech Blog"></a>
  <a href="https://github.com/dexmal/opendm"><img src="https://img.shields.io/badge/GitHub-OpenDM-181717?logo=github" alt="GitHub"></a>
  <a href="https://maas.dexmal.com/"><img src="https://img.shields.io/badge/MaaS-Online-brightgreen.svg" alt="MaaS"></a>
</p>

## News

- [2026-08-03] Published the [physical robot modification guide](https://github.com/dexmal/opendm/blob/main/docs/en/robot_platforms.md) for AgileX COBOT Magic and DOS-W1, documenting camera changes and the robot-name mapping used by the algorithm.
- [2026-07-24] DM0.5 has added the SO101 pick cube fine-tuned checkpoint and the LoRA SFT workflow. See the [DM05 SO101 LoRA Training Guide](https://github.com/dexmal/opendm/blob/main/docs/en/dm05_so101_lora_training.md).
- [2026-07-17] DM0.5 has open-sourced the RoboTwin2.0 generalist model checkpoint, along with the supervised fine-tuning (SFT) code built upon the DM0.5 pretrained model. See the [DM05 RoboTwin2.0 Training and Evaluation Guide](https://github.com/dexmal/opendm/blob/main/docs/en/dm05_robotwin2.md).
- [2026-07-09] DM0.5 is officially released. Read the [technical blog](https://www.dexmal.com/blog/dm0.5/index_en.html) for more details.

## Introduction

DM0.5 is Dexmal's next-generation Vision-Language-Action model (VLA) for open-world robot control. It builds on the native embodied modeling approach introduced by DM0, with systematic upgrades for open-ended instructions, long-horizon tasks, dynamic disturbances, and multi-embodiment robot control.

OpenDM provides DM0.5 model weights, training and inference scripts, dataset registration examples, and evaluation workflows for researchers and developers to train, fine-tune, evaluate, and deploy the model.


## Fine-Tuned Models

| Model | Description | Checkpoint | Documentation |
| --- | --- | --- | --- |
| DM05-libero | LIBERO fine-tuned DM0.5 model for evaluation | [🤗 DM05-libero](https://huggingface.co/Dexmal/DM05-libero) | [Training & Evaluation](https://github.com/dexmal/opendm/blob/main/docs/en/dm05_libero.md) |
| DM05-robotwin2 | RoboTwin2.0 fine-tuned DM0.5 model for evaluation | [🤗 DM05-robotwin2](https://huggingface.co/Dexmal/DM05-robotwin2) | [Training & Evaluation](https://github.com/dexmal/opendm/blob/main/docs/en/dm05_robotwin2.md) |
| DM05-SO101-Pick-Cube | SO101 Pick Cube fine-tuned DM0.5 model for real-robot evaluation | [🤗 DM05-SO101-Pick-Cube](https://huggingface.co/Dexmal/DM05-SO101-Pick-Cube) | [LoRA SFT Training Guide](https://github.com/dexmal/opendm/blob/main/docs/en/dm05_so101_lora_training.md) |
| DM05-VLA-Arena | VLA-Arena fine-tuned DM0.5 model for evaluation | [🤗 DM05-Vla-Arena](https://huggingface.co/Dexmal/DM05-Vla-Arena) | [Training & Evaluation](https://github.com/dexmal/opendm/blob/main/docs/en/dm05_vla_arena.md) |
| DM05-Table30v2 | RoboChallenge Table 30 v2 DM0.5 model collection for evaluation | [🤗 DM05-Table30v2](https://huggingface.co/collections/Dexmal/dm05-table30v2) | [RoboChallenge Table 30 v2 Inference Guide](https://github.com/dexmal/opendm/blob/main/docs/en/dm05_robochallenge.md) |


## Quick Start

We recommend using Docker to set up the runtime environment first, which helps avoid version mismatches across CUDA, PyTorch, flash-attn, and other dependencies on the host machine.

### Requirements

```text
System requirements:
Ubuntu 20.04 / 22.04
NVIDIA GPU
NVIDIA Driver
Docker
NVIDIA Container Toolkit
Conda (optional, only required for local pip installation)

Recommended GPUs:
RTX 4090, A100, H100, H20
8 GPUs are recommended for training, and 1 GPU is sufficient for deployment inference.
```

### Docker Installation

```bash
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

# Run from the OpenDM repository root inside the container.
conda activate opendm
pip install -e .
```

### Local Installation

```bash
conda create -n opendm python=3.10 -y
conda activate opendm

pip install torch torchvision \
  --index-url https://download.pytorch.org/whl/cu128

pip install ninja packaging
MAX_JOBS=2 pip install flash-attn --no-build-isolation

# Enter the OpenDM repository root.
cd opendm
pip install -e .
```

## Inference

After installing the environment and initializing the source code, you can start the model inference service. The service loads the specified checkpoint and exposes an HTTP endpoint for benchmark clients or other applications to request action predictions. Use a checkpoint that contains `norm_stats.json`, or make sure the matching stats already exist under `./norm_stats/`.

```bash
script/dm05_launcher.sh \
  --task inference \
  --nproc_per_node 1 \
  --model-config.model-name-or-path ./checkpoints/DM05 \
  --model-config.chunk-size 50 \
  --inference-config.port 7891
```

Arguments:

- `--task`: task type. Use `inference` for inference.
- `--nproc_per_node`: number of GPUs on a single node. 1 GPU is sufficient for inference.
- `--model-config.model-name-or-path`: model checkpoint path.
- `--model-config.chunk-size`: action chunk length.
- `--inference-config.port`: inference service port.

During inference, the service first looks for `norm_stats.json` in the checkpoint directory. If it is not found, it falls back to the matching file under `./norm_stats/`, which is normally generated during training for the same dataset, action mode, and chunk size.

After the service starts, send a test request to verify that the endpoint returns a valid response:

```bash
bash tests/curl_demo.sh http://SERVER_IP:7891/process_frame
```

`/process_frame` accepts a `multipart/form-data` request:

- `text`: task instruction.
- `states`: JSON array of the current robot state. The dimension and order must match the model's training and normalization statistics.
- `image`: image files, one field per configured image key. The order must match `--inference-config.image-keys`.
- `robot_type`: optional built-in robot type. Currently only `DOS W1` is supported. It provides the robot state description when relative actions need to be converted back to absolute actions.
- `control_mode` and `speed`: text conditioning fields required when directly serving the pretrained `Dexmal/DM05` model. They are normally not required for SFT checkpoints unless your SFT data was trained with the same fields.

A successful response has the following shape.

```text
{
  "response": [
    [0.012, -0.034, 0.18, "..."],
    [0.015, -0.031, 0.17, "..."],
    ...
  ]
}
```

## Community and Support

- Learn more about Dexmal products and model updates on the [Dexmal website](https://www.dexmal.com/).
- If you encounter issues, please report them through [GitHub Issues](https://github.com/dexmal/opendm/issues).
- For further discussion, scan the [WeChat QR code](https://raw.githubusercontent.com/dexmal/opendm/main/docs/image/wechat.jpeg) to contact us.

We will continue to release more model weights, technical documentation, and examples. If this project is helpful to you, please consider giving us a star on GitHub [![GitHub](https://img.shields.io/github/stars/dexmal/opendm?color=5B5BD6)](https://github.com/dexmal/opendm). Your support helps us move forward.

## Citation

```bibtex
@misc{dm05,
    title  = {{DM0.5}: An Open-World Foundation Model for General-Purpose Embodied Intelligence},
    author = {{Dexmal Team}},
    month  = {July},
    year   = {2026},
    url    = {https://www.dexmal.com/blog/dm0.5/index_en.html}
}
```