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
This commit is contained in:
Giorgio Gilestro 2026-09-13 16:54:09 +01:00
parent e4804adabc
commit 84124de143
450 changed files with 52813 additions and 1202 deletions

View file

@ -41,6 +41,17 @@ in our disjoint-family setting, no such over-training penalty appears; the theor
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

View file

@ -0,0 +1,21 @@
{
"experiment": "llm_speciation",
"master_seed": 2,
"git_commit": null,
"python": "3.11.7",
"libraries": {
"numpy": "2.4.6",
"scipy": "1.17.1",
"pandas": "3.0.3",
"pyarrow": "24.0.0",
"torch": "2.12.1",
"transformers": "5.16.1",
"peft": "0.20.0"
},
"rows": 162,
"results_sha256": "797014e224801de6591a7d5b7a75d60443e0b9b30812ad0d60177296353cd445",
"layer": "2",
"tier": "llm",
"base_model": "Qwen/Qwen2.5-0.5B-Instruct",
"hard": false
}

View file

@ -0,0 +1,31 @@
experiment: llm_speciation
seed: 2
n_replicates: 1
source_config:
experiment: llm_speciation
kind: llm_speciation
seed: 2
n_replicates: 1
base_model: Qwen/Qwen2.5-0.5B-Instruct
family_a: strings
family_b: arith
n_train: 400
n_test: 100
epochs: 3
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_speciation/s2
batch_size: 32

View file

@ -0,0 +1,21 @@
{
"experiment": "llm_speciation",
"master_seed": 3,
"git_commit": null,
"python": "3.11.7",
"libraries": {
"numpy": "2.4.6",
"scipy": "1.17.1",
"pandas": "3.0.3",
"pyarrow": "24.0.0",
"torch": "2.12.1",
"transformers": "5.16.1",
"peft": "0.20.0"
},
"rows": 162,
"results_sha256": "b38bb11ec5b96ae221b23ddeeb9302b9021e61a14caa177ac5e6c08066a7031d",
"layer": "2",
"tier": "llm",
"base_model": "Qwen/Qwen2.5-0.5B-Instruct",
"hard": false
}

View file

@ -0,0 +1,31 @@
experiment: llm_speciation
seed: 3
n_replicates: 1
source_config:
experiment: llm_speciation
kind: llm_speciation
seed: 3
n_replicates: 1
base_model: Qwen/Qwen2.5-0.5B-Instruct
family_a: strings
family_b: arith
n_train: 400
n_test: 100
epochs: 3
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_speciation/s3
batch_size: 32