UMA — Universal Models for Atoms
UMA is a family of universal machine-learning interatomic potentials developed by Meta's FAIR Chemistry team. Trained on approximately 500 million unique 3D atomic structures spanning molecules, materials, and catalysts, UMA is designed to serve as a single universal model that handles diverse chemical domains without requiring fine-tuning.
MAPLE defaults to UMA v1.2 (uma-s-1p2), which offers ~50% faster inference and ~40% improved accuracy on molecular systems compared to v1.1.
Configuration
Basic usage with all defaults (task = omol, size = uma-s-1p2):
#model=uma
Specify task and/or size explicitly:
#model=uma(task=omat, size=uma-s-1p2)
Both parameters are optional and can be used independently:
# Only change task (size stays at default uma-s-1p2)
#model=uma(task=oc20)
# Only change size (task stays at default omol)
#model=uma(size=uma-m-1p1)
Model Sizes
Three checkpoints are available, offering different tradeoffs between speed and accuracy:
| Checkpoint | Version | Active Params | Total Params | Notes |
|---|---|---|---|---|
uma-s-1p2 |
v1.2 | 6.6M | ~150M | Default. Latest and fastest; ~50% faster, ~40% more accurate than v1.1 |
uma-s-1p1 |
v1.1 | 6.6M | ~150M | Previous stable release; use if v1.2 compatibility issues arise |
uma-m-1p1 |
v1.1 | ~50M | ~1.4B | Higher accuracy across all benchmarks; slower and more GPU memory |
Tip
For most use cases, the default uma-s-1p2 provides the best balance of speed and accuracy. Switch to uma-m-1p1 when you need the highest possible accuracy and can tolerate slower evaluation.
Task Domains
UMA is a multi-task model trained on different DFT methodologies. The task parameter selects which domain-specific head to use, matching the DFT level of theory for your system type:
| Task | Domain | DFT Method | Typical Applications |
|---|---|---|---|
omol |
Organic Molecules | ωB97M-V / def2-TZVPD | Drug design, polymers, biochemistry |
omat |
Inorganic Materials | PBE / PBE+U | Photovoltaics, batteries, superconductors |
oc20 |
Heterogeneous Catalysis | RPBE | Fuel cells, renewable energy, surface reactions |
odac |
MOFs / Direct Air Capture | PBE+D3 | Carbon capture, gas adsorption, porous materials |
omc |
Molecular Crystals | PBE+D3 | Organic electronics, pharmaceutical crystals |
oc22 |
Oxide Catalysis | PBE+U (spin-polarized) | Oxide surfaces, electrocatalysis on oxides |
oc25 |
Electrolyte Interfaces | RPBE+D3 | Electrochemistry, solid-liquid interfaces |
Important
The oc22 and oc25 tasks are only available with UMA v1.2 checkpoints (uma-s-1p2). Using these tasks with v1.1 checkpoints will result in an error.
Charge and Spin
UMA supports charge and spin multiplicity for the omol task. Specify them in the coordinate block:
#model=uma
#opt(method=lbfgs)
-1 2
O 0.000000 0.000000 0.000000
O 1.210000 0.000000 0.000000
The first line of the coordinate block is charge multiplicity (here: charge = −1, multiplicity = 2 for a doublet superoxide anion).
Warning
Charge and spin are only meaningful for the omol task. Other tasks (materials, catalysis) do not use these parameters.
Usage Examples
Default: molecular geometry optimization
# Default: uma-s-1p2 checkpoint, omol task
#model=uma
#device=gpu0
#opt(method=lbfgs)
0 1
C 0.000000 0.000000 0.000000
O 1.200000 0.000000 0.000000
H -0.540000 0.940000 0.000000
H -0.540000 -0.940000 0.000000
Inorganic material optimization (omat)
#model=uma(task=omat)
#device=gpu0
#opt(method=lbfgs)
XYZ /path/to/material.xyz
Catalysis with medium model for higher accuracy
#model=uma(task=oc20, size=uma-m-1p1)
#device=gpu0
#opt(method=lbfgs)
XYZ /path/to/catalyst_surface.xyz
Molecular crystal with v1.1 fallback
#model=uma(task=omc, size=uma-s-1p1)
#device=gpu0
#opt(method=lbfgs)
XYZ /path/to/crystal.xyz
Transition state search with UMA
#model=uma
#device=gpu0
#ts(method=neb)
XYZ /path/to/reactant.xyz
XYZ /path/to/product.xyz
With implicit solvation (GBSA)
#model=uma
#device=gpu0
#solv(method=gbsa, implicit=water)
#opt(method=lbfgs)
0 1
C 0.000000 0.000000 0.000000
O 1.200000 0.000000 0.000000
H -0.540000 0.940000 0.000000
H -0.540000 -0.940000 0.000000
Compatibility Notes
- D4 dispersion: Not supported with UMA. The model's training data already includes dispersion-corrected DFT for relevant tasks (PBE+D3 for omc, odac, oc25).
- GBSA solvation: Fully supported. QEq charges are computed automatically when implicit solvation is enabled.
- All MAPLE job types are compatible with UMA: single point, optimization, transition state search, IRC, frequency, PES scan, and molecular dynamics.
- Requires
fairchem-corePython package (v2.9+) and a HuggingFace account with access to thefacebook/UMArepository.
