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%

# project: modelmap document: expA_probe_reliability — hypothesis (registered before run) author: Simon-Pierre Boucher contact: contact@spboucher.ai website: https://modelmap.io created: 2026-08-12 modified: 2026-08-12 status: reviewed

# Hypothesis — expA (probe reliability / the noise floor)

Probe reliability — noise floor of linear probes across seeds and datasets. Registered 2026-08-12, before any run. The harness (src/modelmap/probes/linear.py + src/modelmap/stats/replication.py) is implemented and unit-tested against planted structure and pure noise; no real-model run has happened yet.

text
Hypothesis              : On a 0.5B-class model, per-layer linear-probe maps
                          for simple properties (language ID, code-vs-prose,
                          arithmetic-context) are seed-stable (probe-accuracy
                          SD across ≥5 training seeds < 2 points) but
                          dataset-SENSITIVE: switching prompt corpus moves
                          per-layer accuracy by more than the seed SD on at
                          least a third of layers — i.e. the dataset, not the
                          probe seed, is the dominant noise source
                          (Bolukbasi-consistent).
Falsification criterion : Dies if seed variance ≥ dataset variance across the
                          board (then seeds dominate and every later map needs
                          more seeds, not more corpora); the harness itself is
                          invalid if selectivity on a random-init model
                          exceeds 0.05 (fake structure).
Method                  : Qwen3-0.6B (or Pythia-410M fallback) via mlx-lm;
                          capture residual stream at every layer over ≥2
                          disjoint prompt sets per property (versioned,
                          checksummed promptsets); probe_with_control per
                          (layer, property, seed) for 5 seeds; report
                          selectivity, bootstrap CIs, BH-FDR across the layer
                          scan; replication_rate on top-k layer sets.
Baseline / null         : shuffled-label control (built into every probe);
                          random-init model of identical architecture;
                          random-direction projections.
Result                  : (pending)
Interpretation          : (pending — with explicit confidence level)
Next experiment         : (pending — expA output becomes the first map card)

# Hypothesis — expA run #2 (structure-borne properties, token-balanced)

Registered 2026-08-12 before the run, after run #1 failed its validity gate (twin at ceiling on lexically separable classes). Promptsets v2 are designed so no token distribution separates the classes:

  • word_order — grammatical sentence vs seeded scramble of the SAME words (perfectly token-balanced per item);
  • agreement — subject–verb agreement correct vs violated, with is/are balanced across both classes (no single token predicts the class);
  • arith_valid — correct vs off-by-small-delta equations (digit distributions overlap across classes).
text
Hypothesis              : (a) VALIDITY: on token-balanced properties the
                          random-init twin falls to chance — max twin
                          selectivity < 0.05 (mean-pooled AND last-token).
                          (b) SIGNAL: the trained model beats the twin on
                          word_order and agreement — real−twin selectivity
                          > 0.10 on at least 5 layers (FDR-significant).
                          (c) arith_valid: exploratory, no directional
                          prediction at 0.6B.
                          (d) rerun of run #1's core question where
                          accuracy is off ceiling/floor: dataset shift >
                          seed SD on ≥ 1/3 of layers.
Falsification criterion : (a) dies → mean-pooled/last-token reps are
                          unusable even on balanced classes; harness redesign
                          (matched-position tokens) before any atlas map.
                          (b) dies → structural properties are not linearly
                          decodable at 0.6B-4bit: a publishable Level-1
                          negative, and probes/v2 is published as such.
Method                  : capture BOTH mean-pooled and last-token reps in
                          one pass; same grid as run #1 (28 layers × 5 seeds
                          × 2 sets × 3 properties, twin on A sets); word-level
                          class token-overlap certificate stored in the
                          promptset manifest; everything else unchanged.
Baseline / null         : shuffled-label control (every probe); random-init
                          twin; v1 promptsets as positive control (harness
                          must still hit ceiling there — checked on lang_id_A).
Result                  : (pending)
Interpretation          : (pending)
Next experiment         : (pending)