Model card: de-anonymised, measured contents, maps by experiment
Browse files
README.md
CHANGED
|
@@ -2,59 +2,98 @@
|
|
| 2 |
license: cc-by-4.0
|
| 3 |
tags:
|
| 4 |
- interpretability
|
|
|
|
| 5 |
- jacobian-lens
|
| 6 |
- pythia
|
| 7 |
- reproducibility
|
| 8 |
library_name: pytorch
|
| 9 |
---
|
| 10 |
|
| 11 |
-
#
|
| 12 |
|
| 13 |
-
|
|
|
|
| 14 |
|
| 15 |
-
**
|
| 16 |
-
|
| 17 |
-
produced. **No third-party corpus text is distributed here.** The corpus pool is rebuilt from its
|
| 18 |
-
public sources by `repro/06_build_corpora.sh` and verified against the manifests that ship here;
|
| 19 |
-
8 of 11 corpora rebuilt bit-identically when measured. `ATTRIBUTION.md` has the detail.
|
| 20 |
|
| 21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
results/
|
| 28 |
-
results/<
|
| 29 |
-
results/*.json
|
| 30 |
-
corpora/
|
| 31 |
-
```
|
| 32 |
|
| 33 |
-
|
| 34 |
-
|
| 35 |
|
| 36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
|
| 38 |
-
Every
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
|
| 40 |
```bash
|
| 41 |
-
git clone
|
| 42 |
uv sync && bash repro/01_setup_local.sh
|
| 43 |
-
bash repro/04_fetch_results.sh
|
| 44 |
-
bash repro/RUN_ALL.sh --tier T0
|
|
|
|
|
|
|
| 45 |
```
|
| 46 |
|
| 47 |
-
`--tier T1` re-scores the stored operators on CPU and needs the `.pt` from this repo
|
| 48 |
-
(`bash repro/03_fetch_artifacts.sh --all`). `--tier T2` refits on GPU.
|
| 49 |
-
|
| 50 |
## Provenance
|
| 51 |
|
| 52 |
-
|
| 53 |
-
the
|
| 54 |
-
|
| 55 |
-
|
|
|
|
| 56 |
|
| 57 |
-
|
| 58 |
-
|
|
|
|
| 59 |
|
| 60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
license: cc-by-4.0
|
| 3 |
tags:
|
| 4 |
- interpretability
|
| 5 |
+
- mechanistic-interpretability
|
| 6 |
- jacobian-lens
|
| 7 |
- pythia
|
| 8 |
- reproducibility
|
| 9 |
library_name: pytorch
|
| 10 |
---
|
| 11 |
|
| 12 |
+
# fittingcorpus: fitted Jacobian maps and results
|
| 13 |
|
| 14 |
+
The artifacts for **The Fitting Corpus Is Part of the Measurement: Auditing a Jacobian Lens on
|
| 15 |
+
Pythia** (Tarush Gupta, *Interpretability as a Science* workshop, NeurIPS 2026).
|
| 16 |
|
| 17 |
+
**Code, pre-registrations and documentation:**
|
| 18 |
+
[github.com/tarush-ai/fittingcorpus](https://github.com/tarush-ai/fittingcorpus)
|
|
|
|
|
|
|
|
|
|
| 19 |
|
| 20 |
+
This repository holds the two things the code repository does not: every stored result, and
|
| 21 |
+
every fitted map. The Jacobian lens reads a mid-layer hidden state through a map *J*, the model's
|
| 22 |
+
derivative of its final hidden state with respect to that layer, averaged over a corpus of prompts.
|
| 23 |
+
The paper measures how much the corpus chosen for that average changes what the lens reads, on
|
| 24 |
+
Pythia models from 70M to 2.8B parameters.
|
| 25 |
|
| 26 |
+
## Contents
|
| 27 |
+
|
| 28 |
+
| path | what it holds |
|
| 29 |
+
|---|---|
|
| 30 |
+
| `results/*.json` | 193 results files, one or more per experiment. Every statistic in the paper is computed from these |
|
| 31 |
+
| `results/<experiment>/*.json`, `*.npz` | 147 per-cell and per-seed records behind them |
|
| 32 |
+
| `results/**/*.pt` | 382 files, 16.2 GB: 380 fitted Jacobian maps and 2 activation caches. 222 maps also carry a `_provenance.json` sidecar |
|
| 33 |
+
| `corpora/` | the corpus manifests: per-file SHA-256, document counts, source datasets and revisions, seed-block ranges. No corpus text |
|
|
|
|
| 34 |
|
| 35 |
+
The maps, by the experiment that fitted them (IDs from the code repository's
|
| 36 |
+
`docs/experiments/REGISTRY.md`):
|
| 37 |
|
| 38 |
+
| directory | maps | experiment |
|
| 39 |
+
|---|---:|---|
|
| 40 |
+
| `results/lenses/e28/` | 166 | E28: the read ladder over fitting corpus and fitting-set size *N* |
|
| 41 |
+
| `results/lenses/plad/` | 53 | E27: maps fitted on two halves of each corpus (between- against within-corpus distance) |
|
| 42 |
+
| `results/lenses/ladder/` | 15 | the model ladder, 70M to 2.8B |
|
| 43 |
+
| `results/lenses/misc/` | 8 | smoke tests and one-off fits, including the median and trimmed-mean variants of E16 |
|
| 44 |
+
| `results/e48/` | 27 | E48 and E52: the 24 maps behind the 8 × 8 factorial (eight fitting corpora × three seeds at 410M), and 3 refits on a deduplicated News 2024 corpus |
|
| 45 |
+
| `results/cv6/` | 30 | E75: the 1.4B and 2.8B replication (plus two activation caches) |
|
| 46 |
+
| `results/ladder1b_b613/` | 15 | E62: the 1B ladder on band [6,13] |
|
| 47 |
+
| `results/r6/` | 8 | E72: within-source resampling |
|
| 48 |
+
| `results/r7/`, `results/r7_verified_snapshot/` | 47 | E74: fitting pools matched on type-token ratio |
|
| 49 |
+
| `results/e65_lenses/` | 11 | E65: Pythia training checkpoints |
|
| 50 |
|
| 51 |
+
Every map is the released reference implementation's corpus average
|
| 52 |
+
([anthropics/jacobian-lens](https://github.com/anthropics/jacobian-lens) at `581d398`), fitted in
|
| 53 |
+
fp32 with TF32 off, except the two robust-average variants in `misc/`, which are named as such.
|
| 54 |
+
|
| 55 |
+
## Usage
|
| 56 |
+
|
| 57 |
+
The code repository's scripts fetch from here, with no login needed:
|
| 58 |
|
| 59 |
```bash
|
| 60 |
+
git clone https://github.com/tarush-ai/fittingcorpus && cd fittingcorpus
|
| 61 |
uv sync && bash repro/01_setup_local.sh
|
| 62 |
+
bash repro/04_fetch_results.sh # results/*.json, about 8 MB
|
| 63 |
+
bash repro/RUN_ALL.sh --tier T0 # recompute every statistic in the paper
|
| 64 |
+
bash repro/03_fetch_artifacts.sh --all # the maps, 16 GB, hash-verified on download
|
| 65 |
+
bash repro/RUN_ALL.sh --tier T1 # re-score every read from the maps, on CPU
|
| 66 |
```
|
| 67 |
|
|
|
|
|
|
|
|
|
|
| 68 |
## Provenance
|
| 69 |
|
| 70 |
+
Every results file carries a `provenance` block: the producing script and its SHA-256, the git
|
| 71 |
+
commit, the command line, and the SHA-256 of every input. `payload_sha256` hashes the record with
|
| 72 |
+
that block excluded, so it is unchanged by a rerun that alters only environment metadata. Rerun a
|
| 73 |
+
result, compare `payload_sha256`, and a match means no number moved. A map's sidecar records the map's
|
| 74 |
+
own SHA-256 and the configuration that fitted it.
|
| 75 |
|
| 76 |
+
The code repository's `docs/reproducibility/HF_MIRROR_MANIFEST.tsv` lists every file here with
|
| 77 |
+
its size and hash. `tools/hf_mirror_manifest.py --verify --repo Tarush-AI/fittingcorpus` checks
|
| 78 |
+
this repository against it.
|
| 79 |
|
| 80 |
+
## Licence
|
| 81 |
+
|
| 82 |
+
CC BY 4.0. Everything here was produced by this work. The models are EleutherAI's Pythia
|
| 83 |
+
(Apache-2.0) and the fitter is the released Jacobian-lens implementation (Apache-2.0).
|
| 84 |
+
|
| 85 |
+
**No corpus text is distributed.** It is third-party text, and the Wikipedia-derived corpora are
|
| 86 |
+
CC BY-SA, which cannot be relicensed as CC BY 4.0. The code repository rebuilds the pool from its
|
| 87 |
+
public sources with `bash repro/06_data.sh --build` and verifies it against the manifests here.
|
| 88 |
+
See `ATTRIBUTION.md`.
|
| 89 |
+
|
| 90 |
+
## Citation
|
| 91 |
+
|
| 92 |
+
```bibtex
|
| 93 |
+
@inproceedings{gupta2026fittingcorpus,
|
| 94 |
+
title = {The Fitting Corpus Is Part of the Measurement: Auditing a Jacobian Lens on Pythia},
|
| 95 |
+
author = {Gupta, Tarush},
|
| 96 |
+
booktitle = {Interpretability as a Science Workshop at NeurIPS 2026},
|
| 97 |
+
year = {2026}
|
| 98 |
+
}
|
| 99 |
+
```
|