epistasis_predicts: functional conflict, not weight geometry, predicts merge failure pre-merge

The decisive experiment from the external review. 39 LoRA parent pairs
(0.5B, 3 seeds) on three axes decorrelated by construction: conflict
(contradictory conventions on shared prompts, private budgets fixed),
compat (same prompts, SAME convention — overlap without conflict), and
duration (weight divergence, zero conflict). Six pre-merge predictors;
primary outcome = merge penalty (parent potential − merged achieved).

League table (Spearman vs penalty, n=39): functional measures predict
(dis_raw +0.460, epi_conf +0.446, p<0.005); geometry collapses
(delta_cos +0.03, delta_l2 +0.17 n.s.); gradient alignment weak (−0.35);
performance ~0. The first grid's apparent geometry win (+0.60) was an
overlap/volume artifact — the compat control axis (added for exactly
this) exposed and killed it: same overlap and data volume, zero penalty.
Honest riders in the README: confidence weighting does not beat raw
disagreement as a rank predictor (pre-registered internal prediction not
confirmed; it does double the conflict/compat level contrast), and
|rho|~0.45 is bounded by 0.5B merge-outcome noise (7B is the firm-up).

Also: micro-batched gradient accumulation (OOM fix on the shared 16GB
GPU), exact r-space LoRA-delta geometry (brute-force-verified test,
151 green), systemd-run runbook lesson (tmux dies with the SSH session
scope on this box).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BkRLcc18rwT2Lysu6PbG7v
This commit is contained in:
Giorgio Gilestro 2026-09-06 17:19:46 +01:00
parent 5a23ddaf2a
commit 287d2326cc
16 changed files with 622 additions and 3 deletions

View file

@ -0,0 +1,29 @@
experiment: llm_epistasis_compat
kind: llm_epistasis
seed: 1
seeds: [1, 2, 3]
n_replicates: 1
# The missing CONTROL axis for the decisive experiment (identified from the first grid's results,
# 2026-08-11): in the original grid every shared-data pair was a CONFLICTED pair, so the delta-cosine
# geometry predictor could succeed as a mere task-OVERLAP detector (overlap coincided with conflict by
# construction). This sweep adds overlap WITHOUT conflict: both children train on the SAME ambiguous
# prompts with the SAME convention (asc/asc), private budgets fixed, at the same fractions as the
# conflict sweep. Pre-registered readings: if delta_cos stays high here while merge_penalty stays ~0,
# geometry was detecting overlap, not incompatibility, and its apparent predictive power collapses
# once compat pairs enter the pool; functional measures (epi_conf / dis_raw) should correctly stay LOW
# here (the parents AGREE on the shared prompts). If geometry still predicts across all three axes, the
# falsifier stands as stated in configs/llm/epistasis.yaml.
base_model: Qwen/Qwen2.5-0.5B-Instruct
family_a: strings
family_b: arith
n_train: 400
n_test: 80
epochs: 3
n_probe_each: 30
grad_k: 32
lora: {r: 16, alpha: 32}
compat_fracs: [0.25, 0.5, 0.75, 1.0]
output: {dir: results/llm_epistasis_compat}