Dexmal commited on
Commit
b6c6273
·
verified ·
1 Parent(s): 152f686
Files changed (3) hide show
  1. README.md +127 -13
  2. config.json +1 -1
  3. model.safetensors +2 -2
README.md CHANGED
@@ -11,23 +11,137 @@ tags:
11
  - opendm
12
  ---
13
 
14
- # DM05
15
 
16
- [![OpenDM](https://img.shields.io/badge/GitHub-OpenDM-181717?logo=github)](https://github.com/dexmal/opendm) [![Dexmal Models](https://img.shields.io/badge/Hugging%20Face-Dexmal-FFD21E?logo=huggingface)](https://huggingface.co/Dexmal) [![DM0.5 Blog](https://img.shields.io/badge/Blog-DM0.5-2563EB)](https://www.dexmal.com/blog/dm0.5/index_en.html)
17
 
18
- DM05 is the base checkpoint of DM0.5, Dexmal's open-world
19
- Vision-Language-Action foundation model for embodied intelligence. It uses a
20
- Gemma3 4B vision-language backbone with a 680M Action Expert to generate
21
- continuous robot actions, and is designed for natural-language manipulation,
22
- zero-shot generalization, efficient downstream fine-tuning, long-horizon
23
- historical context, robust policy behavior, and transfer across robot
24
- embodiments.
25
 
26
- ## How to Use
27
 
28
- This model is intended to be used with OpenDM. See the
29
- [OpenDM README](https://github.com/dexmal/opendm) for installation,
30
- checkpoint download, inference, fine-tuning, and evaluation commands.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
 
32
  ## Citation
33
 
 
11
  - opendm
12
  ---
13
 
14
+ # OpenDM
15
 
16
+ ![DM0.5](https://raw.githubusercontent.com/dexmal/opendm/main/docs/image/header.png)
17
 
18
+ <p align="center">
19
+ <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>
20
+ <a href="https://github.com/dexmal/opendm"><img src="https://img.shields.io/badge/GitHub-OpenDM-181717?logo=github" alt="GitHub"></a>
21
+ <a href="https://maas.dexmal.com/"><img src="https://img.shields.io/badge/MaaS-Online-brightgreen.svg" alt="MaaS"></a>
22
+ </p>
 
 
23
 
24
+ ## News
25
 
26
+ - [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.
27
+
28
+ ## Introduction
29
+
30
+ 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.
31
+
32
+ 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.
33
+
34
+ ## Quick Start
35
+
36
+ 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.
37
+
38
+ ### Requirements
39
+
40
+ ```text
41
+ System requirements:
42
+ Ubuntu 20.04 / 22.04
43
+ NVIDIA GPU
44
+ NVIDIA Driver
45
+ Docker
46
+ NVIDIA Container Toolkit
47
+ Conda (optional, only required for local pip installation)
48
+
49
+ Recommended GPUs:
50
+ RTX 4090, A100, H100, H20
51
+ 8 GPUs are recommended for training, and 1 GPU is sufficient for deployment inference.
52
+ ```
53
+
54
+ ### Docker Installation
55
+
56
+ ```bash
57
+ git clone https://github.com/dexmal/opendm.git
58
+ cd opendm
59
+
60
+ docker run -it --rm --gpus all --network host \
61
+ --name opendm \
62
+ --shm-size=16g \
63
+ -v "$PWD":/app/opendm \
64
+ -w /app/opendm \
65
+ dexmal/opendm:latest /bin/bash
66
+
67
+ # Run from the OpenDM repository root inside the container.
68
+ conda activate opendm
69
+ pip install -e .
70
+ ```
71
+
72
+ ### Local Installation
73
+
74
+ ```bash
75
+ conda create -n opendm python=3.10 -y
76
+ conda activate opendm
77
+
78
+ pip install torch torchvision \
79
+ --index-url https://download.pytorch.org/whl/cu128
80
+
81
+ pip install ninja packaging
82
+ MAX_JOBS=2 pip install flash-attn --no-build-isolation
83
+
84
+ # Enter the OpenDM repository root.
85
+ cd opendm
86
+ pip install -e .
87
+ ```
88
+
89
+ ## Inference
90
+
91
+ 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/`.
92
+
93
+ ```bash
94
+ script/dm05_launcher.sh \
95
+ --task inference \
96
+ --nproc_per_node 1 \
97
+ --model-config.model-name-or-path ./checkpoints/DM05 \
98
+ --model-config.chunk-size 50 \
99
+ --inference-config.port 7891
100
+ ```
101
+
102
+ Arguments:
103
+
104
+ - `--task`: task type. Use `inference` for inference.
105
+ - `--nproc_per_node`: number of GPUs on a single node. 1 GPU is sufficient for inference.
106
+ - `--model-config.model-name-or-path`: model checkpoint path.
107
+ - `--model-config.chunk-size`: action chunk length.
108
+ - `--inference-config.port`: inference service port.
109
+
110
+ 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.
111
+
112
+ After the service starts, send a test request to verify that the endpoint returns a valid response:
113
+
114
+ ```bash
115
+ bash tests/curl_demo.sh http://SERVER_IP:7891/process_frame
116
+ ```
117
+
118
+ `/process_frame` accepts a `multipart/form-data` request:
119
+
120
+ - `text`: task instruction.
121
+ - `states`: JSON array of the current robot state. The dimension and order must match the model's training and normalization statistics.
122
+ - `image`: image files, one field per configured image key. The order must match `--inference-config.image-keys`.
123
+ - `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.
124
+ - `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.
125
+
126
+ A successful response has the following shape.
127
+
128
+ ```text
129
+ {
130
+ "response": [
131
+ [0.012, -0.034, 0.18, "..."],
132
+ [0.015, -0.031, 0.17, "..."],
133
+ ...
134
+ ]
135
+ }
136
+ ```
137
+
138
+ ## Community and Support
139
+
140
+ - Learn more about Dexmal products and model updates on the [Dexmal website](https://www.dexmal.com/).
141
+ - If you encounter issues, please report them through [GitHub Issues](https://github.com/dexmal/opendm/issues).
142
+ - For further discussion, scan the [WeChat QR code](https://raw.githubusercontent.com/dexmal/opendm/main/docs/image/wechat.jpeg) to contact us.
143
+
144
+ 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.
145
 
146
  ## Citation
147
 
config.json CHANGED
@@ -95,7 +95,7 @@
95
  ],
96
  "bos_token_id": 2,
97
  "chunk_size": 50,
98
- "dtype": "float32",
99
  "eos_token_id": 1,
100
  "model_type": "dm05",
101
  "pad_token_id": 0,
 
95
  ],
96
  "bos_token_id": 2,
97
  "chunk_size": 50,
98
+ "dtype": "bfloat16",
99
  "eos_token_id": 1,
100
  "model_type": "dm05",
101
  "pad_token_id": 0,
model.safetensors CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:76ca7d68d027074f5c554355a3ab92f347946e236fbe9330cb4f982151fe3352
3
- size 23316655136
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b7da77f516ebd0c0c68faed2f0cfe1c68985b7b874e49dda4292d8d286de20dd
3
+ size 11658431136