E13: real-weight model speciation — the Git Re-Basin residual confirms E12

The real-weight image of E12, and the answer to the mode-connectivity reviewer.
Small no-BN MLPs on MNIST, forked from a shared base and trained independently,
are weight-averaged; we measure the linear-mode-connectivity barrier before and
after in-house deterministic Git Re-Basin permutation alignment (neural/rebasin.py,
scipy linear_sum_assignment), decomposing it into removable (coordinate artefact)
and residual (reproductive isolation). kind: speciation_real.

Result (3 reps):
- shared (same task, shared fork): no barrier — trivially mergeable.
- independent (same task, different init): naive 0.056, alignment removes 98%
  (residual 0.001) — the incompatibility is a coordinate artefact.
- conflict (conflicting label maps): naive 0.496, alignment removes 0% (residual
  0.496) — genuine reproductive isolation. Because alignment demonstrably works on
  the independent case, the conflict residual is real, not a failure to align.
- Isolation cliff (speciation_real_cliff): residual rises 0.00->0.13->0.19->0.28->
  0.40->0.49 with the fraction of conflicting classes — the real-weight mirror of
  E12's cliff; residual==naive throughout (functional, not coordinate).

rebasin.py sanity-gated (recovers a known permutation exactly). plot_speciation_real.py
(2-panel), +4 pure-NumPy tests (142 green), README with honest positioning vs
Git Re-Basin / Entezari / Frankle / Pari 2024 / Zhou 2026. Wired into make mnist
(needs torchvision).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Giorgio Gilestro 2026-07-09 00:19:04 +01:00
parent 56f642e7f9
commit 01d87e504f
15 changed files with 620 additions and 3 deletions

View file

@ -0,0 +1,28 @@
experiment: speciation_real
kind: speciation_real
seed: 13
n_replicates: 3
# E13 — REAL-WEIGHT model speciation (the real-weight image of E12). Two small no-BN MLPs are forked
# from a shared MNIST base and trained independently; we merge them (weight averaging) and measure the
# linear-mode-connectivity barrier BEFORE and AFTER Git Re-Basin permutation alignment. The barrier
# alignment removes is a coordinate artefact; the RESIDUAL it cannot remove is the reproductive-isolation
# signal. Three conditions decompose it: `shared` (same task, shared fork — no barrier, trivially
# mergeable), `independent` (same task, different init — large barrier that alignment REMOVES: coordinate
# artefact, residual ~0), `conflict` (conflicting label maps — large barrier alignment CANNOT remove:
# residual = real speciation). The residual after alignment is the discriminator. Falsifier: alignment
# fails to remove the independent-init barrier (then residual isn't meaningful), or conflict shows no
# residual. In-house deterministic weight-matching (scipy); statistically reproducible (seeded torch).
speciation_real:
sizes: [784, 512, 512, 10]
conditions: [shared, independent, conflict]
t_div: [100, 200, 400, 800, 1600]
base_steps: 500
lr: 0.05
batch: 128
n_eval: 2000
data_root: data
output:
dir: results/speciation_real