File size: 5,185 Bytes
0bda409
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
license: mit
tasks:
  - materials-simulation
  - molecular-dynamics
  - energy-prediction
  - force-prediction
frameworks:
  - pytorch
language:
  - en
tags:
  - OneScience
  - MACE
  - machine-learning-potential
  - molecular-simulation
  - materials-computing
  - graph-neural-network
  - equivariant-neural-network
  - training
  - inference
datasets:
  - OneScience-Sugon/DMC
  - OneScience-Sugon/ANI1x
  - OneScience-Sugon/water
  - OneScience-Sugon/nanotube
---

<p align="center">
  <strong>
    <span style="font-size: 30px;">MACE</span>
  </strong>
</p>

# Model Introduction

MACE is a machine-learning interatomic potential (MLIP) for molecular and materials systems. Built on an E(3)-equivariant graph neural network, it predicts the energies and forces of atomic structures.

Paper: *MACE: Higher order equivariant message passing neural networks for fast and accurate force fields*  
Reference implementation: https://github.com/ACEsuit/mace

# Model Description

MACE uses an E(3)-equivariant graph neural network architecture and is trained with HDF5/XYZ data. It supports energy and force prediction and structure optimization for molecular and materials systems.

# Use Cases

| Use case | Description |
| :---: | :--- |
| Interatomic-potential training | Read HDF5/XYZ data with a standard configuration and train a MACE model |
| Distributed-training preflight | Check multi-GPU/multi-node settings and ensure that data paths and statistics are consistent |
| Validation-set evaluation | Report energy- and force-related error metrics on the validation set during training |
| Custom data migration | Adapt an existing configuration to your own HDF5/XYZ data and statistics file |
| Environment connectivity check | Use the preflight script to verify the OneScience MatChem environment, PyYAML, h5py, and data readability |

# Usage

## 1. Using OneCode

Try intelligent, one-click AI4S programming in the OneCode online environment:

[Try intelligent, one-click AI4S programming](https://web-2069360198568017922-iaaj.ksai.scnet.cn:58043/home)

## 2. Manual Installation and Usage

**Hardware requirements**

- A GPU or DCU is recommended for training.
- A CPU can be used for import checks and small-configuration connectivity tests, but full training will be slow.
- DCU users must install DTK in advance. DTK 25.04.2 or later, or the OneScience-recommended version matching the current cluster, is recommended.

### Download the Model Package

```bash
hf download --model OneScience-Sugon/MACE --local-dir ./mace
cd mace
```

### Install the Runtime Environment

**DCU environment**

```bash
# Activate DTK and conda first
conda create -n onescience311 python=3.11 -y
conda activate onescience311
# uv installation is also supported
pip install onescience[matchem-dcu] -i http://mirrors.onescience.ai:3141/pypi/simple/  --trusted-host mirrors.onescience.ai
```

**GPU environment**

```bash
# Activate conda first
conda create -n onescience311 python=3.11 -y libstdcxx-ng=12 libgcc-ng=12 gcc_linux-64=12 gxx_linux-64=12
conda activate onescience311
# uv installation is also supported
pip install onescience[matchem-gpu] -i http://mirrors.onescience.ai:3141/pypi/simple/  --trusted-host mirrors.onescience.ai
```

### Training Data

Training data is not bundled with this repository. Using the introductory DMC dataset as an example, download it from Hugging Face to `data/` in the repository root:

```bash
hf download --dataset OneScience-Sugon/DMC --local-dir ./data
```

After downloading, the data is located at `data/data/DMC/`. `scripts/demo/run.sh` automatically sets the repository root as `ONESCIENCE_DATASETS_DIR`, so you do not need to set this variable manually for the paths in the configuration file to resolve.

Other configurations, such as `ani1x_8dcu.yaml` and `water_*.yaml`, require the corresponding datasets and adjusted data paths in the YAML files.

### Training

Single GPU:

```bash
bash scripts/demo/run.sh --config scripts/demo/configs/DMC.yaml
```

Multiple GPUs:

```bash
# Eight-GPU example; launch.launcher must be set to torchrun in the configuration
bash scripts/demo/run.sh --config scripts/demo/configs/ani1x_8dcu.yaml
```

SLURM:

```bash
bash scripts/demo/run.sh --config scripts/demo/configs/ani1x_8dcu.yaml --submit
```

### Trained Weights

This repository does not currently include trained weights. You can obtain them by following the training procedure above.

# Official OneScience Resources

| Platform | OneScience Main Repository | Skills Repository |
| --- | --- | --- |
| Gitee | https://gitee.com/onescience-ai/onescience | https://gitee.com/onescience-ai/oneskills |
| GitHub | https://github.com/onescience-ai/OneScience | https://github.com/onescience-ai/oneskills |

# Citation and License

- The MACE-related code comes from the MatChem examples in the OneScience project and refers to the upstream MACE project (https://github.com/ACEsuit/mace). The upstream MACE code is released under the [MIT License](https://github.com/ACEsuit/mace/blob/main/LICENSE).
- If you use MACE training results in research, please cite the original MACE paper, the relevant OneScience projects, and the datasets used.