MachineSex/results/llm_speciation/README.md
Giorgio Gilestro 84124de143 Manuscript revision and pending experiment work, snapshot before restructuring
Clarity pass over the main text (36-item audit), Discussion rewrite and cut,
acknowledgements, Souly et al. as ref 62, lettered SI panels, model section
moved under Results; plus the untracked curriculum/society/compose/smol
configs, runners, figures, stats and tests that the SI already cites.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y64o8FKP7rCuXzC48pxpMm
2026-09-13 16:54:09 +01:00

60 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# LLM-tier model speciation — conflict provokes isolation; duration alone does not
E13 carried into language-model weights (0.5B Qwen, LoRA children of one frozen base — the shared
base **controls a major source of coordinate mismatch**, allowing a cleaner test of
conflict-associated merge failure; averaging can still fail for non-conflict reasons — nonlinear
interaction, scaling, capacity — so failures here are *conflict-associated*, not automatically
functional). Two knobs, pre-registered readings in the
configs; figure `llm_speciation.png` (3 panels; panel B from `results/llm_speciation_add/`).
**Design.** Child A: private family `strings`; child B: private family `arith`; shared **ambiguous
convention prompts** ("Sort the list […]" — no direction stated) answered *ascending* by A and
*descending* by B: each convention harmless alone, contradictory jointly (the BatesonDobzhansky
Muller structure). 50/50 soup merge; exact-match verifier; fixed test sets. **Coherence** of a model =
max(accuracy under asc grading, under desc grading) on the shared prompts — a coherent parent scores
under its own convention; a hybrid mixing conventions scores low under both (the `μ(S)/2` floor made
operational).
### Finding 1 — function-specific hybrid breakdown (the conflict knob; panel A)
Once the conventions are trained (`conflict_frac ≥ 0.25`), each parent performs under its own
convention (~0.200.25 — low absolute values: sorting long lists is hard for 0.5B) while the merge's
coherence sits at **0.020.08, below BOTH parents under either grading** — the hybrid loses precisely
the conflicted function. (At `frac = 0` no one has seen the ambiguous prompts; that point is a
no-conflict baseline, not part of the cliff.)
### Finding 2 — the damage does not spread (the de-confounded `add` design; panel B)
In the original ("replace") sweep, higher conflict fraction mechanically means *less private-family
training*, so the merge's private-family decline is confounded. The **`add` design**
(`llm_speciation_add`, 3 seeds) holds each child's private training fixed and adds conflict data on
top: the merge's private-family accuracy then shows **no trend with conflict** (0.740.88, tracking
parent A's 0.820.87 within seed noise at every level). Conflict damage is **localised to the
conflicted function**; it does not corrupt the disjoint skills — at this scale, hybrid breakdown is
surgical, not global. Honest rider: 0.5B soup merges carry large *intrinsic* seed variance even at
zero conflict (sd up to 0.28) — the same averaging-fragility seen in `llm_moe_hard_seeds`.
### Finding 3 — the duration null: over-specialisation does not erode mergeability (panel C)
Pure disjoint specialists over-trained from 1 to 12 epochs (no shared data at all): the merged model
*improves* (0.84 → 0.94 mean-private) and stays **above the best parent at every duration**. The MLP
tier's "no emergent isolation" null (`speciation_real_emergent`) **generalises to LLM weights** in
this regime — relevant to the report that averaging prefers under-trained experts (arXiv:2607.11997):
in our disjoint-family setting, no such over-training penalty appears; the theory's prediction is that
their effect should trace to *conflicting conventions on shared circuitry*, which the
`epistasis_predicts` experiment (work order) will test directly.
### Seeds 23 (2026-09-12; `hpc/llm_speciation_seeds.pbs`, `s{seed}/` layout)
Numbers from `figures/stats_llm_speciation_seeds.py`. **Both falsifiers hold in every seed.**
Conflict cliff at full conflict — merge coherence vs parents' own-convention accuracy: seed 1
0.02 vs 0.25/0.23; seed 2 0.12 vs 0.24/0.24; seed 3 0.16 vs 0.25/0.24 (merge below both parents,
3/3). Merge coherence across the sweep, mean ± 95% CI: 0.147±0.013 (x=0), 0.117±0.051, 0.117±0.036,
0.147±0.066, 0.100±0.082 (x=1). Duration null — merged mean-private accuracy from 1 to 12 epochs:
seed 1 0.835→0.940, seed 2 0.710→0.955, seed 3 0.735→0.955 (improves in 3/3; mean 0.760±0.075 →
0.950±0.010). Seed 1's cliff is the deepest of the three (0.02 against 0.12/0.16), so the
single-seed figure overstated the depth; the sign is unchanged. Fig. 5CD now plots seed means with
95% CI bands.
**Speciation across all three tiers now reads:** analytic (E12: cliff, epistasis-dependence,
snowball) → MLP (E13: functional residual survives the full symmetry group; no emergent isolation) →
LLM (this run: function-specific hybrid breakdown under conflict; no isolation from duration or
specialisation alone). Isolation must be provoked by functional conflict at every tier tested.
Falsifiers (not triggered): merge coherence matching the parents (no breakdown), or merged
private-family accuracy declining with conflict in the `add` design (global corruption).