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-core Python package (v2.9+) and a HuggingFace account with access to the facebook/UMA repository.