YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

Frost

Incremental GNN inference for geometric rollouts

Edge-local caching with conservative-by-construction staleness, for machine-learned interatomic potentials and learned physics simulators.

License: MIT Python 3.12 Status: pre-alpha


The idea

Machine-learned interatomic potentials are accurate to tens of meV/Ã… against their DFT reference. Every production engine evaluates them to floating-point precision, a million times per nanosecond, uniformly across every atom whether or not its local environment changed. The gap between what the model is worth and what the arithmetic delivers spans four to five orders of magnitude, and it is currently spent on nothing.

Frost claims that gap. It treats the message-passing state of a rollout GNN as a cache whose invalidation predicate comes from the physics of atomic motion rather than from a heuristic, and whose staleness is conservative by construction, so energy drift admits a proved bound rather than an empirical hope.

Three moves make it work:

Move What it buys
Cache edges, not nodes Layer-1 staleness propagates nowhere. Node-level caching provably saturates.
Propagate error, not flags The effective closure radius collapses far below M × r_c.
Differentiate through the cache Forces stay the exact gradient of a well-defined surrogate energy.

The full design is in docs/design/Frost.pdf. The implementation plan, including everything measured so far, is in docs/design/plan.md.

Status

Pre-alpha. The runtime is not built yet. What exists is a verified toolchain and the week-0 measurements that decide whether building it is worthwhile.

Four of the design's structural claims are already confirmed on the real deployed MACE-MP-0 checkpoint:

Claim Measured
Zero closure at layer 1 (Prop. 3.4) one moved atom changes exactly its 92 incident edge rows, and no others
Closure saturation (Thm. 3.2) the same perturbation dirties 52% of atoms at layer 2
Zeroth-order caching deletes forces (Thm. 6.1) 67.7% of the force RMS wrong at zero displacement, flat to a factor of 1.00
First-order caching is a true perturbation (Thm. 6.2) exact at zero, then scaling exponent 1.00

Reproduce them with python experiments/probes/probe_zero_closure.py and python experiments/probes/probe_force_error.py.

Quick start

Frost needs two environments, because mace-torch pins e3nn==0.4.4 and nequip requires e3nn>=0.6. See CONTRIBUTING.md for the full setup.

source scripts/env.sh mace        # or: nequip
./scripts/verify.sh               # 36 checks, must be 0 failures
./scripts/status.sh               # what is installed and downloaded

python -m frost.systems                          # build the simulation cells
python experiments/probes/probe_force_error.py   # confirm Thm. 6.1 and 6.2
pytest -q                                        # unit and integration tests

Fetch data in tiers, resumably:

python scripts/fetch_data.py --list
python scripts/fetch_data.py --tier A

Layout

src/frost/            the runtime
  cache.py              edge cache: SoA storage, hashing, generation counters
  predicate.py          invalidation; the sensitivity table
  edgekey.py            periodic edge identity and displacement continuity
  systems.py            the simulation cells, built from script
  shims/                one adapter per architecture (~100 lines each)
  kernels/              fused predicate + gather; Triton affine-cache evaluation
  integrations/         ASE, TorchSim, LAMMPS surfaces
  analysis/             metrics, drift fitting, plotting
experiments/          pre-registered, one package per experiment id
  probes/               week-0 theorem checks
  e1_redundancy/        the Gate 1 measurement
benchmarks/           timing harnesses and baseline parity
tests/{unit,integration,gpu}
scripts/              env, verify, status, data fetch, third-party builds
configs/{env,systems,experiments}
docs/{design,guides}
data/                 models, datasets, logs, results   (gitignored)
third_party/          vendored reference implementations (gitignored)

Non-goals

Frost is not a new MLIP architecture and trains no models; it consumes pretrained checkpoints unmodified. It is not a replacement for kernel-level acceleration — cuEquivariance, FlashTP and OpenEquivariance make each tensor product cheaper, Frost decides which ones to evaluate, and the two compose multiplicatively. It makes no claim to improve accuracy: the best possible outcome is that it is indistinguishable from exact evaluation at lower cost.

Licence

MIT, matching TorchSim, so that upstreaming is frictionless. See LICENSE.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support