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.model checkpoint 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 02 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, set atoms.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}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Papers for deepmodelingcommunity/DPA4-OMol