File size: 5,670 Bytes
4aff666 9f0ed97 d81e55b 83271dd 4aff666 83271dd 4aff666 83271dd 4aff666 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | # GRACE foundation-model deployment changelog
Each entry = one HF release of the foundation models. Versioning follows
`pgs/uq/deployment_protocol.md` Β§4:
- **`vX`** β single **incremental release version** (1, 2, 3, β¦), shared by the
`model-vX` / `checkpoint-vX` / `kk-vX` tags of a release. Monotonic; never reused.
- **`-uq-vN`** β UQ feature version of the artifacts in that release (uqv6 β `-uq-v6`).
This file is the **source of truth**, tracked in-repo. On every deploy a copy is
uploaded to the HF repo root as `CHANGELOG.md` (same `create_commit` as the payloads).
Newest release on top.
---
## v3 β uq-v6 β model tag RE-ISSUED 2026-07-06 (add `compute_dense` to 2L)
- **Deliberate, one-time reset of the immutable `model-v3-uq-v6` tag** (protocol Β§4 tags are
normally never moved; done here on explicit request). Only the **SavedModel** payload
changed β `checkpoint-v3-uq-v6` and `kk-v3-uq-v6` are **untouched** (checkpoints and kokkos
are byte-identical; the re-export was made *from* those same checkpoints).
- **What changed:** the **10 2L** models (OMAT/SMAX/SMAX-OMAT, medium+large), both fp32 and
`-fp64` = **20 SavedModels**, re-exported so the SavedModel now also carries the
**`compute_dense`** signature (fast dense-reshape neighbor engine) beside `compute`
(segment_sum). Enables `TPCalculator(..., mode="uniform")` / the dense engine on these models.
- **1L unchanged (8 models):** 1L is a local, scalar-SPBF architecture with **no** equivariant
dense engine, so `compute_dense` does not apply β the 1L SavedModels under the tag are the
same v3 artifacts.
- Re-export reused the existing uqv6 GMM artifacts (no retrain, no GMM rebuild). Weights
identical: re-export vs the previous SavedModel agrees to machine precision (fp64 dE=0,
dF~1e-15; fp32 pure summation-reorder round-off β€5e-6). `compute` vs `compute_dense` E/F
agree (fp64 dE=0). fp64 dirs re-exported with `GRACE_UQ_LENIENT_LOAD=1` (old-format
checkpoints carry one extra non-weight bool flag; validated safe against the deployed fp64).
- **Client URLs unchanged** β `foundation_models.py` already pins `model-v3-uq-v6`; the shifted
tag serves the compute_dense 2L SavedModels transparently.
---
## v4 β uq-v6 β *DEPLOYED 2026-07-06*
- First **3-layer (3L)** GRACE foundation models, shipped with UQ:
**`GRACE-3L-OMAT-large`** (base, fitted on OMat24) and
**`GRACE-3L-OMAT-large-ft-AM`** (fine-tuned on sAlex+MPTraj).
- **uqv6** UQ feature (schema 6, basis-RP **D=132**, normalize + log-norm density);
per-atom gamma flags both compression and stretch.
- **fp32-only.** These models are natively fp32 (no fp64 build exists), so the bare
name *is* the fp32 payload β there is **no `-fp64` variant** (unlike the 18 v3
2L/1L models). kokkos.npz is float-promoted (fp64 storage), served separately.
- **LAMMPS kk = `pair_style grace/3l/kk[/fp32]`** β MIXED/FP32 precision only (there
is no fp64 3L kk kernel). Requires the schema-6-aware build with `grace/3l/kk`
compiled in (its cuBLAS-sgemm selftest threshold is sized for fp32 GEMM). KK-vs-TF
agreement is therefore at fp32 tolerance (E β€5e-7 eV/atom, F β€1.5e-6 eV/Γ
,
gamma rel β€3e-5), not the ~1e-8 of the fp64 2L/1L kk.
- Validated (2026-07-06): KK-vs-TF (E/F/stress + gamma, both models) + quick E-nn
(gamma bounded, no compression blow-up).
- Tags: `model-v4-uq-v6`, `checkpoint-v4-uq-v6`, `kk-v4-uq-v6`.
- Supersedes the earlier upload-only, non-UQ `model-v3` ft-AM SavedModel (left in place;
immutable).
## v3 β uq-v6 β *DEPLOYED 2026-06-26*
- All 18 foundation models rebuilt with the **uqv6** UQ feature (schema 6:
L2-normalized basis direction `(B/βBβ)@R` + log-norm density channels).
De-collapses GMM covariance and flags **both** compression and stretch.
- **Default precision flipped to fp32.** The bare model name now resolves to the
**fp32** SavedModel + checkpoint (2Γ faster, Β½ memory; fp32βfp64 gap negligible β
gamma max-rel β€5e-5). The full-precision build is published non-default as
**`<name>-fp64`**. β Users who pull the bare name get fp32 on the next cache-miss;
use `<name>-fp64` for tight finite-difference / bit-reproducible work. kokkos is
precision-agnostic (one fp64 npz serves both).
- kokkos exports re-baked from the uqv6 artifacts (`uq_schema_version = 6`,
`uq_feature_dim` 130 (1L) / 131 (2L), `uq_rp_normalize` + `uq_rp_add_density_channel`).
- **kokkos.npz distributed separately** as a raw file (not bundled in the model
tarball) β see protocol Β§6.
- Tags: `model-v3-uq-v6`, `checkpoint-v3-uq-v6`, `kk-v3-uq-v6`.
- Done (2026-06-26): all 18 kokkos exported; UFF-GARDEN restaged fp32-default + `-fp64`;
`foundation_models.py` wired (fp32 default, `-fp64` registered, kokkos separate-dist);
`bin/upload_v3_{uqv6,kokkos}_hf.sh` written + dry-run-validated; schema-6-aware kk
`pair_style grace` C++ build **shipped** (kk-vs-TF validated 18/18 OK for E/F/stress
fp64 GPU + gamma fp64 GPU / fp32 CPU).
- Deployed (2026-06-26): pushed to HF `AMS-ICAMS-RUB/grace-foundation-models` β
models+checkpoints (72 archives, 10.2 GB) at commit `4aff666` (tags `model-v3-uq-v6`,
`checkpoint-v3-uq-v6`); kokkos (18 npz, 3.28 GB) at commit `75456fa` (tag `kk-v3-uq-v6`);
CHANGELOG.md uploaded. Client (`foundation_models.py`/`grace_models.py`) committed `ef000a2`
already resolves these tags. No blockers left.
## v2 β *superseded by v3 (2026-06-26)*
- Previous generation, live on the legacy HF tags `kk` (model archives, kokkos
bundled) and `uq-v1` (original 8 OMAT-UQ checkpoints). UQ = uqv2/uqv3-era.
- This is the baseline the v3 rollout supersedes.
|