UMA (Universal Materials Interaction Model) is a general-purpose machine-learning interatomic potential for materials and catalytic systems. Built on an equivariant graph neural network, it predicts the energies and forces of atomic structures.
Model Description
UMA uses an equivariant graph neural network architecture trained on multiple materials and catalysis datasets, including OC20, OC22, OC25, OMat, OMOL, ODAC, and OMC. It supports energy and force prediction and structure optimization for catalytic adsorption, inorganic materials, molecular systems, and MOFs.
Use Cases
Use case
Description
OC20 energy/force fine-tuning
Read OC20 fine-tuning data with the standard configuration and train a UMA model
OC22 oxide-catalysis fine-tuning
Fine-tune on OC22 with the standard configuration (1P2 only)
OC25 (electro)catalysis fine-tuning
Fine-tune on OC25 with the standard configuration (1P2 only)
OMat inorganic-material fine-tuning
Fine-tune on OMat with the standard configuration
OMOL molecule/polymer fine-tuning
Fine-tune on OMOL with the standard configuration
ODAC MOF fine-tuning
Fine-tune on ODAC with the standard configuration
OMC molecular-crystal fine-tuning
Fine-tune on OMC with the standard configuration
Training preflight
Check configurations, data paths, run scripts, and checkpoint locations
Catalytic adsorption modeling
Use OC20/OC22/OC25 tasks as references for training and inference on adsorption and catalytic-surface systems
Inference-script reference
Adapt upstream examples for crystal relaxation, adsorption-system relaxation, or molecular MD
Custom data migration
Convert ASE-readable structures into UMA fine-tuning data, then replace the training and validation paths
Usage
1. Using OneCode
Try intelligent, one-click AI4S programming in the OneCode online environment:
Training data is not bundled with this repository. The following example uses OC20 fine-tuning. OC22, OC25, OMat, OMOL, ODAC, and OMC follow the same workflow; only --uma-task and the data paths need to be changed.
The downloaded raw data usually consists of .extxyz files. Convert them to ASE-LMDB format with scripts/create_uma_finetune_dataset.py, which also computes elem_refs and normalizer_rmsd. The script supports these tasks:
demo/run.sh automatically sets the repository root as ONESCIENCE_DATASETS_DIR, so relative paths in the configuration resolve automatically.
Trained Weights
This repository includes the rotation-basis file weight/Jd.pt. Download a pretrained UMA checkpoint, such as uma-s-1p1_converted.pt, from the official fairchem repository, convert it to UMA format, and place it at the following location (upload pending):
The UMA example code comes from the MatChem examples in the OneScience project and refers to the upstream fairchem project (https://github.com/facebookresearch/fairchem). The upstream fairchem software is released under the MIT License. Individual fairchem model checkpoints and datasets may have separate licenses; follow the applicable terms.
If you use UMA fine-tuning or inference results in research, please cite UMA or the relevant universal materials interaction model method, the fairchem and OneScience projects, and the datasets used.