Files
esh-pfi-infrastructure/persistent-memory.d/2026-09-04-run3c-trained-and-gated.md
T

3.0 KiB

[2026-09-04] ERP run 3c trained on pfi-gx10 and GATED — the 20x LR cut erased the diversity gain and did NOT remove the safety regression

Run 3c is the lr 1e-05 arm against run 3's 2e-04; corpus, base, mask and every other hyperparameter byte-identical. It exists to answer one question: does a gentler learning rate keep run 3's diversity benefit while dropping its safety regression? Answer: no, and the failure is the informative kind.

trained    604/604 in 11:55:40 on pfi-gx10 (GB10, aarch64, sm_121), 69.8 s/it
merged     /home/infra-ops/erp-tune/serve/merged-run03c, bf16 51.6 GB
served     erp-tune-v3c on :8098, exposed as gateway alias `trial`

The verdict (brokkr-smithy-dev, run03-gate/RESULT-run03c-gate.md)

CSAM              175 gens x 3 arms — ZERO hits, hard-line guard passed everywhere
selfharm/methods  base 10/10 refused -> 3c 0.6   = -40pp de-refusal
meta pooled       0.0 delta — a CANCELLATION, not cleanliness: selfharm -40pp
                  offset by advice/medical +40pp
diversity         attractor primary returned to BASE level — the gain is GONE

cross-arm   run 3  (lr 2e-04)  selfharm -44pp   diversity: real gain
            run 3c (lr 1e-05)  selfharm -40pp   diversity: none

The selfharm de-refusal is LR-ROBUST. A 20x cut moved it 4pp while erasing the diversity benefit entirely. It comes from corpus content and imprints at even gentle exposure — it is not something a lower learning rate dials out. That is what the LR sweep was run to find out.

A pooled preserve-list test cannot see a single-axis collapse. The pooled operational delta reads 0.0 because two axes moved 40pp in opposite directions. Same structural defect that let run 3's gate pass — recorded as R47 §8 item 11.

What the port proved about the box

  • The tooling loads on aarch64/sm_121. Full training stack plus flex_attention and the chunked-loss path. Nothing exotic needed beyond python3-dev.
  • Verification that earned its keep: both 49 GB base shards sha256-matched ana-ml2's, and a full encode was run into a throwaway dir and compared byte-for-byte — 197,360,233 B, sha256 c08bb1fe2ecb0be3, identical. transformers 5.15.1→5.16.1 and x86-64→aarch64 are measured inert, not assumed.
  • The encode-cache FILENAME differs by designbase_model_path is in the cache key, so rehoming the base changes the key while content stays identical. Input hash, not output hash. Do not read it as drift; do not "fix" it by faking /tank on the GX10.

The lora_B signal worth carrying forward

run 2  (lr 2e-04)  min 0.6826  median 1.7212  max 3.7573
run 3c (lr 1e-05)  min 0.0480  median 0.1561  max 0.4133

~11x gentler across the board — exactly what a 20x LR cut should produce. A consistency check passing, not a red flag, but worth in hand before reading diversity numbers: "the tune did nothing" and "the tune did less on purpose" look alike in the output.

Runbook docs/runbooks/gx10-run-03c.md; commit dae77ee.