Files

43 lines
2.5 KiB
Markdown

# Actual-model shell census
Read [PROTOCOL.md](PROTOCOL.md) before interpreting the results. This analyzes
retained parameter arrays, not model activations or task accuracy.
Run only on the authorized CPU server from the repository root:
```sh
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 venv/bin/python -m unittest model_shell.test_analysis -v
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 venv/bin/python -m model_shell.analyze
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 venv/bin/python -m model_shell.report
```
Inputs are the already retained `runs/cpu-qwen35-2b/weights` and
`runs/finetune-head-comparison/adapter.safetensors` with their existing JSON
configuration and metadata. The adapter is evaluated as FP32 W+2BA. No weights
are modified, no training or inference is run, and no files are deleted.
`runs/model-shell/checkpoints` is a resumable group ledger. Re-running skips
completed groups; do not reuse a ledger after changing its protocol/code/inputs.
One invocation stops at 7,200 seconds, RSS above 512 MiB or available memory below
128 MiB. Resume after addressing a resource stop; do not relax guards silently.
`results/model-shell` contains the report, group inventory, per-profile metric
CSV, compressed complete CDF/control summaries, and measured calibration/held-out
radii. The NPZ keys are `GROUPINDEX_MODEL_CENTER_cal` / `_eval`, with zero-based
group indices into `inventory.json`. Unchanged fine-tune profiles explicitly
reference the original profiles in `profiles.json.gz`; the CSV expands both.
Raw null draws are reproducible from the recorded deterministic seeds; null CDFs,
scales and participation summaries are stored. `audit.json` verifies coverage,
recomputes empirical CDFs from the saved norms, checks finite-sample rank limits,
verifies the original asset SHA256 values, and hashes the output artifacts.
`example_radii.npz` also saves calibration/held-out radii for the three fixed role
examples and their regenerated nulls; their grid CDFs are checked against the
original ledger before plotting full empirical step curves from radius zero.
The count of views is defined by the protocol and is not a unique number of
distributions inherent in a neural network. These overlapping views are equally
weighted for description; they are not independent replicates. The box nulls
match fitted marginal ranges or moments, not correlations. The maximum fitted
radius is not the unknown support boundary. Quantities near numerical or Monte
Carlo resolution cannot support a definitive population statement.