DPA4-MatPES provides a series of DPA4 / SeZM machine-learning
interatomic potentials trained on the MatPES R2SCAN 2025.2 dataset. The
models are SO(3)-equivariant and conservative, and span the full periodic
table. They are intended for inorganic materials within the chemical space
covered by MatPES R2SCAN.
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
MatPES R2SCAN 2025.2 (347,889 frames)
Validation data
MatPES R2SCAN 2025.2 (19,328 frames)
Trained with
DeePMD-kit 3.2.0, PyTorch 2.11 / CUDA 12.8
Model variants:
Model
Parameters
DPA4-Mini
655,504 (0.655 M)
DPA4-Neo
1,125,372 (1.125 M)
DPA4-Air
5,148,611 (5.149 M)
Released files:
File
Description
DPA4-Mini-MatPES-v20260628.pt
DPA4-Mini checkpoint.
DPA4-Mini-MatPES-v20260628.json
DPA4-Mini training configuration.
DPA4-Neo-MatPES-v20260628.pt
DPA4-Neo checkpoint.
DPA4-Neo-MatPES-v20260628.json
DPA4-Neo training configuration.
DPA4-Air-MatPES-v20260628.pt
DPA4-Air checkpoint.
DPA4-Air-MatPES-v20260628.json
DPA4-Air training configuration.
The models predict atomic energies, from which forces and virials are obtained
by differentiation:
The descriptor propagates vector and higher-order angular (SO(3)-equivariant)
features through message passing and reads out only the final l = 0 scalar to
the energy fitting network. The architecture is described in the
DeePMD-kit DPA4 documentation.
Model architecture
Names in parentheses are the corresponding DeePMD-kit configuration keys. The
complete configurations, including the full type_map, are given in the
released input files.
Network dimensions
Parameter
DPA4-Mini
DPA4-Neo
DPA4-Air
Description
Feature channels (channels)
32
32
64
Total channels per (l, m) coefficient.
Focus streams (n_focus)
1
2
1
Parallel focus streams inside the SO(2) convolution.
Interaction blocks (n_blocks)
2
2
3
Number of message-passing blocks.
SO(2) layers per block (so2_layers)
3
3
4
Number of SO(2) mixing layers per block.
FFN blocks (ffn_blocks)
1
1
1
Number of FFN sublayers per interaction block.
Environment seeding (use_env_seed)
True
True
True
Seed the initial node state with local-environment information via environment-matrix FiLM conditioning.
Radial basis and angular resolution
Parameter
DPA4-Mini
DPA4-Neo
DPA4-Air
Description
Radial basis (basis_type)
bessel
bessel
bessel
Radial basis type (bessel or gaussian).
Radial functions (n_radial)
16
16
16
Number of radial basis functions.
Max angular degree (lmax)
2
3
3
Maximum degree of the equivariant representation.
Max SO(2) order (mmax)
1
1
1
Maximum SO(2) order.
Equivariant interaction
Parameter
DPA4-Mini
DPA4-Neo
DPA4-Air
Description
Radial degree mixer (radial_so2_mode)
degree_channel
degree_channel
degree_channel
Dynamic radial degree-mixer mode in the SO(2) convolution; degree_channel uses a per-channel cross-degree radial kernel.
Mixer rank (radial_so2_rank)
1
1
1
Low-rank factorization rank for the degree_channel kernel (0 = full per-channel kernel).
Attention heads (n_atten_head)
1
1
1
Heads aggregating messages in the SO(2) convolution (0 = envelope-weighted scatter-sum).
SO(3) message branch (message_node_so3)
True
True
True
Enable the post-aggregation SO(3) Wigner-D grid-net branch (message as query, node state as context).
Normalization placement (sandwich_norm)
[false, true, true, false]
[false, true, true, false]
[false, true, true, false]
Pre/post-norm switches for residual branches, ordered [so2_pre, so2_post, ffn_pre, ffn_post].
Feed-forward and read-out
Parameter
DPA4-Mini
DPA4-Neo
DPA4-Air
Description
Activation (activation_function)
silu
silu
silu
Base activation for helper MLPs, the SO(2) gated path, and the output FFN.
GLU (glu_activation)
True
True
True
Base GLU switch for the FFN (e.g. SiLU → SwiGLU).
FFN width (ffn_neurons)
0 (auto)
0 (auto)
0 (auto)
Hidden width for block and output FFNs; 0 resolves the width from channels.
FFN SO(3) grid (ffn_so3_grid)
True
True
True
Use the Wigner-D SO(3) grid in the block-internal FFN.
Read-out mode for the final l=0 descriptor; mlp folds l>0 geometry into l=0 via a point-wise SO(3) grid MLP.
Fitting hidden width (fitting_net.neuron)
[0] (auto)
[0] (auto)
[0] (auto)
Fitting-net hidden-layer widths; 0 is an auto-width placeholder resolved from the descriptor width.
Cut-off and model size
Parameter
DPA4-Mini
DPA4-Neo
DPA4-Air
Description
Cut-off radius (rcut)
6.0 Å
6.0 Å
6.0 Å
Neighbor cut-off radius.
Total parameters
655,504 (0.655 M)
1,125,372 (1.125 M)
5,148,611 (5.149 M)
Trainable parameter count.
Precision and compilation
Parameter
Value
Description
Compute precision (precision)
float32
Precision of the descriptor parameters.
Mixed precision (use_amp)
True
Automatic mixed precision with bfloat16 on CUDA during training.
TF32 matmul (enable_tf32)
True
TF32 matmul precision for CUDA training forwards (eval-time TF32 is controlled separately).
Compiled path (use_compile)
True
Use the compiled DPA4/SeZM training path.
Training
The models were trained with the conservative energy objective using
dp --pt train.
Setting
DPA4-Mini
DPA4-Neo
DPA4-Air
Epochs
300
250
200
Batch size
filter:12000
filter:3000
filter:2000
Learning rate
WSD schedule, start_lr = 1e-3 → stop_lr = 1e-6
WSD schedule, start_lr = 5e-4 → stop_lr = 1e-6
WSD schedule, start_lr = 3.5e-4 → stop_lr = 1e-6
Decay phase
cosine decay over 65% of the schedule
cosine decay over 65% of the schedule
cosine decay over 65% of the schedule
Optimizer
HybridMuon (weight_decay = 0.001)
HybridMuon (weight_decay = 0.001)
HybridMuon (weight_decay = 0.001)
Loss
MAE energy loss with prefactors pref_e = 20, pref_f = 20, pref_v = 5
MAE energy loss with prefactors pref_e = 20, pref_f = 20, pref_v = 5
MAE energy loss with prefactors pref_e = 20, pref_f = 20, pref_v = 5
Validation
Errors are reported on the MatPES R2SCAN validation set.
Model
Energy MAE/atom
Energy RMSE/atom
Force MAE
Force RMSE
Stress MAE
Stress RMSE
Training hoursᵃ
DPA4-Mini
21.99 meV
55.18 meV
110.23 meV/Å
259.77 meV/Å
3.830 meV/ų
8.236 meV/ų
9.9
DPA4-Neo
17.70 meV
52.91 meV
95.91 meV/Å
225.23 meV/Å
3.167 meV/ų
7.047 meV/ų
14.6
DPA4-Air
15.34 meV
50.95 meV
93.27 meV/Å
225.06 meV/Å
2.968 meV/ų
6.608 meV/ų
19.5
ᵃ Training hours are measured on a single NVIDIA H20 GPU.
Usage
DPA4/SeZM is a PyTorch-only model and uses the .pt2 (AOTInductor) export path;
the TorchScript freeze path does not apply. Usage follows the
DeePMD-kit DPA4 documentation.
Installation
DPA4/SeZM is available in the DeePMD-kit main branch (version 3.2.0). Install
the latest code together with PyTorch 2.11 and CUDA 12.8:
For offline or backend-specific installation, see the
DeePMD-kit installation guide.
The compiled inference path (DP_COMPILE_INFER) additionally requires
torch >= 2.11 and CUDA >= 12.6.
Evaluate a checkpoint
Run dp test on a released checkpoint with data in the standard or mixed-type
DeePMD-kit data format.
Replace <Mini|Neo|Air> with the selected model variant:
dp --pt test -m DPA4-<Mini|Neo|Air>-MatPES-v20260628.pt -s /path/to/test/system -n 1000
The PyTorch backend detects DPA4/SeZM and writes frozen_model.pt2. The .pt2
is an AOTInductor archive and is target-specific: it depends on the host
CPU/GPU, the GPU compute capability, and the libtorch version. Freeze on the
target machine rather than reusing a .pt2 across different hardware.
Inference precision is fixed at freeze time. The .pt2 is a forward-only
AOTInductor package, so the SO(2)-rotation kernel and matmul precision are
compiled into the graph at export and are not re-evaluated when the file is
later loaded by ASE or LAMMPS. Set the relevant environment variables before
running dp --pt freeze:
Variable
Default
Effect
DP_TF32_INFER
0 (highest)
float32 matmul precision: 0 highest, 1 high, 2 medium. Keep 0 for MD and other PES-smoothness-sensitive workflows.
DP_TRITON_INFER
off
Fused Triton SO(2) rotation kernel (CUDA). Retains full float32 accumulation, so it is safe for MD.
Accepted boolean values: 1/true/yes/on and 0/false/no/off.
Run in LAMMPS
The frozen .pt2 is used through pair_style deepmd. A minimal setup:
lammps
1units metal
2atom_style atomic
3atom_modify map yes
45neighbor 2.0 bin
6read_data system.lmp
78pair_style deepmd frozen_model.pt2
9pair_coeff * * O H
atom_modify map yes is required: .pt2 graph inference relies on an explicit
ghost/periodic-image to local-atom map, and the model fails fast if the map is
absent. The element names after pair_coeff * * bind LAMMPS atom types to
entries of the model's type_map in order (here types 1 and 2 to O and H);
if omitted, the mapping falls back to the type_map stored in the .pt2
metadata.
Multi-GPU (MPI) inference uses the same .pt2. Launch one MPI rank per GPU and
make every target device visible:
DFT energy labels differ between datasets by an arbitrary per-element constant.
Before evaluating or simulating a system whose energy reference differs from
MatPES R2SCAN, the per-element energy bias can be refit to that system without
retraining any network weights, which often improves energy accuracy:
This updates only the energy shift and writes an adjusted checkpoint; the
descriptor and fitting-net weights are unchanged.
Fine-tune on a downstream dataset
The released checkpoints serve as pretrained initializations. Start from the
corresponding released input file, keep the model section (descriptor and
fitting net) unchanged, replace type_map and the training/validation data with
the downstream dataset, and use a small learning rate (e.g. start_lr = 1e-4):
DPA4/SeZM also supports LoRA adapters for single-task fine-tuning; the best
checkpoints fold the LoRA deltas back into the base weights, producing a plain
DPA4/SeZM checkpoint suitable for deployment.
Intended use and limitations
Intended for energy, force, and stress prediction of inorganic materials
within the chemistry and configuration space covered by MatPES R2SCAN. Accuracy
outside this domain should be validated before use.
PyTorch backend only; export is .pt2 (AOTInductor), and model compression
is not supported.
Multi-GPU (MPI) LAMMPS inference applies to the plain energy model; ZBL zone
bridging and spin models run on a single MPI rank.
Citation
If you use these models, please cite the DPA4 paper, DeePMD-kit, and the
MatPES R2SCAN dataset.
bibtex
1@article{li2026dpa4,
2 title = {{DPA4}: Pushing the Accuracy-Cost Frontier of Interatomic
3 Potentials with {EMFA} {SO(2)} Convolution},
4 author = {Li, Tiancheng and Li, Wentao and Peng, Anyang and Xue, Jianming
5 and Zhang, Linfeng and Zhang, Duo and Wang, Han},
6 journal = {arXiv preprint arXiv:2606.02419},
7 year = {2026},
8 doi = {10.48550/arXiv.2606.02419},
9 url = {https://arxiv.org/abs/2606.02419}
10}
1112@article{Wang_ComputPhysCommun_2018_v228_p178,
13 author = {Wang, Han and Zhang, Linfeng and Han, Jiequn and E, Weinan},
14 title = {{DeePMD-kit: A deep learning package for many-body potential
15 energy representation and molecular dynamics}},
16 journal = {Comput. Phys. Comm.},
17 volume = {228},
18 pages = {178--184},
19 year = {2018},
20 doi = {10.1016/j.cpc.2018.03.016}
21}
2223@article{Zeng_JChemPhys_2023_v159_p054801,
24 author = {Jinzhe Zeng and Duo Zhang and Denghui Lu and Pinghui Mo and Zeyu
25 Li and Yixiao Chen and Mari{\'a}n Rynik and Li'ang Huang and Ziyao
26 Li and Shaochen Shi and Yingze Wang and Haotian Ye and Ping Tuo
27 and Jiabin Yang and Ye Ding and Yifan Li and Davide Tisi and Qiyu
28 Zeng and Han Bao and Yu Xia and Jiameng Huang and Koki Muraoka and
29 Yibo Wang and Junhan Chang and Fengbo Yuan and Sigbj{\o}rn
30 L{\o}land Bore and Chun Cai and Yinnian Lin and Bo Wang and Jiayan
31 Xu and Jia-Xin Zhu and Chenxing Luo and Yuzhi Zhang and Rhys E A
32 Goodall and Wenshuo Liang and Anurag Kumar Singh and Sikai Yao and
33 Jingchao Zhang and Renata Wentzcovitch and Jiequn Han and Jie Liu
34 and Weile Jia and Darrin M York and Weinan E and Roberto Car and
35 Linfeng Zhang and Han Wang},
36 title = {{DeePMD-kit v2: A software package for deep potential models}},
37 journal = {J. Chem. Phys.},
38 volume = {159},
39 issue = {5},
40 pages = {054801},
41 year = {2023},
42 doi = {10.1063/5.0155600}
43}
4445@article{Zeng_JChemTheoryComput_2025_v21_p4375,
46 author = {Jinzhe Zeng and Duo Zhang and Anyang Peng and Xiangyu Zhang and
47 Sensen He and Yan Wang and Xinzijian Liu and Hangrui Bi and Yifan
48 Li and Chun Cai and Chengqian Zhang and Yiming Du and Jia-Xin Zhu
49 and Pinghui Mo and Zhengtao Huang and Qiyu Zeng and Shaochen Shi
50 and Xuejian Qin and Zhaoxi Yu and Chenxing Luo and Ye Ding and
51 Yun-Pei Liu and Ruosong Shi and Zhenyu Wang and Sigbj{\o}rn
52 L{\o}land Bore and Junhan Chang and Zhe Deng and Zhaohan Ding and
53 Siyuan Han and Wanrun Jiang and Guolin Ke and Zhaoqing Liu and
54 Denghui Lu and Koki Muraoka and Hananeh Oliaei and Anurag Kumar
55 Singh and Haohui Que and Weihong Xu and Zhangmancang Xu and
56 Yong-Bin Zhuang and Jiayu Dai and Timothy J. Giese and Weile Jia
57 and Ben Xu and Darrin M. York and Linfeng Zhang and Han Wang},
58 title = {{DeePMD-kit v3: A Multiple-Backend Framework for Machine Learning
59 Potentials}},
60 journal = {J. Chem. Theory Comput.},
61 volume = {21},
62 number = {9},
63 pages = {4375--4385},
64 year = {2025},
65 doi = {10.1021/acs.jctc.5c00340}
66}
6768@article{Kaplan_arXiv_2025_2503_04070,
69 title = {A Foundational Potential Energy Surface Dataset for Materials},
70 author = {Kaplan, Aaron D. and Liu, Runze and Qi, Ji and Ko, Tsz Wai
71 and Deng, Bowen and Riebesell, Janosh and Ceder, Gerbrand
72 and Persson, Kristin A. and Ong, Shyue Ping},
73 journal = {arXiv preprint arXiv:2503.04070},
74 year = {2025},
75 doi = {10.48550/arXiv.2503.04070},
76 url = {https://arxiv.org/abs/2503.04070}
77}