DPA4-OMol25-100M
DPA4-OMol25-100M provides a series of DPA4 / SeZM machine-learning interatomic potentials trained on the OMol25 100M split. The models are SO(3)-equivariant and conservative, and span the full periodic table. They are intended for molecular systems within the chemical space covered by OMol25.
Overview
General information:
| Item | Value |
|---|---|
| Architecture | DPA4 / SeZM |
| Backend | PyTorch only |
| Precision | float32 |
| Elements | Full periodic table (H–Og) |
| Cutoff radius | 6.0 Å |
| Training data | OMol25 100M (101,666,280 frames) |
| Validation data | OMol25 (2,762,021 frames) |
| Trained with | DeePMD-kit 3.2.0, PyTorch 2.11 / CUDA 12.8 |
Released files:
A release is identified by a date-based <version>
carried in the file name, so additional sizes or re-trained checkpoints of an
existing size can be published alongside earlier ones. Each release provides,
for every variant, a checkpoint and its training configuration:
| File | Description |
|---|---|
DPA4-<Variant>-OMol25-100M-<version>.pt |
Model checkpoint. |
DPA4-<Variant>-OMol25-100M-<version>.json |
Training configuration. |
Architecture, hyperparameters, and parameter counts are in the released
.json. The architecture is described in the
DeePMD-kit DPA4 documentation.
The models predict atomic energies, from which forces are obtained by differentiation:
$\qquad \mathbf{F}_i = -\frac{\partial E}{\partial \mathbf{r}_i}$
Frame-level total charge and spin multiplicity condition the descriptor through FiLM.
Validation
Results on the OMol25 OMol-0 out-of-distribution composition validation split, with published baselines for reference. Lower is better.
| Model | Predictionᵃ | Cons.ᵃ | Energyᵇ | Forceᵇ | Paramsᶜ | Training hoursᵈ |
|---|---|---|---|---|---|---|
| MACE-OMol-L-0 | Gradient | Yes | 4.56 | 0.25 | 52.4Mᵉ | – |
| GemNet-OC-r6ᶠ | Direct | No | 1.04 | 0.17 | 39.1M | – |
| GemNet-OCᶠ | Direct | No | 0.78 | 0.15 | 39.1M | – |
| eSEN-sm-d. | Direct | No | 2.06 | 0.23 | 6.3M | – |
| eSEN-sm-cons. | Gradient | Yes | 1.77 | 0.19 | 6.3M | – |
| eSEN-md-d. | Direct | No | 1.15 | 0.11 | 50.7M | – |
| UMA-S-1.1 | Direct+Grad | Yes | 1.45 | 0.22 | 150M (6M) | 46,080ᵍ |
| UMA-M-1.1 | Direct+Grad | Yes | 1.14 | 0.14 | 1.4B (50M) | 129,024ᵍ |
| DPA4 series | ||||||
| DPA4-Nano | Gradient | Yes | 8.02 | 0.776 | 0.48M | 186 |
| DPA4-Mini | Gradient | Yes | 4.97 | 0.502 | 0.66M | 431 |
| DPA4-Neo | Gradient | Yes | 2.91 | 0.332 | 1.1M | 819 |
| DPA4-Air | Gradient | Yes | 1.47 | 0.190 | 5.1M | 1,630 |
| DPA4-Plus | Gradient | Yes | 1.20 | 0.146 | 8.8M | 2,521 |
| DPA4-Pro | Gradient | Yes | 0.92 | 0.117 | 25.2M | 8,829 |
- ᵃ Prediction is the force pathway: Gradient obtains forces as energy gradients, Direct predicts forces directly, and Direct+Grad is direct-force pre-training followed by gradient fine-tuning. Cons. is whether the evaluated forces are conservative (energy gradients): Yes for Gradient and Direct+Grad, No for Direct.
- ᵇ Mean absolute errors: kcal/mol for energy, kcal/mol/Å for forces. Values originally reported in meV and meV/Å are converted with 1 meV = 0.0230605 kcal/mol.
- ᶜ Total parameters; parentheses give active parameters for UMA MoLE models.
- ᵈ Aggregate accelerator time in H100-equivalent GPU-hours. DPA4 H20 runs are converted using the ratio of the theoretical FP32 peak throughputs of H20 and H100. A dash means the value is unavailable.
- ᵉ Computed from the released
MACE-omol-0-extra-large-1024.modelcheckpoint in the MACE repository. - ᶠ GemNet-OC-r6 uses a 6 Å cutoff; GemNet-OC uses the default 12 Å cutoff.
- ᵍ UMA times are for the multitask UMA 1.0 runs and are not OMol25-only. UMA-1.1 was obtained by further fine-tuning; that extra cost is not reported.
Usage
DPA4/SeZM is a PyTorch-only model and uses the .pt2 (AOTInductor) export
path. The full tutorial is in the
DeePMD-kit DPA4 documentation.
In the commands below, replace <version> with the release date and
<Variant> with the model variant.
Installation
DPA4/SeZM is available in the DeePMD-kit main branch (version 3.2.0). Add the official install skill and let an agent perform the installation:
npx -y skills add https://github.com/deepmodeling/deepmd-kit/tree/master/skills --skill deepmd-install -y
For offline or backend-specific installation, see the DeePMD-kit installation guide.
Evaluate a checkpoint
dp --pt test -m DPA4-<Variant>-OMol25-100M-<version>.pt -s /path/to/test/system -n 1000
Freeze to .pt2 for deployment
DP_TRITON_INFER=2 dp --pt freeze -c DPA4-<Variant>-OMol25-100M-<version>.pt -o frozen_model
The PyTorch backend writes frozen_model.pt2. The archive is target-specific:
freeze on the target machine. Set inference environment variables before
dp --pt freeze; they are compiled into the graph and are not re-evaluated
when LAMMPS or ASE later loads the file.
| Variable | Default | Effect |
|---|---|---|
DP_TF32_INFER |
0 |
float32 matmul precision: 0 highest, 1 high, 2 medium. Keep 0 for MD and other PES-smoothness-sensitive workflows. |
DP_TRITON_INFER |
0 |
Recommended freeze setting: 2. Fused Triton inference kernels (CUDA), cumulative: 0 off; 1 universal kernels; 2 adds table-tuned SO(2) value-path kernels; 3 adds fp16 tensor-core mixing GEMMs. Levels 0–2 keep full float32 accumulation. |
Run in LAMMPS
atom_modify map yes
pair_style deepmd frozen_model.pt2
pair_coeff * * O H
atom_modify map yes is required. Keep the type_map order consistent across
the released input file and the pair_coeff mapping.
lmp -in in.lammps
CUDA_VISIBLE_DEVICES=0,1,2,3 mpirun -np 4 lmp -in in.lammps
Use a non-zero neighbor skin, for example neighbor 2.0 bin.
Run with ASE
OMol-style models read the frame-level total charge and spin multiplicity from
atoms.info["charge_spin"]. If the field is omitted, the model uses the
default [0, 1] (neutral singlet).
import numpy as np
from ase.build import molecule
from deepmd.calculator import DP
atoms = molecule("CH2_s1A1d")
atoms.info.update({"charge_spin": np.array([0, 1])})
atoms.calc = DP(model="DPA4-<Variant>-OMol25-100M-<version>.pt")
energy = atoms.get_potential_energy()
forces = atoms.get_forces()
Set the field to the physical charge and multiplicity of the system:
# neutral singlet
atoms.info.update({"charge_spin": np.array([0, 1])})
# cation doublet
atoms.info.update({"charge_spin": np.array([1, 2])})
# anion singlet
atoms.info.update({"charge_spin": np.array([-1, 1])})
Fine-tune on a downstream dataset
Start from the corresponding released input file and keep the entire model
section unchanged — descriptor, fitting net, the full-periodic-table
type_map, and the charge/spin conditioning. Replace only the
training/validation data and use a small learning rate (e.g. start_lr = 1e-4):
dp --pt train input_finetune.json --finetune DPA4-<Variant>-OMol25-100M-<version>.pt
Intended use and limitations
- Intended for energy and force prediction of molecular systems within the chemistry and configuration space covered by OMol25, including variable charge and spin multiplicity. Accuracy outside this domain should be validated before use.
- PyTorch backend only; export is
.pt2(AOTInductor). - The default charge/spin condition is
[0, 1]. In ASE, setatoms.info["charge_spin"]to the physical[charge, multiplicity].
Citation
If you use these models, please cite the DPA4 paper and DeePMD-kit, and acknowledge the OMol25 dataset.
@article{li2026dpa4,
title = {{DPA4}: Pushing the Accuracy-Cost Frontier of Interatomic
Potentials with {EMFA} {SO(2)} Convolution},
author = {Li, Tiancheng and Li, Wentao and Peng, Anyang and Xue, Jianming
and Zhang, Linfeng and Zhang, Duo and Wang, Han},
journal = {arXiv preprint arXiv:2606.02419},
year = {2026},
doi = {10.48550/arXiv.2606.02419},
url = {https://arxiv.org/abs/2606.02419}
}
@article{Wang_ComputPhysCommun_2018_v228_p178,
author = {Wang, Han and Zhang, Linfeng and Han, Jiequn and E, Weinan},
title = {{DeePMD-kit: A deep learning package for many-body potential
energy representation and molecular dynamics}},
journal = {Comput. Phys. Comm.},
volume = {228},
pages = {178--184},
year = {2018},
doi = {10.1016/j.cpc.2018.03.016}
}
@article{Zeng_JChemPhys_2023_v159_p054801,
author = {Jinzhe Zeng and Duo Zhang and Denghui Lu and Pinghui Mo and Zeyu
Li and Yixiao Chen and Mari{\'a}n Rynik and Li'ang Huang and Ziyao
Li and Shaochen Shi and Yingze Wang and Haotian Ye and Ping Tuo
and Jiabin Yang and Ye Ding and Yifan Li and Davide Tisi and Qiyu
Zeng and Han Bao and Yu Xia and Jiameng Huang and Koki Muraoka and
Yibo Wang and Junhan Chang and Fengbo Yuan and Sigbj{\o}rn
L{\o}land Bore and Chun Cai and Yinnian Lin and Bo Wang and Jiayan
Xu and Jia-Xin Zhu and Chenxing Luo and Yuzhi Zhang and Rhys E A
Goodall and Wenshuo Liang and Anurag Kumar Singh and Sikai Yao and
Jingchao Zhang and Renata Wentzcovitch and Jiequn Han and Jie Liu
and Weile Jia and Darrin M York and Weinan E and Roberto Car and
Linfeng Zhang and Han Wang},
title = {{DeePMD-kit v2: A software package for deep potential models}},
journal = {J. Chem. Phys.},
volume = {159},
issue = {5},
pages = {054801},
year = {2023},
doi = {10.1063/5.0155600}
}
@article{Zeng_JChemTheoryComput_2025_v21_p4375,
author = {Jinzhe Zeng and Duo Zhang and Anyang Peng and Xiangyu Zhang and
Sensen He and Yan Wang and Xinzijian Liu and Hangrui Bi and Yifan
Li and Chun Cai and Chengqian Zhang and Yiming Du and Jia-Xin Zhu
and Pinghui Mo and Zhengtao Huang and Qiyu Zeng and Shaochen Shi
and Xuejian Qin and Zhaoxi Yu and Chenxing Luo and Ye Ding and
Yun-Pei Liu and Ruosong Shi and Zhenyu Wang and Sigbj{\o}rn
L{\o}land Bore and Junhan Chang and Zhe Deng and Zhaohan Ding and
Siyuan Han and Wanrun Jiang and Guolin Ke and Zhaoqing Liu and
Denghui Lu and Koki Muraoka and Hananeh Oliaei and Anurag Kumar
Singh and Haohui Que and Weihong Xu and Zhangmancang Xu and
Yong-Bin Zhuang and Jiayu Dai and Timothy J. Giese and Weile Jia
and Ben Xu and Darrin M. York and Linfeng Zhang and Han Wang},
title = {{DeePMD-kit v3: A Multiple-Backend Framework for Machine Learning
Potentials}},
journal = {J. Chem. Theory Comput.},
volume = {21},
number = {9},
pages = {4375--4385},
year = {2025},
doi = {10.1021/acs.jctc.5c00340}
}
@misc{levine2025omol25,
title = {The Open Molecules 2025 ({OMol25}) Dataset, Evaluations,
and Models},
author = {Levine, Daniel S. and Shuaibi, Muhammed and
Spotte-Smith, Evan Walter Clark and Taylor, Michael G. and
Hasyim, Muhammad R. and Michel, Kyle and Batatia, Ilyes and
Cs{\'a}nyi, G{\'a}bor and Dzamba, Misko and Eastman, Peter
and Frey, Nathan C. and Fu, Xiang and Gharakhanyan, Vahe
and Krishnapriyan, Aditi S. and Rackers, Joshua A. and
Raja, Sanjeev and Rizvi, Ammar and Rosen, Andrew S. and
Ulissi, Zachary and Vargas, Santiago and
Zitnick, C. Lawrence and Blau, Samuel M. and
Wood, Brandon M.},
year = {2025},
eprint = {2505.08762},
archivePrefix = {arXiv},
primaryClass = {physics.chem-ph},
doi = {10.48550/arXiv.2505.08762},
url = {https://arxiv.org/abs/2505.08762}
}