BAM-MP-core
BAM (Bayesian Atoms Modeling) pretrained on the Materials Project Trajectory (MPtrj) dataset.
This model is a Bayesian E(3) Equivariant Machine Learning Potential based on the RACE (Restratification of Atoms with Combined Encoding) architecture. It provides uncertainty-aware energy and force predictions for atomistic simulations of inorganic materials.
Model Description
BAM-MP-core is trained on the MPtrj dataset, which contains DFT-calculated energies and forces from the Materials Project. The model uses E(3)-equivariant message passing with iterative restratification to achieve ab initio-level accuracy while providing robust uncertainty quantification.
Key Features
- E(3) Equivariance: Maintains rotational and translational symmetry for physically consistent predictions
- RACE Architecture: Iterative Restratification of Atoms with Combined Encoding for improved message passing
- Joint Energy-Force NLL Loss: Novel loss function explicitly modeling uncertainty in both energies and interatomic forces
- Uncertainty Quantification: Comprehensive uncertainty estimation for active learning, calibration, and out-of-distribution detection
- Scalable: Designed for large-scale atomistic simulations with GPU acceleration
Intended Uses
- Energy and force prediction for inorganic materials
- Molecular dynamics simulations
- Uncertainty-aware atomistic simulations
- Active learning for efficient data acquisition
- Out-of-distribution detection in materials discovery
Training Details
Training Data
The model is trained on the Materials Project Trajectory (MPtrj) dataset, which includes DFT-calculated energies, forces, and stresses from relaxation trajectories across diverse inorganic materials.
Architecture
- Model type: RACE
- Equivariance: E(3) equivariant via e3nn
- Framework: PyTorch + PyTorch Geometric
How to Use
Installation
git clone https://github.com/myung-group/BAM-torch
cd BAM-torch
pip install "torch<=2.8"
python install_deps.py
pip install -e .
Inference
import json
import torch
from bam_torch.predicting.evaluator import Evaluator
from bam_torch.utils import find_input_json
input_json_path = find_input_json()
with open(input_json_path) as f:
json_data = json.load(f)
evaluator = Evaluator(json_data)
evaluator.evaluate()
Citation
If you use this model in your research, please cite:
@article{willow2026bayesian,
title={Bayesian equivariant interatomic potential with iterative restratification of many-body message passing},
author={Willow, Soohaeng Yoo and Park, Tae Hyeon and Sim, Gi Beom and Moon, Sung Wook and Min, Seung Kyu and Seo, Sangjae and Kim, Jaewook and Yang, D. ChangMo and Kim, Hyun Woo and Lee, Juho and Myung, Chang Woo},
journal={npj Computational Materials},
year={2026},
doi={10.1038/s41524-026-02258-9},
url={https://doi.org/10.1038/s41524-026-02258-9}
}
More Information
- GitHub Repository: https://github.com/myung-group/BAM-torch
- Paper: npj Computational Materials (2026)
License
This model is released under the MIT License.