SPB Git

spb/modelmap Public License

Internal cartography of local LLMs on Apple Silicon — registered, gated, negative-first. Public atlas at modelmap.io.

Python 66.3% JavaScript 24.5% CSS 8.1% Shell 0.7%
5.0 KB · 95 lines markdown
Rendered Raw Blame History
1---2project: modelmap3document: expA_probe_reliability — hypothesis (registered before run)4author: Simon-Pierre Boucher5contact: contact@spboucher.ai6website: https://modelmap.io7created: 2026-08-128modified: 2026-08-129status: reviewed10---1112# Hypothesis — expA (probe reliability / the noise floor)1314> Probe reliability — noise floor of linear probes across seeds and datasets.15> Registered 2026-08-12, before any run. The harness16> (`src/modelmap/probes/linear.py` + `src/modelmap/stats/replication.py`) is17> implemented and unit-tested against planted structure and pure noise;18> no real-model run has happened yet.1920```text21Hypothesis              : On a 0.5B-class model, per-layer linear-probe maps22                          for simple properties (language ID, code-vs-prose,23                          arithmetic-context) are seed-stable (probe-accuracy24                          SD across ≥5 training seeds < 2 points) but25                          dataset-SENSITIVE: switching prompt corpus moves26                          per-layer accuracy by more than the seed SD on at27                          least a third of layers — i.e. the dataset, not the28                          probe seed, is the dominant noise source29                          (Bolukbasi-consistent).30Falsification criterion : Dies if seed variance ≥ dataset variance across the31                          board (then seeds dominate and every later map needs32                          more seeds, not more corpora); the harness itself is33                          invalid if selectivity on a random-init model34                          exceeds 0.05 (fake structure).35Method                  : Qwen3-0.6B (or Pythia-410M fallback) via mlx-lm;36                          capture residual stream at every layer over ≥237                          disjoint prompt sets per property (versioned,38                          checksummed promptsets); probe_with_control per39                          (layer, property, seed) for 5 seeds; report40                          selectivity, bootstrap CIs, BH-FDR across the layer41                          scan; replication_rate on top-k layer sets.42Baseline / null         : shuffled-label control (built into every probe);43                          random-init model of identical architecture;44                          random-direction projections.45Result                  : (pending)46Interpretation          : (pending — with explicit confidence level)47Next experiment         : (pending — expA output becomes the first map card)48```4950---5152# Hypothesis — expA run #2 (structure-borne properties, token-balanced)5354Registered 2026-08-12 **before** the run, after run #1 failed its validity55gate (twin at ceiling on lexically separable classes). Promptsets v2 are56designed so no token distribution separates the classes:5758- **word_order** — grammatical sentence vs seeded scramble of the SAME words59  (perfectly token-balanced per item);60- **agreement** — subject–verb agreement correct vs violated, with is/are61  balanced across both classes (no single token predicts the class);62- **arith_valid** — correct vs off-by-small-delta equations (digit63  distributions overlap across classes).6465```text66Hypothesis              : (a) VALIDITY: on token-balanced properties the67                          random-init twin falls to chance — max twin68                          selectivity < 0.05 (mean-pooled AND last-token).69                          (b) SIGNAL: the trained model beats the twin on70                          word_order and agreement — real−twin selectivity71                          > 0.10 on at least 5 layers (FDR-significant).72                          (c) arith_valid: exploratory, no directional73                          prediction at 0.6B.74                          (d) rerun of run #1's core question where75                          accuracy is off ceiling/floor: dataset shift >76                          seed SD on ≥ 1/3 of layers.77Falsification criterion : (a) dies → mean-pooled/last-token reps are78                          unusable even on balanced classes; harness redesign79                          (matched-position tokens) before any atlas map.80                          (b) dies → structural properties are not linearly81                          decodable at 0.6B-4bit: a publishable Level-182                          negative, and probes/v2 is published as such.83Method                  : capture BOTH mean-pooled and last-token reps in84                          one pass; same grid as run #1 (28 layers × 5 seeds85                          × 2 sets × 3 properties, twin on A sets); word-level86                          class token-overlap certificate stored in the87                          promptset manifest; everything else unchanged.88Baseline / null         : shuffled-label control (every probe); random-init89                          twin; v1 promptsets as positive control (harness90                          must still hit ceiling there — checked on lang_id_A).91Result                  : (pending)92Interpretation          : (pending)93Next experiment         : (pending)94```95