Skip to content

Goldilocks ML

Setting up a DFT calculation means choosing things that are hard to choose well. How dense does the k-point mesh need to be? Is this material a metal, so that it needs smearing? Too coarse and the answer is wrong; too fine and you burn compute for nothing.

Goldilocks answers those questions with models trained on past calculations. This site is where those models are made.

Just want the answers, not the models?

Then you want Goldilocks Core. Give it a structure and it downloads the right model, runs it, and writes your input files. You never touch this repository.

Read on if you want to train a model yourself — on your own calculations, your own chemistry, or your own definition of "converged".

Train on your own data

You describe a training job in a small configuration file — which dataset, how to split it, which model, which metrics — and run it. Nothing is decided in a notebook and forgotten.

Prepare your data covers the format your calculations need to be in. Train a model walks through a real one.

Every run leaves one self-contained folder: what the model predicted for each sample next to the true value, which samples went into training, validation and testing, how it scored against a trivial baseline, and a checksum for every file it read or wrote. A score means nothing without knowing what a naive guess would have got, and six months from now the checksums are how you prove which data produced which model.

Share what you trained

uv run goldilocks-ml publish validate deposits/k_points/k_distance/qrf \
  --artifact-directory local_data/models/k_points/k_distance/qrf

Publishing puts a model in PSDI Data Collections with a permanent identifier, so other people can cite it and check they have the same file you did. Everything is checked locally before anything is uploaded, and nothing is ever submitted for review without you looking at it first.

Publishing a model is the full walkthrough.

Models published this way

Model What it gives you Record
QRF95 how dense a k-point mesh needs to be q3bye-wep37
CGCNN representation 64 numbers describing a crystal m742g-g0k14
CGCNN metallicity classifier metal or insulator, with a threshold chosen for the cost of being wrong ba06w-n6a68

QRF95 and the CGCNN representation were reviewed and accepted by the PSDI Data to Knowledge community, and are now historical: their latest versions are the last, and neither is developed here any more. The metallicity classifier is not — it is trained in this repository from a versioned protocol (matbench_mp_is_metal.v2, currently), and expected to be retrained and republished as the recipe improves. Every deposit definition is in deposits/, and is the example to copy when you publish your own.

Where to go

Install Train a model Publish a model