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:
parent
5a23ddaf2a
commit
287d2326cc
16 changed files with 622 additions and 3 deletions
43
configs/llm/epistasis.yaml
Normal file
43
configs/llm/epistasis.yaml
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
experiment: llm_epistasis
|
||||
kind: llm_epistasis
|
||||
seed: 1
|
||||
seeds: [1, 2, 3]
|
||||
n_replicates: 1
|
||||
|
||||
# THE DECISIVE EXPERIMENT (external review, 2026-08-11; PNAS work order Phase 3): do
|
||||
# population-genetic quantities PREDICT merge success BEFORE merging, beyond existing predictors?
|
||||
#
|
||||
# Grid: functional conflict (conflict_fracs, add-design: private budget fixed, contradictory
|
||||
# convention data added) and weight divergence (durations, zero conflict) are DECORRELATED BY
|
||||
# CONSTRUCTION. Pre-merge predictors, none touching a merged model:
|
||||
# epi_conf - operational epistasis: confidence-weighted bilateral disagreement on a broad probe
|
||||
# mix (ambiguous + both private families, drawn blind to where conflict lives). OURS.
|
||||
# dis_raw - raw disagreement rate (the internal ablation: our theory PREDICTS this mispredicts,
|
||||
# because it counts harmless complementation - one parent ignorant - as conflict).
|
||||
# grad_cos - gradient alignment at the shared base (the ML-literature predictor, cf. 2601.22285).
|
||||
# delta_cos / delta_l2 - LoRA-delta weight geometry (computed exactly in r-space).
|
||||
# cross_perf - performance-based predictor (cross-family accuracy).
|
||||
# Outcome (PRIMARY, pre-registered): merge_penalty = parent_potential - merged_overall (the
|
||||
# hybrid-load analogue: what the merge loses relative to what its parents could jointly deliver);
|
||||
# secondary: merged_overall, and the soup-vs-route gap (route_private - merged_private).
|
||||
#
|
||||
# PRE-REGISTERED READINGS. Success for the framework: |Spearman rho(epi_conf, merge_penalty)| high,
|
||||
# AND geometry/gradient predictors fail at matched divergence (their apparent correlation, if any,
|
||||
# collapses within the conflict axis where divergence is near-constant), AND epi_conf > dis_raw
|
||||
# (the confidence-weighting prediction). FALSIFIER: gradient/geometry/raw-disagreement match or beat
|
||||
# epi_conf -> the "epistasis, not divergence, sets the cliff" claim stays analytic-only and the paper
|
||||
# says so. Either outcome is reportable; do not tune toward one.
|
||||
|
||||
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}
|
||||
conflict_fracs: [0.0, 0.25, 0.5, 0.75, 1.0]
|
||||
durations: [1, 3, 6, 12]
|
||||
|
||||
output: {dir: results/llm_epistasis}
|
||||
29
configs/llm/epistasis_compat.yaml
Normal file
29
configs/llm/epistasis_compat.yaml
Normal 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}
|
||||
Loading…
Add table
Add a link
Reference in a new issue