diff --git a/.gitignore b/.gitignore index 025511c..1d3c65b 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ __pycache__/ results/**/results.parquet models/ data/ +configs/llm/_gen/ +logs/ diff --git a/CLAUDE.md b/CLAUDE.md index f60976b..b13b03b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -99,6 +99,10 @@ E4's whole purpose is to isolate the effect of teacher **decorrelation ρ**, so **Finding (2026-07-05, HARD benchmark `llm_moe_hard_hpc` + `llm_directed_hard_hpc` — the 7B "fusion wins / no headroom" results were SATURATION artefacts; the law is HEADROOM, not base-size).** The easy families saturated 7B (strings & arith at 1.00), so the 7B nulls (moe: fusion 0.87 > union 0.84; directed ≈ soup) couldn't separate "refinements don't help at scale" from "tasks too easy." Built a **hard task variant** (`hard: true` in `tasks.py`: multi-step lists, Caesar ciphers / letter transforms, multi-step & larger arithmetic — same family labels & answer formats, threaded through `make_tasks`/`train_specialist`/runners; hard specialists cache separately as `spec_*_hard`) and re-ran both at 7B on Imperial CX3 (one L40S, 24 min, unsaturated: arith ≈0.48, strings 0.67, lists 0.34). **Both nulls flip back to the 0.5B ordering:** (1) **union beats fusion again — routing 0.500 > fusion 0.40** (soup 0.392/ties 0.400), the *same* 10-pt margin as 0.5B; fusion dilutes the fragile strings-specialist so hard (0.665 → soup 0.300) that soup even **trails the best single specialist** (0.425), while routing keeps it (0.670). (2) **directed selection beats soup again — 0.492 > 0.392** (+10 pts), recovering most of routing's benefit from one deployable merged model (lifts strings back to 0.630). **Correction to the earlier interpretation:** the `llm_moe_hpc` "regime flip" (fusion wins at 7B) and `llm_directed_hpc` "no headroom" were both driven by **task saturation, not base capability**. The operative variable is **headroom**: "merge, don't average" (union > fusion) and "directed sex" (selection > single blend) hold whenever there's room to lose to dilution — weak base (0.5B) *or* hard tasks at a strong base (7B-hard); fusion only wins in the degenerate corner where easy tasks let a strong base compose to the 1.00 ceiling. This vindicates E8's `max > mean` in real 7B weights once saturation is controlled. `configs/llm/{moe_hard,moe_hard_hpc,directed_hard_hpc}.yaml`, `hpc/llm_hard.pbs`, `results/llm_{moe,directed}_hard_hpc/`, +1 hard-task test (131 green). +**Finding (2026-09-11, three controls from the manuscript review; `results/llm_curriculum_v5_{stop3,decor}/`, `results/llm_*_hpc/s{1,2,3}/`).** (1) **Forced stop** (`merge_until: 3`): obligate merging through generation 2 then none finishes 0.793 vs the declinable merge's 0.792 (per seed −0.008/−0.006/+0.011) — the veto's outcome is explained by *when* it stopped. (2) **Decorrelated curriculum** (`orders:` key; complementarity 0.00→0.70→0.00 instead of the Latin square's monotone fall): declines still rise with generation (0.44→0.89); pooled partial ρ(declined, complementarity | generation) = −0.07, CI (−0.21, +0.09), partial ρ with generation +0.31. **The recombination-modifier / reduction-principle reading of Fig. 4B is withdrawn**; the Latin-square ρ = −0.57 was carried by generation (adapter age, skill count and destroyer arrival are confounded). What stands: one bit of selection per merge, or a fixed early stop, avoids the obligate-merge collapse at no cost against never merging. (3) **7B seeds 2–3** (33 min/seed, L40S): merge − best specialist +0.066±0.036, routing − soup +0.094±0.015, directed − soup +0.073±0.031, all 3/3 seeds; *not* replicated: "soup below the best specialist on hard tasks" (1/3, mean +0.001) — softened in text. Stats: `figures/stats_llm_curriculum.py` (also the single source of curriculum arm labels, used by `make_figs`), `figures/stats_llm_7b_seeds.py`; `_figlib.load_seed_bundles` reads `s{seed}/` layouts. + +**Finding (2026-09-12, four experiments from the dropped "Limits"; `results/llm_speciation/s{1,2,3}`, `results/llm_curriculum_v5_{early,late,early_obl,late_obl,cull}/s{1,2,3}`, `results/llm_{merge_seeds,moe_hard_seeds}_smol`).** GG's rule: a limitation that names a runnable experiment is run, not stated. (1) **Speciation seeds 2–3:** conflict cliff (merge 0.02/0.12/0.16 vs parents 0.23–0.25) and duration null (0.76→0.95) hold in 3/3 seeds; seed 1's cliff was the deepest. Fig. 5C–D now has CI bands. (2) **Conflict-arrival curricula** (`orders:`; boolq/winogrande in generations 1–2 or 5–6, age and skill count rising identically): declines and the obligate collapse follow **generation, not conflict arrival** (partial ρ with conflict-present, generation controlled: −0.09, CI (−0.45, 0.15); with generation: +0.45); conflict-early dips at arrival, recovers, collapses from generation 5; conflict-late collapses from generation 4 with its pair still to come. What stays confounded is adapter age with skill count. (3) **Second base lineage** (SmolLM2-1.7B-Instruct, `adapters_dir: models/llm_smol` because the specialist cache is keyed by family+seed only): Fisher–Muller replicates 5/5 (soup +0.049±0.022, TIES +0.097±0.020 over best specialist), headroom 3/3 with a larger margin (routing − soup +0.162±0.036; soup below best specialist in 3/3). (4) **Differential reproduction** (`cull: true`, `cull_step`/`inherit_slot`): **parity again** — with selection, declinable 0.793 vs never-merge 0.804 (−0.011±0.003, 3/3 below); selection − none +0.007±0.030; recombination's early lead present with and without selection, gone by generation 5. The Discussion's prediction (selection turns speed into level) is withdrawn: under a curriculum that delivers every skill to every lineage the ceiling is what one adapter carries. Speciation adapters now live in `speciation_s{seed}/` (an array over seeds used to race on a shared dir). SI Figs. S14–S16; stats in `figures/stats_llm_{curriculum,speciation_seeds,smol}.py`. + ## Build order (blueprint §7) — respect the gate 1. Scaffold: repo layout (§5), container, pytest skeleton, config system, seeding utils. `make test` green. diff --git a/Makefile b/Makefile index a20224e..b8f4618 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,8 @@ # reproducibility source of truth; every target runs inside it via `uv run`. .PHONY: env env-neural env-mnist env-llm env-notebooks test layer1 layer2 neural mnist llm \ - llm-epistasis llm-society figures paper-figures paper notebooks clean + llm-epistasis llm-society llm-society-calib llm-society-calib-b llm-society-v2-smoke \ + figures paper-figures paper notebooks clean env: ## build .venv from the committed lockfile uv sync --extra dev @@ -50,6 +51,26 @@ llm-epistasis: ## the controlled predictive test (feeds paper Fig. 3C-D) + i llm-society: ## the composed society at LLM scale (C3): pilot; the campaign runs on HPC uv run python -m llm.experiment configs/llm/society.yaml +llm-society-calib: ## v2 society calibration gates (prereg §4): stage A (families), then B (C2/C3/C5) + uv run python -m llm.experiment configs/llm/society_v2_calib_a.yaml + @echo "Review the C1 table, fix the 12 families in society_v2_calib_b.yaml, then: make llm-society-calib-b" + +llm-society-calib-b: ## v2 calibration stage B over the chosen 12 families: transmission, cross, consensus + uv run python -m llm.experiment configs/llm/society_v2_calib_b.yaml + mkdir -p configs/llm/_gen + uv run python - <<'EOF' + import yaml; c = yaml.safe_load(open("configs/llm/society_v2_calib_b.yaml")) + for st in ("cross", "consensus"): + c["stage"] = st; c["output"] = {"dir": f"results/llm_society_v2_calib_b_{st}"} + yaml.safe_dump(c, open(f"configs/llm/_gen/calib_{st}.yaml", "w"), sort_keys=False) + EOF + uv run python -m llm.experiment configs/llm/_gen/calib_cross.yaml + uv run python -m llm.experiment configs/llm/_gen/calib_consensus.yaml + +llm-society-v2-smoke: ## v2 society loop smoke (4 families, 4 agents, 2 generations, all arms) + uv run python -m llm.experiment configs/llm/society_v2_smoke.yaml + uv run python figures/plot_llm_society.py results/llm_society_v2_smoke + llm-seeds: ## multi-seed firm-up (heavy): merge x5, moe-hard x3, directed-hard x3 uv run python -m llm.experiment configs/llm/merge_seeds.yaml uv run python -m llm.experiment configs/llm/moe_hard_seeds.yaml @@ -69,6 +90,7 @@ paper-figures: ## regenerate the manuscript figures (Fig. 1-7) and rebuild t paper: paper-figures ## figures + compile both PDFs (needs tectonic) cd paper/pnas && tectonic main.tex && tectonic si.tex + uv run python paper/pnas/build_lay_legends.py && cd paper/pnas && tectonic figure_legends_for_students.tex env-notebooks: ## add Jupyter for the walkthrough notebooks uv sync --extra dev --extra notebooks diff --git a/REPRODUCING.md b/REPRODUCING.md index c442415..98285ad 100644 --- a/REPRODUCING.md +++ b/REPRODUCING.md @@ -13,11 +13,11 @@ Manuscript: `paper/pnas/main.md` (built to `paper/pnas/main.pdf`). | Tier | What it is | Hardware | Determinism | |---|---|---|---| -| Biological model | Wright–Fisher simulator over knowledge distributions (pure NumPy/SciPy) | Any laptop, no GPU | **Bitwise** from the master seed | +| Inheritance model | Wright–Fisher simulator over knowledge distributions (pure NumPy/SciPy) | Any laptop, no GPU | **Bitwise** from the master seed | | Trained networks | RNN / MLP / VAE on a synthetic mode universe; convolutional VAE on MNIST | One consumer GPU (16 GB) | Statistical (GPU non-determinism documented in §5) | | Language models | LoRA specialists on Qwen2.5-Instruct 0.5B / 7B | 0.5B: one 16 GB GPU · 7B: one L40S (46 GB) | Statistical; per-seed points reported | -The biological-model tier carries every quantitative claim in the paper and reproduces exactly on a +The inheritance-model tier carries every quantitative claim in the paper and reproduces exactly on a laptop in minutes. The two AI tiers are confirmatory (signs, not magnitudes) and need a GPU. ## 2. Environment @@ -50,15 +50,15 @@ Tier by tier, by hand: ```bash make test # correctness + closed-form scientific validation -make layer1 # the biological model: E1-E12, E14, learning kernel +make layer1 # the inheritance model: E1-E12, E14, learning kernel make neural # trained networks (needs a GPU) -make mnist # real-MNIST tier + the Fig. 2B montage asset (needs torchvision) +make mnist # real-MNIST tier + the Fig. 2A montage asset (needs torchvision) make llm # language-model prototypes (needs a GPU) -make llm-seeds # the multi-seed firm-ups behind Fig. 3A -make llm-epistasis # the controlled predictive test behind Fig. 3C-D -make llm-speciation # the LLM speciation tier behind Fig. 7E-F +make llm-seeds # the multi-seed firm-ups behind Fig. 3B +make llm-epistasis # the controlled predictive test behind Fig. 3D-E +make llm-speciation # the LLM speciation tier behind Fig. 5C-D make figures # per-experiment figures, from committed parquets (no re-simulation) -make paper-figures # the manuscript figures Fig. 1-7 + rebuild the PDF body +make paper-figures # the manuscript figures Fig. 1-5 + rebuild the PDF body ``` ## 4. The figure map @@ -66,31 +66,41 @@ make paper-figures # the manuscript figures Fig. 1-7 + rebuild the PDF body Every manuscript panel, the artifact it is plotted from, the config that produced that artifact, and that config's declared seed. All panels are drawn by `paper/pnas/make_figs.py` (function per figure); `make paper-figures` regenerates all of them. Figures are a **pure function of committed artifacts** — -no panel re-simulates anything, with the single documented exception of the Fig. 2B montage asset. +no panel re-simulates anything, with the single documented exception of the Fig. 2A montage asset. | Panel | Drawn by | From artifact | Produced by config | Seed(s) | |---|---|---|---|---| | Fig. 1A, 1B | `fig1a()`, `fig1b()` | — (schematics; icons in `paper/pnas/figs/icons/`) | — | — | -| Fig. 2A | `fig2()` | `results/E2/` | `configs/layer1/E2.yaml` | 20260704 | -| Fig. 2B | `fig2()` | `results/mnist_collapse/mnist_montage.png` | `configs/neural/mnist_collapse.yaml` → asset from `figures/mnist_montage.py` | 20260705 | -| Fig. 3A | `fig3()` | `results/llm_merge_seeds/` | `configs/llm/merge_seeds.yaml` | 1, 2, 3, 4, 5 | -| Fig. 3B | `fig3()` | `results/llm_moe_hard_hpc/` | `configs/llm/moe_hard_hpc.yaml` (7B, HPC) | 1 (single run) | -| Fig. 3C, 3D | `fig3()` | `results/llm_epistasis/` + `results/llm_epistasis_compat/` | `configs/llm/epistasis.yaml`, `configs/llm/epistasis_compat.yaml` | 1, 2, 3 | -| Fig. 4A | `fig4()` | `results/E4/` | `configs/layer1/E4.yaml` | 20260704 | -| Fig. 4B | `fig4()` | `results/E8/` | `configs/layer1/E8.yaml` | 20260705 | -| Fig. 5A | `fig5()` | `results/E9/` | `configs/layer1/E9.yaml` | 20260705 | -| Fig. 5B | `fig5()` | `results/E10/` | `configs/layer1/E10.yaml` | 20260705 | -| Fig. 5C, 5D | `fig5()` | `results/E14/` | `configs/layer1/E14.yaml` | 20260709 | -| Fig. 6A, 6B, 6C | `fig6()` | `results/E11/` | `configs/layer1/E11.yaml` | 20260705 | -| Fig. 7A, 7B | `fig7()` | `results/E12/` | `configs/layer1/E12.yaml` | 12 | -| Fig. 7C | `fig7()` | `results/speciation_real/` | `configs/neural/speciation_real.yaml` | 13 | -| Fig. 7D | `fig7()` | `results/speciation_real_cliff/` | `configs/neural/speciation_real_cliff.yaml` | 13 | -| Fig. 7E, 7F | `fig7()` | `results/llm_speciation/` | `configs/llm/speciation.yaml` | 1 (single seed) | +| Fig. 2A | `fig2()` | `results/mnist_collapse/mnist_montage.png` | `configs/neural/mnist_collapse.yaml` → asset from `figures/mnist_montage.py` | 20260705 | +| Fig. 2B *(reference)* | `fig2()` | `results/E2/` | `configs/layer1/E2.yaml` | 20260704 | +| Fig. 3A | `fig3()` | — (schematic of the compared models; icons in `paper/pnas/figs/icons/`) | — | — | +| Fig. 3B | `fig3()` | `results/llm_merge_seeds/` | `configs/llm/merge_seeds.yaml` | 1, 2, 3, 4, 5 | +| Fig. 3C | `fig3()` | `results/llm_moe_hard_hpc/s{1,2,3}/` | `configs/llm/moe_hard_hpc.yaml` (7B, HPC; seeds 2–3 via `hpc/llm_7b_seeds.pbs`); statistics `figures/stats_llm_7b_seeds.py` | 1, 2, 3 | +| Fig. 3D, 3D | `fig3()` | `results/llm_epistasis/` + `results/llm_epistasis_compat/` | `configs/llm/epistasis.yaml`, `configs/llm/epistasis_compat.yaml` | 1, 2, 3 | +| Fig. 4A | `fig4()` | — (schematic; the syllabus grid is read from `configs/llm/curriculum_v5_s1.yaml` family order, complementarity from the veto bundle) | — | — | +| Fig. 4B | `fig4()` | `results/llm_curriculum_v5/`, `results/llm_curriculum_v5_veto/`, `results/llm_curriculum_v5_stop3/` | `configs/llm/curriculum_v5_s1.yaml` (seeds 2–3 via `hpc/llm_curriculum.pbs`), `configs/llm/curriculum_v5_veto.yaml` (seeds 2–3 via `hpc/llm_veto.pbs`), `configs/llm/curriculum_v5_stop3.yaml` (seeds 2–3 via `hpc/llm_curriculum_controls.pbs`) | 1–3 (training seeds; fixed test splits) | +| Fig. 4C | `fig4()` | `results/llm_curriculum_v5_veto/`, `results/llm_curriculum_v5_decor/` | `configs/llm/curriculum_v5_veto.yaml`, `configs/llm/curriculum_v5_decor.yaml` (seeds 2–3 via `hpc/llm_curriculum_controls.pbs`); statistics `figures/stats_llm_curriculum.py` | 1–3 | +| Fig. S14 | `figures/plot_curriculum_timing.py` | `results/llm_curriculum_v5_{early,late,early_obl,late_obl}/s{1,2,3}/` | `configs/llm/curriculum_v5_{early,late}[_obl].yaml` via `hpc/llm_curriculum_timing.pbs`; statistics `figures/stats_llm_curriculum.py` | 1, 2, 3 | +| Fig. S15 | `figures/plot_curriculum_cull.py` | `results/llm_curriculum_v5_cull/s{1,2,3}/` | `configs/llm/curriculum_v5_cull.yaml` via `hpc/llm_cull.pbs`; statistics `figures/stats_llm_curriculum.py` | 1, 2, 3 | +| Fig. S16 | `figures/plot_llm_smol.py` | `results/llm_{merge_seeds,moe_hard_seeds}_smol/` (+ the Qwen bundles) | `configs/llm/{merge_seeds,moe_hard_seeds}_smol.yaml` via `hpc/llm_smol.pbs`; statistics `figures/stats_llm_smol.py` | 1–5; 1–3 | +| Fig. 4D, 4D, 4E *(reference)* | `fig4()` | `results/E11/` | `configs/layer1/E11.yaml` | 20260705 | +| Fig. 5A | `fig5()` | `results/speciation_real/` | `configs/neural/speciation_real.yaml` | 13 | +| Fig. 5B | `fig5()` | `results/speciation_real_cliff/` | `configs/neural/speciation_real_cliff.yaml` | 13 | +| Fig. 5C, 5D | `fig5()` | `results/llm_speciation/s{1,2,3}/` | `configs/llm/speciation.yaml` (seeds 2–3 via `hpc/llm_speciation_seeds.pbs`); statistics `figures/stats_llm_speciation_seeds.py` | 1, 2, 3 | +| Fig. 5E, 5F *(reference)* | `fig5()` | `results/E12/` | `configs/layer1/E12.yaml` | 12 | -**Single-run panels.** Fig. 3B and Fig. 7E–F come from single-seed runs and are reported as -sign-level confirmations, not estimates; the manuscript labels them as such. Every other panel is -replicated (biological-model panels over 12–100 internal replicates; Fig. 3A over five training -seeds; Fig. 3C–D over three). +Panels marked *(reference)* are inheritance-model results included to set the expectation the +real-model panels are read against, not as findings in their own right. + +**Inheritance-model results reported in SI only.** These have no real-model counterpart in the paper +and reproduce known results, so they are cited as reference values and plotted only in SI, from their +per-experiment figures: blending vs union (E4), Fisher–Muller super-parent (E8), outbreeding +depression (E9), directed recombination (E10), and mate-pool breadth (E14), drawn by +`figures/plot_E{4,8,9,10,14}.py` from `results/E{4,8,9,10,14}/`. + +**Replication.** Every panel is replicated: inheritance-model panels over 12–100 internal +replicates; Fig. 3B over five training seeds; Fig. 3C, 3D–E, 4A–B and 5C–D over three (Fig. 5C–D +was single-seed until 2026-09-12; seeds 2–3 ran via `hpc/llm_speciation_seeds.pbs`). ### Results reported in the text but not plotted in the manuscript diff --git a/configs/llm/compose_gate.yaml b/configs/llm/compose_gate.yaml new file mode 100644 index 0000000..bcb3e56 --- /dev/null +++ b/configs/llm/compose_gate.yaml @@ -0,0 +1,31 @@ +# Generation-0 gate for the composition experiment (prereg v3 §4: C1 base, C3 specialists, +# C4 replication). Trains the two founders and measures everything at t=0 without iterating. +# +# Base choice (C1, measured 2026-09-07): Qwen2.5-1.5B **base, not Instruct**. Zero-shot GSM-Hard +# program-aided: Instruct-1.5B 0.500, Instruct-3B 0.417, base-3B 0.633 — all far too strong, since a +# base that already has the skills makes the specialists' contribution vacuous. Base-1.5B scores +# 0.067, within noise of the 0.059 Llama-2-7B starting point in LoRA Soups (COLING 2025), so the +# published composition effect has room to appear. +experiment: llm_compose_gate +kind: llm_compose +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +generations: 0 # gate only: train founders, measure t=0, stop +arms: [dry] +n_hard: 150 # composed target (GSM8k-Hard, program-aided) — SE ~0.04 +n_gsm8k: 100 # math own-skill probe +n_mbpp: 80 # code own-skill probe (execution-verified) +n_probe: 40 # shared prompts for rho +k_inherit: 300 +epochs: 3 +conf_gate: 0.85 +g: 0.10 +spec_train: 1200 +spec_epochs: 3 +max_new_tokens: 320 +batch_size: 16 +score_batch_size: 4 +train_batch_size: 2 # 16 GB A4000; the fp32 logit upcast at vocab 152k is the constraint +train_max_len: 448 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_compose_gate} diff --git a/configs/llm/compose_gate_math500.yaml b/configs/llm/compose_gate_math500.yaml new file mode 100644 index 0000000..f3b249f --- /dev/null +++ b/configs/llm/compose_gate_math500.yaml @@ -0,0 +1,34 @@ +# Generation-0 gate, second configuration (prereg v3 §4a): the composed target is MATH-500 +# (competition maths, level >= 3, numeric answers), and merge weights are *selected* on a disjoint +# validation split rather than fixed at 0.5/0.5. +# +# Why: on GSM8k-Hard the code parent alone reaches 0.427, because once code removes the arithmetic +# burden the base's own reasoning suffices — so maths is not scarce and E8's premise fails. MetaMathQA +# is built from GSM8K *and* MATH, so MATH-500 tests reasoning the specialist has and the base lacks. +# Founders are shared with the first gate (same experiment name), so this costs evaluation only. +experiment: llm_compose_gate +kind: llm_compose +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +generations: 0 +arms: [dry] +target: math500 +n_hard: 120 # test split (level>=3 pool is 271; 70% test / 30% val, disjoint) +n_hard_val: 50 # val split, screens the merge weights only +merge_weights: [[0.5, 0.5], [0.3, 0.7], [0.2, 0.8]] +n_gsm8k: 100 +n_mbpp: 80 +n_probe: 40 +k_inherit: 300 +epochs: 3 +conf_gate: 0.85 +g: 0.10 +spec_train: 1200 +spec_epochs: 3 +max_new_tokens: 320 +batch_size: 16 +score_batch_size: 8 +train_batch_size: 2 +train_max_len: 448 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_compose_gate_math500} diff --git a/configs/llm/compose_s1.yaml b/configs/llm/compose_s1.yaml new file mode 100644 index 0000000..a91c90a --- /dev/null +++ b/configs/llm/compose_s1.yaml @@ -0,0 +1,55 @@ +# The composition campaign, seed 1 (prereg v3, amended after the generation-0 sweep of 2026-09-07). +# +# Arms. The gen-0 sweep found that the merge *weighting* dominates the operator: the a-priori 0.5/0.5 +# blend fails under both operators (surplus -0.020 cat, -0.093 linear) while a selected weight passes +# (+0.080 linear at 0.2/0.8, +0.027 cat at 0.3/0.7). Weights are therefore chosen each generation on a +# disjoint validation split (E10, directed recombination) in every arm, and the operator is an +# explicit per-arm setting: +# dry — linear operator, no grounding [H2, H3, H5: does composition survive drift?] +# grounded — linear operator, g = 0.10 [H4: does immigration arrest it?] +# dry_cat — concatenation operator, no grounding [H6, revised: does the operator ordering hold +# across generations, or only at gen 0?] +experiment: llm_compose +kind: llm_compose +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +generations: 6 +arms: +- dry +- grounded +- dry_cat +g: 0.1 +n_hard: 150 +n_gsm8k: 150 +n_mbpp: 100 +n_probe: 60 +k_inherit: 300 +epochs: 3 +conf_gate: 0.85 +spec_train: 1200 +spec_epochs: 3 +max_new_tokens: 320 +batch_size: 16 +score_batch_size: 4 +train_batch_size: 2 +train_max_len: 448 +resume: true +lora: + r: 16 + alpha: 32 +output: + dir: results/llm_compose/s1 +arm_ops: + dry: linear + grounded: linear + dry_cat: cat +n_hard_val: 60 +merge_weights: +- - 0.5 + - 0.5 +- - 0.3 + - 0.7 +- - 0.2 + - 0.8 +- - 0.1 + - 0.9 diff --git a/configs/llm/curriculum_g2.yaml b/configs/llm/curriculum_g2.yaml new file mode 100644 index 0000000..5508f7a --- /dev/null +++ b/configs/llm/curriculum_g2.yaml @@ -0,0 +1,27 @@ +# G2 probe (prereg v4 §5): does forgetting occur AT ALL under the real curriculum length? +# The 3-family gate showed none — but with only 3 families, ample adapter capacity and a generous +# replay budget, none was expected. This runs the full nine-family curriculum on ONE lineage with +# replay switched OFF, which is the harshest condition the design can offer. If early families still +# do not decay, the families are too mutually compatible and too easy for their own good, and the +# society has no forgetting to rescue — a design-level stop. +experiment: llm_curriculum_g2 +kind: llm_curriculum +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +families: [strings, setops, numtheory, mixedtoken, digits, alphabet, prime, wordlen, roman] +lineages: 1 +generations: 9 +arms: [isolated] +baselines: [] +n_new: 300 +n_replay: 0 # replay OFF — the harshest forgetting condition +n_test: 60 +n_val: 30 +epochs: 3 +lr: 1.0e-4 +max_new_tokens: 32 +batch_size: 32 +train_batch_size: 2 +train_max_len: 448 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_curriculum_g2} diff --git a/configs/llm/curriculum_gate.yaml b/configs/llm/curriculum_gate.yaml new file mode 100644 index 0000000..809a06c --- /dev/null +++ b/configs/llm/curriculum_gate.yaml @@ -0,0 +1,28 @@ +# Gate run for the curriculum society (prereg v4 §5). G0 is the decisive one: with a single lineage +# and no recombination, does cumulative capability CLIMB across generations? If capability cannot +# accumulate in the simplest arm, no outcome of the full design is interpretable — stop. +# Also exercises G1 (inheritance transmits), G2 (forgetting occurs without full replay) and, with +# lineages=3, G3 (recombination combines disjoint knowledge). +experiment: llm_curriculum_gate +kind: llm_curriculum +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +families: [strings, setops, numtheory] # 3 families, 3 generations — the smallest climb test +lineages: 3 +generations: 3 +arms: [isolated, society] +baselines: [] +n_new: 300 +n_replay: 120 +n_test: 60 +n_val: 30 +epochs: 3 +lr: 1.0e-4 +operator: linear +merge_weights: [[0.5, 0.5], [0.3, 0.7], [0.7, 0.3]] +max_new_tokens: 32 +batch_size: 32 +train_batch_size: 2 +train_max_len: 448 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_curriculum_gate} diff --git a/configs/llm/curriculum_v5_calib.yaml b/configs/llm/curriculum_v5_calib.yaml new file mode 100644 index 0000000..6865718 --- /dev/null +++ b/configs/llm/curriculum_v5_calib.yaml @@ -0,0 +1,27 @@ +# Calibration for the real-dataset curriculum (prereg v4 §5 gates, re-run on the new families). +# Stage A (this config): base accuracy on every candidate, and one specialist per candidate trained +# from the base on its train split — the C1 band is base <= 0.40 and specialist >= 0.60. +# Stage B (curriculum_v5_g2.yaml, after selection): one lineage, zero replay, all chosen families in +# sequence — the forgetting probe; mean drop across families learned before the last must be >= 0.15, +# and it must not be carried by a single family (the v4 failure: one pair at +0.65, the rest ~0). +experiment: llm_curriculum_v5_calib +kind: llm_curriculum +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +families: [gsm8k, mbpp, boolq, mnli, sst2, csqa, arc, winogrande, squad, nq_open, hellaswag] +lineages: 11 # one lineage per candidate = each trains only its own family at gen 0 +generations: 1 # gen 0 only: founders; the recorded acc_* rows ARE the specialist table +arms: [isolated] +baselines: [] +n_new: 300 +n_replay: 0 +n_test: 60 +n_val: 20 +epochs: 3 +lr: 1.0e-4 +max_new_tokens: 48 # spans / short text need more room than a label +batch_size: 24 +train_batch_size: 2 +train_max_len: 512 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_curriculum_v5_calib} diff --git a/configs/llm/curriculum_v5_calib_b.yaml b/configs/llm/curriculum_v5_calib_b.yaml new file mode 100644 index 0000000..913129e --- /dev/null +++ b/configs/llm/curriculum_v5_calib_b.yaml @@ -0,0 +1,24 @@ +# Stage A, second pass: the six candidates that missed the C1 band at 300 founder examples, retrained +# at the budget every working specialist in this project has used (v2, v3: 1200 x 3 epochs). +# Decides whether the curriculum has six families or nine. +experiment: llm_curriculum_v5_calib_b +kind: llm_curriculum +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +families: [gsm8k, mbpp, sst2, csqa, winogrande, nq_open] +lineages: 6 +generations: 1 +arms: [isolated] +baselines: [] +n_new: 1200 +n_replay: 0 +n_test: 60 +n_val: 20 +epochs: 3 +lr: 1.0e-4 +max_new_tokens: 48 +batch_size: 24 +train_batch_size: 2 +train_max_len: 512 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_curriculum_v5_calib_b} diff --git a/configs/llm/curriculum_v5_cull.yaml b/configs/llm/curriculum_v5_cull.yaml new file mode 100644 index 0000000..4174cbb --- /dev/null +++ b/configs/llm/curriculum_v5_cull.yaml @@ -0,0 +1,48 @@ +# Differential reproduction (manuscript revision 2026-09-12): `cull: true` re-founds the lowest-scoring +# lineage from the highest-scoring one after every generation's measurement (truncation selection at +# fixed N = 3; the slot keeps its curriculum order). Latin square as in v5. Arms: isolated + cull +# (selection without recombination) and declinable society + cull (selection with recombination), +# read against the existing isolated and veto arms. Prediction (Discussion): recombination's early +# lead becomes a level advantage; parity again is the null. Seeds via hpc/llm_cull.pbs. +experiment: llm_curriculum_v5_cull +kind: llm_curriculum +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +families: +- mnli +- arc +- hellaswag +- squad +- boolq +- winogrande +lineages: 3 +generations: 6 +arms: +- isolated +- society +baselines: [] +allow_veto: true +n_new: 300 +n_replay: 150 +n_test: 60 +n_val: 20 +epochs: 3 +lr: 0.0001 +operator: linear +merge_weights: +- - 0.5 + - 0.5 +- - 0.3 + - 0.7 +- - 0.7 + - 0.3 +max_new_tokens: 48 +batch_size: 24 +train_batch_size: 2 +train_max_len: 512 +lora: + r: 16 + alpha: 32 +output: + dir: results/llm_curriculum_v5_cull +cull: true diff --git a/configs/llm/curriculum_v5_decor.yaml b/configs/llm/curriculum_v5_decor.yaml new file mode 100644 index 0000000..8879bc7 --- /dev/null +++ b/configs/llm/curriculum_v5_decor.yaml @@ -0,0 +1,35 @@ +# Decorrelated curriculum (manuscript review, 2026-09-11). In the Latin square partner complementarity +# falls monotonically with generation (1.0, 1.0, 0.8, 0.67, 0.33, 0.0), so the veto's acceptance curve +# is collinear with adapter age. Here every lineage starts with the same non-destroyer family (mnli), +# then diverges maximally, then converges: complementarity 0.00, 0.67, 0.70, 0.58, 0.33, 0.00 by +# generation. Same six families, same G, destroyers (boolq, winogrande) spread across lineages as +# in the Latin square. Arms: the declinable merge (`society` + `allow_veto`) and its never-merge +# reference under the same curriculum. Pre-registered readout: tasks/prereg-llm-society-v4.md §8g. +experiment: llm_curriculum_v5_decor +kind: llm_curriculum +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +families: [mnli, arc, hellaswag, squad, boolq, winogrande] +orders: + - [mnli, arc, hellaswag, squad, boolq, winogrande] + - [mnli, squad, boolq, winogrande, arc, hellaswag] + - [mnli, winogrande, arc, hellaswag, squad, boolq] +lineages: 3 +generations: 6 +arms: [isolated, society] +baselines: [] +allow_veto: true +n_new: 300 +n_replay: 150 +n_test: 60 +n_val: 20 +epochs: 3 +lr: 1.0e-4 +operator: linear +merge_weights: [[0.5, 0.5], [0.3, 0.7], [0.7, 0.3]] +max_new_tokens: 48 +batch_size: 24 +train_batch_size: 2 +train_max_len: 512 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_curriculum_v5_decor} diff --git a/configs/llm/curriculum_v5_early.yaml b/configs/llm/curriculum_v5_early.yaml new file mode 100644 index 0000000..b57f2ac --- /dev/null +++ b/configs/llm/curriculum_v5_early.yaml @@ -0,0 +1,66 @@ +# Conflict-early curriculum (manuscript revision 2026-09-12): the two families whose answer +# conventions conflict (boolq yes/no, winogrande 1/2) arrive in generations 1-2 of every lineage; the +# four compatible families follow in rotated orders. Paired with curriculum_v5_late (same families, +# conflict in generations 5-6) to decouple the ARRIVAL of conflicting conventions from adapter age and +# skill count, which rise identically in both. Arms: isolated + declinable society (decline timing). +# Seeds 1-3 via hpc/llm_curriculum_timing.pbs. +experiment: llm_curriculum_v5_early +kind: llm_curriculum +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +families: +- mnli +- arc +- hellaswag +- squad +- boolq +- winogrande +lineages: 3 +generations: 6 +arms: +- isolated +- society +baselines: [] +allow_veto: true +n_new: 300 +n_replay: 150 +n_test: 60 +n_val: 20 +epochs: 3 +lr: 0.0001 +operator: linear +merge_weights: +- - 0.5 + - 0.5 +- - 0.3 + - 0.7 +- - 0.7 + - 0.3 +max_new_tokens: 48 +batch_size: 24 +train_batch_size: 2 +train_max_len: 512 +lora: + r: 16 + alpha: 32 +output: + dir: results/llm_curriculum_v5_early +orders: +- - boolq + - winogrande + - mnli + - arc + - hellaswag + - squad +- - winogrande + - boolq + - arc + - hellaswag + - squad + - mnli +- - boolq + - winogrande + - hellaswag + - squad + - mnli + - arc diff --git a/configs/llm/curriculum_v5_early_obl.yaml b/configs/llm/curriculum_v5_early_obl.yaml new file mode 100644 index 0000000..f53247d --- /dev/null +++ b/configs/llm/curriculum_v5_early_obl.yaml @@ -0,0 +1,61 @@ +# Obligate-merge arm of the conflict-early curriculum (collapse timing): same orders as +# curriculum_v5_early, society arm only, no veto. Seeds 1-3 via hpc/llm_curriculum_timing.pbs. +experiment: llm_curriculum_v5_early_obl +kind: llm_curriculum +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +families: +- mnli +- arc +- hellaswag +- squad +- boolq +- winogrande +lineages: 3 +generations: 6 +arms: +- society +baselines: [] +allow_veto: false +n_new: 300 +n_replay: 150 +n_test: 60 +n_val: 20 +epochs: 3 +lr: 0.0001 +operator: linear +merge_weights: +- - 0.5 + - 0.5 +- - 0.3 + - 0.7 +- - 0.7 + - 0.3 +max_new_tokens: 48 +batch_size: 24 +train_batch_size: 2 +train_max_len: 512 +lora: + r: 16 + alpha: 32 +output: + dir: results/llm_curriculum_v5_early_obl +orders: +- - boolq + - winogrande + - mnli + - arc + - hellaswag + - squad +- - winogrande + - boolq + - arc + - hellaswag + - squad + - mnli +- - boolq + - winogrande + - hellaswag + - squad + - mnli + - arc diff --git a/configs/llm/curriculum_v5_g2.yaml b/configs/llm/curriculum_v5_g2.yaml new file mode 100644 index 0000000..635f754 --- /dev/null +++ b/configs/llm/curriculum_v5_g2.yaml @@ -0,0 +1,25 @@ +# Stage B (prereg v4 §5 G2, v5 families): does forgetting occur, and is it general rather than one pair? +# One lineage, zero replay, all six selected families in sequence at the founder budget that passed C1. +# Pass: mean drop across families learned before the last >= 0.15, with no single family carrying +# more than 50% of the total drop (the v4 failure mode: one pair at +0.65, the rest ~0). +experiment: llm_curriculum_v5_g2 +kind: llm_curriculum +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +families: [mnli, arc, hellaswag, squad, boolq, winogrande] +lineages: 1 +generations: 6 +arms: [isolated] +baselines: [] +n_new: 300 +n_replay: 0 +n_test: 60 +n_val: 20 +epochs: 3 +lr: 1.0e-4 +max_new_tokens: 48 +batch_size: 24 +train_batch_size: 2 +train_max_len: 512 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_curriculum_v5_g2} diff --git a/configs/llm/curriculum_v5_late.yaml b/configs/llm/curriculum_v5_late.yaml new file mode 100644 index 0000000..ea13629 --- /dev/null +++ b/configs/llm/curriculum_v5_late.yaml @@ -0,0 +1,63 @@ +# Conflict-late curriculum (manuscript revision 2026-09-12): the four compatible families first, in +# rotated orders; boolq (yes/no) and winogrande (1/2) arrive in generations 5-6. Pair of +# curriculum_v5_early. Arms: isolated + declinable society (decline timing). +experiment: llm_curriculum_v5_late +kind: llm_curriculum +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +families: +- mnli +- arc +- hellaswag +- squad +- boolq +- winogrande +lineages: 3 +generations: 6 +arms: +- isolated +- society +baselines: [] +allow_veto: true +n_new: 300 +n_replay: 150 +n_test: 60 +n_val: 20 +epochs: 3 +lr: 0.0001 +operator: linear +merge_weights: +- - 0.5 + - 0.5 +- - 0.3 + - 0.7 +- - 0.7 + - 0.3 +max_new_tokens: 48 +batch_size: 24 +train_batch_size: 2 +train_max_len: 512 +lora: + r: 16 + alpha: 32 +output: + dir: results/llm_curriculum_v5_late +orders: +- - mnli + - arc + - hellaswag + - squad + - boolq + - winogrande +- - arc + - hellaswag + - squad + - mnli + - winogrande + - boolq +- - hellaswag + - squad + - mnli + - arc + - boolq + - winogrande diff --git a/configs/llm/curriculum_v5_late_obl.yaml b/configs/llm/curriculum_v5_late_obl.yaml new file mode 100644 index 0000000..73db152 --- /dev/null +++ b/configs/llm/curriculum_v5_late_obl.yaml @@ -0,0 +1,61 @@ +# Obligate-merge arm of the conflict-late curriculum (collapse timing): same orders as +# curriculum_v5_late, society arm only, no veto. Seeds 1-3 via hpc/llm_curriculum_timing.pbs. +experiment: llm_curriculum_v5_late_obl +kind: llm_curriculum +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +families: +- mnli +- arc +- hellaswag +- squad +- boolq +- winogrande +lineages: 3 +generations: 6 +arms: +- society +baselines: [] +allow_veto: false +n_new: 300 +n_replay: 150 +n_test: 60 +n_val: 20 +epochs: 3 +lr: 0.0001 +operator: linear +merge_weights: +- - 0.5 + - 0.5 +- - 0.3 + - 0.7 +- - 0.7 + - 0.3 +max_new_tokens: 48 +batch_size: 24 +train_batch_size: 2 +train_max_len: 512 +lora: + r: 16 + alpha: 32 +output: + dir: results/llm_curriculum_v5_late_obl +orders: +- - mnli + - arc + - hellaswag + - squad + - boolq + - winogrande +- - arc + - hellaswag + - squad + - mnli + - winogrande + - boolq +- - hellaswag + - squad + - mnli + - arc + - boolq + - winogrande diff --git a/configs/llm/curriculum_v5_s1.yaml b/configs/llm/curriculum_v5_s1.yaml new file mode 100644 index 0000000..f034598 --- /dev/null +++ b/configs/llm/curriculum_v5_s1.yaml @@ -0,0 +1,37 @@ +# The curriculum society campaign, seed 1 (prereg v4, v5 curriculum — tasks/prereg-llm-society-v4.md). +# Runs all four arms then the three matched-budget baselines. The PBS array (hpc/llm_curriculum.pbs) +# derives one (seed, arm) config per element from this template for seeds 2-3. +# +# Six real-dataset families selected by calibration (§8a): five pass C1 at >= 0.60, winogrande (0.57) +# is the sixth under the recorded amendment. L = 3 lineages, G = 6 generations; the cyclic Latin square +# gives complementarity 1.0 at generation 2 and 0.0 at generation 6 (H6 tests the shape). +# +# Arms: isolated (no recombination) · society (decorrelated contemporary) · society_dry (contemporary, +# self-generated replay) · seed_bank (own ancestor at t-3 — temporal complementarity) +# Baselines at matched examples: sequential · single_shot_merge · joint +experiment: llm_curriculum_v5 +kind: llm_curriculum +base_model: Qwen/Qwen2.5-1.5B # base, not Instruct: measured 0.011 on these families untrained +seed: 1 +families: [mnli, arc, hellaswag, squad, boolq, winogrande] +lineages: 3 +generations: 6 +arms: [isolated, society, society_dry, seed_bank] +baselines: [sequential, single_shot_merge, joint] +n_new: 300 # founder/acquisition budget that passed C1 (1200 destabilised training) +n_replay: 150 # fixed TOTAL, split across families seen: protection thins as the curriculum grows +n_test: 60 # per family, from the TEST split — reporting only +n_val: 20 # per family, from the TRAIN split — merge-weight selection only +epochs: 3 +lr: 1.0e-4 # continued-training rate (fresh founders use train_lora_on_tasks' 2e-4) +ancestor_depth: 3 +operator: linear +merge_weights: [[0.5, 0.5], [0.3, 0.7], [0.7, 0.3]] +baseline_weights: [[0.333, 0.333, 0.334], [0.5, 0.25, 0.25], [0.25, 0.5, 0.25], [0.25, 0.25, 0.5]] +max_new_tokens: 48 +batch_size: 24 +train_batch_size: 2 +train_max_len: 512 +resume: true +lora: {r: 16, alpha: 32} +output: {dir: results/llm_curriculum_v5/s1} diff --git a/configs/llm/curriculum_v5_stop3.yaml b/configs/llm/curriculum_v5_stop3.yaml new file mode 100644 index 0000000..2218af6 --- /dev/null +++ b/configs/llm/curriculum_v5_stop3.yaml @@ -0,0 +1,30 @@ +# Forced-stop control for the declinable merge (manuscript review, 2026-09-11). Identical to the v5 +# `society` arm except that recombination is switched off from generation 3 onward (`merge_until: 3`): +# obligate merging at generations 0-2, none afterwards. This is the fixed "merge early, then stop" +# schedule the veto arm must be compared against, because in the seed-1 veto run lineages declined +# 1/3 of merges at generations 0-2 and 3/3 at 3-5. Pre-registered readout: tasks/prereg-llm-society-v4.md §8g. +experiment: llm_curriculum_v5_stop3 +kind: llm_curriculum +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +families: [mnli, arc, hellaswag, squad, boolq, winogrande] +lineages: 3 +generations: 6 +arms: [society] +baselines: [] +allow_veto: false +merge_until: 3 +n_new: 300 +n_replay: 150 +n_test: 60 +n_val: 20 +epochs: 3 +lr: 1.0e-4 +operator: linear +merge_weights: [[0.5, 0.5], [0.3, 0.7], [0.7, 0.3]] +max_new_tokens: 48 +batch_size: 24 +train_batch_size: 2 +train_max_len: 512 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_curriculum_v5_stop3} diff --git a/configs/llm/curriculum_v5_veto.yaml b/configs/llm/curriculum_v5_veto.yaml new file mode 100644 index 0000000..682e838 --- /dev/null +++ b/configs/llm/curriculum_v5_veto.yaml @@ -0,0 +1,31 @@ +# The veto arm (GG, 2026-09-08): identical to v5's `society` arm in every respect except that +# "keep the parent unchanged" is an admissible offspring. v5 made merging obligate — every lineage +# merged every generation and had to accept the result, which is not what anyone would build. +# +# Reference points from v5 seed 1: society 0.211 (obligate merging) vs isolated 0.814 (never merges). +# The diagnostic that matters is `veto_used`: if lineages decline every merge the arm degenerates to +# `isolated`, and that is itself the answer. +experiment: llm_curriculum_v5_veto +kind: llm_curriculum +base_model: Qwen/Qwen2.5-1.5B +seed: 1 +families: [mnli, arc, hellaswag, squad, boolq, winogrande] +lineages: 3 +generations: 6 +arms: [society] +baselines: [] +allow_veto: true +n_new: 300 +n_replay: 150 +n_test: 60 +n_val: 20 +epochs: 3 +lr: 1.0e-4 +operator: linear +merge_weights: [[0.5, 0.5], [0.3, 0.7], [0.7, 0.3]] +max_new_tokens: 48 +batch_size: 24 +train_batch_size: 2 +train_max_len: 512 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_curriculum_v5_veto} diff --git a/configs/llm/merge_seeds_smol.yaml b/configs/llm/merge_seeds_smol.yaml new file mode 100644 index 0000000..ef972aa --- /dev/null +++ b/configs/llm/merge_seeds_smol.yaml @@ -0,0 +1,30 @@ +# Second base lineage (manuscript revision 2026-09-12): the Fisher-Muller replication of merge_seeds on +# SmolLM2-1.7B-Instruct (HuggingFaceTB, Apache-2.0, Llama architecture) instead of Qwen. adapters_dir is +# moved because the specialist cache is keyed by family and seed only. Runs via hpc/llm_smol.pbs. +experiment: llm_merge_seeds_smol +kind: llm_merge +seed: 1 +seeds: +- 1 +- 2 +- 3 +- 4 +- 5 +n_replicates: 1 +base_model: HuggingFaceTB/SmolLM2-1.7B-Instruct +families: +- lists +- strings +- arith +n_train: 600 +n_test: 100 +epochs: 3 +lora: + r: 16 + alpha: 32 +merges: +- soup +- ties +output: + dir: results/llm_merge_seeds_smol +adapters_dir: models/llm_smol diff --git a/configs/llm/moe_hard_seeds_smol.yaml b/configs/llm/moe_hard_seeds_smol.yaml new file mode 100644 index 0000000..1a8d65a --- /dev/null +++ b/configs/llm/moe_hard_seeds_smol.yaml @@ -0,0 +1,31 @@ +# Second base lineage (manuscript revision 2026-09-12): the headroom-rule replication of moe_hard_seeds +# (union vs fusion, hard tasks, 3 seeds) on SmolLM2-1.7B-Instruct. Runs via hpc/llm_smol.pbs. +experiment: llm_moe_hard_seeds_smol +kind: llm_moe +seed: 1 +seeds: +- 1 +- 2 +- 3 +n_replicates: 1 +base_model: HuggingFaceTB/SmolLM2-1.7B-Instruct +hard: true +families: +- lists +- strings +- arith +n_train: 400 +n_test: 80 +n_route: 32 +epochs: 3 +lora: + r: 16 + alpha: 32 +operators: +- soup +- ties +- moe_oracle +- moe_learned +output: + dir: results/llm_moe_hard_seeds_smol +adapters_dir: models/llm_smol diff --git a/configs/llm/society_v2_calib_a.yaml b/configs/llm/society_v2_calib_a.yaml new file mode 100644 index 0000000..5243ca7 --- /dev/null +++ b/configs/llm/society_v2_calib_a.yaml @@ -0,0 +1,17 @@ +# Calibration stage A (prereg §4, gates C1a-c + C4): every candidate family's base / specialist +# accuracy, specialist confidence AUC, pairwise functional conflict, gen-0 behavioural distance. +# GG reviews the printed table and fixes the 12-family set in society_v2_calib_b.yaml + the campaign. +# ~1 h on a 16 GB GPU (17 specialists at 600 x 3 epochs, cached and reused by stage B). +experiment: llm_society_v2_calib_a +kind: llm_society_calib +stage: families +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 1 +families: [lists, strings, arith, roman, binary, sortletters, setops, numtheory, mixedtoken, + caesar, vectors, progression, charfreq, digits, liststats, alphabet, prime] +n_test: 100 +n_probe: 10 +spec_train: 600 +spec_epochs: 3 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_society_v2_calib_a} diff --git a/configs/llm/society_v2_calib_a2.yaml b/configs/llm/society_v2_calib_a2.yaml new file mode 100644 index 0000000..fa37982 --- /dev/null +++ b/configs/llm/society_v2_calib_a2.yaml @@ -0,0 +1,20 @@ +# Calibration stage A, second pass (prereg §4 amendments, 2026-09-07): the first pass left only six +# families in band. Changes, each recorded in the prereg: founder budget 600 -> 1200 x 3 (uniform); +# roman / binary / prime prompt spaces enlarged; three new learnable candidates (wordlen, +# lettercount, sumeven); the specialist UPPER bound relaxed 0.90 -> 1.00 (the headroom argument it +# encoded concerns fusion composing to a ceiling, not transmission/assembly). Families whose +# specialist scored <= 0.20 in pass 1 (sortletters, caesar, progression) are not re-trained. +experiment: llm_society_v2_calib_a2 +kind: llm_society_calib +stage: families +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 1 +families: [lists, strings, arith, roman, binary, setops, numtheory, mixedtoken, vectors, charfreq, + digits, liststats, alphabet, prime, wordlen, lettercount, sumeven] +spec_hi: 1.0 +n_test: 100 +n_probe: 10 +spec_train: 1200 +spec_epochs: 3 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_society_v2_calib_a2} diff --git a/configs/llm/society_v2_calib_b.yaml b/configs/llm/society_v2_calib_b.yaml new file mode 100644 index 0000000..ee9c69f --- /dev/null +++ b/configs/llm/society_v2_calib_b.yaml @@ -0,0 +1,25 @@ +# Calibration stage B (prereg §4, gates C2 / C3 / C5) over the 12 families chosen from stage A. +# Run three times with stage: transmission | cross | consensus (see Makefile `llm-society-calib`). +# Families = stage-A pass-2 option 1 (L=9, gate 0.41; prereg §4a) — pending GG's go. +experiment: llm_society_v2_calib_b +kind: llm_society_calib +stage: transmission +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 1 +families: [strings, setops, numtheory, mixedtoken, digits, alphabet, prime, wordlen, roman] +# C2: examples-per-family k and epochs to sweep; probe_families are the three whose retention is +# measured (spread across answer types: list / word / int). +probe_families: [setops, alphabet, digits] # list / letter / integer answers +ks: [25, 50, 100, 150] +epochs_grid: [2, 3] +# C3: the two-founder cross (union-distil vs best-of-6 linear-merge-distil) +cross: [setops, alphabet] +k_inherit: 100 +epochs: 3 +n_candidates: 6 +n_test: 100 +n_probe: 10 +spec_train: 1200 +spec_epochs: 3 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_society_v2_calib_b} diff --git a/configs/llm/society_v2_calib_c2b.yaml b/configs/llm/society_v2_calib_c2b.yaml new file mode 100644 index 0000000..de10147 --- /dev/null +++ b/configs/llm/society_v2_calib_c2b.yaml @@ -0,0 +1,20 @@ +# C2b (prereg §4a amendment under review): confidence-gated inheritance. The pre-registered C2 failed +# (retention ≤ 0.81 at k ≤ 150 despite competent supply): the child fits eight families of confident +# garbage alongside the one competent family. Here the child learns only prompts its source is +# confident on (verifier-free). Measures retention by gate τ, the Youden τ* separating own- from +# off-family confidence, and the off-family harm of ungated inheritance. +experiment: llm_society_v2_calib_b_transmission_conf +kind: llm_society_calib +stage: transmission_conf +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 1 +families: [strings, setops, numtheory, mixedtoken, digits, alphabet, prime, wordlen, roman] +probe_families: [setops, alphabet, digits] +k_pool: 300 # prompts per family answered by the source (2700 total); gate keeps a subset +taus: [0.5, 0.7, 0.85] +epochs: 3 +n_test: 100 +spec_train: 1200 +spec_epochs: 3 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_society_v2_calib_b_transmission_conf} diff --git a/configs/llm/society_v2_calib_c3_gated.yaml b/configs/llm/society_v2_calib_c3_gated.yaml new file mode 100644 index 0000000..2db5e27 --- /dev/null +++ b/configs/llm/society_v2_calib_c3_gated.yaml @@ -0,0 +1,43 @@ +experiment: llm_society_v2_calib_b_cross_gated +kind: llm_society_calib +stage: cross +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 1 +families: +- strings +- setops +- numtheory +- mixedtoken +- digits +- alphabet +- prime +- wordlen +- roman +probe_families: +- setops +- alphabet +- digits +ks: +- 25 +- 50 +- 100 +- 150 +epochs_grid: +- 2 +- 3 +cross: +- setops +- alphabet +k_inherit: 300 +epochs: 3 +n_candidates: 6 +n_test: 100 +n_probe: 10 +spec_train: 1200 +spec_epochs: 3 +lora: + r: 16 + alpha: 32 +output: + dir: results/llm_society_v2_calib_b_cross_gated +conf_gate: 0.5 diff --git a/configs/llm/society_v2_calib_c3b_e6.yaml b/configs/llm/society_v2_calib_c3b_e6.yaml new file mode 100644 index 0000000..4d55b15 --- /dev/null +++ b/configs/llm/society_v2_calib_c3b_e6.yaml @@ -0,0 +1,43 @@ +experiment: llm_society_v2_calib_c3b_e6 +kind: llm_society_calib +stage: cross +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 1 +families: +- strings +- setops +- numtheory +- mixedtoken +- digits +- alphabet +- prime +- wordlen +- roman +probe_families: +- setops +- alphabet +- digits +ks: +- 25 +- 50 +- 100 +- 150 +epochs_grid: +- 2 +- 3 +cross: +- setops +- alphabet +k_inherit: 300 +epochs: 6 +n_candidates: 6 +n_test: 100 +n_probe: 10 +spec_train: 1200 +spec_epochs: 3 +lora: + r: 16 + alpha: 32 +output: + dir: results/llm_society_v2_calib_c3b_e6 +conf_gate: 0.5 diff --git a/configs/llm/society_v2_calib_c3b_r64.yaml b/configs/llm/society_v2_calib_c3b_r64.yaml new file mode 100644 index 0000000..8a0bcc1 --- /dev/null +++ b/configs/llm/society_v2_calib_c3b_r64.yaml @@ -0,0 +1,43 @@ +experiment: llm_society_v2_calib_c3b_r64 +kind: llm_society_calib +stage: cross +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 1 +families: +- strings +- setops +- numtheory +- mixedtoken +- digits +- alphabet +- prime +- wordlen +- roman +probe_families: +- setops +- alphabet +- digits +ks: +- 25 +- 50 +- 100 +- 150 +epochs_grid: +- 2 +- 3 +cross: +- setops +- alphabet +k_inherit: 300 +epochs: 3 +n_candidates: 6 +n_test: 100 +n_probe: 10 +spec_train: 1200 +spec_epochs: 3 +lora: + r: 64 + alpha: 128 +output: + dir: results/llm_society_v2_calib_c3b_r64 +conf_gate: 0.5 diff --git a/configs/llm/society_v2_calib_c3b_r64e6.yaml b/configs/llm/society_v2_calib_c3b_r64e6.yaml new file mode 100644 index 0000000..0b533ad --- /dev/null +++ b/configs/llm/society_v2_calib_c3b_r64e6.yaml @@ -0,0 +1,43 @@ +experiment: llm_society_v2_calib_c3b_r64e6 +kind: llm_society_calib +stage: cross +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 1 +families: +- strings +- setops +- numtheory +- mixedtoken +- digits +- alphabet +- prime +- wordlen +- roman +probe_families: +- setops +- alphabet +- digits +ks: +- 25 +- 50 +- 100 +- 150 +epochs_grid: +- 2 +- 3 +cross: +- setops +- alphabet +k_inherit: 300 +epochs: 6 +n_candidates: 6 +n_test: 100 +n_probe: 10 +spec_train: 1200 +spec_epochs: 3 +lora: + r: 64 + alpha: 128 +output: + dir: results/llm_society_v2_calib_c3b_r64e6 +conf_gate: 0.5 diff --git a/configs/llm/society_v2_calib_c3c_t85e3.yaml b/configs/llm/society_v2_calib_c3c_t85e3.yaml new file mode 100644 index 0000000..d0b6626 --- /dev/null +++ b/configs/llm/society_v2_calib_c3c_t85e3.yaml @@ -0,0 +1,43 @@ +experiment: llm_society_v2_calib_c3c_t85e3 +kind: llm_society_calib +stage: cross +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 1 +families: +- strings +- setops +- numtheory +- mixedtoken +- digits +- alphabet +- prime +- wordlen +- roman +probe_families: +- setops +- alphabet +- digits +ks: +- 25 +- 50 +- 100 +- 150 +epochs_grid: +- 2 +- 3 +cross: +- setops +- alphabet +k_inherit: 300 +epochs: 3 +n_candidates: 6 +n_test: 100 +n_probe: 10 +spec_train: 1200 +spec_epochs: 3 +lora: + r: 16 + alpha: 32 +output: + dir: results/llm_society_v2_calib_c3c_t85e3 +conf_gate: 0.85 diff --git a/configs/llm/society_v2_calib_c3c_t85e6.yaml b/configs/llm/society_v2_calib_c3c_t85e6.yaml new file mode 100644 index 0000000..9199e15 --- /dev/null +++ b/configs/llm/society_v2_calib_c3c_t85e6.yaml @@ -0,0 +1,43 @@ +experiment: llm_society_v2_calib_c3c_t85e6 +kind: llm_society_calib +stage: cross +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 1 +families: +- strings +- setops +- numtheory +- mixedtoken +- digits +- alphabet +- prime +- wordlen +- roman +probe_families: +- setops +- alphabet +- digits +ks: +- 25 +- 50 +- 100 +- 150 +epochs_grid: +- 2 +- 3 +cross: +- setops +- alphabet +k_inherit: 300 +epochs: 6 +n_candidates: 6 +n_test: 100 +n_probe: 10 +spec_train: 1200 +spec_epochs: 3 +lora: + r: 16 + alpha: 32 +output: + dir: results/llm_society_v2_calib_c3c_t85e6 +conf_gate: 0.85 diff --git a/configs/llm/society_v2_s1.yaml b/configs/llm/society_v2_s1.yaml new file mode 100644 index 0000000..3861591 --- /dev/null +++ b/configs/llm/society_v2_s1.yaml @@ -0,0 +1,29 @@ +# v2 society campaign, seed 1 (prereg tasks/prereg-llm-society-v2.md §3). The PBS array +# (hpc/llm_society_v2.pbs) derives one config per (seed, arm) from this template; running it directly +# runs all four arms sequentially (the local-GPU hedge). +# +# CALIBRATION-DEPENDENT FIELDS — set after gates C1/C2 pass, before submission: +# families : the 9 selected by stage A pass 2 (C1, gate 0.41) — SET +# k_inherit / epochs / conf_gate : from stage B (C2 + C2b), 2026-09-07 — SET +experiment: llm_society_v2 +kind: llm_society_v2 +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 1 +families: [strings, setops, numtheory, mixedtoken, digits, alphabet, prime, wordlen, roman] +agents: 9 +generations: 12 +arms: [full, no_grounding, no_sex, no_diversity] +g: 0.85 +lam: 0.3 +max_mate_use: 2 +n_test: 27 # per family -> 243 overall (SE 0.032) +n_val: 13 # per family -> 117 (selection signal) +n_conf: 13 # per family, fresh each generation +k_inherit: 300 # per family, fresh each generation (C2b: k=300 is the main retention driver) +epochs: 3 # child SFT epochs (C2b) +conf_gate: 0.85 # confidence-gated inheritance, all arms (C2b mean retention 0.88; C3c: tight gate = 6-epoch retention at 3 epochs) +spec_train: 1200 +spec_epochs: 3 +resume: true +lora: {r: 16, alpha: 32} +output: {dir: results/llm_society_v2/s1} diff --git a/configs/llm/society_v2_s2.yaml b/configs/llm/society_v2_s2.yaml new file mode 100644 index 0000000..06f7c57 --- /dev/null +++ b/configs/llm/society_v2_s2.yaml @@ -0,0 +1,29 @@ +# v2 society campaign, seed 2 (prereg tasks/prereg-llm-society-v2.md §3). The PBS array +# (hpc/llm_society_v2.pbs) derives one config per (seed, arm) from this template; running it directly +# runs all four arms sequentially (the local-GPU hedge). +# +# CALIBRATION-DEPENDENT FIELDS — set after gates C1/C2 pass, before submission: +# families : the 9 selected by stage A pass 2 (C1, gate 0.41) — SET +# k_inherit / epochs / conf_gate : from stage B (C2 + C2b), 2026-09-07 — SET +experiment: llm_society_v2 +kind: llm_society_v2 +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 2 +families: [strings, setops, numtheory, mixedtoken, digits, alphabet, prime, wordlen, roman] +agents: 9 +generations: 12 +arms: [full, no_grounding, no_sex, no_diversity] +g: 0.85 +lam: 0.3 +max_mate_use: 2 +n_test: 27 # per family -> 243 overall (SE 0.032) +n_val: 13 # per family -> 117 (selection signal) +n_conf: 13 # per family, fresh each generation +k_inherit: 300 # per family, fresh each generation (C2b: k=300 is the main retention driver) +epochs: 3 # child SFT epochs (C2b) +conf_gate: 0.85 # confidence-gated inheritance, all arms (C2b mean retention 0.88; C3c: tight gate = 6-epoch retention at 3 epochs) +spec_train: 1200 +spec_epochs: 3 +resume: true +lora: {r: 16, alpha: 32} +output: {dir: results/llm_society_v2/s2} diff --git a/configs/llm/society_v2_s3.yaml b/configs/llm/society_v2_s3.yaml new file mode 100644 index 0000000..27fa52c --- /dev/null +++ b/configs/llm/society_v2_s3.yaml @@ -0,0 +1,29 @@ +# v2 society campaign, seed 3 (prereg tasks/prereg-llm-society-v2.md §3). The PBS array +# (hpc/llm_society_v2.pbs) derives one config per (seed, arm) from this template; running it directly +# runs all four arms sequentially (the local-GPU hedge). +# +# CALIBRATION-DEPENDENT FIELDS — set after gates C1/C2 pass, before submission: +# families : the 9 selected by stage A pass 2 (C1, gate 0.41) — SET +# k_inherit / epochs / conf_gate : from stage B (C2 + C2b), 2026-09-07 — SET +experiment: llm_society_v2 +kind: llm_society_v2 +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 3 +families: [strings, setops, numtheory, mixedtoken, digits, alphabet, prime, wordlen, roman] +agents: 9 +generations: 12 +arms: [full, no_grounding, no_sex, no_diversity] +g: 0.85 +lam: 0.3 +max_mate_use: 2 +n_test: 27 # per family -> 243 overall (SE 0.032) +n_val: 13 # per family -> 117 (selection signal) +n_conf: 13 # per family, fresh each generation +k_inherit: 300 # per family, fresh each generation (C2b: k=300 is the main retention driver) +epochs: 3 # child SFT epochs (C2b) +conf_gate: 0.85 # confidence-gated inheritance, all arms (C2b mean retention 0.88; C3c: tight gate = 6-epoch retention at 3 epochs) +spec_train: 1200 +spec_epochs: 3 +resume: true +lora: {r: 16, alpha: 32} +output: {dir: results/llm_society_v2/s3} diff --git a/configs/llm/society_v2_s4.yaml b/configs/llm/society_v2_s4.yaml new file mode 100644 index 0000000..8721a87 --- /dev/null +++ b/configs/llm/society_v2_s4.yaml @@ -0,0 +1,29 @@ +# v2 society campaign, seed 4 (prereg tasks/prereg-llm-society-v2.md §3). The PBS array +# (hpc/llm_society_v2.pbs) derives one config per (seed, arm) from this template; running it directly +# runs all four arms sequentially (the local-GPU hedge). +# +# CALIBRATION-DEPENDENT FIELDS — set after gates C1/C2 pass, before submission: +# families : the 9 selected by stage A pass 2 (C1, gate 0.41) — SET +# k_inherit / epochs / conf_gate : from stage B (C2 + C2b), 2026-09-07 — SET +experiment: llm_society_v2 +kind: llm_society_v2 +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 4 +families: [strings, setops, numtheory, mixedtoken, digits, alphabet, prime, wordlen, roman] +agents: 9 +generations: 12 +arms: [full, no_grounding, no_sex, no_diversity] +g: 0.85 +lam: 0.3 +max_mate_use: 2 +n_test: 27 # per family -> 243 overall (SE 0.032) +n_val: 13 # per family -> 117 (selection signal) +n_conf: 13 # per family, fresh each generation +k_inherit: 300 # per family, fresh each generation (C2b: k=300 is the main retention driver) +epochs: 3 # child SFT epochs (C2b) +conf_gate: 0.85 # confidence-gated inheritance, all arms (C2b mean retention 0.88; C3c: tight gate = 6-epoch retention at 3 epochs) +spec_train: 1200 +spec_epochs: 3 +resume: true +lora: {r: 16, alpha: 32} +output: {dir: results/llm_society_v2/s4} diff --git a/configs/llm/society_v2_smoke.yaml b/configs/llm/society_v2_smoke.yaml new file mode 100644 index 0000000..6588231 --- /dev/null +++ b/configs/llm/society_v2_smoke.yaml @@ -0,0 +1,21 @@ +# Smoke test for the v2 society loop: tiny everything, all four arms, resume exercised by the +# per-generation checkpoint. ~20 min on a 16 GB GPU. Exit 0 + figure renders = pass. +experiment: llm_society_v2_smoke +kind: llm_society_v2 +base_model: Qwen/Qwen2.5-0.5B-Instruct +seed: 1 +families: [lists, roman, binary, setops] +agents: 4 +generations: 2 +arms: [full, no_grounding, no_sex, no_diversity] +g: 0.85 +lam: 0.3 +n_test: 8 # per family +n_val: 5 # per family +n_conf: 5 # per family, fresh each generation +k_inherit: 20 # per family +epochs: 2 +spec_train: 120 +spec_epochs: 2 +lora: {r: 16, alpha: 32} +output: {dir: results/llm_society_v2_smoke} diff --git a/figures/_figlib.py b/figures/_figlib.py index bbf0531..b7d82e1 100644 --- a/figures/_figlib.py +++ b/figures/_figlib.py @@ -21,6 +21,28 @@ def load_bundle(results_dir: str | Path) -> tuple[pd.DataFrame, dict]: return df, resolved["source_config"] +def load_seed_bundles(results_dir: str | Path) -> tuple[pd.DataFrame, dict]: + """Load a per-seed bundle layout ``results_dir/s{seed}/results.parquet`` into one frame. + + Each sub-bundle gets a ``seed`` column from its directory name (the HPC array-job layout, one + element per seed). A flat single-seed bundle is accepted too, tagged with its manifest seed. + Returns (frame, source config of the first seed). + """ + results_dir = Path(results_dir) + subs = sorted(results_dir.glob("s[0-9]*/results.parquet")) + if not subs: + df, cfg = load_bundle(results_dir) + if "seed" not in df.columns: + df = df.assign(seed=int(cfg.get("seed", 1))) + return df, cfg + frames, cfg0 = [], None + for p in subs: + df, cfg = load_bundle(p.parent) + cfg0 = cfg0 or cfg + frames.append(df.assign(seed=int(p.parent.name[1:]))) + return pd.concat(frames, ignore_index=True), cfg0 + + def mean_ci(df: pd.DataFrame, by: str, value: str, ci: float = 0.95): """Return (index, mean, half-width) for a normal-approx CI of ``value`` grouped by ``by``.""" from scipy import stats @@ -38,3 +60,23 @@ def savefig(fig, results_dir: str | Path, name: str) -> None: fig.savefig(results_dir / f"{name}.png", dpi=150, bbox_inches="tight") fig.savefig(results_dir / f"{name}.pdf", bbox_inches="tight") print(f"wrote {results_dir}/{name}.png and .pdf") + + +def letter_axes(fig, x: float = -0.1, y: float = 1.04, fontsize: float = 13) -> None: + """Letter every data axes of ``fig`` A, B, C ... in reading order (top row first, left to right). + + Twin axes and colourbars share a frame with a lettered axes and are skipped. Call once, after + every axes exists and before saving. + """ + seen: list[tuple[float, float]] = [] + axes = [] + for ax in fig.axes: + b = ax.get_position() + key = (round(b.x0, 3), round(b.y0, 3)) + if key in seen or b.width < 0.05: # twin axes / colourbars + continue + seen.append(key); axes.append(ax) + axes.sort(key=lambda a: (-round(a.get_position().y0, 2), a.get_position().x0)) + for i, ax in enumerate(axes): + ax.text(x, y, chr(ord("A") + i), transform=ax.transAxes, fontsize=fontsize, fontweight="bold", + va="bottom", ha="left", clip_on=False) diff --git a/figures/plot_E10.py b/figures/plot_E10.py index 770496d..7d5f382 100644 --- a/figures/plot_E10.py +++ b/figures/plot_E10.py @@ -21,7 +21,7 @@ from pathlib import Path import matplotlib.pyplot as plt sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, mean_ci, savefig # noqa: E402 +from _figlib import load_bundle, mean_ci, savefig, letter_axes # noqa: E402 def main(results_dir: str = "results/E10") -> None: @@ -55,9 +55,8 @@ def main(results_dir: str = "results/E10") -> None: title="Directed sex stays ≥ parents; blind sex\nfalls far below (outbreeding depression)") ax.legend(frameon=False, fontsize=9) - fig.suptitle("E10 — directed sex beats biological sex: mate choice + offspring selection + " - "unbounded parents rescue recombination where blind sex fails", y=1.02, fontsize=11) fig.tight_layout() + letter_axes(fig) savefig(fig, results_dir, "E10") diff --git a/figures/plot_E14.py b/figures/plot_E14.py index 0c63ca2..e4fa7f8 100644 --- a/figures/plot_E14.py +++ b/figures/plot_E14.py @@ -26,7 +26,7 @@ from pathlib import Path import matplotlib.pyplot as plt sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, savefig # noqa: E402 +from _figlib import load_bundle, savefig, letter_axes # noqa: E402 def main() -> None: @@ -40,14 +40,14 @@ def main() -> None: fig, axes = plt.subplots(1, 3, figsize=(16, 5)) panels = [ - ("best_n", "best fitness / global optimum", "(A) the champion: best model in the population", - "best fitness peaks at INTERMEDIATE breadth\non rugged landscapes (the peak shifts left as K rises)"), - ("mean_n", "mean fitness / global optimum", "(B) the typical model: population mean", - "monotonically favoured by wide breadth\n(panmixia lifts the whole population)"), - ("diversity", "diversity (mean pairwise Hamming)", "(C) standing diversity", - "monotonically destroyed by breadth\n(promiscuity homogenises; monogamy preserves)"), + ("best_n", "best fitness / global optimum", + "Best model peaks at intermediate breadth on rugged\nlandscapes (the peak shifts left as $K$ rises)"), + ("mean_n", "mean fitness / global optimum", + "Population mean rises monotonically with breadth\n(panmixia lifts the whole population)"), + ("diversity", "diversity (mean pairwise Hamming)", + "Standing diversity falls monotonically with breadth\n(promiscuity homogenises; monogamy preserves)"), ] - for ax, (col, ylab, title, subtitle) in zip(axes, panels): + for ax, (col, ylab, title) in zip(axes, panels): for K in Ks: g = (last[last["K"] == K].groupby("breadth")[col] .agg(["mean", "sem"]).reset_index()) @@ -55,12 +55,11 @@ def main() -> None: marker="o", lw=1.8, capsize=2, color=colors[K], label=f"K={K}") ax.set_xscale("log") ax.set(xlabel="mate-pool breadth (monogamous ← → promiscuous)", ylabel=ylab) - ax.set_title(f"{title}\n{subtitle}", fontsize=9) + ax.set_title(title, fontsize=9) ax.legend(title="ruggedness", frameon=False, fontsize=8) - fig.suptitle("E14 — monogamy vs promiscuity: the best mate-pool breadth shrinks as skills get more entangled", - y=1.02, fontsize=13) fig.tight_layout() + letter_axes(fig) savefig(fig, "results/E14", "E14") diff --git a/figures/plot_E2.py b/figures/plot_E2.py index f08e2b6..2d44736 100644 --- a/figures/plot_E2.py +++ b/figures/plot_E2.py @@ -17,7 +17,7 @@ import matplotlib.pyplot as plt import numpy as np sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, mean_ci, savefig # noqa: E402 +from _figlib import load_bundle, mean_ci, savefig, letter_axes # noqa: E402 sys.path.insert(0, str(Path(__file__).parents[1] / "src")) from knowledge.analysis import critical_grounding, reduce_to_stationary # noqa: E402 @@ -88,7 +88,7 @@ def main(results_dir: str = "results/E2") -> None: ax.errorbar(mg, Mm, yerr=Mci, fmt="o-", color="#9467bd", capsize=3, label="tail truth-mass alive") ax.set(xlabel="grounding fraction $g$", ylabel="fraction of tail retained", - title="Tail stays largely unrescued at feasible g\n(rises with g; motivates E4/E6)") + title="Tail stays largely unrescued at feasible $g$\n(rises only slowly with $g$)") ax.legend(frameon=False, fontsize=9) # Panel D: per-rarity-band survival across g (band 0 = rarest) @@ -106,9 +106,8 @@ def main(results_dir: str = "results/E2") -> None: title=r"Per-rarity band: the $m\,p^*_i\gtrsim1$ threshold (deep lags)") ax.legend(frameon=False, fontsize=8) - fig.suptitle("E2 — a critical grounding ratio $g^\\star \\ll 1$ rescues diversity; " - "the deep tail needs recombination", y=1.0, fontsize=13) fig.tight_layout() + letter_axes(fig) savefig(fig, results_dir, "E2") diff --git a/figures/plot_E3.py b/figures/plot_E3.py index 20a6ec2..ebe4ebf 100644 --- a/figures/plot_E3.py +++ b/figures/plot_E3.py @@ -18,7 +18,7 @@ import matplotlib.pyplot as plt import numpy as np sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, savefig # noqa: E402 +from _figlib import load_bundle, savefig, letter_axes # noqa: E402 def main(results_dir: str = "results/E3") -> None: @@ -43,7 +43,7 @@ def main(results_dir: str = "results/E3") -> None: color=colors[pol], alpha=0.2) ax.set(xlabel="generation", ylabel=f"tail items alive in region {target}", - title=f"Target region {target} (exercised): matched holds, uniform collapses") + title=f"Target region {target} (exercised):\nmatched holds, uniform collapses") ax.legend(frameon=False) # Panel 2: stationary tail survival per region, uniform vs matched @@ -60,12 +60,12 @@ def main(results_dir: str = "results/E3") -> None: ax.annotate("exercised", (target, ax.get_ylim()[1] * 0.9), fontsize=8, ha="center", color="gray") ax.set(xlabel="region", ylabel="stationary tail items alive", - title="Uniform spreads thin; matched concentrates on the exercised region", + title="Uniform spreads thin;\nmatched concentrates on the exercised region", xticks=regions) ax.legend(frameon=False) - fig.suptitle("E3 — grounding must overlap the content it protects", y=1.02) fig.tight_layout() + letter_axes(fig) savefig(fig, results_dir, "E3") diff --git a/figures/plot_E4.py b/figures/plot_E4.py index a4b8fd1..acb101e 100644 --- a/figures/plot_E4.py +++ b/figures/plot_E4.py @@ -16,7 +16,7 @@ import matplotlib.pyplot as plt import numpy as np sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, savefig # noqa: E402 +from _figlib import load_bundle, savefig, letter_axes # noqa: E402 def U_closed(K_T, rho, q): @@ -37,9 +37,9 @@ def main(results_dir: str = "results/E4") -> None: ax = axes[0] for K, c in zip(K_Ts, colors): sub = g0[g0["K_T"] == K].groupby("rho")["union_coverage"].mean() - ax.plot(sub.index, sub.values, "o", color=c, label=f"K_T={K}") + ax.plot(sub.index, sub.values, "o", color=c, label=f"$K_T$={K}") ax.plot(rhos, [U_closed(K, r, q) for r in rhos], "-", color=c, lw=1) - ax.set(xlabel=r"teacher correlation $\rho$", ylabel="union tail coverage", + ax.set(xlabel=r"parent correlation $\rho$", ylabel="union tail coverage", title=r"Supply: union matches $U(K_T,\rho,q)$") ax.legend(frameon=False, fontsize=8) @@ -48,11 +48,11 @@ def main(results_dir: str = "results/E4") -> None: for K, c in zip(K_Ts, colors): sub = g0[g0["K_T"] == K].groupby("rho") ax.plot(sub["surviving_max"].mean().index, sub["surviving_max"].mean().values, - "-o", color=c, label=f"K_T={K}", ms=4) + "-o", color=c, label=f"$K_T$={K}", ms=4) ax.plot(sub["surviving_mean"].mean().index, sub["surviving_mean"].mean().values, "--", color=c, lw=1, alpha=0.7) - ax.set(xlabel=r"teacher correlation $\rho$", ylabel="surviving tail coverage", - title="Realised: max-merge (solid) rises;\nmean-distill (dashed) stays flat") + ax.set(xlabel=r"parent correlation $\rho$", ylabel="surviving tail coverage", + title="Realised: max-merge (solid) rises;\nmean-mixture (dashed) stays flat") ax.legend(frameon=False, fontsize=8) # Panel C: surviving vs K_T at rho=0, both operators — the recombination benefit @@ -61,17 +61,16 @@ def main(results_dir: str = "results/E4") -> None: mx = r0.groupby("K_T")["surviving_max"].agg(["mean", "sem"]) mn = r0.groupby("K_T")["surviving_mean"].agg(["mean", "sem"]) ax.errorbar(mx.index, mx["mean"], yerr=1.96 * mx["sem"], fmt="-o", - color="#1f77b4", capsize=3, label="max-merge (M2N2-style)") + color="#1f77b4", capsize=3, label="max-merge (union-preserving)") ax.errorbar(mn.index, mn["mean"], yerr=1.96 * mn["sem"], fmt="--s", color="#d62728", capsize=3, label="mean-mixture distillation") - ax.set(xlabel="number of teachers $K_T$", ylabel="surviving tail coverage", + ax.set(xlabel="number of parents $K_T$", ylabel="surviving tail coverage", title=r"Benefit needs a union-preserving merge ($\rho=0$)", xticks=K_Ts) ax.legend(frameon=False, fontsize=9) - fig.suptitle("E4 — recombination supplies the tail; only a union-preserving merge " - "realises it in the pupil", y=1.03) fig.tight_layout() + letter_axes(fig) savefig(fig, results_dir, "E4") diff --git a/figures/plot_E5.py b/figures/plot_E5.py index e624fba..91247d0 100644 --- a/figures/plot_E5.py +++ b/figures/plot_E5.py @@ -15,7 +15,7 @@ import matplotlib.pyplot as plt import numpy as np sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, savefig # noqa: E402 +from _figlib import load_bundle, savefig, letter_axes # noqa: E402 def main(results_dir: str = "results/E5") -> None: @@ -30,14 +30,14 @@ def main(results_dir: str = "results/E5") -> None: # Panel 1: H trajectories ax = axes[0] series = [("greedy", 1.0, "#d62728", "greedy"), - ("qd", 1.0, "#ff7f0e", "qd (α=1)"), - ("qd", 2.0, "#1f77b4", "qd (α=2)"), + ("qd", 1.0, "#ff7f0e", "quality-diversity (α=1)"), + ("qd", 2.0, "#1f77b4", "quality-diversity (α=2)"), ("none", 1.0, "#2ca02c", "none (grounding only)")] for mode, a, c, lab in series: s = arm(mode, a).groupby("generation")["heterozygosity"].mean() ax.plot(s.index, s.values, color=c, label=lab) ax.set(xlabel="generation", ylabel="heterozygosity $H$", - title="Greedy collapses; QD maintains diversity") + title="Greedy collapses;\nquality-diversity maintains diversity") ax.legend(frameon=False, fontsize=8) # Panel 2: stationary H vs alpha for qd, with greedy/none reference lines @@ -45,19 +45,19 @@ def main(results_dir: str = "results/E5") -> None: qd = df[(df["mode"] == "qd") & (df["generation"] >= last)] st = qd.groupby("novelty_alpha")["heterozygosity"].agg(["mean", "sem"]) ax.errorbar(st.index, st["mean"], yerr=1.96 * st["sem"], fmt="-o", - color="#ff7f0e", capsize=3, label="qd") + color="#ff7f0e", capsize=3, label="quality-diversity") for mode, c in (("greedy", "#d62728"), ("none", "#2ca02c")): h = arm(mode, 1.0) h = h[h["generation"] >= last]["heterozygosity"].mean() ax.axhline(h, ls="--", color=c, label=f"{mode}") ax.set(xlabel=r"novelty exponent $\alpha$", ylabel="stationary $H$", - title="QD maintains H above greedy for all α") + title="Quality-diversity keeps $H$\nabove greedy for all α") ax.legend(frameon=False, fontsize=9) # Panel 3: stationary support size per arm ax = axes[2] - arms = [("greedy", 1.0, "greedy"), ("qd", 0.5, "qd α=0.5"), - ("qd", 1.0, "qd α=1"), ("qd", 2.0, "qd α=2"), ("none", 1.0, "none")] + arms = [("greedy", 1.0, "greedy"), ("qd", 0.5, "quality-diversity α=0.5"), + ("qd", 1.0, "quality-diversity α=1"), ("qd", 2.0, "quality-diversity α=2"), ("none", 1.0, "none")] labels, vals, errs, colors = [], [], [], [] palette = {"greedy": "#d62728", "qd": "#ff7f0e", "none": "#2ca02c"} for mode, a, lab in arms: @@ -70,9 +70,8 @@ def main(results_dir: str = "results/E5") -> None: xticks=range(len(labels))) ax.set_xticklabels(labels, rotation=25, ha="right", fontsize=8) - fig.suptitle("E5 — quality-diversity selection maintains diversity where greedy " - "fixes it", y=1.02) fig.tight_layout() + letter_axes(fig) savefig(fig, results_dir, "E5") diff --git a/figures/plot_E6.py b/figures/plot_E6.py index 21108f3..f8b1c6b 100644 --- a/figures/plot_E6.py +++ b/figures/plot_E6.py @@ -16,7 +16,7 @@ import matplotlib.pyplot as plt import numpy as np sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, savefig # noqa: E402 +from _figlib import load_bundle, savefig, letter_axes # noqa: E402 STYLE = { "healthy_remint": ("#2ca02c", "re-mint while healthy (H high)"), @@ -44,7 +44,7 @@ def main(results_dir: str = "results/E6") -> None: color=c, alpha=0.15) for g in remint_gens: ax.axvline(g, ls=":", color="k", lw=0.8, alpha=0.5) - ax.set(xlabel="generation", ylabel=r"forward KL to ORIGINAL truth", + ax.set(xlabel="generation", ylabel=r"forward KL to original truth", title="Re-minting while collapsed locks in divergence") ax.legend(frameon=False, fontsize=8) @@ -67,8 +67,8 @@ def main(results_dir: str = "results/E6") -> None: title="Diversity at re-mint time (the gate reads this)") ax.legend(frameon=False, fontsize=8) - fig.suptitle("E6 — re-minting is irreversible; gate it on diversity", y=1.02) fig.tight_layout() + letter_axes(fig) savefig(fig, results_dir, "E6") diff --git a/figures/plot_E8.py b/figures/plot_E8.py index b5f7942..693d308 100644 --- a/figures/plot_E8.py +++ b/figures/plot_E8.py @@ -23,7 +23,7 @@ import matplotlib.pyplot as plt import numpy as np sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, mean_ci, savefig # noqa: E402 +from _figlib import load_bundle, mean_ci, savefig, letter_axes # noqa: E402 def main(results_dir: str = "results/E8") -> None: @@ -58,9 +58,8 @@ def main(results_dir: str = "results/E8") -> None: title="Decorrelation is the fuel:\nρ=0 climbs to the optimum; ρ=1 (clones) buy nothing") ax.legend(frameon=False, fontsize=9) - fig.suptitle("E8 — the vertical claim: an offspring recombined from many decorrelated parents " - "is fitter than any parent (Fisher–Muller; no two-parent limit)", y=1.02, fontsize=12) fig.tight_layout() + letter_axes(fig) savefig(fig, results_dir, "E8") diff --git a/figures/plot_E9.py b/figures/plot_E9.py index c1d2df4..1061068 100644 --- a/figures/plot_E9.py +++ b/figures/plot_E9.py @@ -24,7 +24,7 @@ import matplotlib.pyplot as plt import numpy as np sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, savefig # noqa: E402 +from _figlib import load_bundle, savefig, letter_axes # noqa: E402 def main(results_dir: str = "results/E9") -> None: @@ -56,9 +56,8 @@ def main(results_dir: str = "results/E9") -> None: title="With offspring selection, an optimal\nrecombination rate re-emerges (dotted = parents)") ax.legend(frameon=False, fontsize=8, title="ruggedness") - fig.suptitle("E9 — landscape robustness: recombination helps when skills are complementary, but " - "blindly merging entangled models causes outbreeding depression", y=1.02, fontsize=11) fig.tight_layout() + letter_axes(fig) savefig(fig, results_dir, "E9") diff --git a/figures/plot_architectures.py b/figures/plot_architectures.py index 1877b05..4fb9834 100644 --- a/figures/plot_architectures.py +++ b/figures/plot_architectures.py @@ -22,7 +22,7 @@ import matplotlib.pyplot as plt import numpy as np sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, mean_ci, savefig # noqa: E402 +from _figlib import load_bundle, mean_ci, savefig, letter_axes # noqa: E402 _ARCH_ORDER = ["histogram", "rnn", "mlp"] _ARCH_LABEL = {"histogram": "histogram\n(exact)", "rnn": "GRU\n(autoregressive)", @@ -47,14 +47,14 @@ def main(results_dir: str = "results/architectures") -> None: ax.plot(s.index, s.values, ls, color=arch_colors[k], alpha=alpha, lw=1.8, label=f"{k} (g={g:g})") ax.set(xlabel="generation", ylabel=r"forward-KL $D(p^*\Vert\hat p)$", - title="Dry (solid) collapses; grounded (dashed) held —\nin every architecture") + title="No real data (solid) collapses;\ngrounded (dashed) holds in every architecture") ax.legend(frameon=False, fontsize=7, ncol=1) # Panels B & C: grouped bars, dry vs grounded per architecture. def grouped_bar(ax, metric, title, ylabel): x = np.arange(len(kinds)) w = 0.36 - for off, g, lab, col in [(-w / 2, g_dry, f"dry (g={g_dry:g})", "#d62728"), + for off, g, lab, col in [(-w / 2, g_dry, f"no real data (g={g_dry:g})", "#d62728"), (w / 2, g_wet, f"grounded (g={g_wet:g})", "#2ca02c")]: means, errs = [], [] for k in kinds: @@ -72,9 +72,8 @@ def main(results_dir: str = "results/architectures") -> None: grouped_bar(axes[2], "tail_frac_alive", "Tail-item survival rises with grounding", "tail items alive") - fig.suptitle("architectures — dry collapse and grounding-rescue are architecture-general " - "(histogram, GRU, MLP)", y=1.02, fontsize=13) fig.tight_layout() + letter_axes(fig) savefig(fig, results_dir, "architectures") diff --git a/figures/plot_curriculum_cull.py b/figures/plot_curriculum_cull.py new file mode 100644 index 0000000..47f63f8 --- /dev/null +++ b/figures/plot_curriculum_cull.py @@ -0,0 +1,69 @@ +"""Differential reproduction in the six-generation population (SI figure). + +Left: best-lineage all-families accuracy per generation (mean over seeds, 95% CI) for the four arms: +never merge, declinable merge, and each with culling (the lowest-scoring lineage re-founded from +the highest-scoring one after every generation). Middle: population MEAN accuracy over the three +lineages, same arms (culling acts on the mean first). Right: the number of cull events per +generation in each culled arm (mean over seeds), with the fraction of merges declined in the +culled declinable arm. + +Reads the committed curriculum bundles through stats_llm_curriculum (no re-simulation). +Usage: python figures/plot_curriculum_cull.py [out_dir=results/llm_curriculum_v5_cull] +""" + +from __future__ import annotations + +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np + +sys.path.insert(0, str(Path(__file__).parent)) +from _figlib import mean_ci, savefig, letter_axes # noqa: E402 +from stats_llm_curriculum import best_lineage, load_curriculum # noqa: E402 + +ARMS = {"isolated": ("#2c7fb8", "-", "never merge"), "veto": ("#2ca02c", "-", "declinable merge"), + "cull_isolated": ("#2c7fb8", "--", "never merge + culling"), + "cull_veto": ("#2ca02c", "--", "declinable merge + culling")} + + +def main(out_dir: str = "results/llm_curriculum_v5_cull") -> None: + df = load_curriculum() + df = df[df["curriculum"] == "latin"] + best = best_lineage(df) + lin = df[(df["metric"] == "all_families") & df["model"].str.startswith("lineage") & (df["generation"] >= 0)] + pop_mean = lin.groupby(["arm", "seed", "generation"])["value"].mean().reset_index() + fig, (a1, a2, a3) = plt.subplots(1, 3, figsize=(13, 3.8)) + for arm, (color, ls, label) in ARMS.items(): + for ax, src in ((a1, best), (a2, pop_mean)): + sub = src[src["arm"] == arm] + if len(sub): + x, m, h = mean_ci(sub, "generation", "value") + ax.errorbar(x + 1, m, yerr=np.nan_to_num(h), fmt="o", ls=ls, color=color, capsize=3, + label=label) + for arm, color in (("cull_isolated", "#2c7fb8"), ("cull_veto", "#2ca02c")): + c = df[(df["arm"] == arm) & (df["metric"] == "culled")] + if len(c): + ev = c.groupby(["seed", "generation"])["value"].sum().reset_index() + x, m, _ = mean_ci(ev, "generation", "value") + a3.plot(x + 1, m, "o--", color=color, label=f"{ARMS[arm][2]}: culls") + v = df[(df["arm"] == "cull_veto") & (df["metric"] == "veto_used")] + if len(v): + x, m, h = mean_ci(v, "generation", "value") + a3.errorbar(x + 1, m, yerr=np.nan_to_num(h), fmt="s-", color="#d62728", capsize=3, + label="declined merges (culled arm)") + a1.set(xlabel="generation", ylabel="best-lineage accuracy, all families", ylim=(0.3, 0.9), + title="best lineage") + a2.set(xlabel="generation", ylabel="population mean accuracy", ylim=(0.3, 0.9), title="population mean") + a3.set(xlabel="generation", ylabel="events per generation / fraction", ylim=(-0.05, 1.1), + title="culls and declines") + for a in (a1, a2, a3): + a.set_xticks(range(1, 7)); a.legend(frameon=False, fontsize=7) + fig.tight_layout() + letter_axes(fig) + savefig(fig, out_dir, "curriculum_cull") + + +if __name__ == "__main__": + main(*sys.argv[1:]) diff --git a/figures/plot_curriculum_timing.py b/figures/plot_curriculum_timing.py new file mode 100644 index 0000000..9a64627 --- /dev/null +++ b/figures/plot_curriculum_timing.py @@ -0,0 +1,69 @@ +"""Conflict-arrival curricula (SI figure): does the declinable merge's decline rate, and the obligate +merge's collapse, follow the generation at which conflicting conventions arrive? + +Left: fraction of proposed merges declined per generation (mean over seeds, 95% CI) for each +curriculum; a filled marker on the curve marks the first generation at which both conflicting +families (boolq, winogrande) are present in every lineage. Right: best-lineage all-families accuracy +of the OBLIGATE society arm per curriculum, same marker. Curricula: Latin square (conflict from +generation 5), decorrelated (from 4), conflict-early (from 2), conflict-late (from 6). + +Reads the committed curriculum bundles through stats_llm_curriculum (no re-simulation). +Usage: python figures/plot_curriculum_timing.py [out_dir=results/llm_curriculum_v5_early] +""" + +from __future__ import annotations + +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np + +sys.path.insert(0, str(Path(__file__).parent)) +from _figlib import mean_ci, savefig, letter_axes # noqa: E402 +from stats_llm_curriculum import CONFLICT_FROM, best_lineage, decline_table, load_curriculum # noqa: E402 + +STYLE = {"latin": ("#7f7f7f", "Latin square"), "decor": ("#2c7fb8", "decorrelated"), + "early": ("#d62728", "conflict-early"), "late": ("#2ca02c", "conflict-late")} +OBLIGATE = {"latin": "society", "early": "early_society", "late": "late_society"} + + +def main(out_dir: str = "results/llm_curriculum_v5_early") -> None: + df = load_curriculum() + tab = decline_table(df) + best = best_lineage(df) + fig, (a1, a2) = plt.subplots(1, 2, figsize=(10, 3.8)) + for cur, (color, label) in STYLE.items(): + sub = tab[tab["curriculum"] == cur] + if len(sub): + x, m, h = mean_ci(sub, "generation", "declined") + a1.errorbar(x + 1, m, yerr=np.nan_to_num(h), fmt="-o", color=color, capsize=3, label=label, + markerfacecolor="white") + g0 = CONFLICT_FROM[cur] + if g0 in set(x): + a1.plot(g0 + 1, m[list(x).index(g0)], "o", color=color, ms=12, markeredgecolor="black", markeredgewidth=1.2) + arm = OBLIGATE.get(cur) + ob = best[(best["curriculum"] == cur) & (best["arm"] == arm)] if arm else best.iloc[0:0] + if len(ob): + x, m, h = mean_ci(ob, "generation", "value") + a2.errorbar(x + 1, m, yerr=np.nan_to_num(h), fmt="-o", color=color, capsize=3, label=label, + markerfacecolor="white") + g0 = CONFLICT_FROM[cur] + if g0 in set(x): + a2.plot(g0 + 1, m[list(x).index(g0)], "o", color=color, ms=12, markeredgecolor="black", markeredgewidth=1.2) + a1.set(xlabel="generation", ylabel="fraction of merges declined", ylim=(-0.02, 1.05), + title="declinable merge: decline rate") + a2.set(xlabel="generation", ylabel="best-lineage accuracy, all families", ylim=(0.1, 0.9), + title="obligate merge: accuracy") + a1.plot([], [], "o", color="white", ms=10, markeredgecolor="black", markeredgewidth=1.2, + label="first generation with both\nconflicting conventions") + a1.legend(frameon=False, fontsize=8); a2.legend(frameon=False, fontsize=8) + for a in (a1, a2): + a.set_xticks(range(1, 7)) + fig.tight_layout() + letter_axes(fig) + savefig(fig, out_dir, "curriculum_timing") + + +if __name__ == "__main__": + main(*sys.argv[1:]) diff --git a/figures/plot_grounding.py b/figures/plot_grounding.py index cbe0f60..5873da2 100644 --- a/figures/plot_grounding.py +++ b/figures/plot_grounding.py @@ -26,7 +26,7 @@ import matplotlib.pyplot as plt import numpy as np sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, mean_ci, savefig # noqa: E402 +from _figlib import load_bundle, mean_ci, savefig, letter_axes # noqa: E402 sys.path.insert(0, str(Path(__file__).parents[1] / "src")) from knowledge.analysis import reduce_to_stationary # noqa: E402 @@ -94,8 +94,8 @@ def main(results_dir: str = "results/grounding") -> None: ax.errorbar(kg, Km, yerr=Kci, fmt="o-", color="#1f77b4", capsize=3, zorder=3) ax.set(xlabel="grounding fraction $g=m/(n+m)$", ylabel=r"stationary forward-KL $D(p^*\Vert\hat p)$", - title="Neural phase boundary: KL falls monotonically\n" - "(sign confirmed; paired $t$=3.3 at g=0.2)") + title="Trained RNN: KL falls monotonically with grounding\n" + "(paired $t$=3.3 at $g$=0.2)") # Panel C: recovery fraction with the median-recovery grounding vs Layer-1's g*. ax = axes[1, 0] @@ -106,7 +106,7 @@ def main(results_dir: str = "results/grounding") -> None: ax.axvspan(lo50, hi50, color="#d62728", alpha=0.15) ax.axvline(g50, color="#d62728", lw=1.2, label=f"median-recovery $g$={g50:.3f}\n(95% CI [{lo50:.3f},{hi50:.3f}])") - ax.axvline(_LAYER1_GSTAR, ls="--", color="k", lw=1, label=f"Layer-1 $g^*$={_LAYER1_GSTAR}") + ax.axvline(_LAYER1_GSTAR, ls="--", color="k", lw=1, label=f"analytic $g^*$={_LAYER1_GSTAR}") ax.set(xlabel="grounding fraction $g$", ylabel="forward-KL recovery fraction", title="Half the divergence gap closes by $g\\approx0.04$\n" "(full recovery needs more g: smoothing softens the threshold)") @@ -131,10 +131,8 @@ def main(results_dir: str = "results/grounding") -> None: "(smoothing keeps spurious support); forward-KL responds") ax.legend(frameon=False, fontsize=8) - fig.suptitle("grounding — grounding arrests collapse in trained RNN weights (SIGN confirmed); " - f"the sharp $g^*\\ll1$ is carried by the histogram bridge ($g^*$=0.047, $H^*$={H_star:.2f})", - y=1.0, fontsize=12) fig.tight_layout() + letter_axes(fig) savefig(fig, results_dir, "grounding") diff --git a/figures/plot_kernel.py b/figures/plot_kernel.py index f273d37..63215fd 100644 --- a/figures/plot_kernel.py +++ b/figures/plot_kernel.py @@ -28,7 +28,7 @@ import matplotlib.pyplot as plt import numpy as np sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, savefig # noqa: E402 +from _figlib import load_bundle, savefig, letter_axes # noqa: E402 sys.path.insert(0, str(Path(__file__).parents[1] / "src")) from knowledge.metrics import heterozygosity # noqa: E402 @@ -76,7 +76,7 @@ def main() -> None: g, y = _mean_traj(sh, "temperature", val, "heterozygosity") ax.plot(g, y, "-o", color=c, ms=3, label=lab) ax.axhline(Hstar_sh, ls=":", color="gray", lw=1, label="$H^*$") - ax.axhline(vae_H, ls="--", color="#2ca02c", lw=1.3, label=f"real VAE (dry): {vae_H:.2f}") + ax.axhline(vae_H, ls="--", color="#2ca02c", lw=1.3, label=f"real VAE (no real data): {vae_H:.2f}") ax.set(xlabel="generation", ylabel="heterozygosity $H$", title="VAE regime ($n$=6000, $K$=30): neutral drift is inert;\nsharpening collapses (like the VAE)") ax.legend(frameon=False, fontsize=8) @@ -85,7 +85,7 @@ def main() -> None: for val, c, lab in [(1.0, NEU, "neutral (τ=1)"), (0.8, KER, "sharpened (τ=0.8)")]: g, y = _mean_traj(sh, "temperature", val, "support_size") ax.plot(g, y, "-o", color=c, ms=3, label=lab) - ax.axhline(vae_sup, ls="--", color="#2ca02c", lw=1.3, label=f"real VAE (dry): {vae_sup:.0f}") + ax.axhline(vae_sup, ls="--", color="#2ca02c", lw=1.3, label=f"real VAE (no real data): {vae_sup:.0f}") ax.set(xlabel="generation", ylabel="distinct modes alive", title="Support: neutral holds ~all; sharpening → 1 mode") ax.legend(frameon=False, fontsize=8) @@ -96,7 +96,7 @@ def main() -> None: g, y = _mean_traj(sm, "reset", val, "heterozygosity") ax.plot(g, y, "-", color=c, lw=1.8, label=lab) ax.axhline(Hstar_sm, ls=":", color="gray", lw=1, label="$H^*$") - ax.axhline(rnn_H, ls="--", color="#2ca02c", lw=1.3, label=f"real RNN (dry): {rnn_H:.2f}") + ax.axhline(rnn_H, ls="--", color="#2ca02c", lw=1.3, label=f"real RNN (no real data): {rnn_H:.2f}") ax.set(xlabel="generation", ylabel="heterozygosity $H$", title="RNN regime ($n$=200, $K$=256): neutral → 0;\nsmoothing floors $H$ (like the RNN)") ax.legend(frameon=False, fontsize=8) @@ -105,15 +105,14 @@ def main() -> None: for val, c, lab in [(0.0, NEU, "neutral (u=0)"), (0.006, KER, "smoothed (u=0.006)")]: g, y = _mean_traj(sm, "reset", val, "forward_kl") ax.plot(g, y, "-", color=c, lw=1.8, label=lab) - ax.axhline(rnn_KL, ls="--", color="#2ca02c", lw=1.3, label=f"real RNN (dry): {rnn_KL:.1f}") + ax.axhline(rnn_KL, ls="--", color="#2ca02c", lw=1.3, label=f"real RNN (no real data): {rnn_KL:.1f}") ax.set(xlabel="generation", ylabel=r"forward-KL $D(p^*\Vert p)$", title="Forward-KL: neutral diverges; smoothing plateaus\n(overshoots RNN → prior is truth-like, not uniform)") ax.legend(frameon=False, fontsize=8) - fig.suptitle("learning kernel — neutral Wright–Fisher fails both neural models, oppositely: " - "the estimator sharpens (VAE) or smooths (RNN)", y=1.0, fontsize=12) fig.tight_layout() for d in ("results/kernel_sharpen", "results/kernel_smooth"): + letter_axes(fig) savefig(fig, d, "kernel") diff --git a/figures/plot_llm_compose.py b/figures/plot_llm_compose.py new file mode 100644 index 0000000..5a67dcd --- /dev/null +++ b/figures/plot_llm_compose.py @@ -0,0 +1,112 @@ +"""Composition-decay figure (prereg v3 §8) — written before unblinding. + +(A) Composition **surplus** S_t = composed − best single parent, per arm over generations, with the + zero line: the vertical claim, and whether it survives inheritance. +(B) Own-skill retention q_t per lineage (math on GSM8K, code on MBPP), dry vs grounded — the + denominators of the prediction. +(C) rho_t, the behavioural correlation between the two lineages: the mechanism, if it rises. +(D) Observed composed accuracy against the framework's forecast Ĉ_t (one free scale, fixed at + generation 0) — H3, the paper's predictive claim, drawn as a line the data can miss. + +Reads only committed bundles: one bundle directory, or a campaign directory of ``s*/`` bundles. +Usage: python figures/plot_llm_compose.py [results/llm_compose] +""" + +from __future__ import annotations + +import sys +from pathlib import Path + +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt + +sys.path.insert(0, str(Path(__file__).parent)) +sys.path.insert(0, str(Path(__file__).parent.parent / "src")) +from _figlib import mean_ci, savefig # noqa: E402 +from llm.compose import predicted_composition # noqa: E402 + +ARMS = [("dry", "#d62728", "dry · blending operator"), + ("grounded", "#2ca02c", "grounded (g = 0.10) · blending"), + ("dry_cat", "#1f77b4", "dry · union operator (cat)")] + + +def load_any(results_dir: Path) -> pd.DataFrame: + if (results_dir / "results.parquet").exists(): + paths = [results_dir] + else: + paths = sorted(p.parent for p in results_dir.glob("*/results.parquet")) + if not paths: + raise SystemExit(f"no results.parquet under {results_dir}") + return pd.concat([pd.read_parquet(p / "results.parquet") for p in paths], ignore_index=True) + + +def series(df: pd.DataFrame, arm: str, metric: str) -> pd.DataFrame: + return df[(df.arm == arm) & (df.metric == metric)][["seed", "generation", "value"]] + + +def main(results_dir: str = "results/llm_compose") -> None: + rd = Path(results_dir) + df = load_any(rd) + arms = [a for a in ARMS if a[0] in set(df.arm.unique())] + n_seeds = df.seed.nunique() + fig, ax = plt.subplots(1, 4, figsize=(21, 4.6)) + + # (A) surplus + for arm, color, label in arms: + s = series(df, arm, "surplus") + if s.empty: + continue + x, m, h = mean_ci(s, "generation", "value") + ax[0].plot(x, m, "-o", color=color, label=label, lw=2, ms=4) + ax[0].fill_between(x, m - h, m + h, color=color, alpha=0.15, lw=0) + ax[0].axhline(0, color="k", lw=1, ls="--") + ax[0].set_title("(A) composition surplus\ncomposed − best single parent", fontsize=10) + ax[0].set_xlabel("generation"); ax[0].set_ylabel("surplus"); ax[0].legend(fontsize=8) + + # (B) own-skill retention + for arm, color, _ in arms: + for metric, ls in (("q_math", "-"), ("q_code", ":")): + s = series(df, arm, metric) + if s.empty: + continue + x, m, _h = mean_ci(s, "generation", "value") + ax[1].plot(x, m, ls, color=color, lw=2, + label=f"{arm} · {metric.split('_')[1]}" if arm != "dry_linear" else None) + ax[1].set_title("(B) own-skill retention q_t\nsolid math (GSM8K), dotted code (MBPP)", fontsize=10) + ax[1].set_xlabel("generation"); ax[1].set_ylabel("accuracy"); ax[1].legend(fontsize=8) + + # (C) rho + for arm, color, label in arms: + s = series(df, arm, "rho_behav") + if s.empty: + continue + x, m, h = mean_ci(s, "generation", "value") + ax[2].plot(x, m, "-o", color=color, label=label, lw=2, ms=4) + ax[2].fill_between(x, m - h, m + h, color=color, alpha=0.15, lw=0) + ax[2].set_title("(C) lineage correlation ρ_t\n(agreement on a shared probe)", fontsize=10) + ax[2].set_xlabel("generation"); ax[2].set_ylabel("ρ"); ax[2].legend(fontsize=8) + + # (D) observed vs predicted, dry arm + for arm, color, label in arms: + obs = series(df, arm, "composed_acc").groupby("generation").value.mean() + qm = series(df, arm, "q_math").groupby("generation").value.mean() + qc = series(df, arm, "q_code").groupby("generation").value.mean() + rho = series(df, arm, "rho_behav").groupby("generation").value.mean() + if obs.empty or len(obs) < 2: + continue + pred = predicted_composition(qm.to_numpy(), qc.to_numpy(), rho.to_numpy(), float(obs.iloc[0])) + ax[3].plot(obs.index, obs.to_numpy(), "-o", color=color, lw=2, ms=4, label=f"{label} observed") + ax[3].plot(obs.index, pred, "--", color=color, lw=1.5, alpha=0.8, + label=f"{label} predicted Ĉ") + ax[3].set_title("(D) H3: observed vs the closed form\nĈ = c₀·q_math·q_code·(1−ρ)/(1−ρ₀)", fontsize=10) + ax[3].set_xlabel("generation"); ax[3].set_ylabel("composed accuracy"); ax[3].legend(fontsize=7) + + fig.suptitle(f"llm_compose — does a composed capability survive inheritance? " + f"({n_seeds} seed{'s' if n_seeds != 1 else ''}, mean ± 95% CI)", y=1.03) + fig.tight_layout() + savefig(fig, rd, "llm_compose") + + +if __name__ == "__main__": + main(*sys.argv[1:]) diff --git a/figures/plot_llm_directed.py b/figures/plot_llm_directed.py index d5dd3f3..cde5534 100644 --- a/figures/plot_llm_directed.py +++ b/figures/plot_llm_directed.py @@ -19,7 +19,7 @@ import matplotlib.pyplot as plt import numpy as np sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, savefig # noqa: E402 +from _figlib import load_seed_bundles, savefig # noqa: E402 _FAMS = ["lists", "strings", "arith"] _DIRECTED = {"directed_overall": "directed:overall", "directed_balanced": "directed:balanced"} @@ -27,11 +27,11 @@ _DIRECTED = {"directed_overall": "directed:overall", "directed_balanced": "direc def _acc(df, model, metric): r = df[(df["model"] == model) & (df["metric"] == metric)]["accuracy"] - return float(r.iloc[0]) if len(r) else float("nan") + return float(r.mean()) if len(r) else float("nan") def main(results_dir: str = "results/llm_directed") -> None: - df, cfg = load_bundle(results_dir) + df, cfg = load_seed_bundles(results_dir) # seed-mean when the bundle has s{seed}/ sub-bundles present = set(df["model"].unique()) specialists = sorted(m for m in present if m.startswith("spec_")) directed = [m for m in _DIRECTED if m in present] diff --git a/figures/plot_llm_merge.py b/figures/plot_llm_merge.py index cd51939..2ad0ac2 100644 --- a/figures/plot_llm_merge.py +++ b/figures/plot_llm_merge.py @@ -19,18 +19,18 @@ import matplotlib.pyplot as plt import numpy as np sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, savefig # noqa: E402 +from _figlib import load_seed_bundles, savefig # noqa: E402 _FAMS = ["lists", "strings", "arith"] def _acc(df, model, metric): r = df[(df["model"] == model) & (df["metric"] == metric)]["accuracy"] - return float(r.iloc[0]) if len(r) else float("nan") + return float(r.mean()) if len(r) else float("nan") def main(results_dir: str = "results/llm_merge") -> None: - df, cfg = load_bundle(results_dir) + df, cfg = load_seed_bundles(results_dir) # seed-mean when the bundle has s{seed}/ sub-bundles specialists = sorted(m for m in df["model"].unique() if m.startswith("spec_")) merges = sorted(m for m in df["model"].unique() if m.startswith("merge_")) models = ["base"] + specialists + merges diff --git a/figures/plot_llm_moe.py b/figures/plot_llm_moe.py index e1b298f..0a04f30 100644 --- a/figures/plot_llm_moe.py +++ b/figures/plot_llm_moe.py @@ -20,7 +20,7 @@ import matplotlib.pyplot as plt import numpy as np sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, savefig # noqa: E402 +from _figlib import load_seed_bundles, savefig # noqa: E402 _FAMS = ["lists", "strings", "arith"] _FUSION = {"merge_soup": "fuse:soup", "merge_ties": "fuse:ties"} @@ -29,11 +29,11 @@ _UNION = {"moe_oracle": "route:oracle", "moe_learned": "route:learned", "max_mer def _acc(df, model, metric): r = df[(df["model"] == model) & (df["metric"] == metric)]["accuracy"] - return float(r.iloc[0]) if len(r) else float("nan") + return float(r.mean()) if len(r) else float("nan") def main(results_dir: str = "results/llm_moe") -> None: - df, cfg = load_bundle(results_dir) + df, cfg = load_seed_bundles(results_dir) # seed-mean when the bundle has s{seed}/ sub-bundles present = set(df["model"].unique()) specialists = sorted(m for m in present if m.startswith("spec_")) fusion = [m for m in _FUSION if m in present] diff --git a/figures/plot_llm_seeds.py b/figures/plot_llm_seeds.py index e90b2af..d184afd 100644 --- a/figures/plot_llm_seeds.py +++ b/figures/plot_llm_seeds.py @@ -8,7 +8,10 @@ figure with 95% CIs over seeds: (B) llm_moe_hard_seeds — union (routing) vs fusion (soup/ties) on the hard benchmark (3 seeds). (C) llm_directed_hard_seeds — directed offspring selection vs the a-priori soup, hard (3 seeds). -Usage: python figures/plot_llm_seeds.py +Usage: python figures/plot_llm_seeds.py # the 0.5B seed bundles (default) + python figures/plot_llm_seeds.py --merge results/llm_merge_hpc --moe results/llm_moe_hard_hpc \ + --directed results/llm_directed_hard_hpc --out results/llm_merge_hpc --tag 7B +Bundles may be flat (one seed) or per-seed sub-bundles ``s{seed}/`` (HPC array layout). """ from __future__ import annotations @@ -20,7 +23,7 @@ import numpy as np import matplotlib.pyplot as plt sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, savefig # noqa: E402 +from _figlib import load_seed_bundles, savefig # noqa: E402 def _agg(df, models, metric): @@ -28,7 +31,7 @@ def _agg(df, models, metric): out = [] for m in models: v = df[(df["model"] == m) & (df["metric"] == metric)].groupby("seed")["accuracy"].mean() - out.append((v.mean(), 1.96 * v.std(ddof=1) / max(1, np.sqrt(len(v))))) + out.append((v.mean(), 1.96 * v.std(ddof=1) / np.sqrt(len(v)) if len(v) > 1 else 0.0)) return out @@ -58,31 +61,42 @@ def _best_spec(df): return pd.concat([df] + rows, ignore_index=True) -def main() -> None: +def main(merge="results/llm_merge_seeds", moe="results/llm_moe_hard_seeds", + directed="results/llm_directed_hard_seeds", out="results/llm_merge_seeds", tag="0.5B") -> None: fig, axes = plt.subplots(1, 3, figsize=(16, 4.8)) - df, _ = load_bundle("results/llm_merge_seeds") + df, _ = load_seed_bundles(merge) + n = df["seed"].nunique() _panel(axes[0], _best_spec(df), ["base", "best_specialist", "merge_soup", "merge_ties"], ["base", "best\nspecialist", "merge\n(soup)", "merge\n(ties)"], - "(A) Fisher–Muller with error bars\n(5 seeds, easy benchmark, 0.5B)") + f"(A) Fisher–Muller with error bars\n({n} seeds, easy benchmark, {tag})") - df, _ = load_bundle("results/llm_moe_hard_seeds") + df, _ = load_seed_bundles(moe) + n = df["seed"].nunique() _panel(axes[1], _best_spec(df), ["best_specialist", "merge_soup", "merge_ties", "moe_oracle", "moe_learned"], ["best\nspecialist", "fusion\n(soup)", "fusion\n(ties)", "union\n(route,oracle)", "union\n(route,learned)"], - "(B) union vs fusion, hard benchmark\n(3 seeds, 0.5B)") + f"(B) union vs fusion, hard benchmark\n({n} seeds, {tag})") - df, _ = load_bundle("results/llm_directed_hard_seeds") + df, _ = load_seed_bundles(directed) + n = df["seed"].nunique() _panel(axes[2], df, ["merge_soup", "directed_overall", "directed_balanced"], ["a-priori soup", "directed\n(overall)", "directed\n(balanced)"], - "(C) directed offspring selection, hard\n(3 seeds, 0.5B)") + f"(C) directed offspring selection, hard\n({n} seeds, {tag})") fig.suptitle("The LLM recombination claims are seed-robust (fixed test sets; training seed varied; 95% CI)", y=1.03, fontsize=12) fig.tight_layout() - savefig(fig, "results/llm_merge_seeds", "llm_seeds") + savefig(fig, out, "llm_seeds") if __name__ == "__main__": - main() + import argparse + ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) + ap.add_argument("--merge", default="results/llm_merge_seeds") + ap.add_argument("--moe", default="results/llm_moe_hard_seeds") + ap.add_argument("--directed", default="results/llm_directed_hard_seeds") + ap.add_argument("--out", default="results/llm_merge_seeds") + ap.add_argument("--tag", default="0.5B") + main(**vars(ap.parse_args())) diff --git a/figures/plot_llm_smol.py b/figures/plot_llm_smol.py new file mode 100644 index 0000000..de149b3 --- /dev/null +++ b/figures/plot_llm_smol.py @@ -0,0 +1,56 @@ +"""Second base lineage (SI figure): the Fisher-Muller and headroom results on SmolLM2-1.7B-Instruct +beside the Qwen2.5-0.5B-Instruct originals, mean ± 95% CI over seeds. + +(A) merged specialists vs the best single specialist, easy benchmark (5 seeds per lineage); +(B) union (routing) vs fusion (soup, ties) on the hard benchmark (3 seeds per lineage). +Skips silently when the SmolLM2 bundles are not present yet (``make figures`` runs every script). + +Usage: python figures/plot_llm_smol.py [out_dir=results/llm_merge_seeds_smol] +""" + +from __future__ import annotations + +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np + +sys.path.insert(0, str(Path(__file__).parent)) +from _figlib import load_seed_bundles, savefig, letter_axes # noqa: E402 +from plot_llm_seeds import _agg, _best_spec # noqa: E402 + +LINEAGES = {"Qwen2.5-0.5B": ("results/llm_merge_seeds", "results/llm_moe_hard_seeds", "#9ecae1", "#2c7fb8"), + "SmolLM2-1.7B": ("results/llm_merge_seeds_smol", "results/llm_moe_hard_seeds_smol", "#fdae6b", "#d62728")} +PANELS = {"merge": (["best_specialist", "merge_soup", "merge_ties"], + ["best\nspecialist", "merge\n(soup)", "merge\n(ties)"], + "Fisher–Muller, easy benchmark"), + "moe": (["best_specialist", "merge_soup", "merge_ties", "moe_oracle", "moe_learned"], + ["best\nspecialist", "fusion\n(soup)", "fusion\n(ties)", "union\n(oracle)", "union\n(learned)"], + "union vs fusion, hard benchmark")} + + +def main(out_dir: str = "results/llm_merge_seeds_smol") -> None: + if not all(Path(d).exists() for d in LINEAGES["SmolLM2-1.7B"][:2]): + print("plot_llm_smol: SmolLM2 bundles not present yet; skipping"); return + fig, axes = plt.subplots(1, 2, figsize=(12, 4.4)) + for ax, (key, (models, labels, title)) in zip(axes, PANELS.items()): + x = np.arange(len(models)); n_l = len(LINEAGES); w = 0.8 / (2 * n_l) + for li, (lineage, (dm, dmo, c_over, c_worst)) in enumerate(LINEAGES.items()): + df = _best_spec(load_seed_bundles(dm if key == "merge" else dmo)[0]) + n = df["seed"].nunique() + for mi, (metric, color) in enumerate((("overall", c_over), ("worst_family", c_worst))): + vals = _agg(df, models, metric) + off = (li * 2 + mi - (2 * n_l - 1) / 2) * w + ax.bar(x + off, [v for v, _ in vals], w, yerr=[e for _, e in vals], capsize=2, + color=color, label=f"{lineage}, {metric.replace('_', ' ')} ({n} seeds)") + ax.set_xticks(x); ax.set_xticklabels(labels, fontsize=8) + ax.set(ylabel="verifier accuracy", ylim=(0, 1.0), title=title) + ax.legend(frameon=False, fontsize=7) + fig.tight_layout() + letter_axes(fig) + savefig(fig, out_dir, "llm_smol") + + +if __name__ == "__main__": + main(*sys.argv[1:]) diff --git a/figures/plot_llm_society.py b/figures/plot_llm_society.py new file mode 100644 index 0000000..5ba6cb8 --- /dev/null +++ b/figures/plot_llm_society.py @@ -0,0 +1,115 @@ +"""v2 society figure — E11's three panels at the language-model tier, plus the competence genotype. + +Pre-registered layout (tasks/prereg-llm-society-v2.md §8), written before unblinding and run on the +smoke bundle first. Reads only committed bundles: a single bundle directory, or a campaign directory +whose sub-directories ``s{seed}_{arm}/`` each hold a bundle (the PBS array writes one per element). + +(A) Best-agent overall test accuracy per arm over generations (solid) with the best *newborn* of each + generation (dotted) — a climb carried by a surviving founder is visible as such; B₀ (best founder + at gen 0) dashed. Mean ± 95% CI over seeds. +(B) Behavioural diversity of the population (mean pairwise disagreement). +(C) The self-consumption signature: mean conformity − mean true accuracy. +(D) Competence genotype of the ``full`` arm's best agent: per-family test accuracy × generation, mean + over seeds — E8's "a genotype no parent had", if it happens. + +Usage: python figures/plot_llm_society.py [results/llm_society_v2 | results/llm_society_v2_smoke] +""" + +from __future__ import annotations + +import sys +from pathlib import Path + +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt +import yaml + +sys.path.insert(0, str(Path(__file__).parent)) +from _figlib import mean_ci, savefig # noqa: E402 + +_ARMS = [("full", "#2ca02c", "full society"), + ("no_sex", "#ff7f0e", "no sex (no recombination)"), + ("no_diversity", "#9467bd", "no diversity (greedy)"), + ("no_grounding", "#d62728", "no grounding (self-consumption)"), + ("sex_linear", "#1f77b4", "sex by linear blend (H2 control)")] + + +def load_any(results_dir: Path) -> tuple[pd.DataFrame, list[str]]: + """One bundle, or every ``*/results.parquet`` below the directory (the campaign layout).""" + if (results_dir / "results.parquet").exists(): + paths = [results_dir] + else: + paths = sorted(p.parent for p in results_dir.glob("*/results.parquet")) + if not paths: + raise SystemExit(f"no results.parquet under {results_dir}") + df = pd.concat([pd.read_parquet(p / "results.parquet") for p in paths], ignore_index=True) + fams = yaml.safe_load((paths[0] / "resolved_config.yaml").read_text())["source_config"]["families"] + return df, list(fams) + + +def main(results_dir: str = "results/llm_society_v2") -> None: + rd = Path(results_dir) + df, fams = load_any(rd) + pop = df[df.role == "population"] + summ = df[df.role == "summary"] + arms = [a for a in _ARMS if a[0] in set(df.arm.unique())] + + best = (pop[pop.metric == "test_overall"].groupby(["arm", "seed", "generation"]).value.max() + .rename("best").reset_index()) + newborn = summ[summ.metric == "best_newborn_overall"][["arm", "seed", "generation", "value"]] + b0 = best[best.generation == 0].groupby("seed").best.mean().mean() + + fig, axes = plt.subplots(1, 4, figsize=(21, 4.8)) + + def traj(ax, frame, col, title, ylabel, style="-", label_suffix=""): + for arm, color, label in arms: + sub = frame[frame.arm == arm] + if sub.empty: + continue + x, m, h = mean_ci(sub, "generation", col) + ax.plot(x, m, style, color=color, label=(label + label_suffix) if style == "-" else None, lw=2) + if style == "-": + ax.fill_between(x, m - h, m + h, color=color, alpha=0.15, lw=0) + if title: # overlay calls pass "" and must not wipe labels + ax.set_title(title, fontsize=10); ax.set_xlabel("generation"); ax.set_ylabel(ylabel) + + traj(axes[0], best, "best", "(A) best agent (solid) and best newborn (dotted)\nB₀ = best founder, dashed", + "overall test accuracy") + traj(axes[0], newborn.rename(columns={"value": "best"}), "best", "", "", style=":") + axes[0].axhline(b0, color="k", ls="--", lw=1, label=f"B₀ = {b0:.2f}") + axes[0].legend(fontsize=8, loc="best") + + div = summ[summ.metric == "diversity_behav"] + traj(axes[1], div, "value", "(B) population diversity\n(mean pairwise disagreement)", "diversity") + gap = summ[summ.metric == "gap_conformity_minus_truth"] + traj(axes[2], gap, "value", "(C) self-consumption signature\nconformity − true accuracy", "gap") + axes[2].axhline(0, color="k", lw=0.8) + + # (D) competence genotype of the full arm's best agent, families × generations, mean over seeds + full = pop[pop.arm == ("full" if "full" in set(pop.arm) else arms[0][0])] + fam_cols = [f"test_{f}" for f in fams] + idx = full[full.metric == "test_overall"].sort_values("value").groupby(["seed", "generation"]).tail(1) + keyed = full.set_index(["seed", "generation", "agent", "metric"]).value + gens = sorted(full.generation.unique()) + heat = np.full((len(fams), len(gens)), np.nan) + for gi, g in enumerate(gens): + rows = idx[idx.generation == g] + vals = np.array([[keyed.get((r.seed, g, r.agent, c), np.nan) for c in fam_cols] for r in rows.itertuples()]) + if len(vals): + heat[:, gi] = np.nanmean(vals, axis=0) + im = axes[3].imshow(heat, aspect="auto", cmap="viridis", vmin=0, vmax=1) + axes[3].set_yticks(range(len(fams))); axes[3].set_yticklabels(fams, fontsize=8) + axes[3].set_xticks(range(len(gens))); axes[3].set_xticklabels(gens, fontsize=8) + axes[3].set_xlabel("generation"); axes[3].set_title("(D) competence genotype of the best agent\n(full arm; per-family accuracy)", fontsize=10) + fig.colorbar(im, ax=axes[3], fraction=0.046, pad=0.02) + + n_seeds = df.seed.nunique() + fig.suptitle(f"llm_society_v2 — the composed society at LLM scale ({n_seeds} seed{'s' if n_seeds != 1 else ''}, " + f"L={len(fams)} families, mean ± 95% CI)", y=1.02) + fig.tight_layout() + savefig(fig, rd, "llm_society_v2") + + +if __name__ == "__main__": + main(*sys.argv[1:]) diff --git a/figures/plot_mnist.py b/figures/plot_mnist.py index a0ea5eb..c9e437c 100644 --- a/figures/plot_mnist.py +++ b/figures/plot_mnist.py @@ -23,7 +23,7 @@ import matplotlib.pyplot as plt import numpy as np sys.path.insert(0, str(Path(__file__).parent)) -from _figlib import load_bundle, savefig # noqa: E402 +from _figlib import load_bundle, savefig, letter_axes # noqa: E402 sys.path.insert(0, str(Path(__file__).parents[1] / "src")) from knowledge.metrics import heterozygosity # noqa: E402 @@ -47,7 +47,7 @@ def main(results_dir: str = "results/mnist_collapse") -> None: oracle_acc = manifest.get("oracle_mode_accuracy", float("nan")) g_dry, g_wet = min(df["g"].unique()), max(df["g"].unique()) - arms = [(g_dry, "#d62728", f"dry (g={g_dry:g})"), (g_wet, "#2ca02c", f"grounded (g={g_wet:g})")] + arms = [(g_dry, "#d62728", f"no real data (g={g_dry:g})"), (g_wet, "#2ca02c", f"grounded (g={g_wet:g})")] fig, axes = plt.subplots(2, 2, figsize=(13, 9)) @@ -61,18 +61,17 @@ def main(results_dir: str = "results/mnist_collapse") -> None: ax.set(xlabel="generation", ylabel=ylabel, title=title) ax.legend(frameon=False, fontsize=9) - panel(axes[0, 0], "forward_kl", "Collapse: dry forward-KL climbs, grounding holds it", + panel(axes[0, 0], "forward_kl", "Without real data forward-KL climbs; grounding holds it", r"forward-KL $D(p^*\Vert\hat p)$") panel(axes[0, 1], "support_size", f"Support collapses (of K={syn.K} modes)", "distinct modes alive", hline=(syn.K, f"$K$={syn.K}")) - panel(axes[1, 0], "tail_truth_mass_alive", "Rare tail dies dry, held by grounding", + panel(axes[1, 0], "tail_truth_mass_alive", "Rare tail dies without real data, held by grounding", "tail truth-mass alive") - panel(axes[1, 1], "heterozygosity", "Diversity collapses dry, held by grounding", + panel(axes[1, 1], "heterozygosity", "Diversity collapses without real data, held by grounding", "heterozygosity $H$", hline=(H_star, "$H^*$")) - fig.suptitle("mnist_collapse — model collapse and grounding-rescue on REAL MNIST images " - f"(VAE; oracle mode acc {oracle_acc:.1%} = noise floor)", y=1.0, fontsize=13) fig.tight_layout() + letter_axes(fig) savefig(fig, results_dir, "mnist_collapse") diff --git a/figures/stats_llm_7b_seeds.py b/figures/stats_llm_7b_seeds.py new file mode 100644 index 0000000..3788a23 --- /dev/null +++ b/figures/stats_llm_7b_seeds.py @@ -0,0 +1,103 @@ +"""Per-seed paired contrasts for the 7B language-model runs (source of the SI Table S2 numbers). + +The three 7B experiments were single-seed until 2026-09-11; seeds 2–3 run via hpc/llm_7b_seeds.pbs +into ``results/llm__hpc/s{seed}/``. This script reports, per seed and as mean ± 95% CI: + +- Fisher–Muller (``llm_merge_hpc``): merged (soup, ties) − best single specialist, overall and + worst-family; +- union vs fusion on hard tasks (``llm_moe_hard_hpc``): routing (oracle, learned) − soup; +- directed selection on hard tasks (``llm_directed_hard_hpc``): directed (overall, balanced) − soup. + +Reads committed artifacts only; with one seed the CI is reported as n/a rather than invented. + +Usage: python figures/stats_llm_7b_seeds.py +""" + +from __future__ import annotations + +import sys +from pathlib import Path + +import numpy as np +import pandas as pd +from scipy.stats import ttest_rel + +sys.path.insert(0, str(Path(__file__).parent)) +from _figlib import load_seed_bundles # noqa: E402 + +METRICS = ("overall", "worst_family") + + +def with_best_specialist(df: pd.DataFrame) -> pd.DataFrame: + """Add a ``best_specialist`` model per seed (the spec_* with the highest overall accuracy).""" + specs = sorted(m for m in df["model"].unique() if m.startswith("spec_")) + rows = [] + for _, sub in df.groupby("seed"): + ov = {m: sub[(sub["model"] == m) & (sub["metric"] == "overall")]["accuracy"].mean() for m in specs} + b = sub[sub["model"] == max(ov, key=ov.get)].copy() + b["model"] = "best_specialist" + rows.append(b) + return pd.concat([df] + rows, ignore_index=True) + + +def table(df: pd.DataFrame, models: list[str]) -> pd.DataFrame: + """Per-seed accuracy of each model on each metric, mean ± CI over seeds.""" + rows = [] + for m in models: + for met in METRICS: + v = df[(df["model"] == m) & (df["metric"] == met)].groupby("seed")["accuracy"].mean() + rows.append({"model": m, "metric": met, "n_seeds": len(v), + **{f"s{s}": round(a, 3) for s, a in v.items()}, + "mean": round(v.mean(), 3), + "ci95": round(1.96 * v.std(ddof=1) / np.sqrt(len(v)), 3) if len(v) > 1 else np.nan}) + return pd.DataFrame(rows) + + +def contrasts(df: pd.DataFrame, pairs: list[tuple[str, str]]) -> pd.DataFrame: + """Per-seed paired differences a − b on each metric.""" + rows = [] + for a, b in pairs: + for met in METRICS: + piv = (df[(df["metric"] == met) & df["model"].isin([a, b])] + .pivot_table(index="seed", columns="model", values="accuracy")) + if a not in piv or b not in piv: + continue + d = (piv[a] - piv[b]).dropna() + # paired per-seed t-test (the figures' significance brackets and the captions' p-values) + p_paired = float(ttest_rel(piv.loc[d.index, a], piv.loc[d.index, b]).pvalue) if len(d) > 1 else np.nan + rows.append({"contrast": f"{a} − {b}", "metric": met, "n_seeds": len(d), "p_paired": round(p_paired, 4), + **{f"s{s}": round(x, 3) for s, x in d.items()}, + "mean": round(d.mean(), 3), + "ci95": round(1.96 * d.std(ddof=1) / np.sqrt(len(d)), 3) if len(d) > 1 else np.nan, + "sign_agrees": f"{int((np.sign(d) == np.sign(d.mean())).sum())}/{len(d)}"}) + return pd.DataFrame(rows) + + +def main() -> None: + runs = { + "llm_merge_hpc": (["best_specialist", "merge_soup", "merge_ties"], + [("merge_soup", "best_specialist"), ("merge_ties", "best_specialist")]), + "llm_moe_hard_hpc": (["best_specialist", "merge_soup", "merge_ties", "moe_oracle", "moe_learned", + "max_merge"], + [("moe_oracle", "merge_soup"), ("moe_learned", "merge_soup"), + ("merge_soup", "best_specialist")]), + "llm_directed_hard_hpc": (["merge_soup", "directed_overall", "directed_balanced"], + [("directed_overall", "merge_soup"), ("directed_balanced", "merge_soup")]), + } + for name, (models, pairs) in runs.items(): + d = Path("results") / name + if not d.exists(): + print(f"## {name}: missing\n") + continue + df, cfg = load_seed_bundles(d) + df = with_best_specialist(df) + present = [m for m in models if m in set(df["model"])] + print(f"## {name} — {cfg.get('base_model')}, seeds {sorted(df['seed'].unique())}") + print(table(df, present).to_string(index=False)) + print() + print(contrasts(df, pairs).to_string(index=False)) + print() + + +if __name__ == "__main__": + main() diff --git a/figures/stats_llm_compose.py b/figures/stats_llm_compose.py new file mode 100644 index 0000000..d6af76b --- /dev/null +++ b/figures/stats_llm_compose.py @@ -0,0 +1,175 @@ +"""Pre-registered analysis for the composition experiment (prereg v3 §3) — written before unblinding. + +Prints each hypothesis, its per-seed quantities, the paired mean ± 95% CI, and PASS / FAIL against +the threshold fixed in the pre-registration. Nothing here is chosen after seeing the data. + + H1 gate S_0 >= +0.05, union-exceedance >= 0.03, cat > linear by >= 0.03 (>=2/3 seeds) + H2 S_t declines (Spearman <= -0.7) and composition's fractional loss exceeds each parent's + H3 Ĉ_t (one parameter, fixed at t=0) predicts observed with MAE <= 0.05 and beats a + two-parameter exponential on AIC + H4 S_G(grounded) - S_G(dry) >= +0.08, 3/3 seeds positive + H5 rho_t rises in dry (Spearman >= +0.7); partial corr of S_t with rho_t given q_t < 0 + H6 dry_linear: S_0 <= +0.02 and union-exceedance <= 0.01 at every generation + +Usage: python figures/stats_llm_compose.py [results/llm_compose] +""" + +from __future__ import annotations + +import sys +from pathlib import Path + +import numpy as np +import pandas as pd + +sys.path.insert(0, str(Path(__file__).parent)) +sys.path.insert(0, str(Path(__file__).parent.parent / "src")) +from plot_llm_compose import load_any, series # noqa: E402 +from llm.compose import predicted_composition # noqa: E402 + + +def ci95(x) -> tuple[float, float]: + x = np.asarray(x, dtype=float) + if len(x) < 2: + return (float(x.mean()) if len(x) else float("nan")), float("nan") + from scipy import stats + return float(x.mean()), float(stats.t.ppf(0.975, len(x) - 1) * x.std(ddof=1) / np.sqrt(len(x))) + + +def spearman(y) -> float: + from scipy import stats + y = np.asarray(y, dtype=float) + return float(stats.spearmanr(np.arange(len(y)), y).statistic) if len(y) > 2 else float("nan") + + +def verdict(ok) -> str: + return "n/a " if ok is None else ("PASS" if ok else "FAIL") + + +def main(results_dir: str = "results/llm_compose") -> None: + df = load_any(Path(results_dir)) + seeds = sorted(df.seed.unique()) + G = int(df.generation.max()) + arms = set(df.arm.unique()) + print(f"bundle {results_dir} seeds {seeds} G = {G} arms {sorted(arms)}\n") + + def at(arm, metric, gen): + s = series(df, arm, metric) + return {int(r.seed): float(r.value) for r in s[s.generation == gen].itertuples()} + + def traj(arm, metric, seed): + s = series(df, arm, metric) + s = s[s.seed == seed].sort_values("generation") + return s.value.to_numpy() + + # ---------------- H1 + print("H1 — generation-0 gate (does the published effect reproduce here?)") + s0, u0 = at("dry", "surplus", 0), at("dry", "union_exceedance", 0) + print(f" surplus at t=0 {np.round(list(s0.values()), 3).tolist()} " + f"{verdict(sum(v >= 0.05 for v in s0.values()) >= max(1, len(s0) - 1))} (>= +0.05)") + print(f" union-exceedance at t=0 {np.round(list(u0.values()), 3).tolist()} " + f"{verdict(sum(v >= 0.03 for v in u0.values()) >= max(1, len(u0) - 1))} (>= 0.03)") + # The operator arms are named by their operator (`dry` = linear, `dry_cat` = cat) after the + # gen-0 sweep; compare whichever two are present rather than assuming a name. + if {"dry", "dry_cat"} <= arms: + lin0, cat0 = at("dry", "composed_acc", 0), at("dry_cat", "composed_acc", 0) + d = [lin0[s] - cat0[s] for s in lin0 if s in cat0] + print(f" linear − cat at t=0 {np.round(d, 3).tolist()} (sweep found the ordering is " + f"weight-dependent; reported, not gated)") + + # ---------------- H2 + print("\nH2 — composition decays, and faster than its parents") + for seed in seeds: + s = traj("dry", "surplus", seed) + c = traj("dry", "composed_acc", seed) + qm, qc = traj("dry", "q_math", seed), traj("dry", "q_code", seed) + if len(c) < 3: + continue + frac_c = c[-1] / c[0] if c[0] > 0 else np.nan + frac_m = qm[-1] / qm[0] if qm[0] > 0 else np.nan + frac_q = qc[-1] / qc[0] if qc[0] > 0 else np.nan + print(f" seed {seed}: spearman(S_t) {spearman(s):+.2f} retained: composed {frac_c:.2f} " + f"vs math {frac_m:.2f}, code {frac_q:.2f} " + f"{'faster' if frac_c < min(frac_m, frac_q) else 'NOT faster'}") + + # ---------------- H3 + print("\nH3 — the closed form predicts the trajectory (the paper's predictive claim)") + for arm in ("dry", "grounded"): + if arm not in arms: + continue + maes, aics = [], [] + for seed in seeds: + obs = traj(arm, "composed_acc", seed) + qm, qc = traj(arm, "q_math", seed), traj(arm, "q_code", seed) + rho = traj(arm, "rho_behav", seed) + if len(obs) < 3 or not (len(obs) == len(qm) == len(qc) == len(rho)): + continue + pred = predicted_composition(qm, qc, rho, float(obs[0])) + mae = float(np.mean(np.abs(pred - obs))) + # two-parameter baseline: a*exp(-b t), least squares on the same points + t = np.arange(len(obs), dtype=float) + pos = obs > 1e-6 + if pos.sum() >= 2: + b, loga = np.polyfit(t[pos], np.log(obs[pos]), 1) + base = np.exp(loga) * np.exp(b * t) + else: + base = np.full_like(obs, obs.mean()) + n = len(obs) + aic = lambda resid, k: n * np.log(max(1e-12, np.mean(resid ** 2))) + 2 * k + maes.append(mae); aics.append(aic(pred - obs, 1) - aic(base - obs, 2)) + if maes: + m, h = ci95(maes) + print(f" {arm:9s} MAE {m:.3f} ± {h:.3f} {verdict(m <= 0.05)} (<= 0.05) " + f"ΔAIC vs exponential {np.mean(aics):+.1f} " + f"({'closed form wins' if np.mean(aics) < 0 else 'baseline wins'})") + + # ---------------- H4 + print("\nH4 — grounding arrests the decay") + if {"dry", "grounded"} <= arms: + d, g = at("dry", "surplus", G), at("grounded", "surplus", G) + diff = [g[s] - d[s] for s in g if s in d] + m, h = ci95(diff) + print(f" S_G(grounded) − S_G(dry) {np.round(diff, 3).tolist()} mean {m:+.3f} ± {h:.3f} " + f"{verdict(m >= 0.08 and all(v > 0 for v in diff))} (>= +0.08, all seeds positive)") + + # ---------------- H5 + print("\nH5 — rising ρ is the mechanism") + for arm in ("dry", "grounded"): + if arm not in arms: + continue + sp = [spearman(traj(arm, "rho_behav", s)) for s in seeds if len(traj(arm, "rho_behav", s)) > 2] + if sp: + print(f" {arm:9s} spearman(ρ_t) {np.round(sp, 2).tolist()} mean {np.mean(sp):+.2f}" + + (f" {verdict(np.mean(sp) >= 0.7)} (>= +0.7)" if arm == "dry" else "")) + try: + from scipy import stats + rows = [] + for seed in seeds: + s, r = traj("dry", "surplus", seed), traj("dry", "rho_behav", seed) + qm, qc = traj("dry", "q_math", seed), traj("dry", "q_code", seed) + if len(s) > 3 and len(s) == len(r) == len(qm) == len(qc): + rows.append(np.column_stack([s, r, qm * qc])) + if rows: + a = np.vstack(rows) + # partial correlation of S with rho, controlling for q_math*q_code + res_s = a[:, 0] - np.poly1d(np.polyfit(a[:, 2], a[:, 0], 1))(a[:, 2]) + res_r = a[:, 1] - np.poly1d(np.polyfit(a[:, 2], a[:, 1], 1))(a[:, 2]) + pr = float(stats.pearsonr(res_s, res_r).statistic) + print(f" partial corr(S, ρ | q_math·q_code) = {pr:+.2f} " + f"{verdict(pr < 0)} (negative = lost complementarity, not just retention loss)") + except Exception as e: # descriptive only, never fatal + print(f" partial correlation unavailable ({type(e).__name__})") + + # ---------------- H6 + print("\nH6 (revised) — does the operator ordering hold across generations, or only at gen 0?") + if {"dry", "dry_cat"} <= arms: + for gen in range(G + 1): + lin, cat = at("dry", "surplus", gen), at("dry_cat", "surplus", gen) + d = [lin[s] - cat[s] for s in lin if s in cat] + if d: + print(f" gen {gen}: surplus linear − cat = {np.mean(d):+.3f} " + f"(linear {np.mean(list(lin.values())):+.3f}, cat {np.mean(list(cat.values())):+.3f})") + + +if __name__ == "__main__": + main(*sys.argv[1:]) diff --git a/figures/stats_llm_curriculum.py b/figures/stats_llm_curriculum.py new file mode 100644 index 0000000..46726fb --- /dev/null +++ b/figures/stats_llm_curriculum.py @@ -0,0 +1,212 @@ +"""Statistics for the six-generation language-model population and its two controls. + +One loader for every curriculum bundle (the arm label is set HERE by directory, never trusted from +the parquet alone, because the veto arm is recorded as ``society`` with ``allow_veto`` on), and the +pre-registered readouts for the two 2026-09-11 controls (tasks/prereg-llm-society-v4.md §8h): + +1. **Forced stop at generation 3** (``llm_curriculum_v5_stop3``): per-seed paired contrasts of the + best lineage's final all-family accuracy, veto − stop3, stop3 − isolated, stop3 − society. +2. **Decorrelated curriculum** (``llm_curriculum_v5_decor``): partial Spearman correlation of the + fraction of merges declined with partner complementarity, controlling for generation, pooled over + both curricula (Latin square + decorrelated), with a seed-clustered bootstrap CI; and the mirror + partial correlation with generation controlling for complementarity. + +Reads committed artifacts only. Missing bundles are skipped, so the script runs at any stage of the +campaign and reports what exists. + +Usage: python figures/stats_llm_curriculum.py +""" + +from __future__ import annotations + +from pathlib import Path + +import numpy as np +import pandas as pd +from scipy.stats import rankdata, spearmanr + +ROOT = Path(__file__).resolve().parents[1] +RES = ROOT / "results" +SEEDS = (1, 2, 3) + +# experiment directory -> (curriculum label, {recorded arm -> reported arm}) +RELABEL = { + "llm_curriculum_v5": ("latin", {}), + "llm_curriculum_v5_veto": ("latin", {"society": "veto"}), + "llm_curriculum_v5_stop3": ("latin", {"society": "society_stop3"}), + "llm_curriculum_v5_decor": ("decor", {"isolated": "decor_isolated", "society": "decor_veto"}), + # conflict-arrival curricula (2026-09-12): conflicting pair first (early) or last (late) + "llm_curriculum_v5_early": ("early", {"isolated": "early_isolated", "society": "early_veto"}), + "llm_curriculum_v5_early_obl": ("early", {"society": "early_society"}), + "llm_curriculum_v5_late": ("late", {"isolated": "late_isolated", "society": "late_veto"}), + "llm_curriculum_v5_late_obl": ("late", {"society": "late_society"}), + # differential reproduction (2026-09-12): Latin square with truncation selection + "llm_curriculum_v5_cull": ("latin", {"isolated": "cull_isolated", "society": "cull_veto"}), +} +VETO_ARMS = ("veto", "decor_veto", "early_veto", "late_veto", "cull_veto") +# Generation (0-based) from which BOTH conflicting families (boolq yes/no, winogrande 1/2) are +# present in every lineage of each curriculum: the conflict_present indicator of the timing test. +CONFLICT_FROM = {"latin": 4, "decor": 3, "early": 1, "late": 5} + + +def _bundles(exp: str) -> list[tuple[int, Path]]: + """(seed, parquet) pairs for one experiment directory, in every layout the campaign used. + + ``s1/`` or top-level for seed 1 (local runs), ``s{seed}/`` or ``s{seed}_/`` for the HPC array + elements. The seed is read from the frame itself, so the directory name only locates the file. + """ + d = RES / exp + if not d.exists(): + return [] + out = [] + for p in sorted(d.glob("results.parquet")) + sorted(d.glob("s[0-9]*/results.parquet")): + seeds = pd.read_parquet(p, columns=["seed"])["seed"].unique() + out += [(int(s), p) for s in seeds] + return out + + +def load_curriculum() -> pd.DataFrame: + """Every curriculum bundle as one long-form frame with ``curriculum`` and relabelled ``arm``.""" + frames = [] + for exp, (curriculum, relabel) in RELABEL.items(): + for _, p in _bundles(exp): + d = pd.read_parquet(p) + d["arm"] = d["arm"].map(lambda a: relabel.get(a, a)) + d["curriculum"] = curriculum + frames.append(d) + if not frames: + raise FileNotFoundError("no curriculum bundles under results/") + return pd.concat(frames, ignore_index=True).drop_duplicates( + ["curriculum", "arm", "seed", "generation", "model", "metric"]) + + +def best_lineage(df: pd.DataFrame, metric: str = "all_families") -> pd.DataFrame: + """Best lineage per (curriculum, arm, seed, generation) on ``metric`` (the paper's readout).""" + sub = df[(df["metric"] == metric) & (df["generation"] >= 0) & df["model"].str.startswith("lineage")] + return sub.groupby(["curriculum", "arm", "seed", "generation"])["value"].max().reset_index() + + +def final_contrasts(best: pd.DataFrame, pairs: list[tuple[str, str]]) -> pd.DataFrame: + """Per-seed paired differences at the final generation, one row per contrast.""" + g_last = best["generation"].max() + fin = best[best["generation"] == g_last].pivot_table(index="seed", columns="arm", values="value") + rows = [] + for a, b in pairs: + if a not in fin or b not in fin: + continue + d = (fin[a] - fin[b]).dropna() + rows.append({"contrast": f"{a} − {b}", "n_seeds": len(d), + **{f"s{s}": round(v, 3) for s, v in d.items()}, + "mean": round(d.mean(), 3), + "ci95": round(1.96 * d.std(ddof=1) / np.sqrt(len(d)), 3) if len(d) > 1 else np.nan}) + return pd.DataFrame(rows) + + +def decline_table(df: pd.DataFrame) -> pd.DataFrame: + """Mean fraction of merges declined per (curriculum, seed, generation), with complementarity.""" + veto_arms = df["arm"].isin(list(VETO_ARMS)) + v = (df[veto_arms & (df["metric"] == "veto_used")] + .groupby(["curriculum", "seed", "generation"])["value"].mean().rename("declined")) + c = (df[veto_arms & (df["metric"] == "complementarity")] + .groupby(["curriculum", "seed", "generation"])["value"].mean().rename("complementarity")) + tab = pd.concat([v, c], axis=1).dropna().reset_index() + tab["conflict_present"] = (tab["generation"] >= tab["curriculum"].map(CONFLICT_FROM)).astype(float) + return tab + + +def conflict_timing_test(tab: pd.DataFrame, B: int = 4000, seed: int = 0) -> dict: + """Does the decline rate track the ARRIVAL of conflicting conventions once generation is + controlled? Partial ρ(declined, conflict_present | generation) pooled over the curricula in + ``tab`` (the early/late pair decorrelates the two by design), seed-clustered bootstrap CI.""" + rng = np.random.default_rng(seed) + seeds = tab["seed"].unique() + x, c, z = tab["declined"], tab["conflict_present"], tab["generation"] + out = {"n_points": len(tab), "n_curricula": tab["curriculum"].nunique(), + "rho_partial_conflict": partial_spearman(c, x, z), + "rho_partial_generation": partial_spearman(z, x, c), + "rho_raw_conflict": float(spearmanr(c, x)[0])} + if len(seeds) > 1: + groups = {s: tab[tab["seed"] == s] for s in seeds} + boots = [] + for _ in range(B): + bs = pd.concat([groups[s] for s in rng.choice(seeds, size=len(seeds), replace=True)]) + boots.append(partial_spearman(bs["conflict_present"], bs["declined"], bs["generation"])) + boots = np.array(boots) + out["ci95_partial_conflict"] = (float(np.nanpercentile(boots, 2.5)), + float(np.nanpercentile(boots, 97.5))) + return out + + +def partial_spearman(x, y, z) -> float: + """Spearman correlation of x and y after rank-regressing both on z.""" + rx, ry, rz = rankdata(x), rankdata(y), rankdata(z) + Z = np.column_stack([np.ones_like(rz), rz]) + res = lambda r: r - Z @ np.linalg.lstsq(Z, r, rcond=None)[0] + return float(spearmanr(res(rx), res(ry))[0]) + + +def decline_test(tab: pd.DataFrame, B: int = 4000, seed: int = 0) -> dict: + """The pre-registered primary readout: partial ρ(declined, complementarity | generation), pooled + over curricula, with a seed-clustered percentile bootstrap; plus the mirror partial correlation.""" + rng = np.random.default_rng(seed) + seeds = tab["seed"].unique() + x, y, z = tab["declined"], tab["complementarity"], tab["generation"] + out = {"n_points": len(tab), "n_curricula": tab["curriculum"].nunique(), "n_seeds": len(seeds), + "rho_partial_complementarity": partial_spearman(y, x, z), + "rho_partial_generation": partial_spearman(z, x, y), + "rho_raw_complementarity": float(spearmanr(y, x)[0]), + "rho_raw_generation": float(spearmanr(z, x)[0])} + if len(seeds) > 1: + boots = [] + groups = {s: tab[tab["seed"] == s] for s in seeds} + for _ in range(B): + bs = pd.concat([groups[s] for s in rng.choice(seeds, size=len(seeds), replace=True)]) + boots.append(partial_spearman(bs["complementarity"], bs["declined"], bs["generation"])) + boots = np.array(boots) + out["ci95_partial_complementarity"] = (float(np.nanpercentile(boots, 2.5)), + float(np.nanpercentile(boots, 97.5))) + return out + + +def main() -> None: + df = load_curriculum() + best = best_lineage(df) + print("bundles loaded — arms × seeds:") + print(best.groupby(["curriculum", "arm"])["seed"].nunique().to_string(), "\n") + + print("## Final-generation best-lineage accuracy (all six families), mean over seeds") + fin = best[best["generation"] == best["generation"].max()] + print(fin.groupby(["curriculum", "arm"])["value"].agg(["mean", "count"]).round(3).to_string(), "\n") + + print("## Pre-registered contrasts (per seed; mean ± 95% CI over seeds)") + pairs = [("veto", "society_stop3"), ("society_stop3", "isolated"), ("society_stop3", "society"), + ("veto", "isolated"), ("decor_veto", "decor_isolated"), + ("early_veto", "early_isolated"), ("late_veto", "late_isolated"), + ("early_society", "early_isolated"), ("late_society", "late_isolated"), + ("cull_veto", "cull_isolated"), ("cull_veto", "veto"), ("cull_isolated", "isolated")] + print(final_contrasts(best, pairs).to_string(index=False), "\n") + + tab = decline_table(df) + if len(tab): + print("## Fraction of merges declined vs partner complementarity") + print(tab.groupby(["curriculum", "generation"])[["declined", "complementarity"]] + .mean().round(2).to_string(), "\n") + res = decline_test(tab) + print("## Partial-correlation test (pooled over curricula; controls: generation)") + for k, v in res.items(): + print(f" {k}: {np.round(v, 3) if not isinstance(v, tuple) else tuple(round(t, 3) for t in v)}") + timing = tab[tab["curriculum"].isin(["early", "late"])] + if timing["curriculum"].nunique() == 2: + print("\n## Conflict-timing test (early + late curricula; controls: generation)") + for k, v in conflict_timing_test(timing).items(): + print(f" {k}: {np.round(v, 3) if not isinstance(v, tuple) else tuple(round(t, 3) for t in v)}") + print("## Same test pooled over all four curricula") + for k, v in conflict_timing_test(tab).items(): + print(f" {k}: {np.round(v, 3) if not isinstance(v, tuple) else tuple(round(t, 3) for t in v)}") + if res["n_curricula"] < 2: + print(" (one curriculum only: complementarity and generation are collinear; the partial" + " correlation is not interpretable until the decorrelated bundle exists)") + + +if __name__ == "__main__": + main() diff --git a/figures/stats_llm_smol.py b/figures/stats_llm_smol.py new file mode 100644 index 0000000..1ea05e0 --- /dev/null +++ b/figures/stats_llm_smol.py @@ -0,0 +1,44 @@ +"""Second base lineage: per-seed contrasts for the SmolLM2-1.7B-Instruct replications. + +``results/llm_merge_seeds_smol`` (Fisher-Muller, 5 seeds) and ``results/llm_moe_hard_seeds_smol`` +(union vs fusion on hard tasks, 3 seeds) replicate the Qwen runs ``llm_merge_seeds`` and +``llm_moe_hard_seeds`` with the base swapped. This prints, per seed and as mean ± 95% CI, the same +two contrasts the Qwen runs are reported on (merged − best specialist; routing − soup), for both +lineages side by side. Numbers in the README and SI Table S2 are pasted from here. + +Usage: python figures/stats_llm_smol.py +""" + +from __future__ import annotations + +import sys +from pathlib import Path + +sys.path.insert(0, str(Path(__file__).parent)) +from _figlib import load_seed_bundles # noqa: E402 +from stats_llm_7b_seeds import contrasts, table, with_best_specialist # noqa: E402 + +RUNS = { + "Fisher-Muller": {"Qwen2.5-0.5B": "results/llm_merge_seeds", "SmolLM2-1.7B": "results/llm_merge_seeds_smol"}, + "headroom (hard)": {"Qwen2.5-0.5B": "results/llm_moe_hard_seeds", "SmolLM2-1.7B": "results/llm_moe_hard_seeds_smol"}, +} +PAIRS = { + "Fisher-Muller": [("merge_soup", "best_specialist"), ("merge_ties", "best_specialist")], + "headroom (hard)": [("moe_oracle", "merge_soup"), ("moe_learned", "merge_soup"), + ("merge_soup", "best_specialist")], +} + + +def main() -> None: + for exp, bases in RUNS.items(): + for base, d in bases.items(): + if not Path(d).exists(): + print(f"[{exp} / {base}] {d}: not present\n"); continue + df = with_best_specialist(load_seed_bundles(d)[0]) + print(f"## {exp} — {base} ({d}; seeds {sorted(df['seed'].unique())})") + print(table(df, sorted(df["model"].unique())).to_string(index=False)) + print(contrasts(df, PAIRS[exp]).to_string(index=False), "\n") + + +if __name__ == "__main__": + main() diff --git a/figures/stats_llm_society.py b/figures/stats_llm_society.py new file mode 100644 index 0000000..76200fa --- /dev/null +++ b/figures/stats_llm_society.py @@ -0,0 +1,164 @@ +"""Pre-registered analysis for the v2 society (tasks/prereg-llm-society-v2.md §5, §8). + +Prints, for each hypothesis, the per-seed quantities, the paired mean ± 95% CI over seeds, the sign +count, and PASS / FAIL against the pre-set threshold. Written before unblinding and exercised on the +smoke bundle; nothing here is chosen after seeing the campaign. Reads only committed bundles (one +bundle directory, or a campaign directory of ``s{seed}_{arm}/`` bundles). + + H1 vertical climb full best(G) − B₀ ≥ 0.20 ; best newborn(G) − B₀ ≥ 0.15 ; ≥ 6 families ≥ 0.6 + H3 self-consumption no_grounding best(G) ≤ B₀ + 0.05 ; gap(no_grounding) − gap(full) ≥ 0.30 + H4 sex necessity no_sex best(G) ≤ B₀ + 0.05 in every seed + H5 diversity AUC(diversity) full > no_diversity ; no_diversity diversity < 0.1 by gen 6 + H6 where skills die ≤ 20% of family losses in `full` were supplied at ≥ 0.6 by the child's source + (H2 is deferred: the sex_linear arm is not in the first campaign.) + +Usage: python figures/stats_llm_society.py [results/llm_society_v2] +""" + +from __future__ import annotations + +import sys +from pathlib import Path + +import numpy as np +import pandas as pd + +sys.path.insert(0, str(Path(__file__).parent)) +from plot_llm_society import load_any # noqa: E402 + +COMPETENT = 0.6 + + +def ci95(x: np.ndarray) -> tuple[float, float]: + x = np.asarray(x, dtype=float) + if len(x) < 2: + return float(x.mean()), float("nan") + from scipy import stats + h = stats.t.ppf(0.975, len(x) - 1) * x.std(ddof=1) / np.sqrt(len(x)) + return float(x.mean()), float(h) + + +def verdict(ok: bool | None) -> str: + return "n/a " if ok is None else ("PASS" if ok else "FAIL") + + +def main(results_dir: str = "results/llm_society_v2") -> None: + df, fams = load_any(Path(results_dir)) + pop, summ, child = (df[df.role == r] for r in ("population", "summary", "child")) + src = df[df.role == "child_source"] + seeds = sorted(df.seed.unique()) + G = int(pop.generation.max()) + arms = set(df.arm.unique()) + print(f"bundle: {results_dir} seeds {seeds} G = {G} L = {len(fams)} arms {sorted(arms)}\n") + + best = pop[pop.metric == "test_overall"].groupby(["arm", "seed", "generation"]).value.max() + B0 = {s: float(best.xs(s, level="seed").xs(0, level="generation").mean()) for s in seeds} + print("B₀ (best founder, gen 0) per seed:", {s: round(v, 3) for s, v in B0.items()}) + + def at_G(arm, metric_frame, metric=None, gen=G, agg="max"): + out = {} + for s in seeds: + f = metric_frame[(metric_frame.arm == arm) & (metric_frame.seed == s) & (metric_frame.generation == gen)] + if metric is not None: + f = f[f.metric == metric] + if not f.empty: + out[s] = float(f.value.max() if agg == "max" else f.value.mean()) + return out + + def report(name, per_seed, thr, direction, note=""): + vals = np.array(list(per_seed.values())) + if len(vals) == 0: + print(f" {name:38s} {verdict(None)}"); return None + m, h = ci95(vals) + ok_each = (vals >= thr) if direction == ">=" else (vals <= thr) + ok = bool(ok_each.sum() >= max(3, len(vals)) if len(vals) >= 3 else ok_each.all()) + print(f" {name:38s} {verdict(ok)} mean {m:+.3f} ± {h:.3f} per seed " + f"{np.round(vals, 3).tolist()} {int(ok_each.sum())}/{len(vals)} meet {direction} {thr} {note}") + return ok + + # ---------------- H1 + print("\nH1 — vertical climb (full arm)") + if "full" in arms: + gain = {s: at_G("full", pop, "test_overall")[s] - B0[s] for s in seeds if s in at_G("full", pop, "test_overall")} + nb = at_G("full", summ, "best_newborn_overall", gen=G - 1) + gain_nb = {s: nb[s] - B0[s] for s in nb} + # families the best agent is competent on, at G + comp = {} + for s in seeds: + f = pop[(pop.arm == "full") & (pop.seed == s) & (pop.generation == G)] + if f.empty: + continue + ov = f[f.metric == "test_overall"].set_index("agent").value + a = int(ov.idxmax()) + per = f[(f.agent == a) & f.metric.isin([f"test_{x}" for x in fams])].value + comp[s] = float((per >= COMPETENT).sum()) + report("best agent − B₀ (≥ 0.20)", gain, 0.20, ">=") + report("best newborn − B₀ (≥ 0.15)", gain_nb, 0.15, ">=") + report("families competent in best agent (≥ 6)", comp, 6, ">=") + else: + print(" full arm absent") + + # ---------------- H3 + print("\nH3 — self-consumption (no_grounding)") + if {"no_grounding", "full"} <= arms: + ng = at_G("no_grounding", pop, "test_overall") + report("no_grounding best − B₀ (≤ 0.05)", {s: ng[s] - B0[s] for s in ng}, 0.05, "<=") + gap_ng = at_G("no_grounding", summ, "gap_conformity_minus_truth", agg="mean") + gap_f = at_G("full", summ, "gap_conformity_minus_truth", agg="mean") + report("gap(no_grounding) − gap(full) (≥ 0.30)", {s: gap_ng[s] - gap_f[s] for s in gap_ng if s in gap_f}, 0.30, ">=") + ca = summ[(summ.arm == "no_grounding") & (summ.metric == "consensus_acc")] + slope = {s: float(np.polyfit(g.generation, g.value, 1)[0]) for s, g in ca.groupby("seed") if len(g) > 1} + report("consensus-accuracy slope, no_grounding (≤ 0)", slope, 0.0, "<=", note="(non-increasing)") + else: + print(" arms absent") + + # ---------------- H4 + print("\nH4 — sex necessity (no_sex ceiling)") + if "no_sex" in arms: + ns = at_G("no_sex", pop, "test_overall") + vals = {s: ns[s] - B0[s] for s in ns} + ok = all(v <= 0.05 for v in vals.values()) if vals else None + print(f" {'no_sex best − B₀ (≤ 0.05 in EVERY seed)':38s} {verdict(ok)} per seed {np.round(list(vals.values()), 3).tolist()}") + else: + print(" no_sex arm absent") + + # ---------------- H5 + print("\nH5 — diversity (full vs no_diversity)") + if {"full", "no_diversity"} <= arms: + div = summ[summ.metric == "diversity_behav"] + auc = lambda arm, s: float(np.trapezoid(div[(div.arm == arm) & (div.seed == s)].sort_values("generation").value)) + d_auc = {s: auc("full", s) - auc("no_diversity", s) for s in seeds + if not div[(div.arm == "full") & (div.seed == s)].empty and not div[(div.arm == "no_diversity") & (div.seed == s)].empty} + report("AUC(diversity) full − no_diversity (> 0)", d_auc, 1e-9, ">=") + g6 = min(6, G) + nd6 = at_G("no_diversity", summ, "diversity_behav", gen=g6, agg="mean") + report(f"no_diversity diversity at gen {g6} (< 0.1)", nd6, 0.1, "<=") + else: + print(" arms absent") + + # ---------------- H6 + print("\nH6 — where skills die (full arm)") + if "full" in arms and not src.empty: + losses, supplied_ok = 0, 0 + for s in seeds: + fpop = pop[(pop.arm == "full") & (pop.seed == s)] + fsrc = src[(src.arm == "full") & (src.seed == s)] + for t in range(G): + alive_t = {f for f in fams if (fpop[(fpop.generation == t) & (fpop.metric == f"test_{f}")].value >= COMPETENT).any()} + alive_t1 = {f for f in fams if (fpop[(fpop.generation == t + 1) & (fpop.metric == f"test_{f}")].value >= COMPETENT).any()} + for f in alive_t - alive_t1: + losses += 1 + sup = fsrc[(fsrc.generation == t) & (fsrc.metric == f"source_{f}")].value + supplied_ok += int((sup >= COMPETENT).any()) + frac = supplied_ok / losses if losses else float("nan") + ok = None if not losses else frac <= 0.20 + print(f" {'family losses supplied at ≥0.6 (≤ 20%)':38s} {verdict(ok)} {supplied_ok}/{losses} losses " + f"({frac:.0%} if any) — skills should die because they arrived diluted, not despite competent supply") + else: + print(" no source diagnostics") + + print("\nH2 (union vs linear blend) — deferred: sex_linear not in the first campaign (prereg §12).") + + +if __name__ == "__main__": + main(*sys.argv[1:]) diff --git a/figures/stats_llm_speciation_seeds.py b/figures/stats_llm_speciation_seeds.py new file mode 100644 index 0000000..3adb17d --- /dev/null +++ b/figures/stats_llm_speciation_seeds.py @@ -0,0 +1,71 @@ +"""Per-seed readouts for the LLM speciation tier (Fig. 5C-D), the source of its SI Table S2 row. + +Seed 1 ran locally; seeds 2-3 via hpc/llm_speciation_seeds.pbs into ``results/llm_speciation/s{seed}/``. +Two pre-registered falsifiers, checked seed by seed: + +- the conflict cliff: at full conflict (x = 1.0) the merged model's best-convention accuracy on the + shared prompts falls below BOTH parents' own-convention accuracy; +- the duration null: over the epoch sweep the merged model's mean private-family accuracy does not + fall below its value at the shortest training while the parents hold their own families. + +Usage: python figures/stats_llm_speciation_seeds.py [results/llm_speciation] +""" + +from __future__ import annotations + +import sys +from pathlib import Path + +import numpy as np +import pandas as pd + +sys.path.insert(0, str(Path(__file__).parent)) +from _figlib import load_seed_bundles # noqa: E402 + + +def pick(df: pd.DataFrame, mode: str, model: str, metric: str) -> pd.DataFrame: + """Per-seed accuracy against x for one (mode, model, metric).""" + sub = df[(df["mode"] == mode) & (df["model"] == model) & (df["metric"] == metric)] + return sub.pivot_table(index="x", columns="seed", values="accuracy", aggfunc="mean") + + +def summary(piv: pd.DataFrame) -> pd.DataFrame: + n = piv.shape[1] + out = piv.copy() + out.columns = [f"s{c}" for c in out.columns] + out["mean"] = piv.mean(axis=1) + out["ci95"] = 1.96 * piv.std(axis=1, ddof=1) / np.sqrt(n) if n > 1 else np.nan + return out.round(3) + + +def main(root: str = "results/llm_speciation") -> None: + df, _ = load_seed_bundles(root) + seeds = sorted(df["seed"].unique()) + print(f"seeds: {seeds}\n") + print("## Conflict sweep: merged model, best convention on the shared prompts") + merge = pick(df, "conflict", "merge_soup", "coherence") + print(summary(merge).to_string(), "\n") + pa = pick(df, "conflict", "parent_a", "ambig_asc") + pb = pick(df, "conflict", "parent_b", "ambig_desc") + x1 = merge.index.max() + print(f"## Conflict cliff at x = {x1}: merge below both parents? (per seed)") + for s in seeds: + m, a, b = merge.loc[x1, s], pa.loc[x1, s], pb.loc[x1, s] + print(f" seed {s}: merge {m:.3f} parent A {a:.3f} parent B {b:.3f} -> {'cliff' if m < min(a, b) else 'NO cliff'}") + print() + print("## Duration sweep: merged model, mean private-family accuracy") + dur = pick(df, "duration", "merge_soup", "mean_private") + print(summary(dur).to_string(), "\n") + print("## Duration null: merged accuracy at the longest vs shortest training (per seed)") + lo, hi = dur.index.min(), dur.index.max() + for s in seeds: + d = dur.loc[hi, s] - dur.loc[lo, s] + print(f" seed {s}: {dur.loc[lo, s]:.3f} -> {dur.loc[hi, s]:.3f} (Δ {d:+.3f}) -> " + f"{'no isolation' if d >= -0.05 else 'DEGRADES'}") + for fam, model in (("strings", "parent_a"), ("arith", "parent_b")): + p = pick(df, "duration", model, fam) + print(f" {model} own-task range over epochs, seed means: {p.mean(axis=1).min():.3f}–{p.mean(axis=1).max():.3f}") + + +if __name__ == "__main__": + main(*sys.argv[1:]) diff --git a/hpc/README.md b/hpc/README.md index e9817cd..8735f34 100644 --- a/hpc/README.md +++ b/hpc/README.md @@ -62,3 +62,16 @@ python figures/plot_llm_merge.py results/llm_merge_hpc - **The definitive "firm up the sign" run** (not yet coded) also wants: several seeds with mean±CI; more task families; and a dilution-resistant / offspring-selected ("directed sex") merge. `merge_hpc.yaml` only bumps the base model for now — enough to reduce noise, but the code changes are the real fix. + +## Array jobs added 2026-09-11 + +- `hpc/llm_curriculum_controls.pbs` — seeds 2–3 of the two declinable-merge controls (forced stop + `curriculum_v5_stop3`, decorrelated curriculum `curriculum_v5_decor`); ~20 min (stop3) / ~40 min + (decor, two arms) per element on one L40S. +- `hpc/llm_7b_seeds.pbs` — seeds 2–3 of the three 7B runs, chained merge → moe_hard → directed_hard + per element so the hard specialists are trained once; ~33 min per seed. Output lands in + `results/llm__hpc/s{seed}/` (seed 1 was moved to `s1/`; `figures/_figlib.load_seed_bundles` + reads either layout). +- Gotcha met today: the 7B base was not in `$EPHEMERAL/hf_cache`; `snapshot_download` on the login + node took 19 s. Do not detect its completion with `pgrep -f snapshot_download` from a `bash -lc` + wrapper whose own command line contains that string. diff --git a/hpc/llm_7b_seeds.pbs b/hpc/llm_7b_seeds.pbs new file mode 100755 index 0000000..1a61801 --- /dev/null +++ b/hpc/llm_7b_seeds.pbs @@ -0,0 +1,38 @@ +#!/bin/bash +# Seeds 2-3 for the three single-seed 7B runs (manuscript review 2026-09-11): llm_merge_hpc +# (Fisher-Muller), llm_moe_hard_hpc (union vs fusion, hard) and llm_directed_hard_hpc (directed +# selection, hard). One element per seed; the hard pair stays sequential because directed reuses the +# hard specialists moe trains (models/llm/spec_*_hard_s{seed}). Seed 1 took 8 + 24 min on one L40S. +# Output lands in results/llm__hpc/s{seed}/ (seed 1 was moved to s1/). +# submit: qsub hpc/llm_7b_seeds.pbs status: qstat -u $USER -t +#PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S +#PBS -l walltime=01:30:00 +#PBS -N lam_7b_seeds +#PBS -J 2-3 + +cd "$PBS_O_WORKDIR" +export HF_HOME="$EPHEMERAL/hf_cache" +export TOKENIZERS_PARALLELISM=false +export UV_CACHE_DIR="$EPHEMERAL/uvcache" +export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True + +SEED=$PBS_ARRAY_INDEX +source .venv/bin/activate +nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader +echo "seed=$SEED start=$(date)" +mkdir -p configs/llm/_gen + +for NAME in merge moe_hard directed_hard; do + CFG="configs/llm/_gen/${NAME}_hpc_s${SEED}.yaml" + python - "$SEED" "$NAME" "$CFG" <<'PYEOF' +import sys, yaml +seed, name, out = int(sys.argv[1]), sys.argv[2], sys.argv[3] +cfg = yaml.safe_load(open(f"configs/llm/{name}_hpc.yaml")) +cfg["seed"] = seed +cfg["output"] = {"dir": f"results/llm_{name}_hpc/s{seed}"} +yaml.safe_dump(cfg, open(out, "w"), sort_keys=False) +PYEOF + echo "== $NAME seed=$SEED $(date)" + python -m llm.experiment "$CFG" +done +echo "done: $(date)" diff --git a/hpc/llm_compose.pbs b/hpc/llm_compose.pbs new file mode 100755 index 0000000..93cdf71 --- /dev/null +++ b/hpc/llm_compose.pbs @@ -0,0 +1,43 @@ +#!/bin/bash +# The composition campaign (prereg tasks/prereg-llm-compose-v3.md): one (seed, arm) per array +# element. Seed 1 runs locally on the A4000 as the hedge; this array covers seeds 2-3 x 3 arms. +# Each element trains its own founders (cached per seed under models/, first writer wins via the +# adapter_config.json check) and checkpoints every generation, so a requeued element resumes. +# submit: qsub hpc/llm_compose.pbs status: qstat -u $USER -t +# index -> seed = 2 + (i-1)/3, arm = (dry grounded dry_cat)[(i-1)%3] +#PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S +#PBS -l walltime=08:00:00 +#PBS -N lam_compose +#PBS -J 1-6 + +cd "$PBS_O_WORKDIR" +export HF_HOME="$EPHEMERAL/hf_cache" +export HF_DATASETS_CACHE="$EPHEMERAL/hf_cache/datasets" +export TOKENIZERS_PARALLELISM=false +export UV_CACHE_DIR="$EPHEMERAL/uvcache" + +ARMS=(dry grounded dry_cat) +I=$((PBS_ARRAY_INDEX - 1)) +SEED=$((2 + I / 3)) +ARM=${ARMS[$((I % 3))]} + +source .venv/bin/activate +nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader +echo "seed=$SEED arm=$ARM start=$(date)" + +CFG="configs/llm/_gen/compose_s${SEED}_${ARM}.yaml" +mkdir -p configs/llm/_gen +python - "$SEED" "$ARM" "$CFG" <<'EOF' +import sys, yaml +seed, arm, out = int(sys.argv[1]), sys.argv[2], sys.argv[3] +cfg = yaml.safe_load(open("configs/llm/compose_s1.yaml")) +cfg["seed"] = seed +cfg["arms"] = [arm] +cfg["batch_size"] = 32 # L40S has 46 GB; the A4000 setting is 16 +cfg["score_batch_size"] = 8 +cfg["output"] = {"dir": f"results/llm_compose/s{seed}_{arm}"} +yaml.safe_dump(cfg, open(out, "w"), sort_keys=False) +EOF + +python -m llm.experiment "$CFG" +echo "done: $(date)" diff --git a/hpc/llm_cull.pbs b/hpc/llm_cull.pbs new file mode 100755 index 0000000..229f789 --- /dev/null +++ b/hpc/llm_cull.pbs @@ -0,0 +1,34 @@ +#!/bin/bash +# Differential reproduction in the six-generation population (manuscript revision 2026-09-12): +# configs/llm/curriculum_v5_cull.yaml (isolated + declinable society, both with culling), one element +# per seed 1-3, ~1.5 h each. Output results/llm_curriculum_v5_cull/s{seed}/. +# submit: qsub hpc/llm_cull.pbs status: qstat -u $USER -t +#PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S +#PBS -l walltime=03:00:00 +#PBS -N lam_cull +#PBS -J 1-3 + +cd "$PBS_O_WORKDIR" +export HF_HOME="$EPHEMERAL/hf_cache" +export HF_DATASETS_CACHE="$EPHEMERAL/hf_cache/datasets" +export TOKENIZERS_PARALLELISM=false +export UV_CACHE_DIR="$EPHEMERAL/uvcache" +export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True +source .venv/bin/activate +nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader +mkdir -p configs/llm/_gen +SEED=$PBS_ARRAY_INDEX +echo "seed=$SEED start=$(date)" +CFG="configs/llm/_gen/curriculum_v5_cull_s${SEED}.yaml" +python - "$SEED" "$CFG" <<'PYEOF' +import sys, yaml +seed, out = int(sys.argv[1]), sys.argv[2] +cfg = yaml.safe_load(open("configs/llm/curriculum_v5_cull.yaml")) +cfg["seed"] = seed +cfg["batch_size"] = 48 +cfg["train_batch_size"] = 4 +cfg["output"] = {"dir": f"results/llm_curriculum_v5_cull/s{seed}"} +yaml.safe_dump(cfg, open(out, "w"), sort_keys=False) +PYEOF +python -m llm.experiment "$CFG" +echo "done: $(date)" diff --git a/hpc/llm_curriculum.pbs b/hpc/llm_curriculum.pbs new file mode 100755 index 0000000..1e14033 --- /dev/null +++ b/hpc/llm_curriculum.pbs @@ -0,0 +1,45 @@ +#!/bin/bash +# The curriculum society campaign (prereg tasks/prereg-llm-society-v4.md, v5 families): one (seed, arm) +# per array element, seeds 2-3 x 4 arms = 8 elements; seed 1 runs locally as the hedge. Baselines run +# once per seed in the `isolated` element (they are cheap and need no partner). Each element checkpoints +# every generation and resumes if requeued. +# submit: qsub hpc/llm_curriculum.pbs status: qstat -u $USER -t +# index -> seed = 2 + (i-1)/4, arm = (isolated society society_dry seed_bank)[(i-1)%4] +#PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S +#PBS -l walltime=06:00:00 +#PBS -N lam_curriculum +#PBS -J 1-8 + +cd "$PBS_O_WORKDIR" +export HF_HOME="$EPHEMERAL/hf_cache" +export HF_DATASETS_CACHE="$EPHEMERAL/hf_cache/datasets" +export TOKENIZERS_PARALLELISM=false +export UV_CACHE_DIR="$EPHEMERAL/uvcache" +export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True + +ARMS=(isolated society society_dry seed_bank) +I=$((PBS_ARRAY_INDEX - 1)) +SEED=$((2 + I / 4)) +ARM=${ARMS[$((I % 4))]} + +source .venv/bin/activate +nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader +echo "seed=$SEED arm=$ARM start=$(date)" + +CFG="configs/llm/_gen/curriculum_v5_s${SEED}_${ARM}.yaml" +mkdir -p configs/llm/_gen +python - "$SEED" "$ARM" "$CFG" <<'EOF' +import sys, yaml +seed, arm, out = int(sys.argv[1]), sys.argv[2], sys.argv[3] +cfg = yaml.safe_load(open("configs/llm/curriculum_v5_s1.yaml")) +cfg["seed"] = seed +cfg["arms"] = [arm] +cfg["baselines"] = ["sequential", "single_shot_merge", "joint"] if arm == "isolated" else [] +cfg["batch_size"] = 48 # L40S: 46 GB +cfg["train_batch_size"] = 4 +cfg["output"] = {"dir": f"results/llm_curriculum_v5/s{seed}_{arm}"} +yaml.safe_dump(cfg, open(out, "w"), sort_keys=False) +EOF + +python -m llm.experiment "$CFG" +echo "done: $(date)" diff --git a/hpc/llm_curriculum_controls.pbs b/hpc/llm_curriculum_controls.pbs new file mode 100755 index 0000000..e81a2f1 --- /dev/null +++ b/hpc/llm_curriculum_controls.pbs @@ -0,0 +1,42 @@ +#!/bin/bash +# Curriculum controls (manuscript review 2026-09-11): seeds 2-3 of (a) the forced-stop arm +# `curriculum_v5_stop3` and (b) the decorrelated curriculum `curriculum_v5_decor` (isolated + veto arms +# in one element, ~1 h). Seed 1 of each runs locally. Pairs against the existing v5 seeds 2-3. +# submit: qsub hpc/llm_curriculum_controls.pbs status: qstat -u $USER -t +# index -> seed = 2 + (i-1)/2, config = (stop3 decor)[(i-1)%2] +#PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S +#PBS -l walltime=02:30:00 +#PBS -N lam_ctrl +#PBS -J 1-4 + +cd "$PBS_O_WORKDIR" +export HF_HOME="$EPHEMERAL/hf_cache" +export HF_DATASETS_CACHE="$EPHEMERAL/hf_cache/datasets" +export TOKENIZERS_PARALLELISM=false +export UV_CACHE_DIR="$EPHEMERAL/uvcache" +export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True + +NAMES=(stop3 decor) +I=$((PBS_ARRAY_INDEX - 1)) +SEED=$((2 + I / 2)) +NAME=${NAMES[$((I % 2))]} + +source .venv/bin/activate +nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader +echo "seed=$SEED config=$NAME start=$(date)" + +CFG="configs/llm/_gen/curriculum_v5_${NAME}_s${SEED}.yaml" +mkdir -p configs/llm/_gen +python - "$SEED" "$NAME" "$CFG" <<'PYEOF' +import sys, yaml +seed, name, out = int(sys.argv[1]), sys.argv[2], sys.argv[3] +cfg = yaml.safe_load(open(f"configs/llm/curriculum_v5_{name}.yaml")) +cfg["seed"] = seed +cfg["batch_size"] = 48 # L40S: 46 GB (matches the v5 seeds 2-3 runs) +cfg["train_batch_size"] = 4 +cfg["output"] = {"dir": f"results/llm_curriculum_v5_{name}/s{seed}"} +yaml.safe_dump(cfg, open(out, "w"), sort_keys=False) +PYEOF + +python -m llm.experiment "$CFG" +echo "done: $(date)" diff --git a/hpc/llm_curriculum_timing.pbs b/hpc/llm_curriculum_timing.pbs new file mode 100755 index 0000000..41989c6 --- /dev/null +++ b/hpc/llm_curriculum_timing.pbs @@ -0,0 +1,38 @@ +#!/bin/bash +# Conflict-arrival curricula (manuscript revision 2026-09-12): seeds 1-3 x {early, early_obl, late, +# late_obl} = 12 elements. early/late = isolated + declinable society (~40 min); *_obl = obligate +# society only (~20 min). Output results/llm_curriculum_v5_/s{seed}/. +# submit: qsub hpc/llm_curriculum_timing.pbs status: qstat -u $USER -t +# index -> seed = 1 + (i-1)/4, name = (early early_obl late late_obl)[(i-1)%4] +#PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S +#PBS -l walltime=01:30:00 +#PBS -N lam_timing +#PBS -J 1-12 + +cd "$PBS_O_WORKDIR" +export HF_HOME="$EPHEMERAL/hf_cache" +export HF_DATASETS_CACHE="$EPHEMERAL/hf_cache/datasets" +export TOKENIZERS_PARALLELISM=false +export UV_CACHE_DIR="$EPHEMERAL/uvcache" +export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True +source .venv/bin/activate +nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader +mkdir -p configs/llm/_gen +NAMES=(early early_obl late late_obl) +I=$((PBS_ARRAY_INDEX - 1)) +SEED=$((1 + I / 4)) +NAME=${NAMES[$((I % 4))]} +echo "seed=$SEED config=$NAME start=$(date)" +CFG="configs/llm/_gen/curriculum_v5_${NAME}_s${SEED}.yaml" +python - "$SEED" "$NAME" "$CFG" <<'PYEOF' +import sys, yaml +seed, name, out = int(sys.argv[1]), sys.argv[2], sys.argv[3] +cfg = yaml.safe_load(open(f"configs/llm/curriculum_v5_{name}.yaml")) +cfg["seed"] = seed +cfg["batch_size"] = 48 # L40S: 46 GB (matches the v5 seeds 2-3 runs) +cfg["train_batch_size"] = 4 +cfg["output"] = {"dir": f"results/llm_curriculum_v5_{name}/s{seed}"} +yaml.safe_dump(cfg, open(out, "w"), sort_keys=False) +PYEOF +python -m llm.experiment "$CFG" +echo "done: $(date)" diff --git a/hpc/llm_directed.pbs b/hpc/llm_directed.pbs old mode 100644 new mode 100755 diff --git a/hpc/llm_hard.pbs b/hpc/llm_hard.pbs old mode 100644 new mode 100755 diff --git a/hpc/llm_merge.pbs b/hpc/llm_merge.pbs old mode 100644 new mode 100755 diff --git a/hpc/llm_moe.pbs b/hpc/llm_moe.pbs old mode 100644 new mode 100755 diff --git a/hpc/llm_smoke.pbs b/hpc/llm_smoke.pbs old mode 100644 new mode 100755 diff --git a/hpc/llm_smol.pbs b/hpc/llm_smol.pbs new file mode 100755 index 0000000..1074f32 --- /dev/null +++ b/hpc/llm_smol.pbs @@ -0,0 +1,25 @@ +#!/bin/bash +# Second base lineage (manuscript revision 2026-09-12): merge_seeds (Fisher-Muller, 5 seeds) and +# moe_hard_seeds (headroom rule, 3 seeds) on SmolLM2-1.7B-Instruct. Pre-download the model on the login +# node first: HF_HOME=$EPHEMERAL/hf_cache uv run python -c "from huggingface_hub import +# snapshot_download; snapshot_download('HuggingFaceTB/SmolLM2-1.7B-Instruct')" +# submit: qsub hpc/llm_smol.pbs +#PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S +#PBS -l walltime=02:30:00 +#PBS -N lam_smol + +cd "$PBS_O_WORKDIR" +export HF_HOME="$EPHEMERAL/hf_cache" +export HF_DATASETS_CACHE="$EPHEMERAL/hf_cache/datasets" +export TOKENIZERS_PARALLELISM=false +export UV_CACHE_DIR="$EPHEMERAL/uvcache" +export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True +source .venv/bin/activate +nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader +mkdir -p configs/llm/_gen +echo "start=$(date)" +for NAME in merge_seeds_smol moe_hard_seeds_smol; do + echo "== $NAME $(date)" + python -m llm.experiment "configs/llm/${NAME}.yaml" +done +echo "done: $(date)" diff --git a/hpc/llm_society.pbs b/hpc/llm_society.pbs old mode 100644 new mode 100755 diff --git a/hpc/llm_society_v2.pbs b/hpc/llm_society_v2.pbs new file mode 100755 index 0000000..db08c5d --- /dev/null +++ b/hpc/llm_society_v2.pbs @@ -0,0 +1,42 @@ +#!/bin/bash +# The v2 society campaign (prereg tasks/prereg-llm-society-v2.md §9): one (seed, arm) per array +# element on one L40S each, 16 elements = 4 seeds x 4 arms. Each element is self-contained: founders +# are trained inline and cached per seed (the four arm-elements of a seed share them via the +# filesystem; the first to arrive trains, the others wait on the adapter_config.json check), the loop +# checkpoints every generation and resumes, so a killed element is re-queued with the same index and +# picks up where it stopped. ~6 h per element at k_inherit=300 (prereg §9); 8 h walltime. +# submit: qsub hpc/llm_society_v2.pbs status: qstat -u $USER -t +# index -> seed = 1 + (i-1) // 4, arm = (full no_grounding no_sex no_diversity)[(i-1) % 4] +#PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S +#PBS -l walltime=08:00:00 +#PBS -N lam_society_v2 +#PBS -J 1-16 + +cd "$PBS_O_WORKDIR" +export HF_HOME="$EPHEMERAL/hf_cache" +export TOKENIZERS_PARALLELISM=false +export UV_CACHE_DIR="$EPHEMERAL/uvcache" + +ARMS=(full no_grounding no_sex no_diversity) +I=$((PBS_ARRAY_INDEX - 1)) +SEED=$((1 + I / 4)) +ARM=${ARMS[$((I % 4))]} + +source .venv/bin/activate +nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader +echo "seed=$SEED arm=$ARM start=$(date)" + +# One config per (seed, arm): generated from the seed template so the resolved config is exact. +CFG="configs/llm/_gen/society_v2_s${SEED}_${ARM}.yaml" +mkdir -p configs/llm/_gen +python - "$SEED" "$ARM" "$CFG" <<'EOF' +import sys, yaml +seed, arm, out = int(sys.argv[1]), sys.argv[2], sys.argv[3] +cfg = yaml.safe_load(open(f"configs/llm/society_v2_s{seed}.yaml")) +cfg["arms"] = [arm] +cfg["output"] = {"dir": f"results/llm_society_v2/s{seed}_{arm}"} +yaml.safe_dump(cfg, open(out, "w"), sort_keys=False) +EOF + +python -m llm.experiment "$CFG" +echo "done: $(date)" diff --git a/hpc/llm_speciation_seeds.pbs b/hpc/llm_speciation_seeds.pbs new file mode 100755 index 0000000..2346a19 --- /dev/null +++ b/hpc/llm_speciation_seeds.pbs @@ -0,0 +1,33 @@ +#!/bin/bash +# Seeds 2-3 of the LLM speciation tier (manuscript revision 2026-09-12; Fig. 5C-D was single-seed). +# One element per seed; output results/llm_speciation/s{seed}/ (seed 1 moved to s1/). Adapters go to +# a seed-specific scratch dir, so the elements can run concurrently. +# submit: qsub hpc/llm_speciation_seeds.pbs status: qstat -u $USER -t +#PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S +#PBS -l walltime=01:30:00 +#PBS -N lam_spec_seeds +#PBS -J 2-3 + +cd "$PBS_O_WORKDIR" +export HF_HOME="$EPHEMERAL/hf_cache" +export HF_DATASETS_CACHE="$EPHEMERAL/hf_cache/datasets" +export TOKENIZERS_PARALLELISM=false +export UV_CACHE_DIR="$EPHEMERAL/uvcache" +export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True +source .venv/bin/activate +nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv,noheader +mkdir -p configs/llm/_gen +SEED=$PBS_ARRAY_INDEX +echo "seed=$SEED start=$(date)" +CFG="configs/llm/_gen/speciation_s${SEED}.yaml" +python - "$SEED" "$CFG" <<'PYEOF' +import sys, yaml +seed, out = int(sys.argv[1]), sys.argv[2] +cfg = yaml.safe_load(open("configs/llm/speciation.yaml")) +cfg["seed"] = seed +cfg["batch_size"] = 32 # L40S: 46 GB +cfg["output"] = {"dir": f"results/llm_speciation/s{seed}"} +yaml.safe_dump(cfg, open(out, "w"), sort_keys=False) +PYEOF +python -m llm.experiment "$CFG" +echo "done: $(date)" diff --git a/hpc/llm_veto.pbs b/hpc/llm_veto.pbs new file mode 100755 index 0000000..04b729e --- /dev/null +++ b/hpc/llm_veto.pbs @@ -0,0 +1,35 @@ +#!/bin/bash +# Veto-arm replication (prereg tasks/prereg-llm-society-v4.md §8f): the v5 `society` arm with +# "keep the parent unchanged" as an admissible offspring. Seeds 2-3 pair against the existing v5 +# isolated/society/seed_bank runs for those seeds. Seed 1 ran locally. +# submit: qsub hpc/llm_veto.pbs status: qstat -u $USER -t +#PBS -l select=1:ncpus=8:mem=64gb:ngpus=1:gpu_type=L40S +#PBS -l walltime=04:00:00 +#PBS -N lam_veto +#PBS -J 2-3 + +cd "$PBS_O_WORKDIR" +export HF_HOME="$EPHEMERAL/hf_cache" +export HF_DATASETS_CACHE="$EPHEMERAL/hf_cache/datasets" +export TOKENIZERS_PARALLELISM=false +export PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True + +source .venv/bin/activate +nvidia-smi --query-gpu=name,memory.total --format=csv,noheader +echo "seed=$PBS_ARRAY_INDEX start=$(date)" + +CFG="configs/llm/_gen/veto_s${PBS_ARRAY_INDEX}.yaml" +mkdir -p configs/llm/_gen +python - "$PBS_ARRAY_INDEX" "$CFG" <<'PYEOF' +import sys, yaml +seed, out = int(sys.argv[1]), sys.argv[2] +cfg = yaml.safe_load(open("configs/llm/curriculum_v5_veto.yaml")) +cfg["seed"] = seed +cfg["batch_size"] = 48 +cfg["train_batch_size"] = 4 +cfg["output"] = {"dir": f"results/llm_curriculum_v5_veto/s{seed}"} +yaml.safe_dump(cfg, open(out, "w"), sort_keys=False) +PYEOF + +python -m llm.experiment "$CFG" +echo "done: $(date)" diff --git a/paper/pnas/body.tex b/paper/pnas/body.tex index 476a8ff..60a25b2 100644 --- a/paper/pnas/body.tex +++ b/paper/pnas/body.tex @@ -1,140 +1,174 @@ \section*{Significance statement} -Artificial intelligence increasingly consists of populations of models rather than single systems. Models are fine-tuned from common ancestors, trained on data that earlier models generated, and combined by weight merging. These practices couple model generations the way reproduction couples biological generations, and they raise the same question: how does a population retain and accumulate abilities over time? I transfer the population genetics of sexual reproduction to this setting and test it in simulations, small neural networks, and language models. The framework recasts continual learning at the population scale and yields design rules: how much real data retraining requires, when to combine models, when to keep them separate, and how to anticipate a failed combination before making it. +Artificial intelligence increasingly consists of populations of models. Models are fine-tuned from common ancestors, trained on data that earlier models generated, and combined by weight merging. These practices couple model generations the way reproduction couples biological generations, and they raise the same question: how does a population keep and accumulate abilities over time? I transfer the population genetics of sexual reproduction to this setting and test it in simulations, small neural networks, and language models. The framework recasts continual learning at the population scale and yields design rules: how much real data retraining needs, when to combine models, when to keep them separate, when to stop combining them, and how to anticipate a failed combination before making it. \section*{Abstract} -AI development increasingly resembles a population process. Models are specialised, retrained on model output, and recombined by weight merging, and the practice is described in evolutionary vocabulary with little use of evolutionary theory. I treat multigenerational model populations as systems whose inheritance, diversity, and compatibility must be managed, and transfer the quantitative framework of the evolution of sex. Its starting point, that training on model output is genetic drift and model collapse its signature, is by now established from several independent directions; I develop the structure that follows from it. In a minimal biological model of inheritance that is literally Wright--Fisher, and measurably Wright--Fisher plus estimator bias in trained networks, I derive and test remedies. Grounding acts as immigration: a real-data fraction far below one retained most equilibrium diversity, with a per-capability observation floor that makes the rarest knowledge expensive under unstratified sampling. Refitting a child to the mean of its parents' output distributions cancels the multi-parent gain to first order in the rare-item regime; union-preserving operators realise it. Merged language-model specialists exceeded every parent in replicated experiments. Blind recombination fails on rugged task landscapes; screening candidate offspring restores the gain. The optimal mating breadth narrows as skills entangle. Finally, I introduce model speciation: a merge barrier remaining after permutation-and-rescaling alignment tracks functional conflict, isolation did not emerge from compatible specialisation, and in a controlled test pre-merge functional disagreement predicted merge damage while weight-geometry baselines showed no detectable association. +AI development increasingly resembles a population process. Models are specialised, retrained on model output, and recombined by weight merging, in evolutionary vocabulary with little evolutionary theory. I treat multigenerational model populations as systems whose inheritance, diversity, and compatibility must be managed, and transfer to them the population genetics of sexual reproduction. That training on model output is genetic drift, with model collapse its signature, is established; here I develop what follows. A minimal inheritance model is exactly Wright--Fisher, and trained networks depart from it by a measurable, architecture-specific bias. In this model grounding is immigration: a real-data fraction far below one retained most equilibrium diversity, and protecting a rare capability costs the inverse of its frequency. Refitting a child to the average of its parents' outputs cancels the gain of having several parents, to first order for rare items, whereas operators that keep each parent's strongest contribution realise it. Merged language-model specialists exceeded every parent across seeds. In a six-generation language-model population, lineages obliged to merge collapsed once partners stopped knowing different things; lineages allowed to refuse a merge, or made to stop after three generations, finished level with never merging, with or without selection between lineages, and merging with one's own ancestor was safer than merging with a contemporary. Blind recombination fails on rugged task landscapes; screening candidate offspring restores the gain. I introduce model speciation: the merge barrier remaining after permutation-and-rescaling alignment tracks functional conflict, isolation did not emerge from specialisation alone, and pre-merge functional disagreement predicted merge damage where weight geometry did not. \medskip\hrule\medskip \section*{Introduction} -Machine learning has become a population-scale phenomenon. Public repositories host millions of models (Hugging Face alone grew past three million by 2026), and these are not independent creations: the overwhelming majority are fine-tunes, distillations, or merges of a small number of foundation models, forming large family trees whose lineage structure, inherited traits, and mutation dynamics are already being mapped with explicitly phylogenetic methods (1--3). Weight-space \emph{model merging}, the direct combination of trained parents into a new model, is mainstream community practice with standard tooling and thousands of hybrid checkpoints, including leaderboard-topping ones (4--7), and the engineering literature describes it in evolutionary vocabulary: ``crossover,'' ``mutation,'' ``mate choice,'' populations of merging models that climb benchmarks (5, 8--10). +Machine learning has become a population-scale phenomenon. Public repositories host millions of models (Hugging Face passed three million by 2026), most of them fine-tunes, distillations, or merges of a few foundation models, forming family trees already mapped by phylogenetic methods (1--3). \emph{Model merging}, the combination of trained parents into a new model by averaging their weights, is mainstream practice with standard tooling and thousands of hybrid checkpoints, some topping leaderboards (4--7), and its literature already speaks of ``crossover,'' ``mutation,'' and ``mate choice'' in populations of merging models that climb benchmarks (5, 8--10) and stagnate as their members grow alike (11). -The generations are coupled through data as well as through weights. Successive models increasingly learn from model output rather than from fresh human experience: frontier alignment pipelines are now predominantly synthetic (over 98\% in documented cases; 11, 12), self-generated instruction data seeds whole lineages of descendants (13), a large and growing share of the public web is machine-generated or machine-translated text (14, 15), and the stock of human text is projected to be exhausted by frontier training within this decade (16). Meanwhile persistent multi-agent systems and emerging agent economies put many interacting models into sustained contact (17--20). A population whose members inherit from one another, recombine, and retransmit under these conditions is an evolving population in the technical sense, and that observation motivates this work. Here I transfer the quantitative framework of the branch of biology built for exactly this situation, the population genetics of the evolution of sex, and use it to treat multigenerational model populations as systems whose inheritance, diversity, and compatibility can be measured, predicted, and managed. +Generations are coupled through data as well as weights. Models increasingly learn from model output: frontier alignment pipelines are predominantly synthetic (over 98\% in documented cases; 12, 13), self-generated instruction data seeds whole lineages (14), much of the public web is machine-generated or machine-translated (15, 16), and the stock of human text is projected to run out within this decade (17). Multi-agent systems and agent economies put many models into sustained contact (18--21). A population whose members inherit from one another, recombine, and retransmit is an evolving population in the technical sense, and I transfer to it the branch of biology built for that situation, the population genetics of the evolution of sex (a transfer anticipated by the reading of sex as an algorithm for mixability; 22). -Training each generation of a model on the previous generation's output degrades it (\emph{model collapse}): rare capabilities vanish first, and the lineage drifts toward its own most common behaviour (21). That degradation is, mathematically, \emph{genetic drift}, the loss of rare variants that any finite population suffers when each generation is a finite sample of the last --- the same sampling accident by which rare surnames vanish from small villages and rare alleles (gene variants) drift out of island populations with no selection against them. The identification has been made repeatedly and independently: for sequential inference chains before deep learning (22), for language-model text ecosystems (23), as a closed-form first-extinction law placing collapse onset at the Wright--Fisher first-extinction time (24), and in quantitative-genetic form for self-consuming diffusion models (25). A diagnosis reached so often, from such different starting points, marks population genetics as the natural mathematics of the setting, though only as its entry point: population genetics is not, at heart, a theory of decay; it is a theory of the mechanisms that maintain and build populations despite decay (immigration, recombination, selection, population structure) and of where those mechanisms reach their limits. This paper develops that fuller structure for model populations: the arc from drift through its remedies to its limit, reproductive isolation --- the point at which diverged lineages can no longer produce working offspring, biology's boundary between species --- carried as one framework from closed forms to trained networks to language models. +Training each generation on the previous generation's output degrades it (\emph{model collapse}). Rare capabilities vanish first and the lineage drifts toward its own most common behaviour (23). That degradation is \emph{genetic drift}, the loss of rare variants in any finite population when each generation is a finite sample of the last (the accident by which rare surnames vanish from small villages, with nothing selecting against them). The identification has been made repeatedly and independently, for sequential inference chains before deep learning (24), for language-model text ecosystems (25), as a first-extinction law (26), and in quantitative-genetic form for self-consuming diffusion models (27). Drift is only the entry point, because population genetics is above all a theory of what keeps a finite population from decaying (immigration, recombination, selection, population structure) and of where each of those fails, and every one of them has a counterpart that the operator of a model population can switch on: real data entering each generation, merging, selection against a verifier, and the choice of which models merge with which. -An operator of a model population faces recurring decisions for which there is no principled guidance: how much verified real data does retraining need before a lineage decays; will combining two particular models compose their abilities or damage them; can incompatibility be detected before paying for a failed merge; and when should specialists be kept separate rather than consolidated? In practice these are settled by convention and by trial-and-error search. They are also, recognisably, machine learning's oldest problem at a new scale: \emph{continual learning}, the struggle to acquire new abilities without losing old ones (26, 27), transposed from a single network to a population whose members inherit from one another. Population genetics, I will argue, prices these decisions. Table 1 summarises the correspondences on which the argument runs. Fig. 1A maps the experimental programme built on them: the same abstractions tested at three tiers --- a biological model in simulation, trained neural networks, and language models --- with the sections that follow climbing that ladder. Fig. 1B draws the shift of perspective the whole transfer rests on: the model ecosystem read not as a society in space, contemporaries exchanging messages, but as a society in time, generations coupled by inheritance, recombination, and immigration. +An operator of a model population faces recurring decisions with no principled guidance. How much verified real data does retraining need? Will combining two models compose their abilities or damage them? Can incompatibility be detected before a failed merge is paid for? When should specialists be kept separate? These are machine learning's oldest problem, \emph{continual learning} (acquiring new abilities without losing old ones; 28, 29), transposed from a single network to a population whose members inherit from one another, and each has a population-genetic answer with a number attached (how many real samples per generation, how far the average sits below the best parent, how much the parents disagree on shared inputs). Table 1 gives the correspondences the argument runs on. Fig. 1A maps the programme across three tiers (an inheritance model in simulation, trained neural networks, language models). Fig. 1B draws the change of viewpoint the transfer rests on. Models are usually pictured as a society in space, contemporaries exchanging messages, but the couplings that matter here (training on model output, merging, real data entering each generation) run between generations, and a society coupled in time is what population genetics describes. \begin{figure*}[p]\centering % fig1 \includegraphics[width=\textwidth]{figs/fig1a.pdf}\\[6pt] \includegraphics[width=\textwidth]{figs/fig1b.pdf} -\caption{(A) The experimental programme. Each population-genetic abstraction (Table 1) is tested at up to three tiers, ordered left to right by increasing realism: a biological model (a Wright--Fisher simulator over knowledge distributions; closed forms, bitwise-reproducible), trained neural networks measured against exact oracles (recurrent, feedforward, and variational-autoencoder generators on a synthetic mode universe, and a convolutional VAE on MNIST), and language models (LoRA specialists on Qwen bases at 0.5B and 7B, scored by an exact-match verifier). Colour separates the two categories: the biological model in green, the two AI-model tiers in blues. The same abstractions are carried across all three. Rows are the framework's mechanisms, each defined at the left margin; filled cells name the experiments run at each tier, and each carries, in its corner, the figure or table where that result is reported, so this figure doubles as a map of the paper. Each claim is tested at the cheapest tier that can falsify it, and a costlier tier is entered only where it adds a discriminating test rather than a replication: grounding at language-model scale is established in prior work (21, 30) and is not re-run; epistasis and the society skip the middle tier, whose distinctive value (exact oracles) does not bear on those operator-level questions; and the society at language-model scale is the integrative experiment this paper specifies but does not run --- its stated gap. (B) The conceptual basis of the transfer. A population of models is usually pictured as a society in space: contemporaries exchanging messages. The couplings this paper studies run instead between generations --- training on model output (inheritance), weight-space merging (recombination), verified real data entering each generation (immigration from reality) --- a society in time, the object population genetics was built to describe. Dots mark capabilities: the rare one (gold) is lost under single-parent inheritance, reassembled by merging complementary parents, and re-supplied by grounding.}\label{fig1} +\caption{A map of the study. (A) Each row is a biological mechanism the paper borrows, each column a level of realism at which it is tested: an inheritance model (an exact simulation of knowledge transmission, green), trained neural networks measured against exact oracles (blue), and language models (blue). Filled cells name the experiments run at each level and, in the corner, the figure or table reporting them; grey cells were not run, either because the result is established in prior work (23, 34) or because that level adds no new test for that question. The inheritance model is the reference column: it sets the expectation the real-model experiments are read against. (B) The change of viewpoint the transfer rests on. A group of models is usually pictured as a society in space, contemporaries exchanging messages. The couplings studied here run between generations: training on model output (inheritance), weight-space merging (recombination), and verified real data entering each generation (immigration from reality). That is a society in time, which is what population genetics describes. Dots are capabilities: the rare one (gold) is lost under single-parent inheritance, reassembled by merging complementary parents, and re-supplied by grounding.}\label{fig1} \end{figure*} -\section*{The biological model, and where trained learners depart from it} +\section*{Results} -Knowledge is modelled as a distribution \texttt{p\_t} over \texttt{K} discrete items (capabilities, facts, modes of behaviour), with a fixed true distribution \texttt{p*} whose rare tail carries the knowledge most at risk. One generation is: \emph{draw \texttt{n} samples from the parent's distribution, optionally mix in \texttt{m} verified real samples (``grounding'', \texttt{g = m/(n+m)}), and refit the child}. This construction is the paper's \emph{biological model}, deliberately minimal, and its resampling step \emph{is} the Wright--Fisher process, population genetics' canonical model of neutral evolution, in which each new generation is a random sample of size \texttt{n} from the previous one and every statistical property of drift follows from that one step. Diversity throughout this paper is \emph{heterozygosity}, \texttt{H = 1 \(-\) \(\Sigma\) p\_i\(^{2}\)}: the probability that two random draws differ (one minus a collision probability), high when many items share the mass, zero at total collapse. The identity is exploited as an engineering gate: the simulator reproduces the classical closed forms (heterozygosity decay \texttt{E[H\_t] = H\_0(1 \(-\) 1/n)\textasciicircum{}t}; the exact immigration--drift equilibrium; the closed-form multi-teacher union) to within 0.5\%, and these are standing tests in the codebase, not one-off checks. +\subsection*{The inheritance model and its calibration against trained networks} -Where a real learner departs from this model matters, and I measured that boundary rather than assumed it. Real training adds approximation, optimisation noise, and inductive bias, and when trained networks are fit against the exact drift null they deviate in \emph{opposite, architecture-specific} directions: a smoothing recurrent network resists collapse (keeping spurious variants alive), while a sharpening image generator accelerates it. A one-parameter \emph{learning kernel} (a smoothing knob and a sharpening knob on the refit) reproduces both. Throughout, a real learner is therefore treated as Wright--Fisher \emph{plus a signed, measurable estimator bias}, and the drift signs (rare-first loss; the grounding response) survived that bias in every architecture I tested, including a convolutional VAE retrained on its own generated digits, where the dry lineage collapses to a single blurred digit class while 10\% grounding holds all thirty modes (Fig. 2). Retraining on a single parent is \emph{asexual reproduction}, and sustained loss under it carries the defining consequence of \emph{Muller's ratchet} (28), the mechanism by which lineages that never recombine decay irreversibly --- the reason non-recombining genomes such as the Y chromosome have shed most of their ancestral genes. Once every copy of a rare capability is gone from all parents and sources, no recombination can rebuild it: each such loss is a click of the ratchet, and remedies must act while copies still survive somewhere (a consequence-level correspondence; the biological model lacks the ratchet's recurrent-mutation driver). +Knowledge is modelled as a distribution \texttt{p\_t} over \texttt{K} discrete \emph{items}, each standing for a capability, a fact or a mode of behaviour. An item is the counterpart of an allele, and a \emph{capability} is what an item stands for. A fixed true distribution \texttt{p*} gives each item its true frequency, and its rare tail (the items of lowest frequency) carries the knowledge most at risk. Following population genetics I call an item's frequency \texttt{p\_i} its \emph{mass}, the probability that one sample drawn from the distribution is that item (the allele frequency of Table 1), and the mass of a set of items is the sum of their frequencies. One generation has a single parent and a single child (several parents are the subject of the merging section) and consists of three steps: draw \texttt{n} samples from the parent's distribution; optionally add \texttt{m} samples drawn from \texttt{p*} itself, standing for real data that has passed a verifier (\emph{grounding}, with grounding fraction \texttt{g = m/(n+m)}); and fit the child's distribution to the pooled \texttt{n + m} samples (the \emph{refit}, which in the minimal model is simply the observed frequencies). The resampling step is the Wright--Fisher process, population genetics' canonical model of neutral evolution, in which each generation is a random sample of size \texttt{n} from the last. In this \emph{inheritance model} the Wright--Fisher ``population'' is the sample a child is trained on and its ``individuals'' are the \texttt{n + m} samples, so it is a model of a learner. Diversity throughout is \emph{heterozygosity}, \texttt{H = 1 \(-\) \(\Sigma\) p\_i\(^{2}\)}, the probability that two items sampled independently from the distribution differ (high when the mass is spread over many items, zero when one item holds it all). The simulator reproduces three closed forms of the process to within 0.5\% of the analytic value (Methods): the heterozygosity decay under drift alone, \texttt{E[H\_t] = H\_0(1 \(-\) 1/n)\textasciicircum{}t}; the stationary diversity under real data, written in the next subsection; and, for \texttt{K} parents that each hold a given rare item with probability \texttt{q} and whose holdings are correlated by \texttt{\(\rho\)} (0 fully complementary, 1 identical), the expected fraction of rare items held by at least one parent, \texttt{\(\rho\)q + (1 \(-\) \(\rho\))(1 \(-\) (1 \(-\) q)\textasciicircum{}K)}, used in the merging section. -\textbf{Table 1.} The dictionary. Each biological term is introduced in the section that develops it; each correspondence is stated with the level of support it currently has (closed form = derived in the biological model and verified against simulation; empirical = measured in trained systems; hypothesis = stated with a falsifier, untested or unconfirmed). The full claim-by-claim ledger with assumptions and known limits is SI Appendix, Table S1. +Trained networks are not exact copiers, because they add approximation error, optimisation noise and their own inductive bias to the resampling step, so before using Wright--Fisher as a reference I measured how far real learners depart from it. Run through the same generational loop against an exact oracle, they departed in opposite directions (Fig. S2). The sequence generators (a recurrent and a feedforward network) \emph{smooth}, spreading probability onto items they have never seen, and so collapse more slowly than drift predicts while keeping spurious variants alive. The image autoencoder \emph{sharpens}, concentrating probability on its commonest modes, and so collapses faster (Fig. 2A; the comparison with drift in Fig. S2). Both departures are reproduced by adding one knob to the copying step, a mutation rate toward a prior for smoothing or a temperature for sharpening (Fig. S2). A real learner is therefore treated throughout as Wright--Fisher plus a signed, measurable bias, and the two predictions that matter here (rare items are lost first, and real data arrests the loss) held in every architecture tested (Figs. 2 and S1). + +In biological terms, retraining a child on a single parent is \emph{asexual reproduction}. In a population that never recombines, a loss that happens to reach every individual can never be undone, because no individual retains the copy from which it could be rebuilt. Each such loss clicks the population one notch down, and the notches turn only one way. This is \emph{Muller's ratchet} (30), and model collapse has the same irreversible arm. Once every copy of a rare item is gone from all parents and all sources nothing can rebuild it, and the inheritance model shows the trap in its commonest form: a population that adopts its own collapsed output as its new reference never recovers the items it had lost, whatever real data it is fed afterwards (Fig. S3). Remedies must therefore act while copies still survive somewhere in the population. + +\textbf{Table 1.} The dictionary. Each biological term is introduced in the section that develops it. The support column names where the evidence comes from: a figure panel or Supplementary figure or text of this paper, a reference number for the literature, or both. ``Closed form'' means derived in the inheritance model and verified against simulation; ``empirical'' means measured in a trained system; ``hypothesis'' means stated with a falsifier and untested. \medskip\noindent\begin{center}\footnotesize \begin{tabular}{p{0.307\textwidth} p{0.307\textwidth} p{0.307\textwidth}} \hline Population genetics & Model populations & Support \\ \hline -Genetic drift in a finite population & Training on finite samples of model output & Closed form (biological model); signs in trained nets; diagnosis conceded to prior work \\[3pt] -Immigration from a fixed source & Grounding with verified real data & Closed-form equilibrium; signs in RNN/MLP/VAE/MNIST \\[3pt] -Muller's ratchet (asexual decay) & Irreversible arm of model collapse & Correspondence, scoped: applies to unrecoverable loss \\[3pt] -Recombination / sexual reproduction & Model merging & Empirical at 0.5B--7B \\[3pt] -Fisher--Muller effect & Merged specialists exceed every parent & Biological model; replicated in LLMs \\[3pt] -Outbreeding depression under epistasis & Merging entangled skills harms offspring & Biological model (NK landscapes); hypothesis at LLM scale \\[3pt] -Mating systems / population structure & Who merges with whom (breadth of the parent pool) & Biological model; hypothesis for real populations \\[3pt] -Reproductive isolation (BDM incompatibilities) & Merge failure from functional conflict & Empirical (MLP + LLM tiers, conflict-associated); emergent form not observed \\[3pt] -Selection on a fitness function & Verifier-anchored selection (``reality that can say no'') & Biological model (complementary with recombination and diversity in the tested society) \\[3pt] +Genetic drift in a finite population & Training on finite samples of model output & Closed form (Fig. 2B); collapse measured (Fig. 2A); the identification is prior work (23--27) \\[3pt] +Immigration from a fixed source & Grounding with verified real data & Closed-form equilibrium and per-item floor (Fig. 2B); sign confirmed in trained nets (Fig. 2A); stationarity and stability under fresh data (31, 32); comparable fractions reported (23, 33, 34); conservation analogue (35) \\[3pt] +Muller's ratchet (asexual decay) & Irreversible arm of model collapse & The irreversibility is reproduced in the inheritance model (Fig. S3); the mutational mechanism of the ratchet is not modelled (30) \\[3pt] +Recombination / sexual reproduction & Model merging & Fig. 3B--C: merging beats blending wherever the weight-average scores well below the best parent, and blending suffices where it does not; that merges can beat parents is established (4, 36) \\[3pt] +Fisher--Muller effect & Merged specialists exceed every parent & Fig. 3B; inheritance-model expectation (Fig. S9); classical theory (37, 38) \\[3pt] +Outbreeding depression under epistasis & Merging entangled skills harms offspring & Inheritance model only (Fig. S10), reproducing (39, 40); hypothesis at LLM scale \\[3pt] +Mating systems / population structure & Who merges with whom (breadth of the parent pool) & Inheritance model only (Fig. S13), reproducing (41); hypothesis for real populations \\[3pt] +Reproductive isolation (Bateson--Dobzhansky--Muller incompatibilities) & Merge failure from functional conflict & Fig. 5A--D and SI Text S1, Proposition S2; emergent form not observed; classical theory (42, 43); alignment tools and known residuals (44--47) \\[3pt] +Seed bank (mating with a stored earlier generation) & Merging with one's own ancestor & Six-generation population (Results; SI Table S2): own-ancestor merge beat a contemporary in every seed; checkpoint averaging as a stabiliser (48, 49) \\[3pt] +Recombination modifier (a gene that sets how often other genes are shuffled) & A declinable merge: keeping the parent unchanged is scored as one candidate offspring & Fig. 4B--C (six generations, 3 seeds): a fixed early stop matched it, and declines tracked generation, not complementarity, once the two were decoupled. Modifier theory (50--52) is the motivating frame; its reduction-principle reading was not supported; gated and early-stopped merging in continual settings (53, 54) \\[3pt] +Selection on a fitness function & Verifier-anchored selection (``reality that can say no'') & Fig. 4D--F; diversity-preserving selection from (55), inheritance-model reference (Fig. S12) \\[3pt] \hline\end{tabular}\end{center}\medskip -\section*{Results} +\subsection*{The real-data fraction required to arrest collapse} -\subsection*{Grounding is immigration: cheap, with a floor} +Grounding, the mixing of verified real data into each generation's training sample, plays in the inheritance model the role that immigration plays in population genetics. A fixed external source (\texttt{p*}) supplies a fraction \texttt{g} of each generation's sample, and a population that would otherwise drift to fixation settles instead at a stationary diversity (33, 34, 56). I swept \texttt{g} from 0 to 0.4 across 100 independent lineages (Fig. 2B and Fig. S4) to separate two questions: how much real data holds aggregate diversity, and what happens to an individual rare item. -In the biological model, grounding from a fixed real source is \emph{immigration} into a drifting population (29--31). Immigration is what conservation managers prescribe when a fragmented reserve loses diversity, and its striking property there is how little is needed --- the field's rule of thumb is that one migrant per generation holds an isolated population's diversity (32). The same economy appears here: the equilibrium diversity has a closed form the simulator matches exactly. That equilibrium is \emph{smooth} in the grounding fraction (there is no phase transition in aggregate diversity), so the practical number is an operational threshold, and I define it as such: under the tested population size and Zipf source distribution, \texttt{g \(\approx\) 0.05} retained most (\(\geq\)95\%) of equilibrium diversity indefinitely, with the required fraction depending on sample size, source distribution, and the chosen retention target (dependencies in SI). Verified real data remains, on any of these definitions, cheap insurance at fractions far below one. But the same analysis yields a floor the field's average-loss framing misses: under unstratified sampling from the source, a capability of rarity \texttt{p} appears in a real-data batch of size \texttt{m} with probability \texttt{1 \(-\) e\textasciicircum{}{\(-\)m\(\cdot\)p}}, so \texttt{m\(\cdot\)p \(\approx\) 1} marks roughly a 63\% chance of one example per batch: a soft observation floor, with higher confidence priced accordingly, and with distinct consequences for continuous retention, stationary occupancy, and reintroduction after loss (immigration can restore an absent item; SI separates these). Protecting the rarest knowledge under unstratified grounding is therefore priced per item at cost \texttt{\(\propto\) 1/p}; targeted or stratified sampling changes that cost, and recombination can recover rare capabilities \emph{that are still retained across complementary parents} (next section). In trained networks the \emph{sign} of the grounding response transfers everywhere I looked, with two deviations, both traced to the estimator bias above: sharp thresholds soften, and support-counting metrics decouple from truth (forward-KL is the operative collapse metric for a smoothing learner). On real images (Fig. 2B), dry self-training collapses a convolutional VAE to one mode while \textasciitilde{}10\% grounding holds all thirty (the trained model needs roughly twice the biological model's fraction, the measured price of the estimator bias). +Part of the aggregate answer exists already: that a self-consuming loop fed fresh real data settles at a stationary state instead of collapsing was shown for generative models (31), a sufficient condition on the real fraction for stability has been proved (32), the same loop with any non-vanishing synthetic fraction never recovers the real-data scaling law (57, 58), and in the first collapse study retaining 10\% of the original data held perplexity steady over ten generations (23). These results establish that a grounded lineage stabilises below the real data without saying where, and the inheritance model gives the level in closed form: with \texttt{m} real samples added to \texttt{n} inherited ones each generation, diversity settles at \texttt{H\_eq = H* \(\cdot\) m(2n+m\(-\)1)/(n+2nm+m\(^{2}\))}, where \texttt{H*} is the diversity of the source, and the simulator matches this to within 0.5\% (Fig. 2B). Two consequences follow that the earlier results could not show. The first is that what holds diversity is the \emph{count} of real samples per generation, not their share of the training set. Whenever real samples are a minority (\texttt{m \(\ll\) n}) the formula reduces to \texttt{H\_eq \(\approx\) H* \(\cdot\) 2m/(2m+1)} and \texttt{n} drops out: one real sample per generation keeps two thirds of the source's diversity and ten keep 95\%, however large the inherited sample is. The expression is Wright's island model in haploid form: the shortfall \texttt{1/(2m+1)} is its fixation index \texttt{F\_ST} for a population receiving \texttt{m} migrants a generation, and the rule of thumb of conservation genetics is stated as \emph{one migrant per generation} (35), a count and not a fraction, because of the same cancellation. The size of the receiving population drops out, and how much of the source's diversity an island keeps is set by how many migrants reach it. In the tested setting (\texttt{K = 1000} items, \texttt{n = 200} inherited samples per generation, and a true distribution whose item frequencies fall off as a power law, a \emph{Zipf} distribution, the standard model of the long tail of natural data) 95\% of the source's diversity was kept from \texttt{g \(\approx\) 0.05} upward (Fig. S4), but that fraction is ten real samples divided by a training set of 200, and it shrinks as the training set grows. The second is that the curve is smooth. Diversity rises gradually with \texttt{m}, there is no value at which a lineage switches from collapsing to safe, and the lineage never reaches the source (the shortfall is about \texttt{1/(2m+1)} at any budget, as the scaling-law results require; 57, 58). Any threshold quoted for real data is therefore a retention target one chooses and reads off the curve, not a property of the system. Comparable fractions are reported for accumulating real data in language models (34) and for the replay ratios of continual learning. Optimal mixing ratios derived for squared-error regression are far higher (about 0.6; 59), because that objective weighs every sample equally where the question here is which items survive at all. + +Aggregate diversity cannot say whether one particular rare item survives, and for that the answer is elementary. Call the number \texttt{m} of verified real samples added per generation the \emph{real-data budget}. Under unstratified sampling an item of frequency \texttt{p} appears in a batch of \texttt{m} real samples with probability \texttt{1 \(-\) e\textasciicircum{}{\(-\)mp}}, so a budget of \texttt{m \(\approx\) 1/p} gives only a 63\% chance of seeing the item once per generation; an item that appears in one real sample in ten thousand needs a budget of about ten thousand real samples every generation. The budget is therefore set by the rarest item one refuses to lose, and it is a lower bound, because a single copy that does arrive enters a pool of \texttt{n + m} samples and can still be lost when the child is resampled from it (Fig. S4D, where the rarest items recover last). The rule is the immigration counterpart of the per-item extinction laws derived for closed loops (25, 60). It also explains an observation reported by others and left unexplained, that the absolute count of real samples predicts collapse better than their proportion (61): the aggregate closed form and the per-item rule both depend on \texttt{m}, not on \texttt{g}. The same arithmetic has been observed on the acquisition side, in pretraining itself: about 250 documents install a rare behaviour in models from 600 million to 13 billion parameters, although the larger models see twenty times more data, so the documents' share of the corpus falls twentyfold while their effect does not (62). One migrant per generation, 250 poisoned documents and \texttt{m\(\cdot\)p \(\gtrsim\) 1} are one rule read three times: what a population keeps, or acquires, of a rare item is set by the number of copies that reach it each generation, not by the size of everything else it is trained on. A fixed budget stretches further in two ways. Real data protects only the topics it covers, since when the 1,000 items are split into ten topics and the same budget is spent either on one topic or evenly over all ten, real data aimed at the topic keeps about half of its rare items alive and real data spread over all topics keeps 7\% (Fig. S5), so a capability is protected by real data about that capability, not by real data in general. And an item lost from one lineage can be recovered from another lineage that still holds it, which is the subject of the next section. + +In the trained networks (the recurrent and feedforward generators on the synthetic universe, Fig. S6, and the convolutional VAE on MNIST, Fig. 2A and Fig. S7) grounding reduced collapse in every case, as prior work at language-model scale had found (23, 34). Compared against the exact model, the trained networks depart in two ways, both consequences of the estimator bias measured above. The threshold softens: in the recurrent network the distance from the truth falls gradually over the whole range of \texttt{g} tested (Fig. S6B), where the inheritance model's diversity saturates within a few percent. And the usual measure of collapse fails for a smoothing learner. Such a network keeps assigning probability to items it was never trained on, so counting how many rare modes survive overstates its health; in the recurrent network that count is not even monotone in \texttt{g} (Fig. S6D), while a network can retain every mode and still hold the mass in the wrong proportions. For smoothing learners I therefore measure collapse by the forward Kullback--Leibler divergence from truth to model, the standard measure of how well a model covers a distribution, which penalises every region where the truth has mass and the model has little. On real images (Fig. 2A) ungrounded self-training collapsed a convolutional VAE from thirty modes to one within fifteen generations, while about 10\% grounding held all thirty (Fig. S7). The autoencoder needed about 10\% real data where the inheritance model needed 5\%, and the difference is what its sharpening bias costs: a learner that concentrates mass on its commonest modes loses rare ones faster than sampling alone would, and needs more real copies to hold them. \begin{figure*}[p]\centering % fig2 \includegraphics[width=\textwidth]{figs/fig2.pdf} -\caption{Grounding is immigration. (A) Stationary diversity against the grounding fraction in the biological model: simulation (points, 95\% CI) matches the exact immigration--drift equilibrium (dashed). The equilibrium is smooth in $g$; $g \approx 0.05$ marks the operational threshold retaining 95\% of source diversity in this setting (red line, bootstrap CI shaded); the hollow point at $g=0$ is a finite-time value (the true equilibrium is zero). (B) The same signs on real images: samples from a convolutional VAE retrained each generation on its own output (rows: generations 0--15 of an ungrounded lineage) collapse toward a single blurred mode; 10\% grounding holds all thirty modes (quantified in SI).}\label{fig2} +\caption{How much real data stops model collapse. (A) An image-generating network (a variational autoencoder) is trained on handwritten digits, then a fresh copy is trained only on the digits the previous one drew, for fifteen generations, with no real data added. Each row is a later generation (0, 4, 8, 12, 15) and each column a randomly chosen drawing. The thirty kinds of digit (ten digits $\times$ three stroke thicknesses, some kinds rare) collapse to one blurred shape; an independent classifier confirms that the number of kinds still drawn falls from 30 to 1, while adding 10\% real digits each generation keeps all 30 (Fig.~S7; 4 replicates). (B) The same question in the inheritance model, the exact simulation: 1,000 knowledge items, 200 samples drawn per generation, and a fraction $g$ of fresh real samples mixed in. Points are the diversity the population settles at after 500 generations (mean and 95\% CI over 100 lineages), the dashed line the exact prediction (the immigration--drift equilibrium), the dotted line the diversity of the real data itself. The curve is smooth, so any threshold is a choice: the red line marks the $g$ at which 95\% of the real data's diversity is kept, about 0.05 (bootstrap CI shaded). The hollow point at $g = 0$ has not yet reached its equilibrium of zero. The trained image model needed about twice this fraction, because a trained network is not the exact copier the simulation assumes (Fig.~S2).}\label{fig2} \end{figure*} -\subsection*{Recombination: a conservation law, its operators, and offspring that exceed every parent} +\subsection*{Merging operators and the retention of rare capabilities} -The largest returns from the transfer concern merging. \emph{Blending inheritance} --- offspring as the average of their parents --- is the failure mode at the root of population genetics' founding controversy: the swamping argument pressed in Jenkin's 1867 review of \emph{The Origin of Species}, that under blending a rare advantageous variant is diluted toward the common type faster than selection can multiply it (33), an objection dissolved only by Mendel's particulate inheritance, in which discrete variants pass through generations undiluted. Refitting a child model to the mean of its parents' output distributions is blending inheritance, and the proposition below is Jenkin's dilution made exact. \textbf{Proposition (blending inheritance, rare-item regime).} Let K parents independently retain a rare item (mass \texttt{p} when retained), and let the child draw \texttt{n} samples either from one parent chosen at random or from the \emph{mean of the parents' output distributions}. Expected item mass is identical under the two schemes; and in the rare-item regime \texttt{n\(\cdot\)p/K \(\ll\) 1}, where per-item survival is first-order in sampled mass, expected \emph{survival} is also identical: the 1/K dilution of averaging cancels the K-parent union gain to first order, so in this regime adding parents through the output-mean does not increase expected tail retention. Two boundaries: outside that regime, survival is a convex function of mixed mass, so the variance reduction from averaging can \emph{reduce} extinction relative to a randomly chosen single parent; the cancellation is a first-order result about rare items, not a universal impossibility; and the contrasting union operator (keep each item's strongest source, then renormalise, which itself redistributes mass and presupposes a verifier or oracle to identify the strongest source) increases expected retention with K in all regimes in the biological model. The practically important operators, \emph{weight averaging} (a nonlinear network's weight-mean does not compute its parents' output-mean) and \emph{routing among intact specialists} (34) (different storage and inference budgets from a single child), are its empirical cousins, and the measured bridge is a \emph{headroom rule}, stated qualitatively: in language models, union-preserving operators beat the weight-average where that average falls short of attainable performance, and add nothing where it does not (easy-versus-hard contrasts at two scales; a quantitative form of the relationship is untested). On easy tasks a capable base's average is already at ceiling and refinements add nothing; on hard tasks the average dilutes a fragile specialist below even the best single parent and routing wins by a wide margin (Fig. 3A--B). +Refitting a child on the average of its parents' output distributions is \emph{blending inheritance}, the pre-Mendelian view of heredity in which offspring are an average of their parents. Fleeming Jenkin's objection to Darwin (63, 64) was that under blending a rare favourable variant is halved at every cross and swamped within a few generations, so selection could never establish it; particulate (Mendelian) inheritance, in which an allele passes intact or not at all, answered the objection, and blending was abandoned as a theory of heredity. Averaging does to a rare capability exactly what Jenkin said blending would do to a rare variant, and blending inheritance is therefore the right null model of merging. The same dilution has been reported in machine learning under three different names, without being recognised as one phenomenon: distilling onto an ensemble mean discards the members' diversity (65), averaging expert weights loses to routing among the same experts (66), and an update held by one of \texttt{N} parents is scaled by \texttt{1/N} in their soup (67). In the inheritance model the dilution is a conservation law: the expected mass of a rare item in the child is \texttt{q\(\cdot\)p} (its mass \texttt{p} in a parent that holds it, times the probability \texttt{q} that a parent holds it) whatever the number of parents, so averaging over more parents neither helps nor harms a rare item's expected share, and the proposition below says exactly when the same holds for its survival. -The generative payoff is the \emph{Fisher--Muller effect} (35, 36), the classical account of why sex speeds adaptation: in an asexual population, beneficial variants arising in different individuals can only compete until all but one lineage is lost, whereas recombination assembles them in one offspring, producing a \emph{genotype} (an individual's combination of variants, one at each \emph{locus}, or position) fitter than any parent. In the multi-locus biological model, sexual merging of decorrelated specialists climbs to the global optimum, a genotype no parent held, while the best single parent and the blended average both plateau below (Fig. 4). In real language models the signature replicates under seed replication: merges of three LoRA (37) specialists beat every parent overall (decisively at 7B: 0.87 vs 0.77), and on the sharper worst-family metric the merged models are the only ones competent everywhere, in every seed (Fig. 3A). +\textbf{Proposition (blending inheritance, rare-item regime).} Let each of \texttt{K} parents independently retain a rare item, which has mass \texttt{p} in a parent that retains it, and let the child draw \texttt{n} samples either from one parent chosen at random or from the mean of the \texttt{K} parents' distributions. The expected mass of the item in the child's sample is the same under both schemes. When the item is rare enough that even a parent holding it rarely contributes more than one copy to the child's sample (\texttt{n\(\cdot\)p \(\ll\) 1}), the probability that the item survives into the child is the same too: averaging over \texttt{K} parents makes the item \texttt{K} times more likely to be present in the mixture, and \texttt{K} times less frequent when it is, and the two factors cancel (proof in SI Text S4). -Sex has risks and, for AI, an unfair advantage, both quantified on Kauffman's NK fitness landscapes (38), the standard model of \emph{epistasis}, biology's term for interaction between genes: the fitness contribution of a variant depends on which variants occupy the other loci, much as a component's value in an ML system depends on the components around it. Each of the landscape's \texttt{N} sites interacts with \texttt{K} others (the model's eponymous parameters), and raising that interaction count tunes the landscape from smooth and additive to rugged and many-peaked (Fig. 5). When skills are entangled, blind recombination produces offspring \emph{below} their parents, worsening with ruggedness, and the optimal recombination rate shrinks as entanglement grows. Biology knows this failure as \emph{outbreeding depression}, the reason conservation practice warns against crossing locally adapted populations: in the textbook case, an ibex herd in the Tatra Mountains restocked with animals from Turkey and Sinai produced fertile hybrids that bore their young in the coldest month of winter, and the herd died out (39). But an engineered population can do what biology cannot: recombine unbounded parents, choose complementary mates, and \emph{screen many candidate offspring against a verifier before keeping one}. This directed sex converts the outbreeding catastrophe into a reliable gain in the model (tracking or exceeding the best parent at every ruggedness) and replicates as a sign in language models: bred-and-screened merges beat the a-priori blend in every seed on headroom tasks, including one seed where the blend failed catastrophically and selection was immune (SI Appendix, Table S2). Finally, population \emph{structure} is itself a knob: sweeping the mate-pool breadth from monogamous (repeated local pairings) to promiscuous (\emph{panmixia}: any model may merge with any other) against ruggedness, wide mixing maximises the population mean while monotonically destroying diversity, and the best \emph{champion} shifts from wide breadth on smooth landscapes to intermediate breadth on rugged ones (Fig. 5C), the mating-system phenomenon known to structured-population search, mapped onto merging populations. +The proposition fixes the baseline against which any merging operator is judged, and it has two boundaries. For items common enough that the child usually sees several copies, averaging is safer than inheriting from one random parent, because the probability of losing an item is a convex function of its mass and averaging evens out which parent happened to hold it; the cancellation is a statement about rare items, which are the ones at risk. A \emph{union} operator, which keeps for each item the mass it has in the parent holding it most strongly (and therefore needs a verifier to say which parent that is), raises expected retention with every additional parent at every rarity tested (Fig. S8). + +Neither scheme is what model merging does in practice. The two operators in use are \emph{weight averaging}, which averages the parents' parameters (a network is nonlinear in its weights, so averaging weights does not average outputs and the proposition applies only by analogy; but an update held by one of \texttt{N} parents is still scaled by \texttt{1/N} in the average (67), which is the dilution the proposition describes), and \emph{routing}, which keeps every specialist intact and sends each input to the specialist that owns it (68), the practical form of the union. I compared the two at two model sizes (0.5B and 7B parameters) on easy and on deliberately hard task families (Fig. 3C for 7B on the hard families; the other size and difficulty combinations in Supplementary Information, Table S2). Routing wins by the amount averaging loses to dilution, and two things set that loss. On the easy families a 7B base has nothing to lose: after averaging it scores at ceiling on two of the three families (1.00 on both), so routing has nothing to recover and the two are equivalent. On the hard families the average falls to the level of the best single specialist (0.41 for both, over three 7B seeds), because it dilutes each specialist's own skill, and routing among the intact specialists wins by a wide margin (0.50, ahead in every seed). A weak base (0.5B) shows the same gap even on the easy families. The operative variable is the \emph{headroom}, the distance between what the weight-average scores and what the specialists would jointly score if every input reached the right one: it is large wherever there is room to lose to dilution (a weak base, or hard tasks at a strong one), and neither model size nor task difficulty alone predicts it. On the second base lineage the ordering is the same and the margin larger (routing 0.33 against soup 0.17 on the hard families at 1.7B, ahead in every seed, with the soup below the best specialist in every seed; Fig. S16). Whether the gain scales quantitatively with the headroom is untested. + +Merging complementary specialists can also yield a model better than any of them, the \emph{Fisher--Muller effect} (37, 38). In an asexual population two useful variants that arise in different individuals can never meet in one descendant; the lineages carrying them compete, and one is lost. Recombination puts both into one offspring, which is why sexual populations adapt faster. In the multi-locus inheritance model, merged decorrelated specialists reach a combination of variants (a \emph{genotype}) that no parent held, while the best parent and the blended average plateau below (Fig. S9). Merges of three LoRA (69) specialists reproduced the signature, beating every parent overall (0.65 against 0.59 over five seeds at 0.5B; 0.87 against 0.81 over three seeds at 7B, in every seed), and on worst-family accuracy they were the only models competent everywhere, in every seed (Fig. 3B). The same protocol on an unrelated base lineage (SmolLM2-1.7B-Instruct: a different laboratory, architecture family and pretraining corpus) gave the same result in every one of five seeds (merge 0.66 against best specialist 0.61 overall; worst family 0.32 against 0.13; Fig. S16). That merges can exceed their parents is established for adapters (4, 36, 70); the model contributes the condition under which it happens and the operator that realises it. + +Blind recombination is not always safe. On rugged (\emph{epistatic}) landscapes, where a variant's contribution depends on the variants around it (71), recombining two adapted parents yields offspring below both, and the optimal recombination rate falls as entanglement grows. Both results are long established in population genetics (39) and evolutionary computation (41) and are reproduced here only to fix reference values (Fig. S10). An engineered population has an option a natural one lacks: breed many candidate offspring and keep whichever a verifier scores highest. In the inheritance model this \emph{directed} recombination recovers the gain on every landscape where blind recombination loses it (Fig. S11), and in language models it beat the a-priori blend in every seed on hard tasks, including one seed where the blend failed catastrophically and selection was unaffected (Supplementary Information, Table S2). \begin{figure*}[p]\centering % fig3 \includegraphics[width=\textwidth]{figs/fig3.pdf} -\caption{The language-model tier. (A) Seed-replicated merging (0.5B, five seeds, fixed test sets; mean $\pm$ 95\% CI): merged specialists exceed the best single specialist overall, and only merged models are competent on every task family. (B) Hard, unsaturated tasks at 7B (single run): the weight-average dilutes a fragile specialist below the best single parent; routing among intact specialists preserves it. (C) The controlled predictive test (13 conditions $\times$ 3 seeds): pre-merge confidence-weighted functional conflict against merge penalty, coloured by grid axis --- penalty concentrates on the conflict axis. (D) Predictor comparison, $|$Spearman $\rho|$ against merge penalty over the full grid: functional measures carry signal, the tested weight-geometry baselines do not; paired differences between predictors are not individually significant.}\label{fig3} +\caption{Merging language-model specialists: when it helps, and predicting when it will hurt. All models are built from one frozen base (Qwen2.5) plus a LoRA adapter, a small set of extra weights trained on one family of tasks (list puzzles, string puzzles or arithmetic); a verifier marks every answer right or wrong, and accuracy is the share marked right on held-out questions. (A) The models compared: the base alone; three specialists (one adapter each); their merge by averaging the adapters; their merge after dropping the changes on which the parents conflict (TIES); and routing, which keeps the specialists separate and sends each question to the one that owns it. (B) Easy tasks, 0.5-billion-parameter base, five training seeds (fixed test sets; mean and 95\% CI). Both merges beat the best single specialist on the weakest task family (paired t-test over seeds, $p < 10^{-4}$), and the interference-aware merge beats it overall ($p = 0.006$; the plain average $p = 0.09$, ahead in 4 of 5 seeds); the two merges do not differ from each other. Only merged models are competent on every family. (C) Deliberately hard tasks, 7-billion-parameter base, three seeds. Averaging only matches the best specialist overall ($p = 0.96$) although it lifts the weakest family ($p = 0.009$); routing beats averaging overall ($p = 0.007$, ahead in every seed) and beats the best specialist on both measures ($p = 0.018$ and $0.014$). With three seeds, some comparisons that hold in every seed are not significant (ns). (D) Predicting merge damage before merging: 39 pairs of specialists built along three axes, parents taught contradictory conventions (red), parents merely trained longer on different tasks (blue), and parents sharing training data without conflict (green). The horizontal axis is how often the two parents confidently disagree when asked the same questions before merging; the vertical axis is the merge penalty, the accuracy the merged model loses relative to answering each task with the parent that owns it. Damage concentrates in the conflicting pairs. (E) Six pre-merge measures ranked by how strongly they track the penalty (absolute Spearman correlation): measures taken by asking the parents questions carry the signal, measures taken on the parents' weights do not; differences between individual predictors are not significant at this sample size (Table~S2).}\label{fig3} \end{figure*} +\subsection*{Ablation of a composed population} + +Grounding enters a population at two points. In the inheritance model it is \emph{grounded inheritance}, real samples added to the pooled sample the child is fit to. In a selecting population it is \emph{grounded evaluation}: an agent is scored partly against reality and partly against the population's own consensus (\texttt{g}\(\cdot\)true-fitness + (1\(-\)g)\(\cdot\)conformity). The consensus term stands for what a population does when it has no verifier, which is to learn from its own outputs, so \texttt{g = 0} is a population that rewards agreement with itself. To ask whether grounding, recombination and diversity contribute separately, I ran a four-arm ablation in the multi-locus inheritance model: a population of 60 agents, each a genotype of 12 loci, adapting on a rugged (NK) landscape for 80 generations (SI Methods M3), with one operator removed per arm (Fig. 4D--F). The full system (grounded evaluation, directed recombination, and diversity-preserving selection (54; its inheritance-model reference in Fig. S12)) approached the global optimum while keeping its specialists. Removing grounded evaluation converged the population confidently on an unfit consensus, the self-consumption failure. Removing recombination stranded it on local optima, and removing diversity converged it prematurely on a worse answer. The arm without grounding fails by construction, since a rule that scores agreement will converge on agreement, but the other two removals fail in ways of their own, so under these conditions recombination and diversity are not substitutes for grounding or for each other. Magnitudes depend on the mutation, restart and selection schemes, which were not varied. + +\subsection*{A six-generation language-model population} + +Merging has been iterated before, in two forms. Evolutionary merging holds a pool of parents fixed and recombines it repeatedly (5, 8, 9), and over several generations the pool stagnates as its members grow alike (11). Continual merging folds a stream of independently trained experts into one running model (53, 54, 72, 73), and in long streams it degrades unless merging is gated by similarity or stopped early (53, 54). In neither form does a lineage learn a new skill by training between merges, so what happens to a composed capability when it is inherited, extended and recombined has not been measured. I ran inheritance, recombination and immigration together as a population of language models across six generations on real datasets. + +Three lineages start from one frozen base model (Qwen2.5, 1.5 billion parameters, untrained on the tasks). Each generation, every lineage acquires one new skill from six public datasets (natural-language inference (MNLI; 74), science questions (ARC-Easy; 75), commonsense completion (HellaSwag; 76), reading-comprehension spans (SQuAD; 77), yes/no questions (BoolQ; 78), pronoun resolution (WinoGrande; 79)), each scored by its own verifier, a program that marks an answer right or wrong. A skill lives in a \emph{LoRA adapter}, a small set of trainable weights added to the frozen base (the base a shared textbook, the adapter one specialist's margin notes). A child inherits by continuing to train its parent's adapter, so what the parent learned in its lifetime passes to the child (the inheritance of acquired characters that Lamarck proposed and biology rejected, and that a weight file makes trivial). Each child's training set also contains a fixed number of examples from the skills its lineage learned in earlier generations (150, beside 300 new), so that new training does not overwrite old skills; this \emph{replay} is the standard remedy for forgetting in continual learning (28, 29). + +The curriculum is a Latin square: the lineages take the same six skills in rotated orders, like three students working through one syllabus in different sequences. A partner therefore knows things a lineage lacks early (\emph{complementarity}, the share of the partner's skills one lacks, is 1.0 at the first two generations) and nothing it lacks by the end (0.0 at the sixth). Complementarity is thus a swept variable, but it is also collinear with generation number, so any effect that grows with an adapter's training age shares its signature; a second curriculum, below, breaks the collinearity. Merging averages two adapters at a weight chosen on validation data and reported on held-out tests. The arms are: never merge; always merge with a contemporary from another lineage (with verified or with self-generated replay); merge with one's own ancestor three generations back; and a \emph{declinable} merge, in which keeping the parent unchanged is scored as a candidate beside every merge and wins if none beats it. A control arm merges obligately through generation 2 and never afterwards (a \emph{forced stop}), the fixed schedule the declinable arm must be compared against. Lineages are never culled, so the population has inheritance, recombination and immigration of new skills but no differential reproduction. Three training seeds; the outcome is a lineage's accuracy over all six families. + +Obligate recombination collapsed (Fig. 4B): the always-merge arm tracked the never-merge arm for three generations, then fell from 0.65 to 0.27, beginning when partner complementarity dropped below 0.8; its self-replay variant did the same (0.31), so replay was not what failed. The declinable arm neither collapsed nor won. It led at the start (0.68 against 0.60), was overtaken, and finished level with never merging (0.792 against 0.796; per-seed \(-\)0.03, +0.01, +0.01), while one model taught the curriculum alone reached 0.80 (with replay, forgetting was not a pressure recombination could relieve). In both non-obligate arms accuracy on the skills a lineage had been taught held near 0.78 and the first skill learned never eroded (0.85 \(\rightarrow\) 0.88); the obligate arm fell to 0.24 on those same skills. + +The choice of partner mattered more than whether to merge. Merging with one's own ancestor three generations back, a partner that lacks the lineage's three most recent skills but shares every convention it holds, beat merging with a contemporary in every seed (0.66 against 0.27). The ancestor supplies complementarity in time: what it lacks is exactly what the lineage has since learned, and nothing it holds was learned differently. A \emph{seed bank} plays this role in population genetics, letting a population mate with its own stored past. Averaging a model with its own earlier checkpoint is a known stabiliser in continual learning and in self-improvement loops (48, 49); the comparison against a contemporary partner under matched conditions is what this population adds. In the declinable arm the fraction of proposed merges that were declined rose from 0.44 to 1.00 across the six generations (Fig. 4C), until every lineage declined every merge and the population had become the never-merge arm by its own choice. A control arm that merges through generation 2 and never afterwards (the forced stop) finished level with the declinable arm in every seed (0.793 against 0.792; per-seed differences \(-\)0.008, \(-\)0.006, +0.011), so the declinable arm's outcome is explained by when it stopped and not by which merges it chose. A second curriculum, in which every lineage starts with the same skill so that complementarity is zero at the first generation, peaks at the third (0.70) and returns to zero, produced the same rise in declines with generation (0.44 \(\rightarrow\) 0.89). Pooled over both curricula with generation controlled, declines did not track complementarity (partial Spearman \(\rho\) = \(-\)0.07, 95\% CI \(-\)0.21 to 0.09, n = 36) but did track generation (partial \(\rho\) = 0.31). + +Three things rise with generation in both curricula: the adapters' training age, the number of skills each holds, and the arrival in every lineage of the two families whose answer conventions conflict (yes/no against 1/2). Two further curricula moved only the third. In one the conflicting pair arrives in generations 1--2 of every lineage, in the other in generations 5--6, with the four compatible families filling the rest in rotated orders, so age and skill count rise identically in both (Fig. S14). Neither the decline curve nor the collapse moved with the conflict. Declines rose with generation on the same schedule in both (0.56 \(\rightarrow\) 0.78 and 0.44 \(\rightarrow\) 0.89), and with generation controlled they did not track the presence of conflict (partial \(\rho\) = \(-\)0.09, 95\% CI \(-\)0.45 to 0.15, n = 36) but did track generation (partial \(\rho\) = 0.45). The obligate arm collapsed in both (final accuracy 0.28 and 0.39 against 0.80 and 0.78 for never merging, in every seed): the conflict-early population dipped when the pair arrived, recovered to the others' level by generation 3, and collapsed from generation 5, while the conflict-late population collapsed from generation 4 with its conflicting pair still to come. What the four curricula leave confounded is adapter age with skill count, which rise together by construction. + +A skill whose answer convention conflicts with nothing a lineage holds occupies a \emph{new locus}, a new position in the genome filled without displacing anything, and lineages accumulate loci freely (six here; half a million facts in a lifelong-editing benchmark that averages a fresh adapter per period into the accumulated one; 80). Two skills demanding different conventions for the same kind of question (``yes/no'' against ``1/2'' for a two-way choice) are \emph{alternative alleles at one locus}, and a model, like a chromosome, carries one. Where conventions disagree a merged child must err against at least one parent (SI Text S1, Proposition S2). A lineage obliged to merge pays that error every generation on every pair of conflicting conventions, and the errors accumulate into collapse. In the Latin-square curriculum the collapse began at the generation when partners stopped bringing skills a lineage lacked and started bringing conventions that clashed with the ones it held, but the conflict-arrival curricula above show that moving the clash by four generations does not move the collapse: conflicting conventions set the size of each merge's error, and something that grows with generation sets when the errors stop being repaired. Single models show the same divide: non-contradictory updates integrate safely while contradictory ones corrupt unrelated knowledge (81), and disjoint tasks make forgetting eliminable where conflicting overlap imposes a floor (82). The collapse is the second kind of knowledge arriving in a population obliged to merge. + +The declinable merge was designed as a \emph{recombination modifier}, in genetics a gene that sets how often other genes are shuffled between parents. Modifier theory holds that recombination is favoured when it assembles complementary alleles from different parents and disfavoured when it breaks combinations that already work (39, 50, 51), and that when shuffling gains nothing the \emph{reduction principle} drives its rate to zero (52), turning the lineage asexual; on that reading the declinable merge should have switched itself off as partners stopped being complementary. The controls do not support that reading here. Acceptance fell with generation whether or not partners were complementary, and a fixed schedule reproduced the outcome. What the population establishes is narrower: one bit of selection on each recombination event, or a fixed early stop, avoids the collapse of obligate merging at no cost against never merging, and the declinable version does so without knowing in advance when to stop. The result was obtained under six generations, a single base model, and replay throughout, none of which was varied. The population also had no differential reproduction, and the Fisher--Muller argument predicts that selection is what turns recombination's early lead into a level advantage, because a lineage that assembles the skills first leaves more descendants. Adding truncation selection (after every generation the lowest-scoring lineage is re-founded from the highest, keeping its own place in the curriculum) did not bear this out (Fig. S15). Selection acted every generation and lifted the population mean early, but the final levels converged: with selection, never merging reached 0.804 and the declinable merge 0.793 (below in every seed, by 0.011 \(\pm\) 0.003), against 0.796 and 0.792 without it. Recombination's early lead was the same with and without selection and gone by generation 5 in both. Under a curriculum that delivers every skill to every lineage the ceiling is what one adapter can hold (0.80 for the single model taught the whole syllabus), and sex and selection each reach it sooner without raising it. + \begin{figure*}[p]\centering % fig4 \includegraphics[width=\textwidth]{figs/fig4.pdf} -\caption{Recombination in the biological model: blending inheritance and the Fisher--Muller effect. (A) Expected rare-capability survival in a child refit from $K$ uncorrelated parents: the output-mean (blending) stays at the single-parent level --- the first-order cancellation --- while the union operator (strongest source per item, renormalised, oracle-identified) rises with parent count. (B) Multi-locus recombination of decorrelated specialists produces offspring fitter than any parent, approaching the optimum as parents are added; the best single parent and the blended average plateau below (mean $\pm$ 95\% CI).}\label{fig4} +\caption{A population of language models over six generations. (A) The set-up. Three lineages start from one frozen 1.5-billion-parameter base (Qwen2.5-1.5B). Each generation, every lineage learns one new skill from a public dataset by continuing to train its parent's adapter (300 new examples plus 150 replayed from earlier skills), may merge with a partner according to its arm's rule (weights averaged at a ratio chosen on validation data), and is tested on all six skills by a verifier; the child becomes the next parent. The six skills are taken in rotated order, so a partner knows things a lineage lacks early on (complementarity 1.0) and nothing it lacks by the end (0.0). Three training seeds. (B) Accuracy over all six skills of the best lineage (mean and 95\% CI). Never merging and merging only when it beats keeping the parent finish level (0.80 and 0.79); merging with a contemporary every generation collapses to 0.27, beginning when partners stop being complementary; a control that merges through generation 2 and then stops (dashed) matches the declinable arm in every seed, and a single model taught the whole syllabus alone (diamond) matches the population. (C) How often the declinable lineages refused a merge (bars) against partner complementarity (lines), under the rotated syllabus and under a second syllabus in which complementarity is zero at the start, peaks mid-way and returns to zero. Refusals rise with generation under both; with generation held fixed they do not track complementarity (partial Spearman $\rho = -0.07$, 95\% CI $-0.21$ to $0.09$, $n = 36$). (D--F) The simulation that motivated the design: 60 agents evolving on a rugged fitness landscape with all four mechanisms (grounded evaluation, recombination, diversity preservation, mutation) and one removed per arm (12 replicates; mean and 95\% CI). Removing grounded evaluation, so that agents are scored on agreement with the crowd instead of on the truth, collapses the population onto a confident but wrong consensus (D, F); removing recombination or diversity preservation strands it below the optimum (D) and drains diversity fastest (E). Each removal fails in its own way.}\label{fig4} \end{figure*} +\subsection*{Merge failure and its dependence on functional conflict} + +Recombination presupposes compatible parents. In biology, lineages pushed far enough apart become separate species (\emph{reproductive isolation}) through Bateson--Dobzhansky--Muller incompatibilities (42, 43), changes harmless on their own genetic background but deleterious in combination. This is the mechanism behind the mule's sterility, in which two genomes that each work cannot run in the same cell. A merged model is that exposed hybrid. In the inheritance model of the process (Fig. 5 E and F) hybrid fitness stays at the parents' level while the lineages remain compatible and then falls below the ancestor, sooner the more incompatibilities the genomes carry, and Orr showed that the number of such incompatibilities grows with the square of divergence (43). Whether a growing number of conflicts produces a fall in performance in a trained network is the question the simulation cannot answer. + +In trained networks the claim must survive a known alternative. Two networks trained separately can differ in their weights for a trivial reason: the hidden units of a network can be renumbered, and in a ReLU network each unit's incoming weights can be scaled up and its outgoing weights scaled down by the same factor, without changing what the network computes. Two networks that compute similar functions can therefore lie far apart in weight space, and averaging them gives a poor model, a \emph{coordinate barrier}. Merge barriers between independently trained networks are famously of this kind, removable by re-aligning hidden units (44) and renormalising their activations (46) before averaging, and richer symmetry groups remove more (83). A residual that alignment does not remove is also known: networks trained on different tasks keep a barrier after permutation (47), and experts diverged far from a shared base keep one with symmetries accounted for (45). What has not been asked is what the residual measures, divergence as such or conflict in what the networks compute. To separate the two I aligned pairs of networks under permutation matching combined with exact per-unit rescaling (the complete unit symmetry group of plain ReLU MLPs; 44, 46) and measured the barrier before and after (Fig. 5 A and B). Two networks trained from different initialisations on the \emph{same} task have a barrier the alignment removes almost entirely (residual \(\approx\) 0.001, the aligned merge performing at parent level): their barrier was coordinate mismatch. Two networks trained on \emph{conflicting} label maps (the same inputs, with a fraction of the classes relabelled) have a barrier the alignment leaves unchanged (0.502 \(\rightarrow\) 0.497), and the merged model is functionally dead. The aligner is validated only on a special case (exact recovery of a permuted-and-rescaled copy of a network), so the share of the barrier it removes is a lower bound on the removable share, and the residual an upper bound. Sweeping the fraction of classes in conflict traces the fall in hybrid fitness from 0.97 to 0.03. That no single model can answer one prompt two ways is a matter of information, not of training (SI Text S1, Proposition S2). What the population view adds is where the cliff sits: it moves with the share of shared inputs on which the parents' conventions contradict (Fig. 5B), and in a population that share grows whenever lineages adopt conventions independently. + +The sharpest test is whether isolation emerges with no conflicting signal anywhere, as a true Bateson--Dobzhansky--Muller incompatibility would (each lineage's changes are harmless alone). Children were diverged with no conflicting signal anywhere, using complementary class specialists and divergent input conventions, to 6.4\(\times\) the base training. No isolation emerged (residual 0.000 throughout). Instead the merge rescued the two specialists: each had forgotten the other's classes and scored about 0.50 alone, and their weight-average scored 0.955 at every divergence tested. Divergence six times the base training produced the strongest Fisher--Muller effect in the paper, and no incompatibility. The language-model tier gave the same double result in each of three training seeds (Fig. 5 C and D): conflicting conventions produce function-specific breakdown (at full conflict the merge scores 0.02, 0.12 and 0.16 on the conflicted function against 0.23--0.25 for either parent, while a budget-controlled design shows the disjoint skills merge unharmed), and over-training disjoint specialists from 1 to 12 epochs (cf. the expert-duration effect; 84) produces no isolation, the merge improving instead in every seed (0.76 \(\rightarrow\) 0.95 on the parents' private tasks). Longer expert training is reported to harm merging (84, 85) and deepening specialisation to lower feature similarity between experts (68); in the regimes tested here neither produced isolation without conflict (a complementary-class merge rescued by alignment had been seen before on label-skewed splits; 44). In every tier tested, isolation had to be provoked by functional conflict; specialisation alone did not speciate. What breaks merging is conflicting conventions on shared circuitry, not divergence as such, and this is the cost the obligate-merge arm of the six-generation population paid from its fourth generation onward, once its partners held skills it had already learned under conventions of its own (Fig. 4B). + \begin{figure*}[p]\centering % fig5 \includegraphics[width=\textwidth]{figs/fig5.pdf} -\caption{Rugged (epistatic) landscapes: risk, remedy, and population structure. (A) Outbreeding depression: the mean offspring of blindly recombined specialist parents falls below the best parent, more steeply the more rugged the landscape (NK ruggedness $K$) and the higher the recombination rate. (B) Screening candidate offspring against a verifier (directed recombination) restores the gain at every ruggedness where blind recombination fails. (C) Mating structure: the best champion arises at wide mate-pool breadth on smooth landscapes and at intermediate breadth on rugged ones. (D) Wide breadth monotonically erodes population diversity at every ruggedness (mean $\pm$ 95\% CI, 20 replicates).}\label{fig5} +\caption{Model speciation: when two lineages can no longer merge. (A, B) Small image classifiers (multilayer perceptrons) forked from one trained base. Two networks that compute the same function can still differ in their weights, because hidden units can be renumbered and rescaled without changing the output; alignment undoes this before averaging. The merge error barrier is how much worse the average of two networks is than the networks themselves. (A) Two copies trained from different random starts on the same task have a barrier that alignment removes almost entirely (0.04 to 0.001); two trained on conflicting labels (the same images, some classes relabelled) keep theirs (0.50), and their average is useless (3 replicates). (B) Sweeping the share of classes in conflict moves the merged model's accuracy from 0.97 to 0.03. (C) Language models: two specialists share a set of ambiguous questions (``sort this list'', direction unstated) and are taught opposite conventions. As the share of conflicting training grows, each parent stays good under its own convention while the merged model falls below both, in all three seeds (95\% CI shaded). (D) The control: specialists trained longer and longer on different tasks, with no conflict, merge better, not worse, in every seed. (E, F) The simulation: 20-position genotypes carrying incompatibilities of the Bateson--Dobzhansky--Muller kind. Hybrid fitness tracks the parents while lineages are compatible, then crashes, sooner the denser the incompatibilities (E), and the probability of a non-viable hybrid rises with divergence (F). What breaks merging is conflicting conventions on shared machinery, not distance or specialisation as such.}\label{fig5} \end{figure*} -\subsection*{The society: grounding, recombination, and diversity make complementary contributions} +\subsection*{Predicting merge damage before merging} -Composing the operators (Fig. 6) requires one definitional distinction first. In the inheritance model, grounding is \emph{grounded inheritance}: external samples added to the reproduction process (the data channel). In the society model, grounding is \emph{grounded evaluation}: selection weights true fitness against conformity to the population's own consensus, \texttt{g}\(\cdot\)true-fitness + (1\(-\)g)\(\cdot\)conformity, the analogue of scoring models by the crowd's approval (the fitness channel). These are related design ideas, since both couple the lineage to a non-drifting external signal, but they are different operators, and I name them separately. In the tested society (a finite agent population on a rugged NK landscape), a four-arm ablation separates the failure modes: the full system (grounded evaluation + directed recombination + diversity-preserving selection (40)) climbs to near the global optimum while keeping its specialists; removing grounded evaluation converges the population confidently on an unfit consensus (self-consumption); removing recombination strands it on local optima; removing diversity converges it prematurely to a worse answer. Each removal fails differently; the three implementations make complementary contributions \emph{under the tested conditions}; general joint necessity is not established (alternative mutation, restart, archive, or selection schemes could alter the picture). At language-model scale this composed loop remains unbuilt; it is the paper's largest stated gap. +If functional conflict is what breaks a merge, measuring it on the parents should forecast the damage before any merge is made. I tested this on thirty-nine pairs of LoRA specialists (13 training conditions \(\times\) 3 seeds), built so that three properties of a pair vary independently of one another (Fig. 3D): \emph{conflict} (the parents answer the same prompts under contradictory conventions, with their private training budgets held fixed), \emph{compatible overlap} (the parents are trained on the same prompts under the same convention, so they share data and volume without conflict), and \emph{duration} (the parents are trained longer on disjoint tasks, so their weights diverge with no conflict at all). -\begin{figure*}[p]\centering % fig6 -\includegraphics[width=\textwidth]{figs/fig6.pdf} -\caption{The tested society: grounded evaluation, recombination, and diversity preservation make complementary contributions. A finite agent population on a rugged NK landscape; selection weights true fitness against conformity to the population consensus. (A) Best real fitness: the full system approaches the global optimum; removing grounded evaluation collapses the population onto a confident, unfit consensus; removing recombination or diversity preservation strands it lower. (B) Population diversity. (C) The self-consumption signature: conformity minus true fitness (mean $\pm$ 95\% CI, 12 replicates).}\label{fig6} -\end{figure*} +Six quantities were computed on each pair before merging. Two are functional, obtained by putting the same probe questions to both parents (probes drawn without knowledge of where the conflict lies): the fraction of probes on which the parents answer differently (\emph{raw disagreement}), and the fraction on which they answer differently and both confidently (\emph{confidence-weighted conflict}, proposed here as the better proxy for merge-relevant interaction, because raw disagreement also counts the harmless case in which one parent is merely ignorant). Three describe the geometry of the parents' weight changes: the cosine similarity and the distance between the two LoRA updates, and the alignment of the two tasks' gradients at the shared base (86). The sixth is a baseline, each parent's accuracy on the other's task. The pre-registered outcome is the \emph{merge penalty}: how far the merged model falls short of the accuracy the pair would reach if each task were answered by the parent that owns it. In population genetics that shortfall is \emph{hybrid load}, the fitness a hybrid loses relative to what its parents' genes could jointly supply. -\subsection*{The limit of sex: model speciation} +Functional disagreement measured before merging predicted the merge penalty (Fig. 3 D and E). Its rank correlation with the penalty was \(\rho\) = +0.45 (+0.46 for the confidence-weighted variant), with a 95\% confidence interval excluding zero (bootstrapped over conditions, because the three seeds of one condition are not independent), and it kept \(\rho\) \(\approx\) 0.35--0.40 when each condition in turn was held out and predicted from the rest. The cosine and the distance between LoRA updates showed no detectable association, and gradient alignment carried intermediate signal. The direction agrees with three recent reports: hidden-state distance between parents tracks merging loss where four parameter-space metrics, cosine among them, do not (87); global cosine, sign conflict and subspace overlap miss functional interference between task vectors (88); and gradient distance outpredicts task-vector cosine in vision (86). Those studies are correlational or in-sample; the design here holds conditions out and adds the control below. At this sample size the differences between predictors are not individually significant, only these baselines were tested, and three seeds leave substantial uncertainty about generalisation, though the functional measures led within every seed taken alone (Supplementary Information, Table S2). -Recombination presupposes compatible parents. In biology, lineages pushed far enough apart become separate species (\emph{reproductive isolation}) through Bateson--Dobzhansky--Muller incompatibilities (41, 42): changes harmless on their own genetic background but deleterious in combination --- the mechanism behind the mule's sterility and the inviability of many between-species crosses, in which two genomes that each work perfectly cannot run in the same cell. A merged model is exactly the exposed hybrid. I built the biological model of the process (Fig. 7A): hybrid fitness tracks the parents while compatible, then peels off and crashes below the ancestor; the isolation cliff arrives earlier the denser the incompatibilities; and the incompatibility \emph{count} snowballs quadratically with divergence (42). Note that a super-linear count does not by itself entail a sharp performance cliff without the count-to-effect-size link, which the biological model supplies under its assumptions and any neural test must establish separately. - -In trained networks, the claim must survive a known alternative: merge barriers between independently trained networks are famously \emph{coordinate artefacts}, removable by re-aligning hidden units (43); richer symmetry groups remove more (44), with known failures beyond the shared-data regime (45). I therefore aligned under the composition of permutation matching and exact per-unit rescaling (the unit symmetry group of plain ReLU MLPs, as the search space) and decomposed the barrier (Fig. 7 C and D): two networks trained from different initialisations on the \emph{same} task have a barrier that this alignment removes essentially entirely (residual \(\approx\) 0.001, the aligned merge performing at parent level): coordinate, not functional; two networks trained on \emph{conflicting} label maps have a barrier the same alignment leaves largely unchanged (0.502 \(\rightarrow\) 0.497), with the merged model functionally dead. The tested alignment removes the same-task barrier but leaves the conflict-associated barrier intact, supporting a functional-conflict interpretation without proving optimal alignment: exact recovery of a permuted-and-rescaled copy validates a special case, so the removable share is a lower bound and the residual an upper bound. Sweeping conflict traces the cliff as hybrid fitness, 0.97 \(\rightarrow\) 0.03. The conflict floor itself is information-theoretic (no single model can satisfy contradictory conventions; SI Appendix, Proposition S2), with the framework's role being the \emph{structure around it}: which divergences generate conflict, and what moves the cliff. - -The pre-registered \emph{emergent test} constrains the claim most: true BDM incompatibilities are emergent (each lineage's changes harmless alone), so I let children diverge with \emph{no conflicting signal anywhere}, using complementary class specialists and divergent input conventions, to 6.4\(\times\) the base training. No isolation emerged (residual 0.000 throughout); instead the merge \emph{rescued} the two catastrophically-forgetting specialists (parents \(\approx\) 0.50, merge \(\approx\) 0.955, a sustained Fisher--Muller rescue). The same double result appears at the language-model tier (Fig. 7 E and F): conflicting conventions produce \emph{function-specific} hybrid breakdown (the merge scores below both parents on the conflicted function, while a budget-controlled design shows the disjoint skills merge unharmed), and over-training disjoint specialists 1\(\rightarrow\)12 epochs (cf. the merging literature's expert-duration effect; 46) produces no isolation at all --- the merge improves. Across every tier tested, isolation had to be provoked by functional conflict; specialisation alone did not speciate --- a bound on the analogy that sharpens the design rule: what breaks merging is conflicting conventions on shared circuitry, not divergence per se. - -\begin{figure*}[p]\centering % fig7 -\includegraphics[width=\textwidth]{figs/fig7.pdf} -\caption{Model speciation at three tiers. (A) Biological model: hybrid fitness tracks the parents while lineages are compatible, then falls to inviability; the denser the incompatibilities, the earlier the fall. (B) The isolation cliff: probability of hybrid inviability against divergence, by incompatibility density. (C) Trained networks: the merge error barrier between two MLPs before and after permutation-and-rescaling alignment --- the same-task/different-start barrier is a coordinate artefact (removed by alignment); the conflicting-task barrier is left essentially unchanged. (D) Sweeping the fraction of conflicting classes: the residual barrier rises while merged-model accuracy falls from 0.97 to 0.03. (E) Language models (0.5B LoRA children of a shared base): on shared ambiguous prompts each parent performs under its own convention while the merged model falls below both --- function-specific hybrid breakdown. (F) Divergence without conflict: over-training disjoint specialists from 1 to 12 epochs produces no isolation; the merged model tracks or exceeds the parents throughout.}\label{fig7} -\end{figure*} - -\subsection*{A controlled predictive test: functional conflict, measured pre-merge, predicts merge damage} - -The framework's prediction-level claim was put to a designed test (Fig. 3C). Thirty-nine parent pairs (13 conditions \(\times\) 3 seeds; rows are not independent --- parents share task-data seeds across conditions, so inference is condition-clustered, and because shared seeds also couple rows \emph{across} conditions I report per-seed and leave-one-seed-out sensitivity alongside) span three axes decorrelated by construction: \emph{conflict} (contradictory conventions on shared prompts, private budgets fixed), \emph{compatible overlap} (the same shared prompts under the same convention --- overlap and volume without conflict), and \emph{duration} (weight divergence with zero conflict). Before merging, six predictors are computed: \emph{confidence-weighted functional conflict} (bilateral confident disagreement on probes drawn blind to where conflict lives --- a proposed proxy for merge-relevant interactions, motivated by the observation that raw disagreement counts harmless complementation, one parent merely ignorant, as conflict), raw disagreement, gradient alignment at the shared base (47), LoRA-delta cosine and distance, and a cross-task performance baseline. The pre-registered outcome is the merge penalty against oracle parent potential (the analogue of \emph{hybrid load}, the fitness a hybrid loses relative to what its parents' genes could jointly supply), also reported against best- and mean-parent references because the predictor ordering is sensitive to that choice. - -Across this controlled grid, pre-merge functional disagreement predicted merge penalties (clustered bootstrap CIs excluding zero; held-out leave-one-condition-out \(\rho\) \(\approx\) 0.35--0.40), whereas LoRA-delta cosine and L2 showed no statistically detectable association; gradient alignment carried intermediate signal. Head-to-head predictor differences are not individually significant at this sample size; only these baselines were tested; and with three seeds, uncertainty about seed generalisation remains substantial --- though the seed sensitivity favours the functional measures (per-seed \(\rho\) stable at +0.37 to +0.53 in each seed alone, geometry \(\approx\) 0 in every seed, gradient alignment seed-unstable at \(-\)0.11 to \(-\)0.55). Two further results bound the claim: the initial two-axis grid's best predictor was delta-cosine (\(\rho\) = +0.60) --- an overlap artefact that the compatible-overlap control was added to expose, and did (collapse to +0.03); and the pre-registered internal prediction that confidence weighting would beat raw disagreement \emph{failed} (they are statistically indistinguishable as rank predictors), so the present evidence favours functional disagreement generally, not the DMI-specific refinement. The framework motivated the measurement and the controls; their success does not validate the specifically population-genetic mechanism. Whether the prediction improves a budget-matched operator choice, and whether it generalises to unfamiliar conflict structures and real task pairs, are the experiment's open front. - -Headline quantitative results, with sample sizes, uncertainty, and outcome definitions, are collected in SI Appendix, Table S2. +The compatible-overlap control produced a finding of its own. In an initial grid that varied only conflict and duration, the best predictor was the cosine between LoRA updates (\(\rho\) = +0.60). Parents trained on the same prompts have aligned weight changes and also merge worse, so the cosine was reading shared training data, not incompatibility: adding pairs that share prompts without conflicting collapsed its correlation to +0.03. Any merge predictor validated on a grid in which conflict and shared data vary together inherits this artefact. I know of no study that has controlled for it, and it bears on the merge-prediction literature (86--88) independently of the biology. One pre-registered prediction failed: confidence weighting did not beat raw disagreement as a rank predictor, so the evidence supports functional disagreement in general and not the incompatibility-specific refinement. Headline quantitative results, with sample sizes and uncertainty, are collected in Supplementary Information, Table S2. \section*{Discussion} -\textbf{Design rules.} As engineering guidance, the results reduce to rules that an operator of a model population can apply, answering the four decisions posed in the Introduction. \emph{Ground every generation} in verified reality --- a few percent retained most diversity in the tested settings --- but price the rarest capabilities individually (observation probability \texttt{1 \(-\) e\textasciicircum{}{\(-\)m\(\cdot\)p}} per batch under unstratified sampling), consider targeted sampling for the deep tail, and use recombination to recover rare capabilities still retained across complementary parents. \emph{Merge, don't blend, when there is headroom}: keep specialists intact and route, or breed-and-screen candidate merges, whenever the naive average is far from ceiling; plain averaging is adequate only where a strong base has already composed the skills. \emph{Match the operator to entanglement}: merge freely when skills are additive; sparingly, with offspring selection, when they entangle; and expect the champion-optimal mating breadth to narrow as landscapes roughen. \emph{Preserve diversity as a first-class objective}, because selection can only preserve variety that exists, and in the tested society its removal produced a distinct failure mode. \emph{Before merging, measure functional conflict} --- cheap, pre-merge, and in the controlled setting predictive where the tested weight-distance baselines were not; and \emph{do not treat divergence or specialisation alone as evidence of incompatibility} --- in every regime tested here, what broke merging was conflicting conventions on shared circuitry, which is the thing to detect. +\textbf{Design rules.} \emph{Ground every generation} in verified reality. A few percent of real data kept most of the diversity here, but what protects a capability is the number of real examples of it that arrive each generation, not their share of the training set (the one-migrant-per-generation rule, 35; the few hundred documents that poison a model of any size, 62). The rarest capabilities therefore need a budget of about \texttt{1/p} real examples per generation, real data aimed at them, or a parent that still holds them. \emph{Route or screen rather than average whenever the average falls short of the best parent on any task.} On the hard families routing (sending each input to the specialist that owns it) beat weight averaging by 0.09 in every seed and screening candidate merges beat it by 0.07 (Fig. 3C), and the plain average lost nothing only where the base already answered at ceiling. \emph{Stop recombining early, by rule or by test.} A fixed early stop, or scoring the unchanged parent beside every candidate merge, avoided the collapse of obligate merging at no cost against never merging. \emph{When a partner must be found, prefer a stored ancestor to a divergent contemporary}, which shares every convention and beat a contemporary in every seed. \emph{Preserve diversity as an objective in itself}, since selection can only keep what exists. \emph{Before merging, measure functional conflict} (whether the parents answer the same prompts differently), which was cheap and predictive where weight distance was not; divergence or specialisation alone is no evidence of incompatibility, since what broke merging in every regime was conflicting conventions. The inheritance model adds one untested rule: merge sparingly, and with offspring selection, when skills are entangled (40; Fig. S13). -\textbf{Continual learning at the population scale.} Within a single network, the discipline's remedies for forgetting are this framework's operators writ small. Rehearsal and replay of stored data (26, 27) is grounded inheritance within one lineage, and the replay fractions the field settled on empirically, on the order of 1\% for instruction tuning (48) and 5\% to 25\% by distribution-shift strength in continual pretraining (49), sit where the biological model's operational threshold lies. \emph{Pseudo-rehearsal}, the replay of a network's own generated samples, proposed as a cure in 1995 (50) and revived as generative replay (51), is precisely the ungrounded null studied here: immigration from a drifting source, benign for one hop, compounding over generations, with verifier-filtering (29, 52) converting it back into grounding. Parameter isolation (53), including frozen-base adapters, which forget far less (54), is engineered decorrelation; complementary-learning-systems consolidation (55--57) is the periodic adapter-into-base merge; the recent turn to merging as a continual-learning mechanism (58--61) applies recombination within one lineage over time, where this paper applies it across lineages; and the observation that rare examples and long-tail knowledge are forgotten first (62--64) is tail extinction seen one model at a time. The mechanisms differ (forgetting is largely deterministic interference, collapse is sampling drift) but the victims and the remedies coincide, and to my knowledge no prior work carries population-genetic formalism into continual learning. Read into that field, the results offer: (i) an equilibrium theory for the replay ratio, with the sharper prediction that the required fraction is set by the rarest capability one refuses to lose (the \texttt{1 \(-\) e\textasciicircum{}{\(-\)m\(\cdot\)p}} law) rather than by average loss, testable against published replay sweeps; (ii) a \emph{failure theory for generative replay}: self-generated rehearsal is safe for short horizons and compounds into collapse across generations unless verifier-filtered back into grounding (29, 50--52); (iii) \emph{pre-merge interference prediction with a mechanism}: where the current state of the art fits regressions over candidate metrics (47), the functional-conflict measure arrives at a convergent signal from principle and comes with an operator prescription --- when conflict is high, do not average; route or breed-and-screen; (iv) a candidate \emph{decision rule for the consolidate-versus-stay-modular question} that currently splits the field's practice (keep adapters separate vs merge them; 57--61): union-preserving operators where headroom exists, fusion where the base composes, consolidation as the slow-store step; and (v) \emph{tail monitoring as the leading indicator}: continual-learning evaluation that averages over capabilities hides exactly the losses that drift theory says come first and, past a threshold, become irreversible. On that last point I note the standing objection that apparent forgetting can be skewed task-inference over latent capability rather than erasure (65); the irreversibility results here concern oracle-measured behavioural distributions, and distinguishing latent from extinct capability at language-model scale is an open experiment whose outcome would be decisive for both readings. +\textbf{Continual learning at the population scale.} Continual learning, the machine-learning field that teaches one network new things without erasing old ones, has found remedies for forgetting that are this framework's operators applied to a single lineage. Rehearsal of stored real data (28, 29) is grounding, and the replay fractions the field has settled on (about 1\% in instruction tuning, 89; 5\% to 25\% in continual pretraining, 90) look inconsistent only as fractions: at typical batch sizes each delivers tens to thousands of replayed examples of a skill per step, far more than the ten copies per generation that hold 95\% of diversity. Pseudo-rehearsal, replaying the network's own generated samples (91, 92), is grounding with no real data at all, harmless over one step and compounding over generations (Fig. 2) unless the samples are verified (33, 93). Adapters on a frozen base (94, 95) keep lineages decorrelated, consolidating them into the base is the slow store of complementary-learning-systems models (96--98), and merging as a continual-learning mechanism (72, 73, 80, 99, 100) accumulates new skills and breaks on contradictory conventions (81, 82), as the six-generation population did. That rare knowledge is forgotten first (101--103) is tail extinction observed one model at a time: forgetting and collapse differ in mechanism (interference against sampling drift) but lose the same items to the same remedies. -\textbf{What is borrowed and what is new.} The collapse-as-drift diagnosis is established prior work (21--25); so are the empirical facts that merges can beat parents, that decorrelated parents merge better, and that naive averaging loses to interference-aware or routed merges (4, 66, 67), that model populations can climb (5, 8--10), and that merge success admits ML-native predictors (47, 68), correlational where this framework supplies mechanism; the reading of sex as an algorithm for mixability in the theory of computation (69) anticipated the transfer before model merging existed. New here is the framework-level synthesis --- inheritance, diversity, and compatibility as managed quantities --- together with: the conservation law for blending inheritance and its operator boundaries; the per-item grounding floor; the society ablation with its complementary failure modes; model speciation as a named, tested question, with the coordinate-versus-functional decomposition under permutation-and-rescaling alignment and the emergent null that bounds it; and the controlled predictive test with its controls. I claim the framework generated these measurements and experiments; I do not claim that their outcomes validate a uniquely population-genetic mechanism, and one refinement it proposed was not supported. +Two results carry over directly. A pre-merge test, disagreement between the parents on shared probes, predicts interference where weight distance does not, with the control for shared training data that earlier regression (86) and distance (87, 88) studies lacked. Weight distance fails because two adapters that learned the same skill in different runs are nearly orthogonal (cosine 0.006) yet merge with no penalty: most of a weight difference is neutral, like most DNA substitutions (Supplementary Information, Text S3). Whether to consolidate specialists or keep them modular (72, 73, 98--100) follows the same rule: route while the plain average falls short of the best parent, average once it does not. Since drift removes rare items first and a lost item is recoverable only while some parent or source still holds a copy (Fig. S3), the number to watch is accuracy on the rarest items, not the mean. Apparent forgetting can also be task misrecognition rather than lost capability (104), which the oracle excludes at the small tiers only. -\textbf{Limits and open problems.} The demonstrations are deliberately small: closed-form where small is a virtue, sign-level and seed-replicated at the language-model tier, on constructed task families with a trivially separable router and one model lineage (Qwen, 0.5B--7B). The composed society has not been built at language-model scale. The predictive test's next bars, in order of value: generalisation to \emph{unfamiliar} conflict structures and real task pairs; a demonstrably better \emph{budget-matched} merging decision; then scale replication. Beyond engineering, the framework's hardest open problem is the fitness function itself: selection optimises what is measured, and for knowledge systems the persuasive and the true compete --- grounding against a reality that can refuse is the only anchor I trust, and institutionalising that anchor (verification, replication, and challenge among models) is the society-level problem this paper poses but does not solve. What biology receives in return is a new model system: populations of learners where every genotype, environment, and mating decision is observable and manipulable --- where the evolution of sex can be studied with interventions (unbounded parents, offspring preview, directed mating) that no living system permits. +\textbf{Three theories of heredity.} A model population runs on all three historical accounts of inheritance at once. A child continues training its parent's adapter, so what the parent learned in its lifetime passes on (Lamarck); weight averaging blends the parents (Jenkin); and a verifier selects among variants (Darwin). Biology discarded the first for want of a mechanism and the second because blending would swamp any new variant. Here Lamarckian transmission is what lets a lineage accumulate skills (the never-merge arm reached 0.80 without any recombination). Blending dilutes whichever parent's skill is rarest, so routing and offspring screening pay only where the plain average falls short of the best parent (Fig. 3B--C). Grounded selection is the only operator that looks outside the population, and removing it is the one ablation that fails outright: a population selected on agreement with its own consensus settles at 0.48 against 0.78 for the full society (Fig. 4D--F), confident and wrong. -\textbf{Creative diversity.} Collapse is not confined to facts and skills. Homogenisation of \emph{style} is already measurable: models trained on model output lose lexical and syntactic diversity across generations (70), writing produced with model assistance is individually better but collectively less diverse than writing produced without it (71, 72), and the house styles of the large assistants are recognisable enough that their tics serve as signatures. In this framework these are the same phenomenon at a different locus. A voice is a distribution over rare stylistic variants, exactly the tail that drift erases first and that blending inheritance averages into a common register. The remedies transfer unchanged, though they are untested here: grounding on stylistically diverse human sources, decorrelated lineages maintained as distinct voices rather than merged into one, union-preserving recombination over blending, and selection that rewards being different as well as being good. Whether these preserve measured stylistic diversity at scale is an open experiment that the framework specifies. +\textbf{Recombination's speed advantage.} In the six-generation population recombination bought speed and not level: an early lead, then parity with never merging once every skill had reached every lineage. The Fisher--Muller argument (that sex speeds adaptation by combining beneficial variants that arose in different individuals) predicts parity in exactly this case, since the curriculum guaranteed every lineage every skill, and that letting the faster lineages leave more descendants should break the parity, which it did not: selected populations reached the same ceiling, recombination's lead again gone by generation 5. The ceiling is what one adapter can carry, and sex and selection only reach it sooner. The inheritance-model society climbs under the same operators (Fig. 4D--F) because no curriculum delivers its skills; a language-model population in which some skills come only by merging would separate the two regimes. Three refinements the framework proposed were not supported: weighting disagreement by confidence did not improve the merge predictor, the declinable merge did not track complementarity as a recombination modifier (a gene that sets how often other genes are shuffled) would, and selection did not turn recombination's speed advantage into a level advantage. What population genetics supplied was the questions, the nulls and the controls, not a mechanism only it can explain. -\textbf{Outlook: the evolution of language models.} The Introduction's premise, that the model ecosystem is an evolving population, is also a forecast about where these results matter next. Language-model development is consolidating around exactly the operators studied here: synthetic-data flywheels (inheritance), merging and routing of specialist fine-tunes (recombination and population structure), verifier-gated data pipelines (grounded selection), and periodic consolidation of adapters into new bases. If coming model generations remain what the tested regimes found, freely recombinable in the absence of conflicting conventions, then the ecosystem evolves as one interbreeding population, and the levers that matter are grounding budgets priced per rare capability and diversity preserved deliberately. If instead long-horizon specialisation at scale begins to produce emergent incompatibility, as the expert-training-duration observations hint (46) and the small-scale null here does not rule out, then lineages will begin to speciate, and the ecosystem's future is a set of diverging species connected by routing rather than by merging. Which of the two it will be is measurable now, with the pre-merge conflict instruments this paper tested. +\textbf{Open problems.} The hardest is the fitness function. Selection optimises what is measured, and for knowledge the persuasive and the true compete; a reality that can refuse is the only anchor, and building it into institutions (verification, replication, challenge among models) is a problem this paper poses and does not solve. Whether speciation emerges at scale is the second: here isolation had to be provoked by conflicting conventions, and whether long specialisation supplies such conflict on its own (84, 85) needs a population diverged far longer than any here. Collapse also reaches style: models trained on model output lose lexical and syntactic diversity (105) and model-assisted writing is individually better but collectively less diverse (106, 107), because a voice is a distribution over rare variants, exactly what drift erases first and blending averages away; whether the remedies transfer is untested. + +\textbf{Outlook.} Language-model development is consolidating around the operators studied here: synthetic-data flywheels (inheritance), merging and routing of specialist fine-tunes (recombination and population structure), verifier-gated pipelines (grounded selection), and periodic consolidation of adapters into new bases. The forecast is a population that recombines early and consolidates late, until conflicting conventions split it into lineages connected by routing instead of merging, and the pre-merge conflict test can measure which way it goes. Biology receives in return a model system in which every genotype, environment and mating decision is observable and manipulable, and the evolution of sex can be studied with interventions (unbounded parents, offspring preview, directed mating) no living system permits. \section*{Materials and Methods} -\textbf{Biological-model tier.} Pure NumPy/SciPy Wright--Fisher simulator over \texttt{K}-item distributions (knowledge as \texttt{p\_t}; Zipf-tailed truth \texttt{p*}; drift--grounding--refit generations), extended with a learning kernel (smoothing/sharpening refit), multi-locus genotypes on additive and Kauffman NK landscapes, n-parent crossover, and finite-population society loops. All parameters live in per-experiment YAML configs; every run derives all randomness from one master seed (\texttt{SeedSequence.spawn}) and is bitwise reproducible; scientific-validation tests assert the closed forms (heterozygosity decay, immigration equilibrium, closed-form union) to <0.5\% and run in CI with 151 further correctness tests. +Full procedures, parameters, and replicate counts are in Supplementary Information, Methods. Appendix 1 (\emph{The figures explained}) restates every main and supplementary figure with a legend that explains the machine-learning experiment behind it for readers from biology. -\textbf{Neural tier.} Trained-network experiments realise the same abstractions with an exact oracle: histogram/RNN/MLP/VAE generators on a synthetic mode universe (the histogram model reduces the harness exactly to the biological model --- the bridge gate), and a convolutional VAE on MNIST with a frozen CNN oracle (98.5\% mode accuracy; confusion matrix recorded as the measurement floor). Speciation experiments fork no-BatchNorm MLPs (784--512--512--10) from a shared base, weight-average, and measure linear-mode-connectivity error barriers before and after alignment; alignment composes deterministic Git Re-Basin permutation matching with exact per-unit scale canonicalisation (the unit symmetry group of this class, as the alignment search space; control recovery does not establish global optimality), gated by exact recovery of a permuted-and-rescaled copy. +\textbf{Inheritance-model tier.} A NumPy/SciPy Wright--Fisher simulator over \texttt{K}-item distributions (knowledge as \texttt{p\_t}, Zipf-tailed truth \texttt{p*}, and drift--grounding--refit generations), extended with a learning kernel (a smoothing and a sharpening knob on the refit), multi-locus genotypes on additive and Kauffman NK landscapes, n-parent crossover, and finite-population loops. All parameters live in per-experiment YAML configs. Every run derives its randomness from one master seed (\texttt{SeedSequence.spawn}) and is bitwise reproducible. Scientific-validation tests assert the closed forms to within 0.5\% and run in CI alongside 151 further correctness tests. -\textbf{Language-model tier.} LoRA specialists (rank 16) on procedurally generated task families with an exact-match verifier, on frozen Qwen2.5-Instruct bases (0.5B on one 16 GB GPU; 7B on one L40S). Operators: weight-space merges (soup/TIES via adapter arithmetic), per-input routing, and Dirichlet-sampled offspring populations screened on held-out validation splits. Multi-seed protocols fix the test sets and vary the training seed. The predictive test computes all predictors pre-merge (generation confidence from token log-probabilities; base-model gradient cosines; exact r-space LoRA-delta geometry) and evaluates merges on held-out tests; robust statistics (condition-clustered bootstrap, paired predictor contrasts, leave-one-condition-out prediction, multi-reference outcomes) are produced by a committed script. Statistical, per-seed reproducibility is documented for GPU tiers. +\textbf{Neural tier.} Trained-network experiments realise the same abstractions against an exact oracle. Histogram, RNN, MLP and VAE generators run on a synthetic mode universe, where the histogram model reduces the harness exactly to the inheritance model (the bridge gate), and a convolutional VAE runs on MNIST with a frozen CNN oracle at 98.5\% mode accuracy (its confusion matrix is recorded as the measurement floor). Speciation experiments fork no-BatchNorm MLPs (784--512--512--10) from a shared base, weight-average them, and measure the error barrier along the straight line between the two weight vectors (the linear-mode-connectivity barrier) before and after alignment. Alignment composes deterministic Git Re-Basin permutation matching with exact per-unit scale canonicalisation, the unit symmetry group of this architecture class taken as the search space, and is gated by exact recovery of a permuted-and-rescaled copy. Control recovery does not establish global optimality. + +\textbf{Language-model tier.} LoRA specialists (rank 16) on procedurally generated task families with an exact-match verifier, on frozen Qwen2.5-Instruct bases (0.5B on one 16 GB GPU; 7B on one L40S). Operators: weight-space merges via adapter arithmetic (the plain weight average, or soup, and TIES, which reconciles the sign of each parameter change across parents before averaging; 4), per-input routing, and Dirichlet-sampled offspring populations screened on held-out validation splits. The six-generation population uses the Qwen2.5-1.5B base model, six public datasets with per-family exact-match or execution verifiers, and rank-16 adapters continued from the parent adapter each generation (300 new and 150 replay examples, 3 epochs), merged over the weight grid {0.5/0.5, 0.3/0.7, 0.7/0.3} chosen on 20 validation items per family and reported on 60 held-out test items, with the unchanged parent as a further candidate in the declinable arm; three training seeds. Multi-seed protocols fix the test sets and vary the training seed. The predictive test computes all predictors pre-merge (generation confidence from token log-probabilities, base-model gradient cosines, and LoRA-delta geometry computed exactly in the adapters' low-rank factor space) and evaluates merges on held-out tests. Its rows are not independent, because parents share task-data seeds across conditions, so inference is condition-clustered and per-seed and leave-one-seed-out sensitivity are reported alongside; a committed script produces these statistics. Statistical, per-seed reproducibility is documented for the GPU tiers. \textbf{Data and code availability.} All code, configs, seeds, results artifacts (with content hashes), figures, and a one-command reproduction script will be deposited openly (repository + archived DOI) on publication; every figure in this paper regenerates from committed artifacts without re-simulation. +\section*{Acknowledgements} + +This work was done in close collaboration with Claude Opus 5 and Claude Fable 5.1 (Anthropic). I conceived the framework and the population-genetic reading, chose the questions and the experiments, set the pre-registered predictions and falsifiers, directed every stage, judged the results and edited the text; the models contributed to the experimental design, wrote the code and ran the experiments under my direction, performed the analyses and drafted the text. I take full responsibility for the content. I thank Imperial College London for funding. + \section*{References} \begin{enumerate} @@ -148,6 +182,7 @@ Headline quantitative results, with sample sizes, uncertainty, and outcome defin \item Y. Zhang, et al., Nature-inspired population-based evolution of large language models (GENOME). arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2503.01155. \item J. Abrantes, et al., Competition and attraction improve model fusion (M2N2). \emph{Proc. Genet. Evol. Comput. Conf.} (2025). https://doi.org/10.48550/arXiv.2508.16204. \item V. Subramaniam, et al., Multiagent finetuning: Self-improvement with diverse reasoning chains. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2501.05707. +\item Y. Hu, Y. Yao, N. Zhang, H. Chen, S. Deng, Exploring model kinship for merging large language models. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2410.12613. \item NVIDIA (B. Adler, et al.), Nemotron-4 340B technical report. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2406.11704. \item M. Abdin, et al., Phi-4 technical report. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2412.08905. \item Y. Wang, et al., Self-Instruct: Aligning language models with self-generated instructions. \emph{Proc. Annu. Meet. Assoc. Comput. Linguist.} (2023). https://doi.org/10.48550/arXiv.2212.10560. @@ -158,6 +193,7 @@ Headline quantitative results, with sample sizes, uncertainty, and outcome defin \item J. S. Park, et al., Generative agents: Interactive simulacra of human behavior. \emph{Proc. ACM Symp. User Interface Softw. Technol.} (2023). https://doi.org/10.48550/arXiv.2304.03442. \item T. Guo, et al., Large language model based multi-agents: A survey of progress and challenges. \emph{Proc. Int. Joint Conf. Artif. Intell.} (2024). https://doi.org/10.48550/arXiv.2402.01680. \item N. Tomasev, et al., Virtual agent economies. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2509.10147. +\item A. Livnat, C. Papadimitriou, Sex as an algorithm: The theory of evolution under the lens of computation. \emph{Commun. ACM} \textbf{59}, 84--93 (2016). \item I. Shumailov, et al., AI models collapse when trained on recursively generated data. \emph{Nature} \textbf{631}, 755--759 (2024). \item J. P. Crutchfield, S. Whalen, Structural drift: The population dynamics of sequential learning. \emph{PLOS Comput. Biol.} \textbf{8}, e1002510 (2012). \item S. Riis, Drift and selection in LLM text ecosystems. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2604.08554. @@ -166,25 +202,64 @@ Headline quantitative results, with sample sizes, uncertainty, and outcome defin \item M. McCloskey, N. J. Cohen, Catastrophic interference in connectionist networks: The sequential learning problem. \emph{Psychol. Learn. Motiv.} \textbf{24}, 109--165 (1989). \item R. M. French, Catastrophic forgetting in connectionist networks. \emph{Trends Cogn. Sci.} \textbf{3}, 128--135 (1999). \item H. J. Muller, The relation of recombination to mutational advance. \emph{Mutat. Res.} \textbf{1}, 2--9 (1964). +\item S. Alemohammad, et al., Self-consuming generative models go MAD. \emph{Int. Conf. Learn. Represent.} (2024). https://doi.org/10.48550/arXiv.2307.01850. +\item Q. Bertrand, A. J. Bose, A. Duplessis, M. Jiralerspong, G. Gidel, On the stability of iterative retraining of generative models on their own data. \emph{Int. Conf. Learn. Represent.} (2024). https://doi.org/10.48550/arXiv.2310.00429. \item B. Yi, Q. Liu, Y. Cheng, H. Xu, Escaping model collapse via synthetic data verification. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2510.16657. \item M. Gerstgrasser, et al., Is model collapse inevitable? Breaking the curse of recursion by accumulating real and synthetic data. \emph{Conf. Lang. Model.} (2024). https://doi.org/10.48550/arXiv.2404.01413. -\item S. Wright, Evolution in Mendelian populations. \emph{Genetics} \textbf{16}, 97--159 (1931). \item L. S. Mills, F. W. Allendorf, The one-migrant-per-generation rule in conservation and management. \emph{Conserv. Biol.} \textbf{10}, 1509--1518 (1996). -\item F. Jenkin, The origin of species [review]. \emph{North Br. Rev.} \textbf{46}, 277--318 (1867). -\item J. Pari, S. Jelassi, P. Agrawal, Collective model intelligence requires compatible specialization. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2411.02207. +\item M. Wortsman, et al., Model soups: Averaging weights of multiple fine-tuned models improves accuracy without increasing inference time. \emph{Proc. Int. Conf. Mach. Learn.} (2022). https://doi.org/10.48550/arXiv.2203.05482. \item R. A. Fisher, \emph{The Genetical Theory of Natural Selection} (Clarendon Press, 1930). \item H. J. Muller, Some genetic aspects of sex. \emph{Am. Nat.} \textbf{66}, 118--138 (1932). -\item E. J. Hu, et al., LoRA: Low-rank adaptation of large language models. \emph{Int. Conf. Learn. Represent.} (2022). https://doi.org/10.48550/arXiv.2106.09685. -\item S. A. Kauffman, S. Levin, Towards a general theory of adaptive walks on rugged landscapes. \emph{J. Theor. Biol.} \textbf{128}, 11--45 (1987). +\item S. P. Otto, M. W. Feldman, Deleterious mutations, variable epistatic interactions, and the evolution of recombination. \emph{Theor. Popul. Biol.} \textbf{51}, 134--147 (1997). \item A. R. Templeton, ``Coadaptation and outbreeding depression'' in \emph{Conservation Biology: The Science of Scarcity and Diversity}, M. E. Soulé, Ed. (Sinauer, 1986), pp. 105--116. -\item J. Lehman, K. O. Stanley, Abandoning objectives: Evolution through the search for novelty alone. \emph{Evol. Comput.} \textbf{19}, 189--223 (2011). +\item M. Tomassini, \emph{Spatially Structured Evolutionary Algorithms: Artificial Evolution in Space and Time} (Springer, 2005). \item H. A. Orr, The population genetics of speciation: The evolution of hybrid incompatibilities. \emph{Genetics} \textbf{139}, 1805--1813 (1995). \item H. A. Orr, M. Turelli, The evolution of postzygotic isolation: Accumulating Dobzhansky--Muller incompatibilities. \emph{Evolution} \textbf{55}, 1085--1094 (2001). \item S. K. Ainsworth, J. Hayase, S. Srinivasa, Git Re-Basin: Merging models modulo permutation symmetries. \emph{Int. Conf. Learn. Represent.} (2023). https://doi.org/10.48550/arXiv.2209.04836. -\item T. Li, Z. Shen, Scaling linear mode connectivity and merging to billion-parameter pretrained transformers. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2606.23607. \item E. Sharma, D. M. Roy, G. K. Dziugaite, The non-local model merging problem: Permutation symmetries and variance collapse. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2410.12766. +\item K. Jordan, H. Sedghi, O. Saukh, R. Entezari, B. Neyshabur, REPAIR: REnormalizing permuted activations for interpolation repair. \emph{Int. Conf. Learn. Represent.} (2023). https://doi.org/10.48550/arXiv.2211.08403. +\item G. Stoica, et al., ZipIt! Merging models from different tasks without training. \emph{Int. Conf. Learn. Represent.} (2024). https://doi.org/10.48550/arXiv.2305.03053. +\item A. Kleiman, G. K. Dziugaite, J. Frankle, S. Kakade, M. Paul, Soup to go: Mitigating forgetting during continual learning with model averaging. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2501.05559. +\item X. Yuan, et al., Superficial self-improved reasoners benefit from model merging. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2503.02103. +\item N. H. Barton, A general model for the evolution of recombination. \emph{Genet. Res.} \textbf{65}, 123--144 (1995). +\item S. P. Otto, T. Lenormand, Resolving the paradox of sex and recombination. \emph{Nat. Rev. Genet.} \textbf{3}, 252--261 (2002). +\item L. Altenberg, M. W. Feldman, Selection, generalized transmission and the evolution of modifier genes. I. The reduction principle. \emph{Genetics} \textbf{117}, 559--572 (1987). +\item T. Fukuda, H. Kera, K. Kawamoto, Adapter merging with centroid prototype mapping for scalable class-incremental learning. \emph{Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit.} (2025). https://doi.org/10.48550/arXiv.2412.18219. +\item D. Shenaj, O. Bohdal, T. Ceritli, M. Ozay, P. Zanuttigh, U. Michieli, K-Merge: Online continual merging of adapters for on-device large language models. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2510.13537. +\item J. Lehman, K. O. Stanley, Abandoning objectives: Evolution through the search for novelty alone. \emph{Evol. Comput.} \textbf{19}, 189--223 (2011). +\item S. Wright, Evolution in Mendelian populations. \emph{Genetics} \textbf{16}, 97--159 (1931). +\item E. Dohmatob, Y. Feng, P. Yang, F. Charton, J. Kempe, A tale of tails: Model collapse as a change of scaling laws. \emph{Proc. Int. Conf. Mach. Learn.} (2024). https://doi.org/10.48550/arXiv.2402.07043. +\item E. Dohmatob, Y. Feng, A. Subramonian, J. Kempe, Strong model collapse. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2410.04840. +\item A. Garg, S. Bhattacharya, P. Sur, Preventing model collapse under overparametrization: Optimal mixing ratios for interpolation learning and ridge regression. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2509.22341. +\item A. T. Suresh, A. Thangaraj, A. N. K. Khandavally, Rate of model collapse in recursive training. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2412.17646. +\item J. Kazdan, et al., Collapse or thrive? Perils and promises of synthetic data in a self-generating world. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2410.16713. +\item A. Souly, et al., Poisoning attacks on LLMs require a near-constant number of poison samples. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2510.07192. +\item F. Jenkin, The origin of species [review]. \emph{North Br. Rev.} \textbf{46}, 277--318 (1867). +\item M. Bulmer, Did Jenkin's swamping argument invalidate Darwin's theory of natural selection? \emph{Br. J. Hist. Sci.} \textbf{37}, 281--297 (2004). +\item A. Malinin, B. Mlodozeniec, M. Gales, Ensemble distribution distillation. \emph{Int. Conf. Learn. Represent.} (2020). https://doi.org/10.48550/arXiv.1905.00076. +\item M. Li, et al., Branch-Train-Merge: Embarrassingly parallel training of expert language models. arXiv [Preprint] (2022). https://doi.org/10.48550/arXiv.2208.03306. +\item X. Yuan, et al., Behavior knowledge merge in reinforced agentic models. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2601.13572. +\item J. Pari, S. Jelassi, P. Agrawal, Collective model intelligence requires compatible specialization. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2411.02207. +\item E. J. Hu, et al., LoRA: Low-rank adaptation of large language models. \emph{Int. Conf. Learn. Represent.} (2022). https://doi.org/10.48550/arXiv.2106.09685. +\item L. Yu, B. Yu, H. Yu, F. Huang, Y. Li, Language models are super Mario: Absorbing abilities from homologous models as a free lunch. \emph{Proc. Int. Conf. Mach. Learn.} (2024). https://doi.org/10.48550/arXiv.2311.03099. +\item S. A. Kauffman, S. Levin, Towards a general theory of adaptive walks on rugged landscapes. \emph{J. Theor. Biol.} \textbf{128}, 11--45 (1987). +\item D. Marczak, B. Twardowski, T. Trzciński, S. Cygert, MagMax: Leveraging model merging for seamless continual learning. \emph{Proc. Eur. Conf. Comput. Vis.} (2024). https://doi.org/10.48550/arXiv.2407.06322. +\item S. Dziadzio, et al., How to merge your multimodal models over time? \emph{Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit.} (2025). https://doi.org/10.48550/arXiv.2412.06712. +\item A. Williams, N. Nangia, S. R. Bowman, A broad-coverage challenge corpus for sentence understanding through inference. \emph{Proc. Conf. North Am. Chapter Assoc. Comput. Linguist. Hum. Lang. Technol.}, 1112--1122 (2018). +\item P. Clark, et al., Think you have solved question answering? Try ARC, the AI2 Reasoning Challenge. arXiv [Preprint] (2018). https://doi.org/10.48550/arXiv.1803.05457. +\item R. Zellers, A. Holtzman, Y. Bisk, A. Farhadi, Y. Choi, HellaSwag: Can a machine really finish your sentence? \emph{Proc. Annu. Meet. Assoc. Comput. Linguist.}, 4791--4800 (2019). +\item P. Rajpurkar, J. Zhang, K. Lopyrev, P. Liang, SQuAD: 100,000+ questions for machine comprehension of text. \emph{Proc. Conf. Empir. Methods Nat. Lang. Process.}, 2383--2392 (2016). +\item C. Clark, et al., BoolQ: Exploring the surprising difficulty of natural yes/no questions. \emph{Proc. Conf. North Am. Chapter Assoc. Comput. Linguist. Hum. Lang. Technol.}, 2924--2936 (2019). +\item K. Sakaguchi, R. Le Bras, C. Bhagavatula, Y. Choi, WinoGrande: An adversarial Winograd schema challenge at scale. \emph{Proc. AAAI Conf. Artif. Intell.} \textbf{34}, 8732--8740 (2020). +\item L. Thede, K. Roth, M. Bethge, Z. Akata, T. Hartvigsen, WikiBigEdit: Understanding the limits of lifelong knowledge editing in LLMs. \emph{Proc. Int. Conf. Mach. Learn.} (2025). https://doi.org/10.48550/arXiv.2503.05683. +\item S. Clemente, et al., In praise of stubbornness: An empirical case for cognitive-dissonance aware continual update of knowledge in LLMs. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2502.04390. +\item J. Störk, Interference and retention in continual learning. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2607.09202. +\item T. Li, Z. Shen, Scaling linear mode connectivity and merging to billion-parameter pretrained transformers. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2606.23607. \item N. Kozodoi, Z. Afolabi, J. Butler, Are we merging the right models? Impact of expert training duration on model merging for LLMs. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2607.11997. +\item S. Horoi, G. Wolf, E. Belilovsky, G. K. Dziugaite, From memorization to parameter interference: How overtraining experts harms model merging. \emph{Proc. Int. Conf. Mach. Learn.} (2026). https://doi.org/10.48550/arXiv.2506.14126. \item L. Zhou, B. Zhao, R. Yu, E. Rodolà, Demystifying mergeability: Interpretable properties to predict model merging success. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2601.22285. +\item Y. Cao, et al., An empirical study and theoretical explanation on task-level model-merging collapse. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2603.09463. +\item C. Zhu, X. Li, T. Cai, When do task vectors interfere? Mapping the validity boundaries of weight-space composition. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2608.09490. \item T. Scialom, T. Chakrabarty, S. Muresan, Fine-tuned language models are continual learners. \emph{Proc. Conf. Empir. Methods Nat. Lang. Process.} (2022). https://doi.org/10.48550/arXiv.2205.12393. \item A. Ibrahim, et al., Simple and scalable strategies to continually pre-train large language models. \emph{Trans. Mach. Learn. Res.} (2024). https://doi.org/10.48550/arXiv.2403.08763. \item A. Robins, Catastrophic forgetting, rehearsal and pseudorehearsal. \emph{Connect. Sci.} \textbf{7}, 123--146 (1995). @@ -196,17 +271,11 @@ Headline quantitative results, with sample sizes, uncertainty, and outcome defin \item D. Kumaran, D. Hassabis, J. L. McClelland, What learning systems do intelligent agents need? Complementary learning systems theory updated. \emph{Trends Cogn. Sci.} \textbf{20}, 512--534 (2016). \item J. Schwarz, et al., Progress \& Compress: A scalable framework for continual learning. \emph{Proc. Int. Conf. Mach. Learn.} (2018). \item G. Ilharco, et al., Editing models with task arithmetic. \emph{Int. Conf. Learn. Represent.} (2023). https://doi.org/10.48550/arXiv.2212.04089. -\item D. Marczak, B. Twardowski, T. Trzciński, S. Cygert, MagMax: Leveraging model merging for seamless continual learning. \emph{Proc. Eur. Conf. Comput. Vis.} (2024). https://doi.org/10.48550/arXiv.2407.06322. \item A. Alexandrov, et al., Mitigating catastrophic forgetting in language transfer via model merging. \emph{Findings Assoc. Comput. Linguist.: EMNLP} (2024). https://doi.org/10.48550/arXiv.2407.08699. -\item S. Dziadzio, et al., How to merge your multimodal models over time? \emph{Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit.} (2025). https://doi.org/10.48550/arXiv.2412.06712. \item M. Toneva, et al., An empirical study of example forgetting during deep neural network learning. \emph{Int. Conf. Learn. Represent.} (2019). https://doi.org/10.48550/arXiv.1812.05159. \item N. Kandpal, H. Deng, A. Roberts, E. Wallace, C. Raffel, Large language models struggle to learn long-tail knowledge. \emph{Proc. Int. Conf. Mach. Learn.} (2023). https://doi.org/10.48550/arXiv.2211.08411. \item X. Liu, et al., Long-tailed class incremental learning. \emph{Proc. Eur. Conf. Comput. Vis.} (2022). https://doi.org/10.48550/arXiv.2210.00266. \item S. Kotha, J. M. Springer, A. Raghunathan, Understanding catastrophic forgetting in language models via implicit inference. \emph{Int. Conf. Learn. Represent.} (2024). https://doi.org/10.48550/arXiv.2309.10105. -\item L. Yu, B. Yu, H. Yu, F. Huang, Y. Li, Language models are super Mario: Absorbing abilities from homologous models as a free lunch. \emph{Proc. Int. Conf. Mach. Learn.} (2024). https://doi.org/10.48550/arXiv.2311.03099. -\item M. Wortsman, et al., Model soups: Averaging weights of multiple fine-tuned models improves accuracy without increasing inference time. \emph{Proc. Int. Conf. Mach. Learn.} (2022). https://doi.org/10.48550/arXiv.2203.05482. -\item Y. Cao, et al., An empirical study and theoretical explanation on task-level model-merging collapse. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2603.09463. -\item A. Livnat, C. Papadimitriou, Sex as an algorithm: The theory of evolution under the lens of computation. \emph{Commun. ACM} \textbf{59}, 84--93 (2016). \item Y. Guo, G. Shang, M. Vazirgiannis, C. Clavel, The curious decline of linguistic diversity: Training language models on synthetic text. \emph{Findings Assoc. Comput. Linguist.: NAACL} (2024). https://doi.org/10.48550/arXiv.2311.09807. \item V. Padmakumar, H. He, Does writing with language models reduce content diversity? \emph{Int. Conf. Learn. Represent.} (2024). https://doi.org/10.48550/arXiv.2309.05196. \item A. R. Doshi, O. P. Hauser, Generative AI enhances individual creativity but reduces the collective diversity of novel content. \emph{Sci. Adv.} \textbf{10}, eadn5290 (2024). diff --git a/paper/pnas/build.py b/paper/pnas/build.py index 7e54709..6abf138 100644 --- a/paper/pnas/build.py +++ b/paper/pnas/build.py @@ -1,4 +1,4 @@ -r"""Build the PNAS-draft PDF from main.md (Markdown stays the source of truth). +r"""Build the manuscript-draft PDF from main.md (Markdown stays the source of truth). Adapted from paper/arxiv/md2tex.py (same Markdown subset + pipe tables), with one addition: standalone `*(FIG:name)*` markers place the publication figures produced by make_figs.py (unified, lettered, @@ -18,92 +18,115 @@ ROOT = Path(__file__).resolve().parents[2] HERE = Path(__file__).resolve().parent SRC = HERE / "main.md" OUT = HERE / "body.tex" +SI_FIG_DIR = HERE / "figs" / "si" + +import sys # noqa: E402 + +sys.path.insert(0, str(HERE)) +from si_figures import SI_FIGURES # noqa: E402 (supplementary figures, numbered by order in si.md) # figure name -> (single publication PDF from make_figs.py, caption) FIGURES: dict[str, tuple[list[str], str]] = { "fig1": (["paper/pnas/figs/fig1a.pdf", "paper/pnas/figs/fig1b.pdf"], - "(A) The experimental programme. Each population-genetic abstraction (Table 1) is tested at up " - "to three tiers, ordered left to right by increasing realism: a biological model (a " - "Wright--Fisher simulator over knowledge distributions; closed forms, bitwise-reproducible), " - "trained neural networks measured against exact oracles (recurrent, feedforward, and " - "variational-autoencoder generators on a synthetic mode universe, and a convolutional VAE on " - "MNIST), and language models (LoRA specialists on Qwen bases at 0.5B and 7B, scored by an " - "exact-match verifier). Colour separates the two categories: the biological model in green, " - "the two AI-model tiers in blues. The same abstractions are carried across " - "all three. Rows are the framework's mechanisms, each defined at the left margin; filled " - "cells name the experiments run at each tier, and each carries, in its corner, the figure " - "or table where that result is reported, so this figure doubles as a map of the paper. Each claim is tested at the cheapest tier that " - "can falsify it, and a costlier tier is entered only where it adds a discriminating test " - "rather than a replication: grounding at language-model scale is established in prior work " - "(21, 30) and is not re-run; epistasis and the society skip the middle tier, whose " - "distinctive value (exact oracles) does not bear on those operator-level questions; and the " - "society at language-model scale is the integrative experiment this paper specifies but does " - "not run --- its stated gap. (B) The conceptual basis of the transfer. A population of models " - "is usually pictured as a society in space: contemporaries exchanging messages. The couplings " - "this paper studies run instead between generations --- training on model output " - "(inheritance), weight-space merging (recombination), verified real data entering each " - "generation (immigration from reality) --- a society in time, the object population genetics " - "was built to describe. Dots mark capabilities: the rare one (gold) is lost under " - "single-parent inheritance, reassembled by merging complementary parents, and re-supplied by " - "grounding."), + "A map of the study. (A) Each row is a biological mechanism the paper borrows, each column a level " + "of realism at which it is tested: an inheritance model (an exact simulation of knowledge " + "transmission, green), trained neural networks measured against exact oracles (blue), and language " + "models (blue). Filled cells name the experiments run at each level and, in the corner, the figure " + "or table reporting them; grey cells were not run, either because the result is " + "established in prior work (23, 34) or because that level adds no new test for that question. The " + "inheritance model is the reference column: it sets the expectation the real-model experiments are " + "read against. (B) The change of viewpoint the transfer rests on. A group of models is usually " + "pictured as a society in space, contemporaries exchanging messages. The couplings studied here run " + "between generations: training on model output (inheritance), weight-space merging (recombination), " + "and verified real data entering each generation (immigration from reality). That is a society in " + "time, which is what population genetics describes. Dots are capabilities: the rare one (gold) is " + "lost under single-parent inheritance, reassembled by merging complementary parents, and re-supplied " + "by grounding."), "fig2": (["paper/pnas/figs/fig2.pdf"], - "Grounding is immigration. (A) Stationary diversity against the grounding fraction in the " - "biological model: simulation (points, 95\\% CI) matches the exact immigration--drift " - "equilibrium (dashed). The equilibrium is smooth in $g$; $g \\approx 0.05$ marks the " - "operational threshold retaining 95\\% of source diversity in this setting (red line, " - "bootstrap CI shaded); the hollow point at $g=0$ is a finite-time value (the true equilibrium " - "is zero). (B) The same signs on real images: samples from a convolutional VAE retrained each " - "generation on its own output (rows: generations 0--15 of an ungrounded lineage) collapse " - "toward a single blurred mode; 10\\% grounding holds all thirty modes (quantified in SI)."), + "How much real data stops model collapse. (A) An image-generating network (a variational " + "autoencoder) is trained on handwritten digits, then a fresh copy is trained only on the digits the " + "previous one drew, for fifteen generations, with no real data added. Each row is a later generation " + "(0, 4, 8, 12, 15) and each column a randomly chosen drawing. The thirty kinds of digit (ten digits " + "$\\times$ three stroke thicknesses, some kinds rare) collapse to one blurred shape; an independent " + "classifier confirms that the number of kinds still drawn falls from 30 to 1, while adding 10\\% real " + "digits each generation keeps all 30 (Fig.~S7; 4 replicates). (B) The same question in the " + "inheritance model, the exact simulation: 1,000 knowledge items, 200 samples drawn per generation, " + "and a fraction $g$ of fresh real samples mixed in. Points are the diversity the population settles " + "at after 500 generations (mean and 95\\% CI over 100 lineages), the dashed line the exact prediction " + "(the immigration--drift equilibrium), the dotted line the diversity of the real data itself. The " + "curve is smooth, so any threshold is a choice: the red line marks the $g$ at which 95\\% of the real " + "data's diversity is kept, about 0.05 (bootstrap CI shaded). The hollow point at $g = 0$ has not yet " + "reached its equilibrium of zero. The trained image model needed about twice this fraction, because " + "a trained network is not the exact copier the simulation assumes (Fig.~S2)."), "fig4": (["paper/pnas/figs/fig4.pdf"], - "Recombination in the biological model: blending inheritance and the Fisher--Muller effect. " - "(A) Expected rare-capability survival in a child refit from $K$ uncorrelated parents: the " - "output-mean (blending) stays at the single-parent level --- the first-order cancellation --- " - "while the union operator (strongest source per item, renormalised, oracle-identified) rises " - "with parent count. (B) Multi-locus recombination of decorrelated specialists produces " - "offspring fitter than any parent, approaching the optimum as parents are added; the best " - "single parent and the blended average plateau below (mean $\\pm$ 95\\% CI)."), + "A population of language models over six generations. (A) The set-up. Three lineages start " + "from one frozen 1.5-billion-parameter base (Qwen2.5-1.5B). Each generation, every lineage learns " + "one new skill from a public dataset by continuing to train its parent's adapter (300 new examples " + "plus 150 replayed from earlier skills), may merge with a partner according to its arm's rule " + "(weights averaged at a ratio chosen on validation data), and is tested on all six skills by a " + "verifier; the child becomes the next parent. The six skills are taken in rotated order, so a " + "partner knows things a lineage lacks early on (complementarity 1.0) and nothing it lacks by the " + "end (0.0). Three training seeds. (B) Accuracy over all six skills of the best lineage (mean and " + "95\\% CI). Never merging and merging only when it beats keeping the parent finish level (0.80 and " + "0.79); merging with a contemporary every generation collapses to 0.27, beginning when partners " + "stop being complementary; a control that merges through generation 2 and then stops (dashed) " + "matches the declinable arm in every seed, and a single model taught the whole syllabus alone " + "(diamond) matches the population. (C) How often the declinable lineages refused a merge (bars) " + "against partner complementarity (lines), under the rotated syllabus and under a second syllabus in " + "which complementarity is zero at the start, peaks mid-way and returns to zero. Refusals rise with " + "generation under both; with generation held fixed they do not track complementarity (partial " + "Spearman $\\rho = -0.07$, 95\\% CI $-0.21$ to $0.09$, $n = 36$). (D--F) The simulation that " + "motivated the design: 60 agents evolving on a rugged fitness landscape with all four mechanisms " + "(grounded evaluation, recombination, diversity preservation, mutation) and one removed per arm (12 " + "replicates; mean and 95\\% CI). Removing grounded evaluation, so that agents are scored on " + "agreement with the crowd instead of on the truth, collapses the population onto a confident but " + "wrong consensus (D, F); removing recombination or diversity preservation strands it below the " + "optimum (D) and drains diversity fastest (E). Each removal fails in its own way."), "fig5": (["paper/pnas/figs/fig5.pdf"], - "Rugged (epistatic) landscapes: risk, remedy, and population structure. (A) Outbreeding " - "depression: the mean offspring of blindly recombined specialist parents falls below the best " - "parent, more steeply the more rugged the landscape (NK ruggedness $K$) and the higher the " - "recombination rate. (B) Screening candidate offspring against a verifier (directed " - "recombination) restores the gain at every ruggedness where blind recombination fails. " - "(C) Mating structure: the best champion arises at wide mate-pool breadth on smooth landscapes " - "and at intermediate breadth on rugged ones. (D) Wide breadth monotonically erodes population " - "diversity at every ruggedness (mean $\\pm$ 95\\% CI, 20 replicates)."), - "fig6": (["paper/pnas/figs/fig6.pdf"], - "The tested society: grounded evaluation, recombination, and diversity preservation make " - "complementary contributions. A finite agent population on a rugged NK landscape; selection " - "weights true fitness against conformity to the population consensus. (A) Best real fitness: " - "the full system approaches the global optimum; removing grounded evaluation collapses the " - "population onto a confident, unfit consensus; removing recombination or diversity " - "preservation strands it lower. (B) Population diversity. (C) The self-consumption signature: " - "conformity minus true fitness (mean $\\pm$ 95\\% CI, 12 replicates)."), - "fig7": (["paper/pnas/figs/fig7.pdf"], - "Model speciation at three tiers. (A) Biological model: hybrid fitness tracks the parents while " - "lineages are compatible, then falls to inviability; the denser the incompatibilities, the " - "earlier the fall. (B) The isolation cliff: probability of hybrid inviability against " - "divergence, by incompatibility density. (C) Trained networks: the merge error barrier between " - "two MLPs before and after permutation-and-rescaling alignment --- the same-task/different-" - "start barrier is a coordinate artefact (removed by alignment); the conflicting-task barrier " - "is left essentially unchanged. (D) Sweeping the fraction of conflicting classes: the residual " - "barrier rises while merged-model accuracy falls from 0.97 to 0.03. (E) Language models (0.5B " - "LoRA children of a shared base): on shared ambiguous prompts each parent performs under its " - "own convention while the merged model falls below both --- function-specific hybrid " - "breakdown. (F) Divergence without conflict: over-training disjoint specialists from 1 to 12 " - "epochs produces no isolation; the merged model tracks or exceeds the parents throughout."), + "Model speciation: when two lineages can no longer merge. (A, B) Small image classifiers " + "(multilayer perceptrons) forked from one trained base. Two networks that compute the same function " + "can still differ in their weights, because hidden units can be renumbered and rescaled without " + "changing the output; alignment undoes this before averaging. The merge error barrier is how much " + "worse the average of two networks is than the networks themselves. (A) Two copies trained from " + "different random starts on the same task have a barrier that alignment removes almost entirely " + "(0.04 to 0.001); two trained on conflicting labels (the same images, some classes relabelled) keep " + "theirs (0.50), and their average is useless (3 replicates). (B) Sweeping the share of classes in " + "conflict moves the merged model's accuracy from 0.97 to 0.03. (C) Language models: two specialists " + "share a set of ambiguous questions (``sort this list'', direction unstated) and are taught opposite " + "conventions. As the share of conflicting training grows, each parent stays good under its own " + "convention while the merged model falls below both, in all three seeds (95\\% CI shaded). (D) The " + "control: specialists trained longer and longer on different tasks, with no conflict, merge better, " + "not worse, in every seed. (E, F) The simulation: 20-position genotypes carrying incompatibilities " + "of the Bateson--Dobzhansky--Muller kind. Hybrid fitness tracks the parents while lineages are " + "compatible, then crashes, sooner the denser the incompatibilities (E), and the probability of a " + "non-viable hybrid rises with divergence (F). What breaks merging is conflicting conventions on " + "shared machinery, not distance or specialisation as such."), "fig3": (["paper/pnas/figs/fig3.pdf"], - "The language-model tier. (A) Seed-replicated merging (0.5B, five seeds, fixed test sets; mean " - "$\\pm$ 95\\% CI): merged specialists exceed the best single specialist overall, and only " - "merged models are competent on every task family. (B) Hard, unsaturated tasks at 7B (single " - "run): the weight-average dilutes a fragile specialist below the best single parent; routing " - "among intact specialists preserves it. (C) The controlled predictive test (13 conditions " - "$\\times$ 3 seeds): pre-merge confidence-weighted functional conflict against merge penalty, " - "coloured by grid axis --- penalty concentrates on the conflict axis. (D) Predictor " - "comparison, $|$Spearman $\\rho|$ against merge penalty over the full grid: functional " - "measures carry signal, the tested weight-geometry baselines do not; paired differences " - "between predictors are not individually significant."), + "Merging language-model specialists: when it helps, and predicting when it will hurt. All models " + "are built from one frozen base (Qwen2.5) plus a LoRA adapter, a small set of extra weights trained " + "on one family of tasks (list puzzles, string puzzles or arithmetic); a verifier marks every answer " + "right or wrong, and accuracy is the share marked right on held-out questions. (A) The models " + "compared: the base alone; three specialists (one adapter each); their merge by averaging the " + "adapters; their merge after dropping the changes on which the parents conflict (TIES); and routing, " + "which keeps the specialists separate and sends each question to the one that owns it. (B) Easy " + "tasks, 0.5-billion-parameter base, five training seeds (fixed test sets; mean and 95\\% CI). Both " + "merges beat the best single specialist on the weakest task family (paired t-test over seeds, " + "$p < 10^{-4}$), and the interference-aware merge beats it overall ($p = 0.006$; the plain average " + "$p = 0.09$, ahead in 4 of 5 seeds); the two merges do not differ from each other. Only merged models " + "are competent on every family. (C) Deliberately hard tasks, 7-billion-parameter base, three seeds. " + "Averaging only matches the best specialist overall ($p = 0.96$) although it lifts the weakest " + "family ($p = 0.009$); routing beats averaging overall ($p = 0.007$, ahead in every seed) and beats " + "the best specialist on both measures ($p = 0.018$ and $0.014$). With three seeds, some comparisons " + "that hold in every seed are not significant (ns). (D) Predicting merge damage before merging: 39 " + "pairs of specialists built along three axes, parents taught contradictory conventions (red), " + "parents merely trained longer on different tasks (blue), and parents sharing training data without " + "conflict (green). The horizontal axis is how often the two parents confidently disagree when asked " + "the same questions before merging; the vertical axis is the merge penalty, the accuracy the merged " + "model loses relative to answering each task with the parent that owns it. Damage concentrates in " + "the conflicting pairs. (E) Six pre-merge measures ranked by how strongly they track the penalty " + "(absolute Spearman correlation): measures taken by asking the parents questions carry the signal, " + "measures taken on the parents' weights do not; differences between individual predictors are not " + "significant at this sample size (Table~S2)."), } UNICODE = { @@ -149,6 +172,17 @@ def inline(s: str) -> str: def figure_env(name: str) -> str: + if name in SI_FIGURES: + # Supplementary figure: copy the committed per-experiment PDF beside the SI build, so the SI + # stays a pure function of the results artifacts; numbered by the LaTeX counter (S-prefixed). + src, caption = SI_FIGURES[name] + SI_FIG_DIR.mkdir(parents=True, exist_ok=True) + dst = SI_FIG_DIR / f"{name}_{(ROOT / src).name}" + shutil.copyfile(ROOT / src, dst) + return "\n".join([f"\\begin{{figure}}[p]\\centering % {name}", + f"\\includegraphics[width=\\textwidth]{{figs/si/{dst.name}}}", + f"\\caption{{{caption}}}\\label{{{name}}}", + "\\end{figure}"]) pdfs, caption = FIGURES[name] incl = "\\\\[6pt]\n".join(f"\\includegraphics[width=\\textwidth]{{figs/{(ROOT / p).name}}}" for p in pdfs) diff --git a/paper/pnas/build_lay_legends.py b/paper/pnas/build_lay_legends.py new file mode 100644 index 0000000..4dd0d0f --- /dev/null +++ b/paper/pnas/build_lay_legends.py @@ -0,0 +1,61 @@ +"""Build the student-level figure guide (figure_legends_for_students.md -> .tex -> PDF). + +The Markdown is the source of truth. Lines of the form ``![](path.pdf)`` become figure includes +(paths relative to paper/pnas/); ``## `` headings become unnumbered sections; everything else goes +through build.py's inline() converter, so the same Markdown subset and unicode handling apply. + +Usage: python paper/pnas/build_lay_legends.py && (cd paper/pnas && tectonic figure_legends_for_students.tex) +""" + +from __future__ import annotations + +import re +import sys +from pathlib import Path + +HERE = Path(__file__).resolve().parent +sys.path.insert(0, str(HERE)) +from build import inline # noqa: E402 + +SRC = HERE / "figure_legends_for_students.md" +OUT = HERE / "figure_legends_for_students.tex" + +PREAMBLE = r"""\ifdefined\XeTeXversion\else\ifdefined\pdfoutput\pdfoutput=1\fi\fi +\documentclass[11pt]{article} +\usepackage[a4paper, margin=1.0in]{geometry} +\usepackage{graphicx} +\usepackage{amsmath, amssymb} +\usepackage[hidelinks]{hyperref} +\usepackage{microtype} +\setlength{\parskip}{0.5em} +\setlength{\parindent}{0pt} +\begin{document} +""" + + +def convert(text: str) -> str: + out: list[str] = [] + blocks = [b for b in re.split(r"\n\s*\n", text) if b.strip()] + for block in blocks: + first = block.strip() + if first.startswith("# ") and not first.startswith("## "): + out.append(f"\\begin{{center}}{{\\LARGE\\bfseries {inline(first[2:])}}}\\end{{center}}") + elif first.startswith("## "): + out.append(f"\\section*{{{inline(first[3:])}}}") + elif first == "---": + out.append("\\medskip\\hrule\\medskip") + elif re.match(r"^!\[\]\((.+)\)$", first): + path = re.match(r"^!\[\]\((.+)\)$", first).group(1) + assert (HERE / path).exists(), f"missing figure {path}" + out.append(f"\\begin{{center}}\\includegraphics[width=\\textwidth]{{{path}}}\\end{{center}}") + elif first.startswith("- "): + items = [re.sub(r"^- ", "", l.strip()) for l in block.split("\n") if l.strip().startswith("- ")] + out.append("\\begin{itemize}\n" + "\n".join(f"\\item {inline(i)}" for i in items) + "\n\\end{itemize}") + else: + out.append(inline(re.sub(r"\s+", " ", block.strip()))) + return PREAMBLE + "\n\n".join(out) + "\n\\end{document}\n" + + +if __name__ == "__main__": + OUT.write_text(convert(SRC.read_text())) + print(f"wrote {OUT}") diff --git a/paper/pnas/build_zotero_library.py b/paper/pnas/build_zotero_library.py new file mode 100644 index 0000000..7796454 --- /dev/null +++ b/paper/pnas/build_zotero_library.py @@ -0,0 +1,291 @@ +"""Build a Zotero-importable library from the manuscript's reference list. + +For each of the numbered references in paper/pnas/main.md: take the DOI printed in the entry when +there is one, otherwise ask Crossref for it by title (accepting only a high-scoring match whose title +really is the same, checked by normalised comparison). Then fetch authoritative metadata for every +resolved DOI by content negotiation against doi.org, which serves Crossref and DataCite alike, and +write the result as CSL-JSON plus RIS. + +Entries whose DOI cannot be resolved (pre-DOI literature, books, chapters) are reported and written +from the manuscript's own metadata so nothing is silently dropped. + +Usage: python paper/pnas/build_zotero_library.py +""" + +from __future__ import annotations + +import json +import re +import sys +import time +import urllib.parse +import urllib.request +from pathlib import Path + +MAIN = Path(__file__).resolve().parent / "main.md" +OUT = Path(__file__).resolve().parent / "refs" +MAILTO = "g.gilestro@imperial.ac.uk" # Crossref polite pool +UA = f"LamarckianAI-refs/1.0 (mailto:{MAILTO})" + +# Reference numbers whose sources predate DOIs or are books/chapters: never send these to Crossref +# title search, because it returns confident nonsense for them. +NO_DOI_EXPECTED = {33, 35, 39} # Jenkin 1867; Fisher 1930 (book); Templeton 1986 (chapter) + +# DOIs the title search could not find and that were verified by hand against the publisher record. +DOI_OVERRIDE = { + 17: "10.1038/s41562-023-01742-2", # Brinkmann et al., Machine culture (Nat. Hum. Behav.) + 64: "10.48550/arXiv.1805.06370", # Schwarz et al., Progress & Compress (no Crossref DOI) +} + +# The three genuinely pre-DOI sources, written out rather than parsed, so the Zotero records are +# complete instead of merely non-empty. +HAND_WRITTEN = { + 33: {"type": "article-journal", "title": "[Review of] The Origin of Species", + "author": [{"given": "Fleeming", "family": "Jenkin"}], + "container-title": "The North British Review", "volume": "46", "page": "277-318", + "issued": {"date-parts": [[1867]]}}, + 35: {"type": "book", "title": "The Genetical Theory of Natural Selection", + "author": [{"given": "Ronald A.", "family": "Fisher"}], + "publisher": "Clarendon Press", "publisher-place": "Oxford", + "issued": {"date-parts": [[1930]]}}, + 39: {"type": "chapter", "title": "Coadaptation and outbreeding depression", + "author": [{"given": "Alan R.", "family": "Templeton"}], + "editor": [{"given": "Michael E.", "family": "Soulé"}], + "container-title": "Conservation Biology: The Science of Scarcity and Diversity", + "publisher": "Sinauer Associates", "publisher-place": "Sunderland, MA", + "page": "105-116", "issued": {"date-parts": [[1986]]}}, +} + + +def get(url: str, accept: str | None = None, tries: int = 3) -> bytes | None: + req = urllib.request.Request(url, headers={"User-Agent": UA}) + if accept: + req.add_header("Accept", accept) + for i in range(tries): + try: + with urllib.request.urlopen(req, timeout=30) as r: + return r.read() + except Exception as e: # noqa: BLE001 + if i == tries - 1: + print(f" ! {type(e).__name__}: {str(e)[:80]}", file=sys.stderr) + time.sleep(1.5 * (i + 1)) + return None + + +def parse_refs() -> list[tuple[int, str]]: + refs = MAIN.read_text().split("## References")[1] + out = [] + for line in refs.splitlines(): + if m := re.match(r"^(\d+)\. (.*)$", line): + out.append((int(m.group(1)), m.group(2).strip())) + return out + + +def strip_md(s: str) -> str: + return re.sub(r"[*_`]", "", s) + + +def guess_title(entry: str) -> str: + """The title is the run of text between the author list and the italic venue or the year.""" + t = strip_md(entry) + t = re.sub(r"\s*https?://\S+$", "", t).strip() + # drop the leading author list: everything up to the last ", " before the title is unreliable, + # so instead cut after the first ", " that follows an initial-style name block + m = re.match(r"^((?:[A-ZÀ-Þ]\.\s*)+[^,]+,\s*)+", t) + rest = t[m.end():] if m else t + rest = re.sub(r"^et al\.,\s*", "", rest) + # the title ends at the venue (". *Venue*") or at " arXiv [Preprint]" or " (Year)" + rest = re.split(r"\.\s+(?:arXiv \[Preprint\]|[A-Z][a-zA-Z.\s&]*\*|Proc\.|Int\.|Adv\.|Conf\.|Nat\.|Trans\.)", rest)[0] + rest = re.split(r"\s*\(\d{4}\)", rest)[0] + return rest.strip(" .,") + + +def norm(s: str) -> str: + return re.sub(r"[^a-z0-9]", "", s.lower()) + + +def crossref_by_title(title: str, year: str | None) -> tuple[str | None, str]: + q = urllib.parse.urlencode({"query.bibliographic": title, "rows": 5, "mailto": MAILTO}) + raw = get(f"https://api.crossref.org/works?{q}") + if not raw: + return None, "crossref unreachable" + items = json.loads(raw).get("message", {}).get("items", []) + tn = norm(title) + for it in items: + cand = (it.get("title") or [""])[0] + cn = norm(cand) + if not cn: + continue + # accept only a genuine title match, not merely a high Crossref score + if cn.startswith(tn[:60]) or tn.startswith(cn[:60]): + return it.get("DOI"), f"matched: {cand[:70]}" + return None, f"no title match (best: {(items[0].get('title') or [''])[0][:60] if items else '-'})" + + +def csl_from_doi(doi: str) -> dict | None: + raw = get(f"https://doi.org/{urllib.parse.quote(doi)}", + accept="application/vnd.citationstyles.csl+json") + if not raw: + return None + try: + return json.loads(raw) + except json.JSONDecodeError: + return None + + +# ---------------------------------------------------------------- fallback CSL from the manuscript +def manual_csl(num: int, entry: str) -> dict: + t = strip_md(entry) + year = (re.search(r"\((\d{4})\)", t) or re.search(r"(\d{4})", t)) + authors = [] + m = re.match(r"^((?:[A-ZÀ-Þ]\.(?:\s*[A-ZÀ-Þ]\.)*\s+[^,]+,\s*)+)", t) + if m: + for name in re.findall(r"([A-ZÀ-Þ]\.(?:\s*[A-ZÀ-Þ]\.)*)\s+([^,]+)", m.group(1)): + authors.append({"given": name[0].strip(), "family": name[1].strip()}) + venue = re.search(r"\*([^*]+)\*", entry) + vol = re.search(r"\*\*(\d+)\*\*", entry) + pages = re.search(r"\*\*\d+\*\*,\s*([\d–\-]+)", entry) + return {k: v for k, v in { + "id": f"ref{num}", + "type": "book" if "Press)" in t or "Sinauer" in t else "article-journal", + "title": guess_title(entry), + "author": authors or None, + "container-title": venue.group(1) if venue else None, + "volume": vol.group(1) if vol else None, + "page": pages.group(1).replace("–", "-") if pages else None, + "issued": {"date-parts": [[int(year.group(1))]]} if year else None, + "note": f"manuscript reference {num}; no DOI", + }.items() if v is not None} + + +def clean_text(s: str) -> str: + """Publisher abstracts arrive with JATS tags, HTML entities, and hard line breaks; RIS is a + line-oriented format, so every field has to end up as one clean line.""" + import html + + s = re.sub(r"<[^>]+>", " ", s) # JATS/HTML tags + s = html.unescape(s) + return re.sub(r"\s+", " ", s).strip() + + +def clean_csl(c: dict) -> dict: + for k, v in list(c.items()): + if isinstance(v, str): + c[k] = clean_text(v) + elif isinstance(v, list) and v and isinstance(v[0], str): + c[k] = [clean_text(x) for x in v] + doi = c.get("DOI", "") + if doi.lower().startswith("10.48550/arxiv."): + # DataCite returns these uppercased and with no venue; restore the canonical DOI casing and + # give Zotero something to show in the publication field instead of a blank. + arxiv_id = doi.split(".", 2)[-1] + c["DOI"] = f"10.48550/arXiv.{arxiv_id}" + c["container-title"] = "arXiv" + c["number"] = f"arXiv:{arxiv_id}" + c["genre"] = "preprint" + return c + + +# Crossref reports its own type vocabulary alongside real CSL types; map both. +CSL2RIS_EXTRA = {"journal-article": "JOUR", "book-chapter": "CHAP", "proceedings-article": "CPAPER", + "posted-content": "JOUR", "book-section": "CHAP", "monograph": "BOOK"} + + +CSL2RIS = {"article-journal": "JOUR", "paper-conference": "CPAPER", "chapter": "CHAP", + "book": "BOOK", "article": "JOUR", "posted-content": "JOUR", "report": "RPRT", + "dataset": "DATA", "thesis": "THES"} + + +def ris_type(c: dict) -> str: + t = c.get("type", "") + return CSL2RIS.get(t) or CSL2RIS_EXTRA.get(t) or "JOUR" + + +def to_ris(c: dict, num: int) -> str: + L = [f"TY - {ris_type(c)}"] + for a in c.get("author") or []: + fam, giv = a.get("family", ""), a.get("given", "") + L.append(f"AU - {fam}, {giv}".rstrip(", ") if fam else f"AU - {a.get('literal', '')}") + ttl = c.get("title") + if isinstance(ttl, list): + ttl = ttl[0] + if ttl: + L.append(f"TI - {ttl}") + ct = c.get("container-title") + if isinstance(ct, list): + ct = ct[0] if ct else None + if ct: + L.append(f"{'BT' if ris_type(c) == 'CHAP' else 'T2'} - {ct}") + for ed in c.get("editor") or []: + L.append(f"A2 - {ed.get('family', '')}, {ed.get('given', '')}".rstrip(", ")) + if c.get("number"): + L.append(f"AN - {c['number']}") + if c.get("publisher-place"): + L.append(f"CY - {c['publisher-place']}") + parts = (c.get("issued") or {}).get("date-parts") or [[]] + if parts and parts[0]: + L.append(f"PY - {parts[0][0]}") + for key, tag in (("volume", "VL"), ("issue", "IS"), ("publisher", "PB"), ("DOI", "DO"), + ("URL", "UR"), ("abstract", "AB")): + if c.get(key): + L.append(f"{tag} - {c[key]}") + if c.get("page"): + pg = str(c["page"]).replace("–", "-").split("-") + L.append(f"SP - {pg[0]}") + if len(pg) > 1: + L.append(f"EP - {pg[-1]}") + L.append(f"N1 - {c.get('note') or f'Manuscript reference {num}'}") + L.append("ER - \n") + return "\n".join(L) + + +def main() -> int: + refs = parse_refs() + print(f"{len(refs)} references parsed\n") + csls, report = [], [] + for num, entry in refs: + doi = None + if num in HAND_WRITTEN: + c = dict(HAND_WRITTEN[num], id=f"ref{num}", note=f"Manuscript reference {num}; predates DOIs") + csls.append(c) + report.append((num, "HAND (pre-DOI source)", c["title"][:64], "written by hand")) + print(f" {num:3d} {'HAND (pre-DOI source)':52s} {c['title'][:56]}") + continue + if num in DOI_OVERRIDE: + doi, src = DOI_OVERRIDE[num], "verified by hand" + elif m := re.search(r"doi\.org/(10\.\S+?)\.?$", entry): + doi = m.group(1) + src = "in manuscript" + elif num not in NO_DOI_EXPECTED: + title = guess_title(entry) + yr = re.search(r"\((\d{4})\)", entry) + doi, why = crossref_by_title(title, yr.group(1) if yr else None) + src = f"crossref ({why})" + time.sleep(0.3) + else: + src = "pre-DOI / book — not searched" + + c = csl_from_doi(doi) if doi else None + if c: + c["id"] = f"ref{num}" + c["note"] = f"Manuscript reference {num}" + status = f"OK {doi}" + else: + c = manual_csl(num, entry) + status = f"MANUAL ({src})" if not doi else f"MANUAL (DOI {doi} would not resolve)" + csls.append(c) + report.append((num, status, (c.get('title') or '')[:64], src)) + print(f" {num:3d} {status:52s} {(c.get('title') or '')[:56]}") + time.sleep(0.2) + + csls = [clean_csl(c) for c in csls] + (OUT / "references.json").write_text(json.dumps(csls, indent=1, ensure_ascii=False)) + (OUT / "references.ris").write_text("".join(to_ris(c, n) for (n, _), c in zip(refs, csls))) + ok = sum(1 for _, s, _, _ in report if s.startswith("OK")) + print(f"\nresolved from DOI: {ok}/{len(refs)} manual: {len(refs)-ok}") + (OUT / "report.txt").write_text("\n".join(f"{n}\t{s}\t{t}\t{src}" for n, s, t, src in report)) + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/paper/pnas/cover_letter_nmi.md b/paper/pnas/cover_letter_nmi.md new file mode 100644 index 0000000..f67e506 --- /dev/null +++ b/paper/pnas/cover_letter_nmi.md @@ -0,0 +1,39 @@ +Giorgio F. Gilestro +Department of Life Sciences, Imperial College London +giorgio@gilest.ro + +[Date] + +Dear Editor, + +Please consider the enclosed manuscript, "The evolution of sex for artificial intelligence: a population-genetic framework for multigenerational model populations", for publication as an Article in *Nature Machine Intelligence*. + +Machine learning has become a population process. Public repositories hold millions of models, most of them fine-tunes, distillations or weight merges of a few ancestors; models learn from the output of earlier models; and merging, now mainstream practice with standard tooling, is described in its own literature with the words crossover, mutation and mate choice. A population whose members inherit from one another, recombine and retransmit is an evolving population in the technical sense, and the branch of biology built for that situation is the population genetics of sexual reproduction. That training on model output is genetic drift, with model collapse as its signature, has been established several times over. This paper takes the next step and develops the mechanisms population genetics offers for sustaining a population against drift (immigration, recombination, selection, population structure), and the point where they fail (reproductive isolation), and tests each of them in a chain from closed forms to trained networks to language models. + +Four measurements are new, and each was chosen because the existing experimental designs could not make it. + +First, a six-generation population of language models in which three lineages each learn a new skill every generation and then choose whether, and with whom, to merge. Merging has been iterated before, in evolutionary pools of fixed parents and in continual streams folded into one model, but never while the lineages were also learning. The population shows that obligate merging collapses once partners hold conflicting conventions (accuracy 0.65 to 0.27), that a merge each lineage may decline, or a fixed early stop, avoids the collapse at no cost against never merging, and that merging with one's own ancestor is safer than merging with a contemporary in every seed. A second curriculum decoupling partner complementarity from generation shows that declines track generation, which corrects an interpretation the first curriculum invited. + +Second, model speciation as a named and tested question. Using the permutation-and-rescaling alignment of Git Re-Basin and REPAIR, the merge barrier between networks is separated into the part alignment removes and the part it cannot. Conflicting label maps leave a residual alignment does not touch, while six times the base training on non-conflicting tasks produces no isolation at all and the strongest rescue-by-merging in the paper, against the expectation that specialisation by itself erodes mergeability. + +Third, a pre-merge predictive test on 39 language-model parent pairs across three decorrelated axes (conflict, compatible overlap, duration). Functional disagreement between parents predicts merge damage out of sample where LoRA-weight cosine and distance do not, in agreement with recent correlational reports. The control that matters is new: on a grid that varies conflict and shared training data together, weight cosine is the best predictor (ρ = 0.60), and adding overlap without conflict collapses it to 0.03. Any weight-geometry predictor validated on such a grid is reading the shared data, which bears on the merge-prediction literature independently of the biology. + +Fourth, a conservation law for blending inheritance. Refitting a child on the average of several parents' outputs carries a rare capability across a generation no better than inheriting from one parent, to first order, so the gain of having several parents is realised only by operators that keep each parent's strongest contribution. The law fixes the null against which every recombination operator is judged and predicted the headroom rule measured in language models at two scales: routing and offspring selection beat the weight average wherever that average falls short of attainable performance (hard tasks at 7B, every seed), and add nothing where it does not. + +Around these sit results that place the framework in the existing literature: a closed-form grounding equilibrium and per-item floor that agree with the fresh-data stability theorems and with the finding that absolute real-sample counts matter more than proportions; the transfer of every drift sign to trained networks with a measured, architecture-specific estimator bias; and a four-arm ablation of a composed population. Two refinements the framework proposed were not supported, and the paper says so. + +I am submitting to *Nature Machine Intelligence* because the readers who make the decisions this paper prices (how much verified data a synthetic pipeline needs, whether to merge or route, when to stop merging, how to detect an incompatible pair before paying for the merge) are this journal's readers, and because the journal has already published evolutionary model merging as a research direction (Akiba et al., 2025). The paper gives that direction its theory and its failure modes. What biology receives in return is a model system where every genotype, environment and mating decision is observable and manipulable, so the paper should also interest the evolutionary biologists among your readership. + +All code, configurations, seeds, results artefacts and a one-command reproduction script will be deposited openly with an archived DOI on publication; every figure regenerates from committed artefacts without re-simulation. The manuscript is not under consideration elsewhere and has not been published in any form. [A preprint has been / will be posted to arXiv.] I am the sole author and declare no competing interests. + +Suggested referees: +- [Name, affiliation, email] (model merging) +- [Name, affiliation, email] (model collapse / synthetic data theory) +- [Name, affiliation, email] (population genetics of recombination and speciation) +- [Name, affiliation, email] (continual learning) + +Excluded referees: [none / names]. + +Yours sincerely, + +Giorgio F. Gilestro diff --git a/paper/pnas/figs/fig1a.pdf b/paper/pnas/figs/fig1a.pdf index 9c8e41b..6df1bcf 100644 Binary files a/paper/pnas/figs/fig1a.pdf and b/paper/pnas/figs/fig1a.pdf differ diff --git a/paper/pnas/figs/fig1b.pdf b/paper/pnas/figs/fig1b.pdf index 895cb63..3045a8e 100644 Binary files a/paper/pnas/figs/fig1b.pdf and b/paper/pnas/figs/fig1b.pdf differ diff --git a/paper/pnas/figs/fig2.pdf b/paper/pnas/figs/fig2.pdf index 71e0c8b..f62f176 100644 Binary files a/paper/pnas/figs/fig2.pdf and b/paper/pnas/figs/fig2.pdf differ diff --git a/paper/pnas/figs/fig3.pdf b/paper/pnas/figs/fig3.pdf index 38e3928..35a3912 100644 Binary files a/paper/pnas/figs/fig3.pdf and b/paper/pnas/figs/fig3.pdf differ diff --git a/paper/pnas/figs/fig4.pdf b/paper/pnas/figs/fig4.pdf index a9d2f14..a32c0e4 100644 Binary files a/paper/pnas/figs/fig4.pdf and b/paper/pnas/figs/fig4.pdf differ diff --git a/paper/pnas/figs/fig5.pdf b/paper/pnas/figs/fig5.pdf index 1c4cb17..47fcb27 100644 Binary files a/paper/pnas/figs/fig5.pdf and b/paper/pnas/figs/fig5.pdf differ diff --git a/paper/pnas/figs/fig6.pdf b/paper/pnas/figs/fig6.pdf index bb84dbf..0d89b45 100644 Binary files a/paper/pnas/figs/fig6.pdf and b/paper/pnas/figs/fig6.pdf differ diff --git a/paper/pnas/figs/si/s10_E9.pdf b/paper/pnas/figs/si/s10_E9.pdf new file mode 100644 index 0000000..3a0f27b Binary files /dev/null and b/paper/pnas/figs/si/s10_E9.pdf differ diff --git a/paper/pnas/figs/si/s11_E10.pdf b/paper/pnas/figs/si/s11_E10.pdf new file mode 100644 index 0000000..8f20be3 Binary files /dev/null and b/paper/pnas/figs/si/s11_E10.pdf differ diff --git a/paper/pnas/figs/si/s12_E5.pdf b/paper/pnas/figs/si/s12_E5.pdf new file mode 100644 index 0000000..e71a73e Binary files /dev/null and b/paper/pnas/figs/si/s12_E5.pdf differ diff --git a/paper/pnas/figs/si/s13_E14.pdf b/paper/pnas/figs/si/s13_E14.pdf new file mode 100644 index 0000000..f4ba138 Binary files /dev/null and b/paper/pnas/figs/si/s13_E14.pdf differ diff --git a/paper/pnas/figs/si/s14_curriculum_timing.pdf b/paper/pnas/figs/si/s14_curriculum_timing.pdf new file mode 100644 index 0000000..dfff3b3 Binary files /dev/null and b/paper/pnas/figs/si/s14_curriculum_timing.pdf differ diff --git a/paper/pnas/figs/si/s15_curriculum_cull.pdf b/paper/pnas/figs/si/s15_curriculum_cull.pdf new file mode 100644 index 0000000..41c5c46 Binary files /dev/null and b/paper/pnas/figs/si/s15_curriculum_cull.pdf differ diff --git a/paper/pnas/figs/si/s16_llm_smol.pdf b/paper/pnas/figs/si/s16_llm_smol.pdf new file mode 100644 index 0000000..1361a13 Binary files /dev/null and b/paper/pnas/figs/si/s16_llm_smol.pdf differ diff --git a/paper/pnas/figs/si/s1_architectures.pdf b/paper/pnas/figs/si/s1_architectures.pdf new file mode 100644 index 0000000..84a8e1d Binary files /dev/null and b/paper/pnas/figs/si/s1_architectures.pdf differ diff --git a/paper/pnas/figs/si/s2_kernel.pdf b/paper/pnas/figs/si/s2_kernel.pdf new file mode 100644 index 0000000..a535bb1 Binary files /dev/null and b/paper/pnas/figs/si/s2_kernel.pdf differ diff --git a/paper/pnas/figs/si/s3_E6.pdf b/paper/pnas/figs/si/s3_E6.pdf new file mode 100644 index 0000000..3889cb2 Binary files /dev/null and b/paper/pnas/figs/si/s3_E6.pdf differ diff --git a/paper/pnas/figs/si/s4_E2.pdf b/paper/pnas/figs/si/s4_E2.pdf new file mode 100644 index 0000000..9f02870 Binary files /dev/null and b/paper/pnas/figs/si/s4_E2.pdf differ diff --git a/paper/pnas/figs/si/s5_E3.pdf b/paper/pnas/figs/si/s5_E3.pdf new file mode 100644 index 0000000..8b3217b Binary files /dev/null and b/paper/pnas/figs/si/s5_E3.pdf differ diff --git a/paper/pnas/figs/si/s6_grounding.pdf b/paper/pnas/figs/si/s6_grounding.pdf new file mode 100644 index 0000000..bacec0d Binary files /dev/null and b/paper/pnas/figs/si/s6_grounding.pdf differ diff --git a/paper/pnas/figs/si/s7_mnist_collapse.pdf b/paper/pnas/figs/si/s7_mnist_collapse.pdf new file mode 100644 index 0000000..10651fc Binary files /dev/null and b/paper/pnas/figs/si/s7_mnist_collapse.pdf differ diff --git a/paper/pnas/figs/si/s8_E4.pdf b/paper/pnas/figs/si/s8_E4.pdf new file mode 100644 index 0000000..0ba4a16 Binary files /dev/null and b/paper/pnas/figs/si/s8_E4.pdf differ diff --git a/paper/pnas/figs/si/s9_E8.pdf b/paper/pnas/figs/si/s9_E8.pdf new file mode 100644 index 0000000..eabd45a Binary files /dev/null and b/paper/pnas/figs/si/s9_E8.pdf differ diff --git a/paper/pnas/figure_legends_for_students.md b/paper/pnas/figure_legends_for_students.md new file mode 100644 index 0000000..063165f --- /dev/null +++ b/paper/pnas/figure_legends_for_students.md @@ -0,0 +1,271 @@ +# The evolution of sex for artificial intelligence: the figures explained + +*Appendix to the paper. Written for a reader with A-level biology or maths and no background in machine learning.* + +## Why this appendix exists + +The paper sits between two fields. Its questions and its theory come from population genetics; its experiments are machine learning, run on simulations, small neural networks and language models. A biologist can follow the argument in the main text while still finding the experimental details opaque: what a model is trained on, what an adapter is, what a verifier measures, why a result rests on seeds rather than replicates. This appendix answers those questions figure by figure. It repeats every figure of the paper, main and supplementary, with a legend that explains the experiment behind it in plain terms, so that a reader from biology can judge the evidence and not only the analogy. + +## How to read this document + +The paper asks one question: when artificial-intelligence models are built from other models, what happens to what they know over the generations? Modern AI systems are rarely trained from nothing. A new model is usually a copy of an older one that has been trained a little further (a *child* of a *parent*), it is often trained on text that earlier models wrote, and two trained models are often blended into one by averaging the numbers inside them (*merging*). Those three habits give AI models parents, siblings and descendants, and biology has a hundred years of theory about populations like that: *population genetics*, the mathematics of how genes spread, vanish and recombine over generations. + +The paper takes that theory literally. It treats a model's knowledge as a set of *items* (a fact, a skill, a habit of answering), each with a frequency, exactly as a population geneticist treats *alleles* (the alternative versions of a gene) and their frequencies. It then tests, at three levels of realism, whether the biological rules hold. The three levels are: a pure simulation with known answers (called the *inheritance model*), small neural networks trained on data the authors fully control, and real language models (the family of systems behind chatbots). Every figure below belongs to one or more of those levels. + +A few terms come back in every figure: + +- **Generation.** One round of "train a child from its parent". A lineage that goes through ten rounds has ten generations. +- **Grounding.** Mixing some genuine, checked real data into what a child is trained on, instead of training it only on what its parent produced. In the biological reading this is *immigration*: new individuals arriving from outside. +- **Model collapse.** The gradual loss of rare knowledge when each generation is trained only on the previous one. In biology the same process is called *genetic drift*: in a small population, rare alleles disappear by chance, not because anything selects against them, in the way that rare surnames die out in a small village. +- **Diversity, or heterozygosity, H.** A number between 0 and 1 that measures how spread out the knowledge is. If you pick two items at random, H is the chance they differ. H near 1 means many items share the frequency; H equal to 0 means one item has taken over. +- **Merging.** Making a new model by averaging the internal numbers (the *weights*) of two or more trained parents. The paper's central claim is that this is the AI counterpart of *sexual reproduction*, with the same benefits and the same dangers. +- **Verifier.** A program that can mark an answer right or wrong automatically (run the code, check the arithmetic, compare with the known answer). It is the paper's stand-in for "reality that can say no". +- **Accuracy.** The fraction of test questions a model gets right, from 0 to 1. +- **Seed.** Training a neural network involves random choices. Repeating an experiment with a different random seed and getting the same answer shows the result is not a fluke. Error bars in the figures are 95% confidence intervals over seeds or replicates. + +Each legend below says what was done, what you are looking at, and what it means. + +--- + +## Figure 1. A map of the whole study + +![](figs/fig1a.pdf) + +![](figs/fig1b.pdf) + +**What was done.** Nothing is measured in this figure. It is a map. Panel A is a grid: each row is one biological mechanism the paper borrows, each column is one of the three levels of realism at which it was tested. The rows are grounding (immigration), recombination (sex), epistasis (skills that only work in combination), the complete "society" with all mechanisms running at once, and speciation (when two lineages can no longer produce a working hybrid). The columns are the inheritance model (a simulation with exact answers, in green), trained small networks (blue), and language models (blue). Each filled cell names what was run there and, in the corner, which figure reports it. Cells marked "no counterpart" or "established in prior work" were deliberately not run: the paper tests each claim at the cheapest level that could prove it wrong, and moves to a more expensive level only when that adds a new test rather than a repeat. + +**Panel B** shows the change of viewpoint the whole paper rests on. On the left is how people usually picture a group of AI models: contemporaries exchanging messages, a *society in space*. On the right the same group is drawn along its time axis: a model inherits from a parent, merges with a partner, receives fresh real data, and passes the result on. That is a *society in time*, and it is exactly the kind of object population genetics was built to describe. The coloured dots on each robot are its skills. Follow the gold dot: it is rare, it is lost when a child inherits from a single parent, it is recovered when two complementary parents merge, and it is re-supplied by grounding (the globe). + +**What it means.** If you remember one thing from this figure, remember the right-hand side of panel B. The rest of the paper is a list of what happens to the gold dot. + +## Figure 2. How much real data stops collapse + +![](figs/fig2.pdf) + +**What was done.** Two experiments on the same question. In panel A a small image-generating network (a *variational autoencoder*, a type of network that learns to draw new examples of what it was shown) was trained on handwritten digits, then a fresh copy was trained only on the digits the first one drew, then another on that one's output, for fifteen generations. The digits were sorted into thirty kinds (each digit in three stroke thicknesses), some kinds common and some rare, and an independent classifier checked which kind each drawn digit belonged to. In panel B the same question was asked of the inheritance model, the pure simulation: a population of 1,000 knowledge items, 200 samples drawn per generation, and a fraction *g* of fresh real samples mixed in each time, swept from 0 to 0.4 across 100 independent lineages. + +**What you see.** In A, each row is a generation (0, 4, 8, 12, 15) and each column a randomly chosen drawing. With no real data added, the drawings degrade from recognisable digits to one blurred grey shape: the population has collapsed to a single kind. In B, the vertical axis is the diversity H the population settles at, and the horizontal axis is the grounding fraction g. Points are the simulation, the dashed line is the exact mathematical prediction, and the dotted line is the diversity of the real data itself. The red line marks the g at which the population keeps 95% of the real data's diversity for ever: about 0.05, one sample in twenty. + +**What it means.** A small, steady trickle of checked real data is enough to hold the population's diversity indefinitely, much as a few migrants per generation keep an island population healthy. The curve is smooth: there is no sudden switch between "safe" and "collapsing", so any threshold you quote is a choice of how much diversity you want to keep. The image network needed about twice the simulation's fraction (10% rather than 5%) because a trained network is not the ideal copier the simulation assumes. The text also explains why the *rarest* items need more than this: to have a fair chance of seeing an item that occurs once in ten thousand real examples, you need about ten thousand real examples every generation. + +## Figure 3. Merging language models: when it helps, and predicting when it will hurt + +![](figs/fig3.pdf) + +**What was done.** Every data panel uses small language models trained to be *specialists*: starting from one shared base model (Qwen2.5, of 0.5 or 7 billion parameters), a small add-on set of weights called a *LoRA adapter* is trained on one family of tasks (list puzzles, string puzzles or arithmetic). Think of the base model as a shared textbook and each adapter as one student's margin notes. Merging two specialists means averaging their notes. A verifier marks every answer. + +**Panel A** is a picture of the five kinds of model the next two panels compare, left to right: the base alone; the three specialists (the "best specialist" is whichever of the three scores highest, chosen separately for each seed); the three combined by averaging their adapters, which dilutes each parent's contribution; the three combined after first dropping the changes on which the parents disagree (an "interference-aware" merge); and routing, which keeps the three specialists intact and sends each question to the one that owns it. + +**Panels B and C.** Bars show accuracy averaged over all task families (blue) and on the family each model is worst at (red); brackets mark pairs of bars that differ significantly across seeds (stars) or do not (ns). In B (0.5B model, five seeds) the merged models beat the best single specialist overall, and they are the only models that are competent on every family at once. This is the AI version of what geneticists call the *Fisher–Muller effect*: sex gathers into one offspring useful variants that arose in different individuals. In C the tasks were made deliberately hard so that a larger 7B model was not already at the ceiling. Here plain averaging only matches the best specialist, because averaging dilutes each specialist's own skill, while *routing* (keeping the specialists separate and sending each question to the right one) wins by a wide margin. The rule the paper draws is about *headroom*: keep specialists separate whenever the average falls short of what they could jointly do. + +**Panels D and E.** Can you tell in advance whether a merge will go badly? Thirty-nine pairs of specialists were built along three axes: pairs trained to answer the same questions in *contradictory* ways (red), pairs trained on the same questions in the *same* way (green), and pairs simply trained for longer on different things (blue). Before merging, six quantities were measured on each pair. The one on the horizontal axis of D is functional conflict: how often the two parents confidently disagree when asked the same probe questions. The vertical axis is the *merge penalty*: how far the merged model falls short of what the pair could have scored if each question went to the parent that knew it. The penalty concentrates in the red points. Panel E compares the six predictors: how well each one ranks the pairs by penalty. Disagreement measured by asking questions predicts damage; measures of how far apart the parents' internal numbers are (weight cosine, weight distance) do not. + +**What it means.** Merging complementary specialists can produce a model better than any of its parents, and a cheap behavioural test on the parents forecasts when merging will fail. The green points carry a warning for other researchers: pairs that share training data have similar weights and also merge worse, so a predictor based on weight similarity can look good for the wrong reason. + +## Figure 4. A population of language models over six generations + +![](figs/fig4.pdf) + +**What was done.** Panel A is a picture of the set-up; panels B and C follow three lineages of language models for six generations. Each generation, every lineage learns one new skill from a public dataset (six in total: reasoning about sentences, science questions, common-sense completion, reading comprehension, yes/no questions, pronoun resolution) by continuing to train its parent's adapter, so what the parent learned passes on. The three lineages take the six skills in rotated orders, like three students working through one syllabus in different sequences, so early on a partner knows things you lack and late on it knows nothing you lack. That quantity, the share of a partner's skills you do not have, is called *complementarity* and is printed under the generation numbers. Between generations a lineage may merge with a partner. The arms differ in the rule: never merge; always merge with a contemporary; merge only if the merged model beats keeping the parent (a *declinable* merge); merge for the first three generations and then stop. Everything was repeated with three seeds. + +**Panel A** shows one generation as a loop (learn a new skill, decide whether to merge, take the test), the syllabus as a grid of three lineages by six generations with the skills colour-coded so the rotation is visible, and the four merging rules with the colours used in panel B. **Panel B.** Accuracy of the best lineage on all six skills, generation by generation. Never merging (blue) and the declinable merge (green) end level, near 0.80. Always merging (red) tracks them for three generations and then collapses to under 0.30, beginning when partners stop being complementary. The orange dashed line is the "merge early, then stop" control, and the grey diamond is a single model taught the whole syllabus alone. **Panel C.** How often the declinable lineages refused a merge (bars) against complementarity (lines), under the rotated syllabus (green) and a second syllabus in which complementarity starts at zero, peaks in the middle and returns to zero (orange). Refusals rise with generation under both, and once generation is accounted for they do not follow complementarity. + +**Panels D to F** are the simulation that motivated the design: sixty simulated agents evolving on a rugged fitness landscape (a landscape where a variant's value depends on which other variants it sits next to), with all four mechanisms running (grounding, recombination, diversity preservation, mutation) and one removed per arm. Removing grounding (red) makes the population agree confidently on a wrong answer: it optimises fitting the crowd instead of reality. Removing recombination (orange) or diversity (purple) strands it lower. Each removal fails in its own way. + +**What it means.** Merging with a partner that knows conflicting things is what destroys a population; giving each lineage the right to refuse a merge, or simply stopping early, avoids the collapse at no cost. The simulation shows why all the mechanisms are needed at once. Two things the paper had hoped to see were not seen: refusals did not track complementarity, and (Figure S15) adding survival of the fittest did not make merging lineages finish ahead. + +## Figure 5. Model speciation: when two lineages can no longer merge + +![](figs/fig5.pdf) + +**What was done.** In biology, two lineages pushed far enough apart become separate species: their hybrids fail, as a mule is sterile, because two genomes that each work cannot run together in one cell. The paper asks whether the same happens to models. The difficulty is a known nuisance: two networks trained separately can differ in their weights for a trivial reason. The internal units of a network can be renumbered, and scaled up and down in matching pairs, without changing what the network computes, so two networks that do the same job can look very different inside. *Alignment* undoes this relabelling before merging. Panels A and B use small networks whose units can be aligned exactly; panels C and D use language models; panels E and F use the simulation. + +**Panel A.** The height of the bar is the *barrier*: how much worse the average of two networks is than the networks themselves. Two copies trained from different random starts on the same task have a barrier that alignment removes almost entirely (from 0.04 to about 0.001). Two networks trained on *conflicting* labels (the same images, some classes deliberately relabelled) have a barrier alignment leaves untouched (0.50), and the merged model is useless. **Panel B.** Sweeping the fraction of classes in conflict moves the merged model's accuracy from 0.97 to 0.03: a cliff. **Panel C.** Language models: two specialists were given a shared set of ambiguous questions ("sort this list", direction unstated) and taught opposite conventions (one sorts ascending, the other descending). As the share of such conflicting training grows, each parent stays good under its own convention, but the merged model's accuracy under its best convention falls below both parents, in all three seeds (shaded bands). **Panel D.** The control: specialists trained for longer and longer on *different* tasks, with no conflict at all. The merged model gets better, never worse, however long the parents train. **Panels E and F.** The simulation: hybrid fitness tracks the parents while lineages are compatible and then crashes, sooner when incompatibilities are denser, and the chance of a non-viable hybrid rises with divergence. + +**What it means.** What breaks merging is conflicting conventions on shared machinery, not distance or specialisation as such. Left alone, specialisation did not produce "species" in any experiment here; isolation had to be provoked by conflict. That is good news for anyone merging models, and it is why the pre-merge test in Figure 3D works. + +--- + +## Supplementary figures + +The supplementary figures are the experiments behind the main text that either reproduce a known result, calibrate a method, or replicate a main result on more seeds or a second system. They keep the working titles the experiments were run under. + +## Figure S1. Collapse and rescue in three different kinds of network + +![](figs/si/s1_architectures.pdf) + +**What was done.** The same generational loop as Figure 2 (train a child only on its parent's output, with or without 5% real data) was run with three generators: an exact histogram (a simple frequency count, no neural network), a recurrent neural network (one that reads and writes sequences one token at a time), and a feed-forward network. Each had to learn a synthetic "universe" of 256 kinds of item whose true frequencies were known exactly, for 22 generations, five times over. + +**What you see.** (A) distance from the true distribution (a quantity called forward KL divergence, which grows the more of the truth a model fails to cover) against generation. Solid lines, with no real data, climb in every architecture; dashed lines, with 5% real data, stay low. (B, C) the same at the end of the run, as bars, and the fraction of rare items still alive. + +**What it means.** Collapse and its rescue by grounding are not a quirk of one type of network. The histogram's bars for rare items are tiny because a frequency count drops a rare item outright once it is unseen, whereas the neural networks keep some alive by "smoothing", spreading a little probability onto things they have not seen. That difference is the subject of Figure S2. + +## Figure S2. Why real networks deviate from the ideal, in opposite directions + +![](figs/si/s2_kernel.pdf) + +**What was done.** The inheritance model assumes a perfect copier: a child's frequencies are exactly the frequencies it sampled from its parent. Real networks are not perfect copiers. This figure adds two knobs to the simulation's copying step: a *smoothing* knob (a small pull toward treating all items as possible) and a *sharpening* knob (a temperature that concentrates probability on the commonest items), and asks whether either reproduces what the real networks did. + +**What you see.** Blue is the ideal copier, red the copier with one knob turned, green dashed the level the real trained network actually reached. Panels A and B: the image network of Figure 2 (6,000 samples per generation, 30 kinds). The ideal copier barely drifts at that sample size, yet the real network collapsed to a single kind; turning the sharpening knob reproduces the collapse. Panels C and D: the recurrent network (200 samples, 256 kinds). The ideal copier drives diversity to zero, yet the real network keeps a floor of diversity; turning the smoothing knob reproduces the floor. + +**What it means.** A trained network behaves like the textbook model of drift plus a bias that depends on its architecture: some networks add collapse, some resist it. In biological terms the two knobs are different things. The smoothing knob is recurrent mutation: variants appear in the child that it did not inherit, though here they are the network's own inventions rather than real knowledge, which is why counting them overstates its health. The sharpening knob is not mutation at all; it is selection in favour of whatever is already common, which removes variants and never creates them. Knowing the sign of that bias is what lets the paper use the exact simulation as a reference for real systems, and it explains why the image network in Figure 2 needed twice the simulation's dose of real data. + +## Figure S3. Re-baselining a collapsed population locks in the damage + +![](figs/si/s3_E6.pdf) + +**What was done.** A tempting shortcut in practice is to declare a model's current output the new "ground truth" and stop keeping the original data. The simulation tests what that does. Two hundred generations in, and again at 300, the population's current frequencies are frozen as the new reference for grounding and the original truth is thrown away (it is kept only to measure against). Four arms: re-baseline while still healthy (green); re-baseline after collapse (red); the same, but only allowed when diversity is above 0.75 (blue); never re-baseline (grey). + +**What you see.** (A) distance from the original truth against generation. The red arm jumps at each re-baselining and never comes back; the healthy arm shows small steps; the gated and the never arms coincide. (B) diversity, with the gate's threshold as a dashed line. + +**What it means.** This is Muller's ratchet in a population of models: once the rare knowledge is gone from every copy, nothing downstream can rebuild it, and re-baselining after collapse makes the loss permanent. A simple rule (never re-baseline while diversity is low) prevents it. The lesson is that remedies must act while copies of the rare knowledge still exist somewhere. + +## Figure S4. The full grounding sweep in the simulation + +![](figs/si/s4_E2.pdf) + +**What was done.** The complete version of the experiment summarised in Figure 2B: 1,000 knowledge items with a long tail of rare ones, 200 samples per generation, 500 generations, 100 lineages, and the fraction g of real data swept from 0 to 0.4. + +**What you see.** (A) diversity over time, one line per g; with no real data it declines steadily, with any real data it levels off. (B) the levelling-off value against g, with the exact prediction (dashed) and the real data's own diversity (dotted); the red line is the 95%-retention point at g of about 0.048. (C) the fraction of the rare tail that survives, counted by items and by their share of the truth; both rise with g but stay below 0.1 even at g of 0.4. (D) survival split into bands of rarity, from the rarest to the least rare; the rarest bands recover last. + +**What it means.** Overall diversity is cheap to protect, but the rarest items are not. An item persists only when enough real examples of it arrive each generation, roughly one per generation, so protecting it costs about one over its frequency in real samples. The real-data budget is set by the rarest thing you refuse to lose. + +## Figure S5. Real data protects only the topics it covers + +![](figs/si/s5_E3.pdf) + +**What was done.** The 1,000 items were divided into ten topics. The same total budget of real data was spent in two ways: spread evenly over all ten topics, or concentrated on a single topic that the experimenter wants to protect. + +**What you see.** (A) the fraction of that topic's rare items still alive, over 400 generations, when real data is aimed at it (blue) versus spread evenly (red). Aimed grounding holds about half the topic's rare items; spread grounding lets it fall to under a tenth. (B) survival per topic at the end. Aimed grounding protects its topic and leaves the others with nothing; spread grounding gives every topic the same low survival. + +**What it means.** Grounding is not a general tonic. A fixed budget of real data protects the rare knowledge it actually contains, so it should be aimed at what matters, and targeting changes the cost of protecting a rare item substantially. + +## Figure S6. Grounding in a trained recurrent network + +![](figs/si/s6_grounding.pdf) + +**What was done.** The grounding sweep of Figure S4 repeated in a trained recurrent network rather than the simulation: 256 kinds of item, 200 samples per generation, 30 generations, nine values of g from 0 to 0.2, eighteen repeats. + +**What you see.** (A) distance from the truth over time; more real data suppresses the climb. (B) the final distance against g, falling steadily from about 2.1 with no real data to 0.75 at g of 0.2. (C) how much of the achievable improvement each g buys; half of it arrives by g of about 0.04, close to the simulation's 0.048, but the full improvement needs g near 0.19. (D) three ways of measuring collapse on one scale. Diversity is flat; the count of surviving rare items goes up and down with no pattern; distance from the truth improves cleanly. + +**What it means.** The direction of the effect is the same as in the simulation, but the sharp threshold softens, and counting surviving items is the wrong ruler for a smoothing network, because it keeps inventing rare items that are not in the truth. Distance from the truth is the measure the paper uses for such networks. + +## Figure S7. Collapse and rescue on real handwritten digits, in numbers + +![](figs/si/s7_mnist_collapse.pdf) + +**What was done.** The experiment whose pictures are in Figure 2A, quantified. Thirty kinds of digit, a classifier reading the kind of each drawn digit with 98.5% accuracy, 6,000 drawings per generation, fifteen generations, four repeats, with 0% (red) or 10% (green) real digits mixed in. + +**What you see.** (A) distance from the truth rises from about 0.5 to about 18 with no real data and stays near the floor with 10%. (B) the number of distinct kinds still being drawn falls from 30 to 1 without real data; with it, all 30 survive. (C) the share of the rare kinds still alive falls to 0.06 without real data. (D) diversity falls to zero without real data and stays near 0.9 with it. + +**What it means.** Everything the simulation predicted appears on real images with an independent judge, and the dose of real data needed is about twice the simulation's, for the reason given in Figure S2. + +## Figure S8. Averaging parents cancels the benefit of having several; keeping the best of each does not + +![](figs/si/s8_E4.pdf) + +**What was done.** Several parent models each remember a random share of the rare items, and the experimenter controls how similar their shares are (from fully complementary to identical). A child is then built either by averaging the parents' output frequencies, or by keeping, for each item, the largest frequency any parent gives it (a *union*). The child then resamples, as every generation does, and the question is how many rare items survive in it. + +**What you see.** (A) the fraction of the rare tail held by at least one parent, against parent similarity, one curve per number of parents; the lines are an exact formula and the points match it. (B) the fraction that survives in the child. Solid lines (union) rise with more and less similar parents; dashed lines (averaging) stay flat near 0.08 whatever the number of parents. (C) the same at zero similarity, against the number of parents. + +**What it means.** Averaging dilutes each rare item by the number of parents, which exactly cancels the gain of having more parents to draw on: a conservation law. That is the AI form of *blending inheritance*, the pre-Mendelian idea that offspring are an average of their parents, which Fleeming Jenkin showed would swamp any rare favourable variant. Only an operator that keeps each parent's strongest contribution realises the benefit of several parents, and it needs a judge to say which parent that is. + +## Figure S9. Many complementary parents can produce an offspring better than any of them + +![](figs/si/s9_E8.pdf) + +**What was done.** A capability is modelled as a string of twelve yes/no positions (a *genotype* of twelve *loci*), and fitness is the number of positions that are right. Each parent is a specialist: confident and correct on the positions it has mastered, unsure elsewhere, and no parent has mastered them all. Offspring are built from 2 to 12 parents either by averaging or by taking, position by position, the answer of the parent most confident about it. + +**What you see.** (A) fitness of the offspring against the number of parents, when parents master different positions. Position-wise recombination (red) reaches the perfect score of 12 with eight parents; the best single parent (grey) sits near 8.7; the average of parents (blue) reaches about 11.6 at twelve parents. (B) recombination against the number of parents when parents are complementary, half-overlapping, or identical clones; clones gain nothing. + +**What it means.** This is the Fisher–Muller effect in its cleanest form: recombination assembles, in one offspring, good variants that arose in different individuals. Unlike biology, a model population is not limited to two parents, so the effect is unbounded. Figure 3B is this result in real language models. + +## Figure S10. When skills are entangled, blind recombination harms the offspring + +![](figs/si/s10_E9.pdf) + +**What was done.** The same twelve-position genotypes, now on a *rugged* landscape (Kauffman's NK model), in which the value of a position depends on what its neighbours hold, with a knob K from 0 (positions independent) to 8 (highly entangled). Parents are local optima found by hill-climbing, the model of a trained specialist. Offspring are made by recombining them at rates from 0 (copy a parent) to 0.5 (free shuffling). + +**What you see.** (A) mean offspring fitness minus the best parent, against recombination rate, one curve per K. On a smooth landscape the difference is zero; as K grows the curves fall, more steeply at higher rates, down to about minus 0.23. (B) the fitness of the *best* offspring in a brood; on rugged landscapes it peaks at an intermediate recombination rate and falls back toward the parents under free shuffling. + +**What it means.** This is *outbreeding depression*, well known in conservation biology: crossing two locally adapted populations can break up combinations of genes that only work together. The optimal amount of recombination shrinks as skills become more entangled. The design rule is to merge freely when skills are independent and sparingly, with selection, when they are not. + +## Figure S11. Directed sex: choosing and screening offspring rescues recombination + +![](figs/si/s11_E10.pdf) + +**What was done.** Biology is stuck with two random parents and no preview of the offspring. A model population is not: it can pick complementary parents, breed many candidate offspring, test them, keep the fittest and repeat. On the rugged landscapes of Figure S10 three strategies are compared: the best single parent (grey), random recombination (blue) and this *directed* recombination (red, five rounds). + +**What you see.** (A) offspring fitness against ruggedness K, with the global optimum dotted. Random recombination falls from 0.66 to 0.51 as K rises; directed recombination tracks the best parent and the optimum at every K. (B) the same as a difference from the best parent; directed stays at or above zero, random falls to about minus 0.2. + +**What it means.** The danger of Figure S10 is real but avoidable, by doing what no living population can. In language models this is "breed many merges, keep the best" (Figure 3 and Table S2), and it beat the single default merge in every seed on hard tasks. + +## Figure S12. Selecting for the best destroys diversity; rewarding novelty preserves it + +![](figs/si/s12_E5.pdf) + +**What was done.** Each generation, the simulation now *selects* which items to keep, all arms receiving the same grounding. Three rules: no selection; *greedy*, keeping the items of highest true probability; and *quality-diversity*, which rewards an item for being rare as well as good, with a knob (alpha) for how much rarity counts. + +**What you see.** (A) diversity over 400 generations. Greedy (red) collapses within a few generations to almost zero; quality-diversity at two settings and no selection hold a plateau above 0.85. (B) the settled diversity against alpha, rising from about 0.48 to about 0.88 as rarity is rewarded more. (C) the number of distinct items alive at the end: about 9 under greedy, 14 to 28 under quality-diversity, about 32 with no selection. + +**What it means.** Chasing the best outputs is a fast route to collapse, because it is a directional pressure on top of drift. Diversity has to be an objective in its own right, since selection can only preserve variety that still exists. This is the "diversity preservation" ingredient of the composed society in Figure 4D to F. + +## Figure S13. Who should mate with whom: mating breadth on rugged landscapes + +![](figs/si/s13_E14.pdf) + +**What was done.** Forty-eight simulated agents sit on a ring. When an offspring is made, its second parent is drawn from a neighbourhood whose width is the knob: narrow (mating only with neighbours, like an isolated village) to the whole ring (anyone can mate with anyone). An offspring replaces the agent at its position only if it is fitter. Ruggedness K is swept from 0 to 10. + +**What you see.** (A) the best fitness reached, relative to the optimum, against mating breadth, per K. On a smooth landscape every breadth reaches the optimum; as K rises the best breadth narrows (0.6 at K of 3, 0.35 at K of 6 and 10) and mating with everyone falls below it. (B) the population's mean fitness rises with breadth at every K. (C) standing diversity (how different the agents are from one another) falls with breadth, fastest on rugged landscapes. + +**What it means.** Wide mixing spreads a good variant fast but homogenises the population, so on entangled problems it loses the ability to explore several solutions in parallel. This is Sewall Wright's classic argument for structured populations, reproduced here as a design rule: as skills become more entangled, keep merging local. + +## Figure S14. Do lineages stop merging because of conflict, or just because time passes? + +![](figs/si/s14_curriculum_timing.pdf) + +**What was done.** In Figure 4 three things rose together with generation: how long each adapter had been trained, how many skills it held, and the arrival of the two skills whose answer formats clash (one wants "yes/no", the other "1/2"). To separate the third from the other two, two new syllabuses were run in which the clashing pair arrives either in the first two generations (conflict-early) or the last two (conflict-late), everything else rising exactly as before. Three seeds each, plus the two syllabuses from Figure 4. + +**What you see.** (A) how often lineages refused a merge, by generation, for all four syllabuses; the filled marker on each curve is the first generation at which both clashing skills are present everywhere. Refusals rise with generation on the same schedule in all four. A statistical test that holds generation fixed finds no relationship between refusals and the presence of conflict, and a clear one with generation. (B) the accuracy of populations forced to merge every generation. The conflict-early population dips when the clash arrives, recovers, and then collapses from generation 5 like the others; the conflict-late population collapses from generation 4 before its clash has even arrived. + +**What it means.** Moving the conflict by four generations did not move the collapse or the refusals. Conflicting conventions set how much damage each merge does, but something that grows with generation, adapter age or the number of skills carried, sets when the population can no longer repair the damage. Those two remain to be separated. + +## Figure S15. Survival of the fittest did not give merging lineages the edge + +![](figs/si/s15_curriculum_cull.pdf) + +**What was done.** The population of Figure 4 never removed a lineage. Here, after each generation's test, the worst-scoring lineage is deleted and replaced with a copy of the best (it keeps its own place in the syllabus). This is *differential reproduction*, the ingredient of natural selection the earlier population lacked. The prediction was that a lineage which assembles the skills first, by merging, would now leave more descendants and finish ahead. Never-merge and declinable-merge populations were run with and without this selection, three seeds each. + +**What you see.** (A) best-lineage accuracy over the six generations for the four populations; the two selected ones are dashed. All four end within 0.01 of each other, near 0.80. (B) the average over the three lineages; selection lifts the average early (it copies the best genome into the worst slot), but the final averages converge too. (C) exactly one replacement happened every generation in every selected population, so selection was acting throughout. + +**What it means.** Merging still bought speed, an early lead of about 0.08, and still bought no final advantage, with or without selection. Under a syllabus that eventually teaches every skill to every lineage, the ceiling is set by how much one adapter can hold, and both sex and selection only reach it sooner. The paper records this as a prediction it made and did not confirm. + +## Figure S16. The same results on a second, unrelated family of language models + +![](figs/si/s16_llm_smol.pdf) + +**What was done.** Every language-model experiment in the paper used one family of base models (Qwen). To check that the two most-cited results are not peculiar to it, the experiments of Figure 3B and 3C were re-run, unchanged, on SmolLM2, a 1.7-billion-parameter model from a different laboratory with a different architecture and training data. Blue bars are the original Qwen runs, orange and red the SmolLM2 runs; lighter bars are overall accuracy, darker bars the worst task family. + +**What you see.** (A) on the easy tasks the merged models beat the best single specialist on SmolLM2 in every one of five seeds, by about the same margins as on Qwen. (B) on the hard tasks, keeping specialists separate and routing questions to the right one beats averaging in every seed on both families, by a larger margin on SmolLM2, where the average even falls below the best single specialist. + +**What it means.** The Fisher–Muller effect and the headroom rule hold on a second lineage of models. Results that depend on one model family are common in machine learning; these two do not. + +--- + +## Glossary + +- **Adapter (LoRA).** A small set of extra trainable numbers added to a frozen base model, so that a specialist can be trained cheaply and two specialists can be merged by averaging their adapters. +- **Allele.** One of the alternative versions of a gene. In this paper, one of the alternative items of knowledge a model may hold. +- **Complementarity.** The share of a partner's skills that a lineage does not itself have. High early in the syllabus of Figure 4, zero at its end. +- **Epistasis.** When the effect of one gene depends on which other genes are present. For models: when a skill only works in combination with others (a rugged landscape). +- **Fisher–Muller effect.** The advantage of sex in bringing together, in one individual, beneficial variants that arose separately. +- **Fitness landscape.** A map from every possible genotype to its fitness. Smooth landscapes have one peak; rugged (NK) landscapes have many, so a population can get stuck on a poor one. +- **Forward KL divergence.** A measure of how badly a model covers the true distribution; it charges the model for every region where the truth has probability and the model has almost none. +- **Immigration–drift equilibrium.** The steady level of diversity a population settles at when new arrivals from outside balance the losses from drift. Its exact formula is the dashed line in Figure 2B. +- **Muller's ratchet.** In populations that never recombine, damage accumulates irreversibly, because once the best genome is lost it cannot be rebuilt. +- **Outbreeding depression.** Reduced fitness of offspring from parents that were each adapted to different conditions, because recombination breaks up combinations that only worked together. +- **Reproductive isolation.** The state in which two lineages can no longer produce viable hybrids; the defining boundary between species. +- **Routing.** Instead of merging specialists, keeping them separate and sending each question to the one that owns it. +- **Union (or max-merge).** Building a child by keeping, for each item, the strongest contribution any parent makes, rather than averaging the parents. +- **Wright–Fisher model.** The simplest mathematical model of a population: each generation is a random sample of fixed size drawn from the previous one. Its only force is chance, which is why rare variants disappear. diff --git a/paper/pnas/figure_legends_for_students.pdf b/paper/pnas/figure_legends_for_students.pdf new file mode 100644 index 0000000..69e298a Binary files /dev/null and b/paper/pnas/figure_legends_for_students.pdf differ diff --git a/paper/pnas/figure_legends_for_students.tex b/paper/pnas/figure_legends_for_students.tex new file mode 100644 index 0000000..310b8a8 --- /dev/null +++ b/paper/pnas/figure_legends_for_students.tex @@ -0,0 +1,286 @@ +\ifdefined\XeTeXversion\else\ifdefined\pdfoutput\pdfoutput=1\fi\fi +\documentclass[11pt]{article} +\usepackage[a4paper, margin=1.0in]{geometry} +\usepackage{graphicx} +\usepackage{amsmath, amssymb} +\usepackage[hidelinks]{hyperref} +\usepackage{microtype} +\setlength{\parskip}{0.5em} +\setlength{\parindent}{0pt} +\begin{document} +\begin{center}{\LARGE\bfseries The evolution of sex for artificial intelligence: the figures explained}\end{center} + +\emph{Appendix to the paper. Written for a reader with A-level biology or maths and no background in machine learning.} + +\section*{Why this appendix exists} + +The paper sits between two fields. Its questions and its theory come from population genetics; its experiments are machine learning, run on simulations, small neural networks and language models. A biologist can follow the argument in the main text while still finding the experimental details opaque: what a model is trained on, what an adapter is, what a verifier measures, why a result rests on seeds rather than replicates. This appendix answers those questions figure by figure. It repeats every figure of the paper, main and supplementary, with a legend that explains the experiment behind it in plain terms, so that a reader from biology can judge the evidence and not only the analogy. + +\section*{How to read this document} + +The paper asks one question: when artificial-intelligence models are built from other models, what happens to what they know over the generations? Modern AI systems are rarely trained from nothing. A new model is usually a copy of an older one that has been trained a little further (a \emph{child} of a \emph{parent}), it is often trained on text that earlier models wrote, and two trained models are often blended into one by averaging the numbers inside them (\emph{merging}). Those three habits give AI models parents, siblings and descendants, and biology has a hundred years of theory about populations like that: \emph{population genetics}, the mathematics of how genes spread, vanish and recombine over generations. + +The paper takes that theory literally. It treats a model's knowledge as a set of \emph{items} (a fact, a skill, a habit of answering), each with a frequency, exactly as a population geneticist treats \emph{alleles} (the alternative versions of a gene) and their frequencies. It then tests, at three levels of realism, whether the biological rules hold. The three levels are: a pure simulation with known answers (called the \emph{inheritance model}), small neural networks trained on data the authors fully control, and real language models (the family of systems behind chatbots). Every figure below belongs to one or more of those levels. + +A few terms come back in every figure: + +\begin{itemize} +\item \textbf{Generation.} One round of ``train a child from its parent''. A lineage that goes through ten rounds has ten generations. +\item \textbf{Grounding.} Mixing some genuine, checked real data into what a child is trained on, instead of training it only on what its parent produced. In the biological reading this is \emph{immigration}: new individuals arriving from outside. +\item \textbf{Model collapse.} The gradual loss of rare knowledge when each generation is trained only on the previous one. In biology the same process is called \emph{genetic drift}: in a small population, rare alleles disappear by chance, not because anything selects against them, in the way that rare surnames die out in a small village. +\item \textbf{Diversity, or heterozygosity, H.} A number between 0 and 1 that measures how spread out the knowledge is. If you pick two items at random, H is the chance they differ. H near 1 means many items share the frequency; H equal to 0 means one item has taken over. +\item \textbf{Merging.} Making a new model by averaging the internal numbers (the \emph{weights}) of two or more trained parents. The paper's central claim is that this is the AI counterpart of \emph{sexual reproduction}, with the same benefits and the same dangers. +\item \textbf{Verifier.} A program that can mark an answer right or wrong automatically (run the code, check the arithmetic, compare with the known answer). It is the paper's stand-in for ``reality that can say no''. +\item \textbf{Accuracy.} The fraction of test questions a model gets right, from 0 to 1. +\item \textbf{Seed.} Training a neural network involves random choices. Repeating an experiment with a different random seed and getting the same answer shows the result is not a fluke. Error bars in the figures are 95\% confidence intervals over seeds or replicates. +\end{itemize} + +Each legend below says what was done, what you are looking at, and what it means. + +\medskip\hrule\medskip + +\section*{Figure 1. A map of the whole study} + +\begin{center}\includegraphics[width=\textwidth]{figs/fig1a.pdf}\end{center} + +\begin{center}\includegraphics[width=\textwidth]{figs/fig1b.pdf}\end{center} + +\textbf{What was done.} Nothing is measured in this figure. It is a map. Panel A is a grid: each row is one biological mechanism the paper borrows, each column is one of the three levels of realism at which it was tested. The rows are grounding (immigration), recombination (sex), epistasis (skills that only work in combination), the complete ``society'' with all mechanisms running at once, and speciation (when two lineages can no longer produce a working hybrid). The columns are the inheritance model (a simulation with exact answers, in green), trained small networks (blue), and language models (blue). Each filled cell names what was run there and, in the corner, which figure reports it. Cells marked ``no counterpart'' or ``established in prior work'' were deliberately not run: the paper tests each claim at the cheapest level that could prove it wrong, and moves to a more expensive level only when that adds a new test rather than a repeat. + +\textbf{Panel B} shows the change of viewpoint the whole paper rests on. On the left is how people usually picture a group of AI models: contemporaries exchanging messages, a \emph{society in space}. On the right the same group is drawn along its time axis: a model inherits from a parent, merges with a partner, receives fresh real data, and passes the result on. That is a \emph{society in time}, and it is exactly the kind of object population genetics was built to describe. The coloured dots on each robot are its skills. Follow the gold dot: it is rare, it is lost when a child inherits from a single parent, it is recovered when two complementary parents merge, and it is re-supplied by grounding (the globe). + +\textbf{What it means.} If you remember one thing from this figure, remember the right-hand side of panel B. The rest of the paper is a list of what happens to the gold dot. + +\section*{Figure 2. How much real data stops collapse} + +\begin{center}\includegraphics[width=\textwidth]{figs/fig2.pdf}\end{center} + +\textbf{What was done.} Two experiments on the same question. In panel A a small image-generating network (a \emph{variational autoencoder}, a type of network that learns to draw new examples of what it was shown) was trained on handwritten digits, then a fresh copy was trained only on the digits the first one drew, then another on that one's output, for fifteen generations. The digits were sorted into thirty kinds (each digit in three stroke thicknesses), some kinds common and some rare, and an independent classifier checked which kind each drawn digit belonged to. In panel B the same question was asked of the inheritance model, the pure simulation: a population of 1,000 knowledge items, 200 samples drawn per generation, and a fraction \emph{g} of fresh real samples mixed in each time, swept from 0 to 0.4 across 100 independent lineages. + +\textbf{What you see.} In A, each row is a generation (0, 4, 8, 12, 15) and each column a randomly chosen drawing. With no real data added, the drawings degrade from recognisable digits to one blurred grey shape: the population has collapsed to a single kind. In B, the vertical axis is the diversity H the population settles at, and the horizontal axis is the grounding fraction g. Points are the simulation, the dashed line is the exact mathematical prediction, and the dotted line is the diversity of the real data itself. The red line marks the g at which the population keeps 95\% of the real data's diversity for ever: about 0.05, one sample in twenty. + +\textbf{What it means.} A small, steady trickle of checked real data is enough to hold the population's diversity indefinitely, much as a few migrants per generation keep an island population healthy. The curve is smooth: there is no sudden switch between ``safe'' and ``collapsing'', so any threshold you quote is a choice of how much diversity you want to keep. The image network needed about twice the simulation's fraction (10\% rather than 5\%) because a trained network is not the ideal copier the simulation assumes. The text also explains why the \emph{rarest} items need more than this: to have a fair chance of seeing an item that occurs once in ten thousand real examples, you need about ten thousand real examples every generation. + +\section*{Figure 3. Merging language models: when it helps, and predicting when it will hurt} + +\begin{center}\includegraphics[width=\textwidth]{figs/fig3.pdf}\end{center} + +\textbf{What was done.} Every data panel uses small language models trained to be \emph{specialists}: starting from one shared base model (Qwen2.5, of 0.5 or 7 billion parameters), a small add-on set of weights called a \emph{LoRA adapter} is trained on one family of tasks (list puzzles, string puzzles or arithmetic). Think of the base model as a shared textbook and each adapter as one student's margin notes. Merging two specialists means averaging their notes. A verifier marks every answer. + +\textbf{Panel A} is a picture of the five kinds of model the next two panels compare, left to right: the base alone; the three specialists (the ``best specialist'' is whichever of the three scores highest, chosen separately for each seed); the three combined by averaging their adapters, which dilutes each parent's contribution; the three combined after first dropping the changes on which the parents disagree (an ``interference-aware'' merge); and routing, which keeps the three specialists intact and sends each question to the one that owns it. + +\textbf{Panels B and C.} Bars show accuracy averaged over all task families (blue) and on the family each model is worst at (red); brackets mark pairs of bars that differ significantly across seeds (stars) or do not (ns). In B (0.5B model, five seeds) the merged models beat the best single specialist overall, and they are the only models that are competent on every family at once. This is the AI version of what geneticists call the \emph{Fisher--Muller effect}: sex gathers into one offspring useful variants that arose in different individuals. In C the tasks were made deliberately hard so that a larger 7B model was not already at the ceiling. Here plain averaging only matches the best specialist, because averaging dilutes each specialist's own skill, while \emph{routing} (keeping the specialists separate and sending each question to the right one) wins by a wide margin. The rule the paper draws is about \emph{headroom}: keep specialists separate whenever the average falls short of what they could jointly do. + +\textbf{Panels D and E.} Can you tell in advance whether a merge will go badly? Thirty-nine pairs of specialists were built along three axes: pairs trained to answer the same questions in \emph{contradictory} ways (red), pairs trained on the same questions in the \emph{same} way (green), and pairs simply trained for longer on different things (blue). Before merging, six quantities were measured on each pair. The one on the horizontal axis of D is functional conflict: how often the two parents confidently disagree when asked the same probe questions. The vertical axis is the \emph{merge penalty}: how far the merged model falls short of what the pair could have scored if each question went to the parent that knew it. The penalty concentrates in the red points. Panel E compares the six predictors: how well each one ranks the pairs by penalty. Disagreement measured by asking questions predicts damage; measures of how far apart the parents' internal numbers are (weight cosine, weight distance) do not. + +\textbf{What it means.} Merging complementary specialists can produce a model better than any of its parents, and a cheap behavioural test on the parents forecasts when merging will fail. The green points carry a warning for other researchers: pairs that share training data have similar weights and also merge worse, so a predictor based on weight similarity can look good for the wrong reason. + +\section*{Figure 4. A population of language models over six generations} + +\begin{center}\includegraphics[width=\textwidth]{figs/fig4.pdf}\end{center} + +\textbf{What was done.} Panel A is a picture of the set-up; panels B and C follow three lineages of language models for six generations. Each generation, every lineage learns one new skill from a public dataset (six in total: reasoning about sentences, science questions, common-sense completion, reading comprehension, yes/no questions, pronoun resolution) by continuing to train its parent's adapter, so what the parent learned passes on. The three lineages take the six skills in rotated orders, like three students working through one syllabus in different sequences, so early on a partner knows things you lack and late on it knows nothing you lack. That quantity, the share of a partner's skills you do not have, is called \emph{complementarity} and is printed under the generation numbers. Between generations a lineage may merge with a partner. The arms differ in the rule: never merge; always merge with a contemporary; merge only if the merged model beats keeping the parent (a \emph{declinable} merge); merge for the first three generations and then stop. Everything was repeated with three seeds. + +\textbf{Panel A} shows one generation as a loop (learn a new skill, decide whether to merge, take the test), the syllabus as a grid of three lineages by six generations with the skills colour-coded so the rotation is visible, and the four merging rules with the colours used in panel B. \textbf{Panel B.} Accuracy of the best lineage on all six skills, generation by generation. Never merging (blue) and the declinable merge (green) end level, near 0.80. Always merging (red) tracks them for three generations and then collapses to under 0.30, beginning when partners stop being complementary. The orange dashed line is the ``merge early, then stop'' control, and the grey diamond is a single model taught the whole syllabus alone. \textbf{Panel C.} How often the declinable lineages refused a merge (bars) against complementarity (lines), under the rotated syllabus (green) and a second syllabus in which complementarity starts at zero, peaks in the middle and returns to zero (orange). Refusals rise with generation under both, and once generation is accounted for they do not follow complementarity. + +\textbf{Panels D to F} are the simulation that motivated the design: sixty simulated agents evolving on a rugged fitness landscape (a landscape where a variant's value depends on which other variants it sits next to), with all four mechanisms running (grounding, recombination, diversity preservation, mutation) and one removed per arm. Removing grounding (red) makes the population agree confidently on a wrong answer: it optimises fitting the crowd instead of reality. Removing recombination (orange) or diversity (purple) strands it lower. Each removal fails in its own way. + +\textbf{What it means.} Merging with a partner that knows conflicting things is what destroys a population; giving each lineage the right to refuse a merge, or simply stopping early, avoids the collapse at no cost. The simulation shows why all the mechanisms are needed at once. Two things the paper had hoped to see were not seen: refusals did not track complementarity, and (Figure S15) adding survival of the fittest did not make merging lineages finish ahead. + +\section*{Figure 5. Model speciation: when two lineages can no longer merge} + +\begin{center}\includegraphics[width=\textwidth]{figs/fig5.pdf}\end{center} + +\textbf{What was done.} In biology, two lineages pushed far enough apart become separate species: their hybrids fail, as a mule is sterile, because two genomes that each work cannot run together in one cell. The paper asks whether the same happens to models. The difficulty is a known nuisance: two networks trained separately can differ in their weights for a trivial reason. The internal units of a network can be renumbered, and scaled up and down in matching pairs, without changing what the network computes, so two networks that do the same job can look very different inside. \emph{Alignment} undoes this relabelling before merging. Panels A and B use small networks whose units can be aligned exactly; panels C and D use language models; panels E and F use the simulation. + +\textbf{Panel A.} The height of the bar is the \emph{barrier}: how much worse the average of two networks is than the networks themselves. Two copies trained from different random starts on the same task have a barrier that alignment removes almost entirely (from 0.04 to about 0.001). Two networks trained on \emph{conflicting} labels (the same images, some classes deliberately relabelled) have a barrier alignment leaves untouched (0.50), and the merged model is useless. \textbf{Panel B.} Sweeping the fraction of classes in conflict moves the merged model's accuracy from 0.97 to 0.03: a cliff. \textbf{Panel C.} Language models: two specialists were given a shared set of ambiguous questions (``sort this list'', direction unstated) and taught opposite conventions (one sorts ascending, the other descending). As the share of such conflicting training grows, each parent stays good under its own convention, but the merged model's accuracy under its best convention falls below both parents, in all three seeds (shaded bands). \textbf{Panel D.} The control: specialists trained for longer and longer on \emph{different} tasks, with no conflict at all. The merged model gets better, never worse, however long the parents train. \textbf{Panels E and F.} The simulation: hybrid fitness tracks the parents while lineages are compatible and then crashes, sooner when incompatibilities are denser, and the chance of a non-viable hybrid rises with divergence. + +\textbf{What it means.} What breaks merging is conflicting conventions on shared machinery, not distance or specialisation as such. Left alone, specialisation did not produce ``species'' in any experiment here; isolation had to be provoked by conflict. That is good news for anyone merging models, and it is why the pre-merge test in Figure 3D works. + +\medskip\hrule\medskip + +\section*{Supplementary figures} + +The supplementary figures are the experiments behind the main text that either reproduce a known result, calibrate a method, or replicate a main result on more seeds or a second system. They keep the working titles the experiments were run under. + +\section*{Figure S1. Collapse and rescue in three different kinds of network} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s1_architectures.pdf}\end{center} + +\textbf{What was done.} The same generational loop as Figure 2 (train a child only on its parent's output, with or without 5\% real data) was run with three generators: an exact histogram (a simple frequency count, no neural network), a recurrent neural network (one that reads and writes sequences one token at a time), and a feed-forward network. Each had to learn a synthetic ``universe'' of 256 kinds of item whose true frequencies were known exactly, for 22 generations, five times over. + +\textbf{What you see.} (A) distance from the true distribution (a quantity called forward KL divergence, which grows the more of the truth a model fails to cover) against generation. Solid lines, with no real data, climb in every architecture; dashed lines, with 5\% real data, stay low. (B, C) the same at the end of the run, as bars, and the fraction of rare items still alive. + +\textbf{What it means.} Collapse and its rescue by grounding are not a quirk of one type of network. The histogram's bars for rare items are tiny because a frequency count drops a rare item outright once it is unseen, whereas the neural networks keep some alive by ``smoothing'', spreading a little probability onto things they have not seen. That difference is the subject of Figure S2. + +\section*{Figure S2. Why real networks deviate from the ideal, in opposite directions} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s2_kernel.pdf}\end{center} + +\textbf{What was done.} The inheritance model assumes a perfect copier: a child's frequencies are exactly the frequencies it sampled from its parent. Real networks are not perfect copiers. This figure adds two knobs to the simulation's copying step: a \emph{smoothing} knob (a small pull toward treating all items as possible) and a \emph{sharpening} knob (a temperature that concentrates probability on the commonest items), and asks whether either reproduces what the real networks did. + +\textbf{What you see.} Blue is the ideal copier, red the copier with one knob turned, green dashed the level the real trained network actually reached. Panels A and B: the image network of Figure 2 (6,000 samples per generation, 30 kinds). The ideal copier barely drifts at that sample size, yet the real network collapsed to a single kind; turning the sharpening knob reproduces the collapse. Panels C and D: the recurrent network (200 samples, 256 kinds). The ideal copier drives diversity to zero, yet the real network keeps a floor of diversity; turning the smoothing knob reproduces the floor. + +\textbf{What it means.} A trained network behaves like the textbook model of drift plus a bias that depends on its architecture: some networks add collapse, some resist it. In biological terms the two knobs are different things. The smoothing knob is recurrent mutation: variants appear in the child that it did not inherit, though here they are the network's own inventions rather than real knowledge, which is why counting them overstates its health. The sharpening knob is not mutation at all; it is selection in favour of whatever is already common, which removes variants and never creates them. Knowing the sign of that bias is what lets the paper use the exact simulation as a reference for real systems, and it explains why the image network in Figure 2 needed twice the simulation's dose of real data. + +\section*{Figure S3. Re-baselining a collapsed population locks in the damage} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s3_E6.pdf}\end{center} + +\textbf{What was done.} A tempting shortcut in practice is to declare a model's current output the new ``ground truth'' and stop keeping the original data. The simulation tests what that does. Two hundred generations in, and again at 300, the population's current frequencies are frozen as the new reference for grounding and the original truth is thrown away (it is kept only to measure against). Four arms: re-baseline while still healthy (green); re-baseline after collapse (red); the same, but only allowed when diversity is above 0.75 (blue); never re-baseline (grey). + +\textbf{What you see.} (A) distance from the original truth against generation. The red arm jumps at each re-baselining and never comes back; the healthy arm shows small steps; the gated and the never arms coincide. (B) diversity, with the gate's threshold as a dashed line. + +\textbf{What it means.} This is Muller's ratchet in a population of models: once the rare knowledge is gone from every copy, nothing downstream can rebuild it, and re-baselining after collapse makes the loss permanent. A simple rule (never re-baseline while diversity is low) prevents it. The lesson is that remedies must act while copies of the rare knowledge still exist somewhere. + +\section*{Figure S4. The full grounding sweep in the simulation} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s4_E2.pdf}\end{center} + +\textbf{What was done.} The complete version of the experiment summarised in Figure 2B: 1,000 knowledge items with a long tail of rare ones, 200 samples per generation, 500 generations, 100 lineages, and the fraction g of real data swept from 0 to 0.4. + +\textbf{What you see.} (A) diversity over time, one line per g; with no real data it declines steadily, with any real data it levels off. (B) the levelling-off value against g, with the exact prediction (dashed) and the real data's own diversity (dotted); the red line is the 95\%-retention point at g of about 0.048. (C) the fraction of the rare tail that survives, counted by items and by their share of the truth; both rise with g but stay below 0.1 even at g of 0.4. (D) survival split into bands of rarity, from the rarest to the least rare; the rarest bands recover last. + +\textbf{What it means.} Overall diversity is cheap to protect, but the rarest items are not. An item persists only when enough real examples of it arrive each generation, roughly one per generation, so protecting it costs about one over its frequency in real samples. The real-data budget is set by the rarest thing you refuse to lose. + +\section*{Figure S5. Real data protects only the topics it covers} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s5_E3.pdf}\end{center} + +\textbf{What was done.} The 1,000 items were divided into ten topics. The same total budget of real data was spent in two ways: spread evenly over all ten topics, or concentrated on a single topic that the experimenter wants to protect. + +\textbf{What you see.} (A) the fraction of that topic's rare items still alive, over 400 generations, when real data is aimed at it (blue) versus spread evenly (red). Aimed grounding holds about half the topic's rare items; spread grounding lets it fall to under a tenth. (B) survival per topic at the end. Aimed grounding protects its topic and leaves the others with nothing; spread grounding gives every topic the same low survival. + +\textbf{What it means.} Grounding is not a general tonic. A fixed budget of real data protects the rare knowledge it actually contains, so it should be aimed at what matters, and targeting changes the cost of protecting a rare item substantially. + +\section*{Figure S6. Grounding in a trained recurrent network} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s6_grounding.pdf}\end{center} + +\textbf{What was done.} The grounding sweep of Figure S4 repeated in a trained recurrent network rather than the simulation: 256 kinds of item, 200 samples per generation, 30 generations, nine values of g from 0 to 0.2, eighteen repeats. + +\textbf{What you see.} (A) distance from the truth over time; more real data suppresses the climb. (B) the final distance against g, falling steadily from about 2.1 with no real data to 0.75 at g of 0.2. (C) how much of the achievable improvement each g buys; half of it arrives by g of about 0.04, close to the simulation's 0.048, but the full improvement needs g near 0.19. (D) three ways of measuring collapse on one scale. Diversity is flat; the count of surviving rare items goes up and down with no pattern; distance from the truth improves cleanly. + +\textbf{What it means.} The direction of the effect is the same as in the simulation, but the sharp threshold softens, and counting surviving items is the wrong ruler for a smoothing network, because it keeps inventing rare items that are not in the truth. Distance from the truth is the measure the paper uses for such networks. + +\section*{Figure S7. Collapse and rescue on real handwritten digits, in numbers} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s7_mnist_collapse.pdf}\end{center} + +\textbf{What was done.} The experiment whose pictures are in Figure 2A, quantified. Thirty kinds of digit, a classifier reading the kind of each drawn digit with 98.5\% accuracy, 6,000 drawings per generation, fifteen generations, four repeats, with 0\% (red) or 10\% (green) real digits mixed in. + +\textbf{What you see.} (A) distance from the truth rises from about 0.5 to about 18 with no real data and stays near the floor with 10\%. (B) the number of distinct kinds still being drawn falls from 30 to 1 without real data; with it, all 30 survive. (C) the share of the rare kinds still alive falls to 0.06 without real data. (D) diversity falls to zero without real data and stays near 0.9 with it. + +\textbf{What it means.} Everything the simulation predicted appears on real images with an independent judge, and the dose of real data needed is about twice the simulation's, for the reason given in Figure S2. + +\section*{Figure S8. Averaging parents cancels the benefit of having several; keeping the best of each does not} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s8_E4.pdf}\end{center} + +\textbf{What was done.} Several parent models each remember a random share of the rare items, and the experimenter controls how similar their shares are (from fully complementary to identical). A child is then built either by averaging the parents' output frequencies, or by keeping, for each item, the largest frequency any parent gives it (a \emph{union}). The child then resamples, as every generation does, and the question is how many rare items survive in it. + +\textbf{What you see.} (A) the fraction of the rare tail held by at least one parent, against parent similarity, one curve per number of parents; the lines are an exact formula and the points match it. (B) the fraction that survives in the child. Solid lines (union) rise with more and less similar parents; dashed lines (averaging) stay flat near 0.08 whatever the number of parents. (C) the same at zero similarity, against the number of parents. + +\textbf{What it means.} Averaging dilutes each rare item by the number of parents, which exactly cancels the gain of having more parents to draw on: a conservation law. That is the AI form of \emph{blending inheritance}, the pre-Mendelian idea that offspring are an average of their parents, which Fleeming Jenkin showed would swamp any rare favourable variant. Only an operator that keeps each parent's strongest contribution realises the benefit of several parents, and it needs a judge to say which parent that is. + +\section*{Figure S9. Many complementary parents can produce an offspring better than any of them} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s9_E8.pdf}\end{center} + +\textbf{What was done.} A capability is modelled as a string of twelve yes/no positions (a \emph{genotype} of twelve \emph{loci}), and fitness is the number of positions that are right. Each parent is a specialist: confident and correct on the positions it has mastered, unsure elsewhere, and no parent has mastered them all. Offspring are built from 2 to 12 parents either by averaging or by taking, position by position, the answer of the parent most confident about it. + +\textbf{What you see.} (A) fitness of the offspring against the number of parents, when parents master different positions. Position-wise recombination (red) reaches the perfect score of 12 with eight parents; the best single parent (grey) sits near 8.7; the average of parents (blue) reaches about 11.6 at twelve parents. (B) recombination against the number of parents when parents are complementary, half-overlapping, or identical clones; clones gain nothing. + +\textbf{What it means.} This is the Fisher--Muller effect in its cleanest form: recombination assembles, in one offspring, good variants that arose in different individuals. Unlike biology, a model population is not limited to two parents, so the effect is unbounded. Figure 3B is this result in real language models. + +\section*{Figure S10. When skills are entangled, blind recombination harms the offspring} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s10_E9.pdf}\end{center} + +\textbf{What was done.} The same twelve-position genotypes, now on a \emph{rugged} landscape (Kauffman's NK model), in which the value of a position depends on what its neighbours hold, with a knob K from 0 (positions independent) to 8 (highly entangled). Parents are local optima found by hill-climbing, the model of a trained specialist. Offspring are made by recombining them at rates from 0 (copy a parent) to 0.5 (free shuffling). + +\textbf{What you see.} (A) mean offspring fitness minus the best parent, against recombination rate, one curve per K. On a smooth landscape the difference is zero; as K grows the curves fall, more steeply at higher rates, down to about minus 0.23. (B) the fitness of the \emph{best} offspring in a brood; on rugged landscapes it peaks at an intermediate recombination rate and falls back toward the parents under free shuffling. + +\textbf{What it means.} This is \emph{outbreeding depression}, well known in conservation biology: crossing two locally adapted populations can break up combinations of genes that only work together. The optimal amount of recombination shrinks as skills become more entangled. The design rule is to merge freely when skills are independent and sparingly, with selection, when they are not. + +\section*{Figure S11. Directed sex: choosing and screening offspring rescues recombination} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s11_E10.pdf}\end{center} + +\textbf{What was done.} Biology is stuck with two random parents and no preview of the offspring. A model population is not: it can pick complementary parents, breed many candidate offspring, test them, keep the fittest and repeat. On the rugged landscapes of Figure S10 three strategies are compared: the best single parent (grey), random recombination (blue) and this \emph{directed} recombination (red, five rounds). + +\textbf{What you see.} (A) offspring fitness against ruggedness K, with the global optimum dotted. Random recombination falls from 0.66 to 0.51 as K rises; directed recombination tracks the best parent and the optimum at every K. (B) the same as a difference from the best parent; directed stays at or above zero, random falls to about minus 0.2. + +\textbf{What it means.} The danger of Figure S10 is real but avoidable, by doing what no living population can. In language models this is ``breed many merges, keep the best'' (Figure 3 and Table S2), and it beat the single default merge in every seed on hard tasks. + +\section*{Figure S12. Selecting for the best destroys diversity; rewarding novelty preserves it} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s12_E5.pdf}\end{center} + +\textbf{What was done.} Each generation, the simulation now \emph{selects} which items to keep, all arms receiving the same grounding. Three rules: no selection; \emph{greedy}, keeping the items of highest true probability; and \emph{quality-diversity}, which rewards an item for being rare as well as good, with a knob (alpha) for how much rarity counts. + +\textbf{What you see.} (A) diversity over 400 generations. Greedy (red) collapses within a few generations to almost zero; quality-diversity at two settings and no selection hold a plateau above 0.85. (B) the settled diversity against alpha, rising from about 0.48 to about 0.88 as rarity is rewarded more. (C) the number of distinct items alive at the end: about 9 under greedy, 14 to 28 under quality-diversity, about 32 with no selection. + +\textbf{What it means.} Chasing the best outputs is a fast route to collapse, because it is a directional pressure on top of drift. Diversity has to be an objective in its own right, since selection can only preserve variety that still exists. This is the ``diversity preservation'' ingredient of the composed society in Figure 4D to F. + +\section*{Figure S13. Who should mate with whom: mating breadth on rugged landscapes} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s13_E14.pdf}\end{center} + +\textbf{What was done.} Forty-eight simulated agents sit on a ring. When an offspring is made, its second parent is drawn from a neighbourhood whose width is the knob: narrow (mating only with neighbours, like an isolated village) to the whole ring (anyone can mate with anyone). An offspring replaces the agent at its position only if it is fitter. Ruggedness K is swept from 0 to 10. + +\textbf{What you see.} (A) the best fitness reached, relative to the optimum, against mating breadth, per K. On a smooth landscape every breadth reaches the optimum; as K rises the best breadth narrows (0.6 at K of 3, 0.35 at K of 6 and 10) and mating with everyone falls below it. (B) the population's mean fitness rises with breadth at every K. (C) standing diversity (how different the agents are from one another) falls with breadth, fastest on rugged landscapes. + +\textbf{What it means.} Wide mixing spreads a good variant fast but homogenises the population, so on entangled problems it loses the ability to explore several solutions in parallel. This is Sewall Wright's classic argument for structured populations, reproduced here as a design rule: as skills become more entangled, keep merging local. + +\section*{Figure S14. Do lineages stop merging because of conflict, or just because time passes?} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s14_curriculum_timing.pdf}\end{center} + +\textbf{What was done.} In Figure 4 three things rose together with generation: how long each adapter had been trained, how many skills it held, and the arrival of the two skills whose answer formats clash (one wants ``yes/no'', the other ``1/2''). To separate the third from the other two, two new syllabuses were run in which the clashing pair arrives either in the first two generations (conflict-early) or the last two (conflict-late), everything else rising exactly as before. Three seeds each, plus the two syllabuses from Figure 4. + +\textbf{What you see.} (A) how often lineages refused a merge, by generation, for all four syllabuses; the filled marker on each curve is the first generation at which both clashing skills are present everywhere. Refusals rise with generation on the same schedule in all four. A statistical test that holds generation fixed finds no relationship between refusals and the presence of conflict, and a clear one with generation. (B) the accuracy of populations forced to merge every generation. The conflict-early population dips when the clash arrives, recovers, and then collapses from generation 5 like the others; the conflict-late population collapses from generation 4 before its clash has even arrived. + +\textbf{What it means.} Moving the conflict by four generations did not move the collapse or the refusals. Conflicting conventions set how much damage each merge does, but something that grows with generation, adapter age or the number of skills carried, sets when the population can no longer repair the damage. Those two remain to be separated. + +\section*{Figure S15. Survival of the fittest did not give merging lineages the edge} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s15_curriculum_cull.pdf}\end{center} + +\textbf{What was done.} The population of Figure 4 never removed a lineage. Here, after each generation's test, the worst-scoring lineage is deleted and replaced with a copy of the best (it keeps its own place in the syllabus). This is \emph{differential reproduction}, the ingredient of natural selection the earlier population lacked. The prediction was that a lineage which assembles the skills first, by merging, would now leave more descendants and finish ahead. Never-merge and declinable-merge populations were run with and without this selection, three seeds each. + +\textbf{What you see.} (A) best-lineage accuracy over the six generations for the four populations; the two selected ones are dashed. All four end within 0.01 of each other, near 0.80. (B) the average over the three lineages; selection lifts the average early (it copies the best genome into the worst slot), but the final averages converge too. (C) exactly one replacement happened every generation in every selected population, so selection was acting throughout. + +\textbf{What it means.} Merging still bought speed, an early lead of about 0.08, and still bought no final advantage, with or without selection. Under a syllabus that eventually teaches every skill to every lineage, the ceiling is set by how much one adapter can hold, and both sex and selection only reach it sooner. The paper records this as a prediction it made and did not confirm. + +\section*{Figure S16. The same results on a second, unrelated family of language models} + +\begin{center}\includegraphics[width=\textwidth]{figs/si/s16_llm_smol.pdf}\end{center} + +\textbf{What was done.} Every language-model experiment in the paper used one family of base models (Qwen). To check that the two most-cited results are not peculiar to it, the experiments of Figure 3B and 3C were re-run, unchanged, on SmolLM2, a 1.7-billion-parameter model from a different laboratory with a different architecture and training data. Blue bars are the original Qwen runs, orange and red the SmolLM2 runs; lighter bars are overall accuracy, darker bars the worst task family. + +\textbf{What you see.} (A) on the easy tasks the merged models beat the best single specialist on SmolLM2 in every one of five seeds, by about the same margins as on Qwen. (B) on the hard tasks, keeping specialists separate and routing questions to the right one beats averaging in every seed on both families, by a larger margin on SmolLM2, where the average even falls below the best single specialist. + +\textbf{What it means.} The Fisher--Muller effect and the headroom rule hold on a second lineage of models. Results that depend on one model family are common in machine learning; these two do not. + +\medskip\hrule\medskip + +\section*{Glossary} + +\begin{itemize} +\item \textbf{Adapter (LoRA).} A small set of extra trainable numbers added to a frozen base model, so that a specialist can be trained cheaply and two specialists can be merged by averaging their adapters. +\item \textbf{Allele.} One of the alternative versions of a gene. In this paper, one of the alternative items of knowledge a model may hold. +\item \textbf{Complementarity.} The share of a partner's skills that a lineage does not itself have. High early in the syllabus of Figure 4, zero at its end. +\item \textbf{Epistasis.} When the effect of one gene depends on which other genes are present. For models: when a skill only works in combination with others (a rugged landscape). +\item \textbf{Fisher--Muller effect.} The advantage of sex in bringing together, in one individual, beneficial variants that arose separately. +\item \textbf{Fitness landscape.} A map from every possible genotype to its fitness. Smooth landscapes have one peak; rugged (NK) landscapes have many, so a population can get stuck on a poor one. +\item \textbf{Forward KL divergence.} A measure of how badly a model covers the true distribution; it charges the model for every region where the truth has probability and the model has almost none. +\item \textbf{Immigration--drift equilibrium.} The steady level of diversity a population settles at when new arrivals from outside balance the losses from drift. Its exact formula is the dashed line in Figure 2B. +\item \textbf{Muller's ratchet.} In populations that never recombine, damage accumulates irreversibly, because once the best genome is lost it cannot be rebuilt. +\item \textbf{Outbreeding depression.} Reduced fitness of offspring from parents that were each adapted to different conditions, because recombination breaks up combinations that only worked together. +\item \textbf{Reproductive isolation.} The state in which two lineages can no longer produce viable hybrids; the defining boundary between species. +\item \textbf{Routing.} Instead of merging specialists, keeping them separate and sending each question to the one that owns it. +\item \textbf{Union (or max-merge).} Building a child by keeping, for each item, the strongest contribution any parent makes, rather than averaging the parents. +\item \textbf{Wright--Fisher model.} The simplest mathematical model of a population: each generation is a random sample of fixed size drawn from the previous one. Its only force is chance, which is why rare variants disappear. +\end{itemize} +\end{document} diff --git a/paper/pnas/main.md b/paper/pnas/main.md index 6b37ef6..18c9e2d 100644 --- a/paper/pnas/main.md +++ b/paper/pnas/main.md @@ -1,509 +1,746 @@ # The evolution of sex for artificial intelligence: a population-genetic framework for multigenerational model populations -**Giorgio F. Gilestro** — Department of Life Sciences, Imperial College London. giorgiogilest.ro +**Giorgio F. Gilestro**, Department of Life Sciences, Imperial College London. giorgio@gilest.ro --- ## Significance statement -Artificial intelligence increasingly consists of populations of models rather than single systems. -Models are fine-tuned from common ancestors, trained on data that earlier models generated, and -combined by weight merging. These practices couple model generations the way reproduction couples -biological generations, and they raise the same question: how does a population retain and -accumulate abilities over time? I transfer the population genetics of sexual reproduction to this -setting and test it in simulations, small neural networks, and language models. The framework -recasts continual learning at the population scale and yields design rules: how much real data -retraining requires, when to combine models, when to keep them separate, and how to anticipate a -failed combination before making it. +Artificial intelligence increasingly consists of populations of models. Models are fine-tuned from +common ancestors, trained on data that earlier models generated, and combined by weight merging. +These practices couple model generations the way reproduction couples biological generations, and +they raise the same question: how does a population keep and accumulate abilities over time? I +transfer the population genetics of sexual reproduction to this setting and test it in simulations, +small neural networks, and language models. The framework recasts continual learning at the +population scale and yields design rules: how much real data retraining needs, when to combine +models, when to keep them separate, when to stop combining them, and how to anticipate a failed +combination before making it. ## Abstract AI development increasingly resembles a population process. Models are specialised, retrained on -model output, and recombined by weight merging, and the practice is described in evolutionary -vocabulary with little use of evolutionary theory. I treat multigenerational model populations as -systems whose inheritance, diversity, and compatibility must be managed, and transfer the -quantitative framework of the evolution of sex. Its starting point, that training on model output is -genetic drift and model collapse its signature, is by now established from several independent -directions; I develop the structure that follows from it. In a minimal -biological model of inheritance that is literally Wright–Fisher, and measurably Wright–Fisher plus -estimator bias in trained networks, I derive and test remedies. Grounding acts as immigration: a real-data fraction -far below one retained most equilibrium diversity, with a per-capability observation floor that -makes the rarest knowledge expensive under unstratified sampling. Refitting a child to the mean of -its parents' output distributions cancels the multi-parent gain to first order in the rare-item -regime; union-preserving operators realise it. Merged language-model specialists exceeded every -parent in replicated experiments. Blind recombination fails on rugged task landscapes; screening -candidate offspring restores the gain. The optimal mating breadth narrows as skills entangle. -Finally, I introduce model speciation: a merge barrier remaining after permutation-and-rescaling -alignment tracks functional conflict, isolation did not emerge from compatible specialisation, and -in a controlled test pre-merge functional disagreement predicted merge damage while weight-geometry -baselines showed no detectable association. +model output, and recombined by weight merging, in evolutionary vocabulary with little evolutionary +theory. I treat multigenerational model populations as systems whose inheritance, diversity, and +compatibility must be managed, and transfer to them the population genetics of sexual reproduction. +That training on model output is genetic drift, with model collapse its signature, is established; +here I develop what follows. A minimal inheritance model is exactly Wright–Fisher, and trained +networks depart from it by a measurable, architecture-specific bias. In this model grounding is +immigration: a real-data fraction far below one retained most equilibrium diversity, and protecting +a rare capability costs the inverse of its frequency. Refitting a child to the average of its +parents' outputs cancels the gain of having several parents, to first order for rare items, whereas +operators that keep each parent's strongest contribution realise it. Merged language-model +specialists exceeded every parent across seeds. In a six-generation language-model population, +lineages obliged to merge collapsed once partners stopped knowing different things; lineages allowed to refuse a merge, or made to stop +after three generations, finished level with never merging, with or without selection between +lineages, and merging with one's own ancestor was safer than merging with a contemporary. Blind +recombination fails on rugged task landscapes; screening candidate offspring restores the gain. I +introduce model speciation: the merge barrier remaining after permutation-and-rescaling alignment +tracks functional conflict, isolation did not emerge from specialisation alone, and pre-merge +functional disagreement predicted merge damage where weight geometry did not. --- ## Introduction -Machine learning has become a population-scale phenomenon. Public repositories host -millions of models (Hugging Face alone grew past three million by 2026), and these are not -independent creations: the overwhelming majority are fine-tunes, distillations, or merges of a small -number of foundation models, forming large family trees whose lineage structure, inherited traits, -and mutation dynamics are already being mapped with explicitly phylogenetic methods (1–3). -Weight-space *model merging*, the direct combination of trained parents into a new model, is -mainstream community practice with standard tooling and thousands of -hybrid checkpoints, including leaderboard-topping ones (4–7), and the engineering literature -describes it in evolutionary vocabulary: "crossover," "mutation," "mate choice," populations of -merging models that climb benchmarks (5, 8–10). +Machine learning has become a population-scale phenomenon. Public repositories host millions of +models (Hugging Face passed three million by 2026), most of them fine-tunes, distillations, or merges +of a few foundation models, forming family trees already mapped by phylogenetic methods (1–3). +*Model merging*, the combination of trained parents into a new model by averaging their weights, is +mainstream practice with standard tooling and thousands of hybrid checkpoints, some topping +leaderboards (4–7), and its literature already speaks of "crossover," "mutation," and "mate choice" +in populations of merging models that climb benchmarks (5, 8–10) and stagnate as their members grow +alike (11). -The generations are coupled through data as well as through weights. Successive models increasingly -learn from model output rather than from fresh human experience: frontier alignment pipelines are now -predominantly synthetic (over 98% in documented cases; 11, 12), self-generated instruction data -seeds whole lineages of descendants (13), a large and growing share of the public web is -machine-generated or machine-translated text (14, 15), and the stock of human text is projected to be -exhausted by frontier training within this decade (16). Meanwhile persistent multi-agent systems and -emerging agent economies put many interacting models into sustained contact (17–20). A population -whose members inherit from one another, recombine, and retransmit under these conditions is an -evolving population in the technical sense, and that observation motivates this work. Here I -transfer the quantitative framework of the branch of biology built for exactly this situation, the -population genetics of the evolution of sex, and use it to treat multigenerational model populations -as systems whose inheritance, diversity, and compatibility can be measured, predicted, and managed. +Generations are coupled through data as well as weights. Models increasingly learn from model +output: frontier alignment pipelines are predominantly synthetic (over 98% in documented cases; +12, 13), self-generated instruction data seeds whole lineages (14), much of the public web is +machine-generated or machine-translated (15, 16), and the stock of human text is projected to run +out within this decade (17). Multi-agent systems and agent economies put many models into sustained +contact (18–21). A population whose members inherit from one another, recombine, and retransmit is +an evolving population in the technical sense, and I transfer to it the branch of biology built for +that situation, the population genetics of the evolution of sex (a transfer anticipated by the reading +of sex as an algorithm for mixability; 22). -Training each generation of a model on the previous generation's output -degrades it (*model collapse*): rare capabilities vanish first, and the lineage drifts toward its own -most common behaviour (21). That degradation is, mathematically, *genetic drift*, the loss of rare -variants that any finite population suffers when each generation is a finite sample of the last — the -same sampling accident by which rare surnames vanish from small villages and rare alleles (gene -variants) drift out of island populations with no selection against them. The -identification has been made repeatedly and independently: for sequential inference chains before deep -learning (22), for language-model text ecosystems (23), as a closed-form first-extinction law placing -collapse onset at the Wright–Fisher first-extinction time (24), and in quantitative-genetic form for -self-consuming diffusion models (25). A diagnosis reached so often, from such different starting -points, marks population genetics as the natural mathematics of the setting, though only as its entry -point: population genetics is not, at heart, a theory of decay; it is a theory of the mechanisms that -maintain and build populations despite decay (immigration, recombination, selection, population -structure) and of where those mechanisms reach their limits. This paper develops that fuller structure -for model populations: the arc from drift through its remedies to its limit, reproductive isolation — -the point at which diverged lineages can no longer produce working offspring, biology's boundary -between species — carried as one framework from closed forms to trained networks to language models. +Training each generation on the previous generation's output degrades it (*model collapse*). Rare +capabilities vanish first and the lineage drifts toward its own most common behaviour (23). That +degradation is *genetic drift*, the loss of rare variants in any finite population when each +generation is a finite sample of the last (the accident by which rare surnames vanish from small +villages, with nothing selecting against them). The identification has been made repeatedly and +independently, for sequential inference chains before deep learning (24), for language-model text +ecosystems (25), as a first-extinction law (26), and in quantitative-genetic form for self-consuming +diffusion models (27). Drift is only the entry point, because population genetics is above all a +theory of what keeps a finite population from decaying (immigration, recombination, selection, +population structure) and of where each of those fails, and every one of them has a counterpart that +the operator of a model population can switch on: real data entering each generation, merging, +selection against a verifier, and the choice of which models merge with which. -An operator of a model population faces recurring decisions for which there is no principled guidance: how much verified -real data does retraining need before a lineage decays; will combining two particular models compose -their abilities or damage them; can incompatibility be detected before paying for a failed merge; and -when should specialists be kept separate rather than consolidated? In practice these are settled by -convention and by trial-and-error search. They are also, recognisably, machine learning's oldest -problem at a new scale: *continual learning*, the struggle to acquire new abilities without losing old -ones (26, 27), transposed from a single network to a population whose members inherit from one -another. Population genetics, I will argue, prices these decisions. Table 1 summarises the -correspondences on which the argument runs. Fig. 1A maps the experimental programme built on -them: the same abstractions tested at three tiers — a biological model in simulation, -trained neural networks, and language models — with the sections that follow climbing that ladder. -Fig. 1B draws the shift of perspective the whole transfer rests on: the model ecosystem read not as -a society in space, contemporaries exchanging messages, but as a society in time, generations -coupled by inheritance, recombination, and immigration. +An operator of a model population faces recurring decisions with no principled guidance. How much +verified real data does retraining need? Will combining two models compose their abilities or damage +them? Can incompatibility be detected before a failed merge is paid for? When should specialists be +kept separate? These are machine learning's oldest problem, *continual learning* (acquiring new +abilities without losing old ones; 28, 29), transposed from a single network to a population whose +members inherit from one another, and each has a population-genetic answer with a number attached +(how many real samples per generation, how far the average sits below the best parent, how much the +parents disagree on shared inputs). Table 1 gives the correspondences the argument runs on. Fig. 1A +maps the programme across three tiers (an inheritance model in simulation, trained neural networks, +language models). Fig. 1B draws the change of viewpoint the transfer rests on. Models are usually +pictured as a society in space, contemporaries exchanging messages, but the couplings that matter +here (training on model output, merging, real data entering each generation) run between +generations, and a society coupled in time is what population genetics describes. *(FIG:fig1)* -## The biological model, and where trained learners depart from it +## Results -Knowledge is modelled as a distribution `p_t` over `K` discrete items (capabilities, facts, modes of -behaviour), with a fixed true distribution `p*` whose rare tail carries the knowledge most at risk. -One generation is: *draw `n` samples from the parent's distribution, optionally mix in `m` verified -real samples ("grounding", `g = m/(n+m)`), and refit the child*. This construction is the paper's -*biological model*, deliberately minimal, and its resampling step *is* the Wright–Fisher process, population genetics' canonical model of neutral -evolution, in which each new generation is a random sample of size `n` from the previous one and -every statistical property of drift follows from that one step. Diversity throughout this paper is -*heterozygosity*, `H = 1 − Σ p_i²`: the probability that two random draws differ (one minus a -collision probability), high when many items share the mass, zero at total collapse. The identity is -exploited as an engineering gate: the simulator reproduces the classical closed forms (heterozygosity -decay `E[H_t] = H_0(1 − 1/n)^t`; the exact immigration–drift equilibrium; the closed-form -multi-teacher union) to within 0.5%, and these are standing tests in the codebase, not one-off -checks. +### The inheritance model and its calibration against trained networks -Where a real learner departs from this model matters, and I measured that boundary rather than -assumed it. Real training adds -approximation, optimisation noise, and inductive bias, and when trained networks are fit against the -exact drift null they deviate in *opposite, architecture-specific* directions: a smoothing recurrent -network resists collapse (keeping spurious variants alive), while a sharpening image generator -accelerates it. A one-parameter *learning kernel* (a smoothing knob and a sharpening knob on the -refit) reproduces both. Throughout, a real learner is therefore treated as Wright–Fisher *plus a signed, measurable -estimator bias*, and the drift signs (rare-first loss; the grounding response) -survived that bias in every architecture I tested, including a convolutional VAE retrained on its own -generated digits, where the dry lineage collapses to a single blurred digit class while 10% grounding -holds all thirty modes (Fig. 2). Retraining on a single parent is *asexual reproduction*, and sustained loss under it carries the defining consequence -of *Muller's ratchet* (28), the mechanism by which lineages that never recombine decay irreversibly — -the reason non-recombining genomes such as the Y chromosome have shed most of their ancestral genes. -Once every copy of a rare capability is gone from all parents and sources, no recombination can -rebuild it: each such loss is a click of the ratchet, and remedies must act while copies still -survive somewhere (a consequence-level correspondence; the biological model lacks the ratchet's -recurrent-mutation driver). +Knowledge is modelled as a distribution `p_t` over `K` discrete *items*, each standing for a +capability, a fact or a mode of behaviour. An item is the counterpart of an allele, and a +*capability* is what an item stands for. A fixed +true distribution `p*` gives each item its true frequency, and its rare tail (the items of lowest +frequency) carries the knowledge most at risk. Following population genetics I call an item's +frequency `p_i` its *mass*, the probability that one sample drawn from the distribution is that item +(the allele frequency of Table 1), and the mass of a set of items is the sum of their frequencies. One generation has a single parent and a single child (several parents are the subject +of the merging section) and consists of three steps: draw `n` samples from the parent's distribution; +optionally add `m` samples drawn from `p*` itself, standing for real data that has passed a verifier +(*grounding*, with grounding fraction `g = m/(n+m)`); and fit the child's distribution to the pooled +`n + m` samples (the *refit*, which in the minimal model is simply the observed frequencies). The +resampling step is the Wright–Fisher process, population genetics' canonical model of neutral +evolution, in which each generation is a random sample of size `n` from the last. In this +*inheritance model* the Wright–Fisher "population" is the sample a child is trained on and its +"individuals" are the `n + m` samples, so it is a model of a learner. Diversity throughout is *heterozygosity*, `H = 1 − Σ p_i²`, the probability that +two items sampled independently from the distribution differ (high when the mass is spread over many +items, zero when one item holds it all). The simulator reproduces three closed forms of the process +to within 0.5% of the analytic value (Methods): the heterozygosity decay under drift alone, +`E[H_t] = H_0(1 − 1/n)^t`; the stationary diversity under real data, written in the next subsection; +and, for `K` parents that each hold a given rare item with probability `q` and whose holdings are +correlated by `ρ` (0 fully complementary, 1 identical), the expected fraction of rare items held by +at least one parent, `ρq + (1 − ρ)(1 − (1 − q)^K)`, used in the merging section. -**Table 1.** The dictionary. Each biological term is introduced in the section that develops it; each -correspondence is stated with the level of support it currently has -(closed form = derived in the biological model and verified against simulation; empirical = -measured in trained systems; hypothesis = -stated with a falsifier, untested or unconfirmed). The full claim-by-claim ledger with assumptions and -known limits is SI Appendix, Table S1. +Trained networks are not exact copiers, because they add approximation error, optimisation noise and +their own inductive bias to the resampling step, so before using Wright–Fisher as a reference I +measured how far real learners depart from it. Run through the same generational loop against an exact oracle, they +departed in opposite directions (Fig. S2). The sequence generators (a recurrent and a feedforward +network) *smooth*, spreading probability onto items they have never seen, and so collapse more slowly +than drift predicts while keeping spurious variants alive. The image autoencoder *sharpens*, +concentrating probability on its commonest modes, and so collapses faster (Fig. 2A; the comparison +with drift in Fig. S2). Both departures +are reproduced by adding one knob to the copying step, a mutation rate toward a prior for smoothing or +a temperature for sharpening (Fig. S2). A real learner is therefore treated throughout as +Wright–Fisher plus a signed, measurable bias, and the two predictions that matter here (rare items +are lost first, and real data arrests the loss) held in every architecture tested (Figs. 2 and S1). + +In biological terms, retraining a child on a single parent is *asexual reproduction*. In a population +that never recombines, a loss that happens to reach every individual can never be undone, because no +individual retains the copy from which it could be rebuilt. Each such loss clicks the population one +notch down, and the notches turn only one way. This is *Muller's ratchet* (30), and model collapse has +the same irreversible arm. Once every copy of a rare item is gone from all parents and all sources +nothing can rebuild it, and the inheritance model shows the trap in its commonest form: a population +that adopts its own collapsed output as its new reference never recovers the items it had lost, +whatever real data it is fed afterwards (Fig. S3). Remedies must therefore act while copies still +survive somewhere in the population. + +**Table 1.** The dictionary. Each biological term is introduced in the section that develops it. The +support column names where the evidence comes from: a figure panel or Supplementary figure or text of this paper, a +reference number for the literature, or both. "Closed form" means derived in the inheritance model and +verified against simulation; "empirical" means measured in a trained system; "hypothesis" means stated +with a falsifier and untested. | Population genetics | Model populations | Support | |---|---|---| -| Genetic drift in a finite population | Training on finite samples of model output | Closed form (biological model); signs in trained nets; diagnosis conceded to prior work | -| Immigration from a fixed source | Grounding with verified real data | Closed-form equilibrium; signs in RNN/MLP/VAE/MNIST | -| Muller's ratchet (asexual decay) | Irreversible arm of model collapse | Correspondence, scoped: applies to unrecoverable loss | -| Recombination / sexual reproduction | Model merging | Empirical at 0.5B–7B | -| Fisher–Muller effect | Merged specialists exceed every parent | Biological model; replicated in LLMs | -| Outbreeding depression under epistasis | Merging entangled skills harms offspring | Biological model (NK landscapes); hypothesis at LLM scale | -| Mating systems / population structure | Who merges with whom (breadth of the parent pool) | Biological model; hypothesis for real populations | -| Reproductive isolation (BDM incompatibilities) | Merge failure from functional conflict | Empirical (MLP + LLM tiers, conflict-associated); emergent form not observed | -| Selection on a fitness function | Verifier-anchored selection ("reality that can say no") | Biological model (complementary with recombination and diversity in the tested society) | +| Genetic drift in a finite population | Training on finite samples of model output | Closed form (Fig. 2B); collapse measured (Fig. 2A); the identification is prior work (23–27) | +| Immigration from a fixed source | Grounding with verified real data | Closed-form equilibrium and per-item floor (Fig. 2B); sign confirmed in trained nets (Fig. 2A); stationarity and stability under fresh data (31, 32); comparable fractions reported (23, 33, 34); conservation analogue (35) | +| Muller's ratchet (asexual decay) | Irreversible arm of model collapse | The irreversibility is reproduced in the inheritance model (Fig. S3); the mutational mechanism of the ratchet is not modelled (30) | +| Recombination / sexual reproduction | Model merging | Fig. 3B–C: merging beats blending wherever the weight-average scores well below the best parent, and blending suffices where it does not; that merges can beat parents is established (4, 36) | +| Fisher–Muller effect | Merged specialists exceed every parent | Fig. 3B; inheritance-model expectation (Fig. S9); classical theory (37, 38) | +| Outbreeding depression under epistasis | Merging entangled skills harms offspring | Inheritance model only (Fig. S10), reproducing (39, 40); hypothesis at LLM scale | +| Mating systems / population structure | Who merges with whom (breadth of the parent pool) | Inheritance model only (Fig. S13), reproducing (41); hypothesis for real populations | +| Reproductive isolation (Bateson–Dobzhansky–Muller incompatibilities) | Merge failure from functional conflict | Fig. 5A–D and SI Text S1, Proposition S2; emergent form not observed; classical theory (42, 43); alignment tools and known residuals (44–47) | +| Seed bank (mating with a stored earlier generation) | Merging with one's own ancestor | Six-generation population (Results; SI Table S2): own-ancestor merge beat a contemporary in every seed; checkpoint averaging as a stabiliser (48, 49) | +| Recombination modifier (a gene that sets how often other genes are shuffled) | A declinable merge: keeping the parent unchanged is scored as one candidate offspring | Fig. 4B–C (six generations, 3 seeds): a fixed early stop matched it, and declines tracked generation, not complementarity, once the two were decoupled. Modifier theory (50–52) is the motivating frame; its reduction-principle reading was not supported; gated and early-stopped merging in continual settings (53, 54) | +| Selection on a fitness function | Verifier-anchored selection ("reality that can say no") | Fig. 4D–F; diversity-preserving selection from (55), inheritance-model reference (Fig. S12) | -## Results +### The real-data fraction required to arrest collapse -### Grounding is immigration: cheap, with a floor +Grounding, the mixing of verified real data into each generation's training sample, plays in the +inheritance model the role that immigration plays in population genetics. A fixed external source +(`p*`) supplies a fraction `g` of each generation's sample, and a population that would otherwise +drift to fixation settles instead at a stationary diversity (33, 34, 56). I swept `g` from 0 to 0.4 across 100 +independent lineages (Fig. 2B and Fig. S4) to separate two questions: how much real data holds +aggregate diversity, and what happens to an individual rare item. -In the biological model, grounding from a fixed real source is *immigration* into a drifting population -(29–31). Immigration is what conservation managers prescribe when a fragmented reserve loses -diversity, and its striking property there is how little is needed — the field's rule of thumb is -that one migrant per generation holds an isolated population's diversity (32). The same economy -appears here: the equilibrium diversity has a closed form the simulator matches exactly. That equilibrium is -*smooth* in the grounding fraction (there is no phase transition in aggregate diversity), so the -practical number is an operational threshold, and I define it as such: under the tested population -size and Zipf source distribution, `g ≈ 0.05` retained most (≥95%) of equilibrium diversity -indefinitely, with the required fraction depending on sample size, source distribution, and the -chosen retention target (dependencies in SI). Verified real data remains, on any of these -definitions, cheap insurance at fractions far below one. But the same analysis yields a floor the field's -average-loss framing misses: under unstratified sampling from the source, a capability of rarity `p` -appears in a real-data batch of size `m` with probability `1 − e^{−m·p}`, so `m·p ≈ 1` marks roughly a -63% chance of one example per batch: a soft observation floor, with higher confidence priced -accordingly, and with distinct consequences for continuous retention, stationary occupancy, and -reintroduction after loss (immigration can restore an absent item; SI separates these). Protecting the -rarest knowledge under unstratified grounding is therefore priced per item at cost `∝ 1/p`; targeted -or stratified sampling changes that cost, and recombination can recover rare capabilities *that are -still retained across complementary parents* (next section). In trained networks the *sign* of the grounding response transfers everywhere I -looked, with two deviations, both traced to the estimator bias above: sharp thresholds soften, -and support-counting metrics decouple from truth (forward-KL is the operative collapse metric for a -smoothing learner). On real images (Fig. 2B), dry self-training collapses a convolutional VAE to one -mode while ~10% grounding holds all thirty (the trained model needs roughly twice the biological -model's fraction, the measured price of the estimator bias). +Part of the aggregate answer exists already: that a self-consuming loop fed fresh real data settles +at a stationary state instead of collapsing was shown for generative models (31), a sufficient condition +on the real fraction for stability has been proved (32), the same loop with any non-vanishing +synthetic fraction never recovers the real-data scaling law (57, 58), and in the first collapse study +retaining 10% of the original data held perplexity steady over ten generations (23). These results +establish that a grounded lineage stabilises below the real data without saying where, and the +inheritance model gives the level in closed form: with `m` real samples added to `n` inherited ones +each generation, diversity settles at `H_eq = H* · m(2n+m−1)/(n+2nm+m²)`, where `H*` is the +diversity of the source, and the simulator matches this to within 0.5% (Fig. 2B). Two consequences +follow that the earlier results could not show. The first is that what holds diversity is the +*count* of real samples per generation, not their share of the training set. Whenever real samples +are a minority (`m ≪ n`) the formula reduces to `H_eq ≈ H* · 2m/(2m+1)` and `n` drops out: one real +sample per generation keeps two thirds of the source's diversity and ten keep 95%, however large the +inherited sample is. The expression is Wright's island model in haploid form: the shortfall +`1/(2m+1)` is its fixation index `F_ST` for a population receiving `m` migrants a generation, and the +rule of thumb of conservation genetics is stated as *one migrant per generation* (35), a count and not +a fraction, because of the same cancellation. The size of the receiving population drops out, and how +much of the source's diversity an island keeps is set by how many migrants reach it. In the tested setting (`K = 1000` items, `n = 200` +inherited samples per generation, and a true distribution whose item frequencies fall off as a power +law, a *Zipf* distribution, the standard model of the long tail of natural data) 95% of the source's +diversity was kept from `g ≈ 0.05` upward (Fig. S4), but that fraction is ten real samples divided by +a training set of 200, and it shrinks as the training set grows. The second is that the curve is +smooth. Diversity rises gradually with `m`, there is no value at which a lineage switches from +collapsing to safe, and the lineage never reaches the source (the shortfall is about `1/(2m+1)` at +any budget, as the scaling-law results require; 57, 58). Any threshold quoted for real data is +therefore a retention target one chooses and reads off the curve, not a property of the system. +Comparable fractions are reported for accumulating real data in language models (34) and for the +replay ratios of continual learning. Optimal mixing ratios derived for squared-error regression are +far higher (about 0.6; 59), because that objective weighs every sample equally where the question +here is which items survive at all. + +Aggregate diversity cannot say whether one particular rare item survives, and for that the answer +is elementary. Call the number `m` of verified real samples added per generation the *real-data +budget*. Under unstratified sampling an item of frequency `p` appears in a batch of `m` real samples +with probability `1 − e^{−mp}`, so a budget of `m ≈ 1/p` gives only a 63% chance of seeing the item +once per generation; an item that appears in one real sample in ten thousand needs a budget of about +ten thousand real samples every generation. The budget is therefore set by the rarest item one +refuses to lose, and it is a lower bound, because a single copy that does arrive enters a pool of +`n + m` samples and can still be lost when the child is resampled from it (Fig. S4D, where the rarest +items recover last). The rule is the immigration counterpart of the per-item +extinction laws derived for closed loops (25, 60). It also explains an observation reported by others +and left unexplained, that the absolute count of real samples predicts collapse better than their +proportion (61): the aggregate closed form and the per-item rule both depend on `m`, not on `g`. The +same arithmetic has been observed on the acquisition side, in pretraining itself: about 250 documents +install a rare behaviour in models from 600 million to 13 billion parameters, although the larger +models see twenty times more data, so the documents' share of the corpus falls twentyfold while their +effect does not (62). One migrant per generation, 250 poisoned documents and `m·p ≳ 1` are one rule +read three times: what a population keeps, or acquires, of a rare item is set by the number of copies +that reach it each generation, not by the size of everything else it is trained on. A fixed budget stretches further in two ways. +Real data protects only the topics it covers, since when the 1,000 items are split into ten topics and the same +budget is spent either on one topic or evenly over all ten, real data aimed at the topic keeps about +half of its rare items alive and real data spread over all topics keeps 7% (Fig. S5), so a +capability is protected by real data about that capability, not by real data in general. And an +item lost from one lineage can be recovered from another lineage that still holds it, which is the +subject of the next section. + +In the trained networks (the recurrent and feedforward generators on the synthetic universe, Fig. +S6, and the convolutional VAE on MNIST, Fig. 2A and Fig. S7) grounding reduced collapse in every +case, as prior work at language-model scale had found (23, 34). Compared against the exact model, +the trained networks depart in two ways, both consequences of the estimator bias measured above. The +threshold softens: in the recurrent network the distance from the truth falls gradually over the +whole range of `g` tested (Fig. S6B), where the inheritance model's diversity saturates +within a few percent. And the usual measure of collapse fails for a smoothing learner. Such a network keeps assigning probability to items it was +never trained on, so counting how many rare modes survive overstates its health; in the recurrent +network that count is not even monotone in `g` (Fig. S6D), while a network can retain +every mode and still hold the mass in the wrong proportions. For smoothing learners I therefore +measure collapse by the forward Kullback–Leibler divergence from truth to model, the standard measure +of how well a model covers a distribution, which penalises every region where the truth has mass and +the model has little. On real images (Fig. 2A) ungrounded self-training collapsed a convolutional VAE +from thirty modes to one within fifteen generations, while about 10% grounding held all thirty (Fig. +S7). The autoencoder needed about 10% real data where the inheritance model needed 5%, and the +difference is what its sharpening bias costs: a learner that concentrates mass on its commonest modes +loses rare ones faster than sampling alone would, and needs more real copies to hold them. *(FIG:fig2)* -### Recombination: a conservation law, its operators, and offspring that exceed every parent +### Merging operators and the retention of rare capabilities -The largest returns from the transfer concern merging. *Blending inheritance* — offspring as the -average of their parents — is the failure mode at the root of population genetics' founding -controversy: the swamping argument pressed in Jenkin's 1867 review of *The Origin of Species*, that -under blending a rare advantageous variant is diluted toward the common type faster than selection -can multiply it (33), an objection dissolved only by Mendel's particulate inheritance, in which -discrete variants pass through generations undiluted. Refitting a child model to the mean of its -parents' output distributions is blending inheritance, and the proposition below is Jenkin's dilution -made exact. **Proposition (blending inheritance, rare-item -regime).** Let K parents independently retain a rare item (mass `p` when retained), and let the child -draw `n` samples either from one parent chosen at random or from the *mean of the parents' output -distributions*. Expected item mass is identical under the two schemes; and in the rare-item regime -`n·p/K ≪ 1`, where per-item survival is first-order in sampled mass, expected *survival* is also -identical: the 1/K dilution of averaging cancels the K-parent union gain to first order, so in this -regime adding parents through the output-mean does not increase expected tail retention. Two -boundaries: outside that regime, survival is a convex function of mixed mass, so the variance -reduction from averaging can *reduce* extinction relative to a randomly chosen single parent; the -cancellation is a first-order result about rare items, not a universal impossibility; and the -contrasting union operator (keep each item's strongest source, then renormalise, which itself -redistributes mass and presupposes a verifier or oracle to identify the strongest source) increases -expected retention with K in all regimes in the biological model. The practically important -operators, *weight averaging* (a nonlinear network's weight-mean does not compute its parents' -output-mean) and *routing among intact specialists* (34) (different storage and inference budgets from a -single child), are its empirical cousins, and the measured bridge is a *headroom rule*, stated qualitatively: in language models, -union-preserving operators beat the weight-average where that average falls short of attainable -performance, and add nothing where it does not (easy-versus-hard contrasts at two scales; a -quantitative form of the relationship is untested). On easy tasks a capable base's average is already at ceiling and refinements -add nothing; on hard tasks the average dilutes a fragile specialist below even the best single parent -and routing wins by a wide margin (Fig. 3A–B). +Refitting a child on the average of its parents' output distributions is *blending inheritance*, +the pre-Mendelian view of heredity in which offspring are an average of their parents. Fleeming +Jenkin's objection to Darwin (63, 64) was that under blending a rare favourable variant is halved at +every cross and swamped within a few generations, so selection could never establish it; particulate +(Mendelian) inheritance, in which an allele passes intact or not at all, answered the objection, and +blending was abandoned as a theory of heredity. Averaging does to a rare capability exactly what +Jenkin said blending would do to a rare variant, and blending inheritance is therefore the right null +model of merging. The same dilution has +been reported in machine learning under three different names, without being recognised as one +phenomenon: distilling onto an ensemble mean discards the +members' diversity (65), averaging expert weights loses to routing among the same experts (66), and +an update held by one of `N` parents is scaled by `1/N` in their soup (67). In the inheritance model +the dilution is a conservation law: the expected mass of a rare item in the child is `q·p` (its mass +`p` in a parent that holds it, times the probability `q` that a parent holds it) whatever the number +of parents, so averaging over more parents neither helps nor harms a rare item's expected share, and +the proposition below says exactly when the same holds for its survival. -The generative payoff is the *Fisher–Muller effect* (35, 36), the classical account of why sex speeds -adaptation: in an asexual population, beneficial variants arising in different individuals can only -compete until all but one lineage is lost, whereas recombination assembles them in one offspring, -producing a *genotype* (an individual's combination of variants, one at each *locus*, or position) -fitter than any parent. -In the multi-locus biological model, sexual merging of decorrelated specialists climbs to the global optimum, a -genotype no parent held, while the best single parent and the blended average both plateau below -(Fig. 4). In real language models the signature replicates under seed replication: merges of three -LoRA (37) specialists beat every parent overall (decisively at 7B: 0.87 vs 0.77), and on the sharper -worst-family metric the merged models are the only ones competent everywhere, in every seed (Fig. 3A). +**Proposition (blending inheritance, rare-item regime).** Let each of `K` parents independently +retain a rare item, which has mass `p` in a parent that retains it, and let the child draw `n` samples +either from one parent chosen at random or from the mean of the `K` parents' distributions. The +expected mass of the item in the child's sample is the same under both schemes. When the item is rare +enough that even a parent holding it rarely contributes more than one copy to the child's sample +(`n·p ≪ 1`), the probability that the item survives into the child is the same too: averaging over +`K` parents makes the item `K` times more likely to be present in the mixture, and `K` times less +frequent when it is, and the two factors cancel (proof in SI Text S4). -Sex has risks and, for AI, an unfair advantage, both quantified on Kauffman's NK fitness landscapes -(38), the standard model of *epistasis*, biology's term for interaction between genes: the fitness -contribution of a variant depends on which variants occupy the other loci, much as a component's -value in an ML system depends on the components around it. Each of the landscape's `N` sites -interacts with `K` others (the model's eponymous parameters), and raising that interaction count -tunes the landscape from smooth and additive to rugged and many-peaked (Fig. 5). When skills are entangled, blind recombination produces offspring *below* their parents, -worsening with ruggedness, and the optimal recombination rate shrinks as entanglement grows. Biology -knows this failure as *outbreeding depression*, the reason conservation practice warns against -crossing locally adapted populations: in the textbook case, an ibex herd in the Tatra Mountains -restocked with animals from Turkey and Sinai produced fertile hybrids that bore their young in the -coldest month of winter, and the herd died out (39). But an engineered population can do what biology cannot: recombine unbounded -parents, choose complementary mates, and *screen many candidate offspring against a verifier before -keeping one*. This directed sex converts the outbreeding catastrophe into a reliable gain in the -model (tracking or exceeding the best parent at every ruggedness) and replicates as a sign in language -models: bred-and-screened merges beat the a-priori blend in every seed on headroom tasks, including -one seed where the blend failed catastrophically and selection was immune (SI Appendix, -Table S2). Finally, -population *structure* is itself a knob: sweeping the mate-pool breadth from monogamous (repeated -local pairings) to promiscuous (*panmixia*: any model may merge with any other) against ruggedness, -wide mixing maximises the population mean while -monotonically destroying diversity, and the best *champion* shifts from wide breadth on smooth -landscapes to intermediate breadth on rugged ones (Fig. 5C), the mating-system phenomenon known to -structured-population search, mapped onto merging populations. +The proposition fixes the baseline against which any merging operator is judged, and it has two +boundaries. For items common enough that the child usually sees several copies, averaging is safer +than inheriting from one random parent, because the probability of losing an item is a convex +function of its mass and averaging evens out which parent happened to hold it; the cancellation is a +statement about rare items, which are the ones at risk. A *union* operator, which keeps for each item the +mass it has in the parent holding it most strongly (and therefore needs a verifier to say which parent +that is), raises expected retention with every additional parent at every rarity tested (Fig. S8). + +Neither scheme is what model merging does in practice. The two operators in use are *weight +averaging*, which averages the parents' parameters (a network is nonlinear in its weights, so +averaging weights does not average outputs and the proposition applies only by analogy; but an update +held by one of `N` parents is still scaled by `1/N` in the average (67), which is the dilution the +proposition describes), and *routing*, which keeps every specialist intact and sends each input to the +specialist that owns it (68), the practical form of the union. I compared the two at two model sizes +(0.5B and 7B parameters) on easy and on deliberately hard task families (Fig. 3C for 7B on the hard +families; the other size and difficulty combinations in Supplementary Information, Table S2). Routing +wins by the amount averaging loses to dilution, and two things set that loss. On the easy families a +7B base has nothing to lose: after averaging it scores at ceiling on two of the three families (1.00 +on both), so routing has nothing to recover and the two are equivalent. On the hard families the +average falls to the level of the best single specialist (0.41 for both, over three 7B seeds), +because it dilutes each specialist's own skill, and routing among the intact specialists wins by a +wide margin (0.50, ahead in every seed). A weak base (0.5B) shows the same gap even on the easy +families. The operative variable is the *headroom*, the distance between what the weight-average +scores and what the specialists would jointly score if every input reached the right one: it is large +wherever there is room to lose to dilution (a weak base, or hard tasks at a strong one), and neither +model size nor task difficulty alone predicts it. On the +second base lineage the ordering is the same and the margin larger (routing 0.33 against soup 0.17 +on the hard families at 1.7B, ahead in every seed, with the soup below the best specialist in every +seed; Fig. S16). Whether +the gain scales quantitatively with the headroom is untested. + +Merging complementary specialists can also yield a model better than any of them, the *Fisher–Muller +effect* (37, 38). In an asexual population two useful variants that arise in different individuals +can never meet in one descendant; the lineages carrying them compete, and one is lost. Recombination +puts both into one offspring, which is why sexual populations adapt faster. In the +multi-locus inheritance model, merged decorrelated specialists reach a combination of variants (a +*genotype*) that no parent held, while the best parent and the blended average plateau below (Fig. +S9). Merges of three LoRA (69) specialists reproduced the signature, beating +every parent overall (0.65 against 0.59 over five seeds at 0.5B; 0.87 against 0.81 over three seeds at +7B, in every seed), and on worst-family accuracy they were the only models competent everywhere, in +every seed (Fig. 3B). The same protocol on an unrelated base lineage (SmolLM2-1.7B-Instruct: a different laboratory, +architecture family and pretraining corpus) gave the same result in every one of five seeds (merge +0.66 against best specialist 0.61 overall; worst family 0.32 against 0.13; Fig. S16). That merges can exceed their parents is established for adapters (4, 36, 70); the model +contributes the condition under which it happens and the operator that realises it. + +Blind recombination is not always safe. On rugged (*epistatic*) landscapes, where a variant's +contribution depends on the variants around it (71), recombining two adapted parents yields offspring +below both, and the optimal recombination rate falls as entanglement grows. Both results are long +established in population genetics (39) and evolutionary computation (41) and are reproduced here +only to fix reference values (Fig. S10). An engineered population has an option a natural one lacks: breed +many candidate offspring and keep whichever a verifier scores highest. In the inheritance model this +*directed* recombination recovers the gain on every landscape where blind recombination loses it +(Fig. S11), and in language models it beat the a-priori blend in every seed on hard tasks, including one seed where the blend +failed catastrophically and selection was unaffected (Supplementary Information, Table S2). *(FIG:fig3)* +### Ablation of a composed population + +Grounding enters a population at two points. In the inheritance model it is *grounded inheritance*, +real samples added to the pooled sample the child is fit to. In a selecting population it is +*grounded evaluation*: an agent is scored partly against reality and partly against the population's +own consensus (`g`·true-fitness + (1−g)·conformity). The consensus term stands for what a population +does when it has no verifier, which is to learn from its own outputs, so `g = 0` is a population that +rewards agreement with itself. To ask whether grounding, recombination and diversity contribute +separately, I ran a four-arm ablation in the multi-locus inheritance model: a population of 60 agents, +each a genotype of 12 loci, adapting on a rugged (NK) landscape for 80 generations (SI Methods M3), +with one operator removed per arm (Fig. 4D–F). The full system (grounded evaluation, directed +recombination, and diversity-preserving selection (54; its inheritance-model reference in Fig. S12)) +approached the global optimum while keeping its specialists. Removing grounded +evaluation converged the population confidently on an unfit consensus, the self-consumption failure. +Removing recombination stranded it on local optima, and removing diversity converged it prematurely +on a worse answer. The arm without grounding fails by construction, since a rule that scores +agreement will converge on agreement, but the other two removals fail in ways of their own, so under +these conditions recombination and diversity are not substitutes for grounding or for each other. +Magnitudes depend on the mutation, restart and selection schemes, which were not varied. + +### A six-generation language-model population + +Merging has been iterated before, in two forms. Evolutionary merging holds a pool of parents fixed +and recombines it repeatedly (5, 8, 9), and over several generations the pool stagnates as its +members grow alike (11). Continual merging folds a stream of independently trained experts into one +running model (53, 54, 72, 73), and in long streams it degrades unless merging is gated by similarity +or stopped early (53, 54). In neither form does a lineage learn a new skill by training between +merges, so what happens to a composed capability when it is inherited, extended and recombined has +not been measured. I ran inheritance, recombination and immigration together as a population of +language models across six generations on real datasets. + +Three lineages start from one frozen base model (Qwen2.5, 1.5 billion parameters, untrained on the +tasks). Each generation, every lineage acquires one new skill from six public datasets +(natural-language inference (MNLI; 74), science questions (ARC-Easy; 75), commonsense completion +(HellaSwag; 76), reading-comprehension spans (SQuAD; 77), yes/no questions (BoolQ; 78), pronoun +resolution (WinoGrande; 79)), each scored by its own verifier, a program that marks an answer +right or wrong. A skill lives in a *LoRA adapter*, a small set of trainable weights added to the +frozen base (the base a shared textbook, the adapter one specialist's margin notes). A child inherits +by continuing to train its parent's adapter, so what the parent learned in its lifetime passes to the +child (the inheritance of acquired characters that Lamarck proposed and biology rejected, and that a +weight file makes trivial). Each child's training set also contains a fixed number of +examples from the skills its lineage learned in earlier generations (150, beside 300 new), so that new +training does not overwrite old skills; this *replay* is the standard remedy for forgetting in +continual learning (28, 29). + +The curriculum is a Latin square: the lineages take the same six skills in rotated orders, like three +students working through one syllabus in different sequences. A partner therefore knows things a +lineage lacks early (*complementarity*, the share of the partner's skills one lacks, is 1.0 at the +first two generations) and nothing it lacks by the end (0.0 at the sixth). Complementarity is thus a +swept variable, but it is also collinear with generation number, so any effect that grows with an +adapter's training age shares its signature; a second curriculum, below, breaks the collinearity. Merging averages two adapters at a weight chosen on +validation data and reported on held-out tests. The arms are: never merge; always merge with a +contemporary from another lineage (with verified or with self-generated replay); merge with one's own +ancestor three generations back; and a *declinable* merge, in which keeping the parent unchanged is +scored as a candidate beside every merge and wins if none beats it. A control arm merges +obligately through generation 2 and never afterwards (a *forced stop*), the fixed schedule the +declinable arm must be compared against. Lineages are never culled, so the +population has inheritance, recombination and immigration of new skills but no differential +reproduction. Three training seeds; the outcome is a lineage's accuracy over all six families. + +Obligate recombination collapsed (Fig. 4B): the always-merge arm tracked the never-merge arm for +three generations, then fell from 0.65 to 0.27, beginning when partner complementarity dropped below +0.8; its self-replay variant did the same (0.31), so replay was not what failed. The declinable arm +neither collapsed nor won. It led at the start (0.68 against 0.60), was overtaken, and finished level +with never merging (0.792 against 0.796; per-seed −0.03, +0.01, +0.01), while one model taught the +curriculum alone reached 0.80 (with replay, forgetting was not a pressure recombination could +relieve). In both non-obligate arms accuracy on the skills a lineage had been taught held near 0.78 +and the first skill learned never eroded (0.85 → 0.88); the obligate arm fell to 0.24 on those same +skills. + +The choice of partner mattered more than whether to merge. Merging with one's own ancestor three +generations back, a partner that lacks the lineage's three most recent skills but shares every +convention it holds, beat merging with a contemporary in every seed (0.66 against 0.27). The ancestor +supplies complementarity in time: what it lacks is exactly what the lineage has since learned, and +nothing it holds was learned differently. A *seed bank* plays this role in population genetics, +letting a population mate with its own stored past. Averaging a model with its own earlier +checkpoint is a known stabiliser in continual learning and in self-improvement loops (48, 49); the +comparison against a contemporary partner under matched conditions is what this population adds. In the +declinable arm the fraction of proposed merges that were declined rose from 0.44 to 1.00 across the +six generations (Fig. 4C), until every lineage declined every merge and the population had become the +never-merge arm by its own choice. A control arm that merges through generation 2 and never afterwards +(the forced stop) finished level with the declinable arm in every seed (0.793 against 0.792; per-seed +differences −0.008, −0.006, +0.011), so the declinable arm's outcome is explained by when it stopped +and not by which merges it chose. A second curriculum, in which every lineage starts with the same +skill so that complementarity is zero at the first generation, peaks at the third (0.70) and returns +to zero, produced the same rise in declines with generation (0.44 → 0.89). Pooled over both curricula with +generation controlled, declines did not track complementarity (partial Spearman ρ = −0.07, 95% CI +−0.21 to 0.09, n = 36) but did track generation (partial ρ = 0.31). + +Three things rise with generation in both curricula: the adapters' training age, the number of skills each holds, and the arrival in +every lineage of the two families whose answer conventions conflict (yes/no against 1/2). Two +further curricula moved only the third. In one the conflicting pair arrives in generations 1–2 of +every lineage, in the other in generations 5–6, with the four compatible families filling the rest +in rotated orders, so age and skill count rise identically in both (Fig. S14). Neither the decline +curve nor the collapse moved with the conflict. Declines rose with generation on the same schedule +in both (0.56 → 0.78 and 0.44 → 0.89), and with generation controlled they did not track the +presence of conflict (partial ρ = −0.09, 95% CI −0.45 to 0.15, n = 36) but did track generation +(partial ρ = 0.45). The obligate arm collapsed in both (final accuracy 0.28 and 0.39 against 0.80 and +0.78 for never merging, in every seed): the conflict-early population dipped when the pair arrived, +recovered to the others' level by generation 3, and collapsed from generation 5, while the +conflict-late population collapsed from generation 4 with its conflicting pair still to come. What +the four curricula leave confounded is adapter age with skill count, which rise together by +construction. + +A skill +whose answer convention conflicts with nothing a lineage holds occupies a *new locus*, a new position +in the genome filled without displacing anything, and lineages accumulate loci freely (six here; half +a million facts in a lifelong-editing benchmark that averages a fresh adapter per period into the +accumulated one; 80). Two skills demanding different conventions for the same kind of question +("yes/no" against "1/2" for a two-way choice) are *alternative alleles at one locus*, and a model, +like a chromosome, carries one. Where conventions disagree a merged child must err against at least +one parent (SI Text S1, Proposition S2). A lineage obliged to merge pays that error every generation +on every pair of conflicting conventions, and the errors accumulate into collapse. In the +Latin-square curriculum the collapse began at the generation when partners stopped bringing skills a +lineage lacked and started bringing conventions that clashed with the ones it held, but the +conflict-arrival curricula above show that moving the clash by four generations does not move the +collapse: conflicting conventions set the size of each merge's error, and something that grows with +generation sets when the errors stop being repaired. Single models show the same +divide: non-contradictory updates integrate safely while contradictory ones corrupt unrelated +knowledge (81), and disjoint tasks make forgetting eliminable where conflicting overlap imposes a +floor (82). The collapse is the second kind of knowledge arriving in a population obliged to merge. + +The declinable merge was designed as a *recombination modifier*, in genetics a gene that sets how +often other genes are shuffled between parents. Modifier theory holds that recombination is favoured when it +assembles complementary alleles from different parents and disfavoured when it breaks combinations +that already work (39, 50, 51), and that when shuffling gains nothing the *reduction principle* +drives its rate to zero (52), turning the lineage asexual; on that reading the declinable merge should +have switched itself off as partners stopped being complementary. The controls do not support +that reading here. Acceptance fell with generation whether or not partners were complementary, and +a fixed schedule reproduced the outcome. What the population establishes is narrower: one bit of +selection on each recombination event, or a fixed early stop, avoids the collapse of obligate +merging at no cost against never merging, and the declinable version does so without knowing in +advance when to stop. The result was obtained under six generations, a single base model, and replay throughout, none +of which was varied. The population also had no differential reproduction, and the Fisher–Muller +argument predicts that selection is what turns recombination's early lead into a level advantage, +because a lineage that assembles the skills first leaves more descendants. Adding truncation +selection (after every generation the lowest-scoring lineage is re-founded from the highest, keeping +its own place in the curriculum) did not bear this out (Fig. S15). Selection acted every generation +and lifted the population mean early, but the final levels converged: with selection, never merging +reached 0.804 and the declinable merge 0.793 (below in every seed, by 0.011 ± 0.003), against 0.796 +and 0.792 without it. Recombination's early lead was the same with and without selection and gone by +generation 5 in both. Under a curriculum that delivers every skill to every lineage the ceiling is +what one adapter can hold (0.80 for the single model taught the whole syllabus), and sex and selection +each reach it sooner without raising it. + *(FIG:fig4)* +### Merge failure and its dependence on functional conflict + +Recombination presupposes compatible parents. In biology, lineages pushed far enough apart become +separate species (*reproductive isolation*) through Bateson–Dobzhansky–Muller incompatibilities +(42, 43), changes harmless on their own genetic background but deleterious in combination. This is +the mechanism behind the mule's sterility, in which two genomes that each work cannot run in the same +cell. A merged model is that exposed hybrid. In the inheritance model of the process (Fig. 5 E and F) +hybrid fitness stays at the parents' level while the lineages remain compatible and then falls below +the ancestor, sooner the more incompatibilities the genomes carry, and Orr showed that the number of +such incompatibilities grows with the square of divergence (43). Whether a growing number of conflicts +produces a fall in performance in a trained network is the question the simulation cannot answer. + +In trained networks the claim must survive a known alternative. Two networks trained separately can +differ in their weights for a trivial reason: the hidden units of a network can be renumbered, and in +a ReLU network each unit's incoming weights can be scaled up and its outgoing weights scaled down by +the same factor, without changing what the network computes. Two networks that compute similar +functions can therefore lie far apart in weight space, and averaging them gives a poor model, a +*coordinate barrier*. Merge barriers between independently trained networks are famously of this +kind, removable by re-aligning hidden units (44) and renormalising their activations (46) before +averaging, and richer symmetry groups remove more (83). A residual that alignment does not remove is +also known: networks trained on different tasks keep a barrier after permutation (47), and experts +diverged far from a shared base keep one with symmetries accounted for (45). What has not been asked +is what the residual measures, divergence as such or conflict in what the networks compute. To +separate the two I aligned pairs of networks under permutation matching combined with exact per-unit +rescaling (the complete unit symmetry group of plain ReLU MLPs; 44, 46) and measured the barrier +before and after (Fig. 5 A and B). Two networks trained from different initialisations on the *same* +task have a barrier the alignment removes almost entirely (residual ≈ 0.001, the aligned merge +performing at parent level): their barrier was coordinate mismatch. Two networks trained on +*conflicting* label maps (the same inputs, with a fraction of the classes relabelled) have a barrier +the alignment leaves unchanged (0.502 → 0.497), and the merged model is functionally dead. The aligner +is validated only on a special case (exact recovery of a permuted-and-rescaled copy of a network), so +the share of the barrier it removes is a lower bound on the removable share, and the residual an +upper bound. Sweeping the fraction of classes in conflict traces the fall in hybrid fitness from 0.97 +to 0.03. That no single model can answer one prompt two ways is a matter of information, not of training +(SI Text S1, Proposition S2). What the population view adds is where the cliff sits: it moves with the +share of shared inputs on which the parents' conventions contradict (Fig. 5B), and in a population +that share grows whenever lineages adopt conventions independently. + +The sharpest test is whether isolation emerges with no conflicting signal anywhere, as a true +Bateson–Dobzhansky–Muller incompatibility would (each lineage's changes are harmless alone). Children +were diverged with no conflicting signal anywhere, using complementary class specialists and divergent input +conventions, to 6.4× the base training. No isolation emerged (residual 0.000 throughout). Instead the +merge rescued the two specialists: each had forgotten the other's classes and scored about 0.50 +alone, and their weight-average scored 0.955 at every divergence tested. Divergence six times the +base training produced the strongest Fisher–Muller effect in the paper, and no incompatibility. The +language-model tier gave the same double result in each of three training seeds (Fig. 5 C and D): +conflicting conventions produce function-specific breakdown (at full conflict the merge scores 0.02, +0.12 and 0.16 on the conflicted function against 0.23–0.25 for either parent, while a +budget-controlled design shows the disjoint skills merge unharmed), and over-training disjoint +specialists from 1 to 12 epochs (cf. the expert-duration effect; 84) produces no isolation, the merge +improving instead in every seed (0.76 → 0.95 on the parents' private tasks). Longer expert training is reported to harm merging (84, 85) and deepening +specialisation to lower feature similarity between experts (68); in the regimes tested here neither +produced isolation without conflict (a complementary-class merge rescued by alignment had been seen +before on label-skewed splits; 44). In every tier tested, isolation had to be provoked by functional +conflict; specialisation alone did not speciate. What breaks merging is conflicting conventions on shared +circuitry, not divergence as such, and this is the cost the obligate-merge arm of the six-generation +population paid from its fourth generation onward, once its partners held skills it had already +learned under conventions of its own (Fig. 4B). + *(FIG:fig5)* -### The society: grounding, recombination, and diversity make complementary contributions +### Predicting merge damage before merging -Composing the operators (Fig. 6) requires one definitional distinction first. In the inheritance -model, grounding is *grounded inheritance*: external samples added to the reproduction process (the -data channel). In the society model, grounding is *grounded evaluation*: selection weights true -fitness against conformity to the population's own consensus, `g`·true-fitness + (1−g)·conformity, -the analogue of scoring models by the crowd's approval (the fitness channel). These are related design -ideas, since both couple the lineage to a non-drifting external signal, but they are different operators, -and I name them separately. In the tested society (a finite agent population on a rugged NK -landscape), a four-arm ablation separates the failure modes: the full system (grounded evaluation + -directed recombination + diversity-preserving selection (40)) climbs to near the global optimum while -keeping its specialists; removing grounded evaluation converges the population confidently on an unfit -consensus (self-consumption); removing recombination strands it on local optima; removing diversity -converges it prematurely to a worse answer. Each removal fails differently; the three implementations -make complementary contributions *under the tested conditions*; general joint necessity is not -established (alternative mutation, restart, archive, or selection schemes could alter the picture). At -language-model scale this composed loop remains unbuilt; it is the paper's largest stated gap. +If functional conflict is what breaks a merge, measuring it on the parents should forecast the +damage before any merge is made. I tested this on thirty-nine pairs of LoRA specialists (13 training +conditions × 3 seeds), built so that three properties of a pair vary independently of one another +(Fig. 3D): *conflict* (the parents answer the same prompts under contradictory conventions, with their +private training budgets held fixed), *compatible overlap* (the parents are trained on the same +prompts under the same convention, so they share data and volume without conflict), and *duration* +(the parents are trained longer on disjoint tasks, so their weights diverge with no conflict at all). -*(FIG:fig6)* +Six quantities were computed on each pair before merging. Two are functional, obtained by putting the +same probe questions to both parents (probes drawn without knowledge of where the conflict lies): the +fraction of probes on which the parents answer differently (*raw disagreement*), and the fraction on +which they answer differently and both confidently (*confidence-weighted conflict*, proposed here as +the better proxy for merge-relevant interaction, because raw disagreement also counts the harmless +case in which one parent is merely ignorant). Three describe the geometry of the parents' weight +changes: the cosine similarity and the distance between the two LoRA updates, and the alignment of the +two tasks' gradients at the shared base (86). The sixth is a baseline, each parent's accuracy on the +other's task. The pre-registered outcome is the *merge penalty*: how far the merged model falls short +of the accuracy the pair would reach if each task were answered by the parent that owns it. In +population genetics that shortfall is *hybrid load*, the fitness a hybrid loses relative to what its +parents' genes could jointly supply. -### The limit of sex: model speciation +Functional disagreement measured before merging predicted the merge penalty (Fig. 3 D and E). Its +rank correlation with the penalty was ρ = +0.45 (+0.46 for the confidence-weighted variant), with a +95% confidence interval excluding zero (bootstrapped over conditions, because the three seeds of one +condition are not independent), and it kept ρ ≈ 0.35–0.40 when each condition in turn was held out +and predicted from the rest. The cosine and the distance +between LoRA updates showed no detectable association, and gradient alignment carried intermediate +signal. The direction agrees with three recent reports: hidden-state distance between parents tracks +merging loss where four parameter-space metrics, cosine among them, do not (87); global cosine, sign +conflict and subspace overlap miss functional interference between task vectors (88); and gradient +distance outpredicts task-vector cosine in vision (86). Those studies are correlational or in-sample; +the design here holds conditions out and adds the control below. At this sample size the differences +between predictors are not individually significant, only these baselines were tested, and three +seeds leave substantial uncertainty about generalisation, though the functional measures led within +every seed taken alone (Supplementary Information, Table S2). -Recombination presupposes compatible parents. In biology, lineages pushed far enough apart become -separate species (*reproductive isolation*) through Bateson–Dobzhansky–Muller incompatibilities (41, 42): -changes harmless on their own genetic background but deleterious in combination — the mechanism behind -the mule's sterility and the inviability of many between-species crosses, in which two genomes that -each work perfectly cannot run in the same cell. A merged model is exactly the -exposed hybrid. I built the biological model of the process (Fig. 7A): hybrid fitness tracks the parents while -compatible, then peels off and crashes below the ancestor; the isolation cliff arrives earlier the -denser the incompatibilities; and the incompatibility *count* snowballs quadratically with divergence -(42). Note that a super-linear count does not by itself entail a sharp performance cliff without -the count-to-effect-size link, which the biological model supplies under its assumptions and any neural -test must establish separately. - -In trained networks, the claim must survive a known alternative: merge barriers between independently -trained networks are famously *coordinate artefacts*, removable by re-aligning hidden units (43); -richer symmetry groups remove more (44), with known failures beyond the shared-data regime (45). I therefore aligned under the composition of -permutation matching and exact per-unit rescaling (the unit symmetry group of plain ReLU MLPs, as the -search space) and decomposed the barrier (Fig. 7 C and D): two networks trained from different -initialisations on the *same* task have a barrier that this alignment removes essentially entirely -(residual ≈ 0.001, the aligned merge performing at parent level): coordinate, not functional; two -networks trained on *conflicting* label maps have a barrier the same alignment leaves largely -unchanged (0.502 → 0.497), with the merged model functionally dead. The tested alignment removes the -same-task barrier but leaves the conflict-associated barrier intact, supporting a functional-conflict -interpretation without proving optimal alignment: exact recovery of a permuted-and-rescaled copy -validates a special case, so the removable share is a lower bound and the residual an upper bound. -Sweeping conflict traces the cliff as hybrid fitness, 0.97 → 0.03. The conflict floor itself is -information-theoretic (no single model can satisfy contradictory conventions; SI Appendix, -Proposition S2), with the framework's role being the *structure around it*: which divergences -generate conflict, and what moves the cliff. - -The pre-registered *emergent test* constrains the claim most: true BDM incompatibilities are -emergent (each lineage's changes harmless alone), so I let children diverge with *no conflicting -signal anywhere*, using complementary class specialists and divergent input conventions, to 6.4× the base -training. No isolation emerged (residual 0.000 throughout); instead the merge *rescued* the two -catastrophically-forgetting specialists (parents ≈ 0.50, merge ≈ 0.955, a sustained Fisher–Muller -rescue). The same double result appears at the language-model tier (Fig. 7 E and F): conflicting conventions -produce *function-specific* hybrid breakdown (the merge scores below both parents on the conflicted -function, while a budget-controlled design shows the disjoint skills merge unharmed), and over-training -disjoint specialists 1→12 epochs (cf. the merging literature's expert-duration effect; 46) produces -no isolation at all — the merge improves. Across every tier -tested, isolation had to be provoked by functional conflict; specialisation alone did not speciate -— a bound on the analogy that sharpens the design rule: what breaks merging is conflicting conventions -on shared circuitry, not divergence per se. - -*(FIG:fig7)* - -### A controlled predictive test: functional conflict, measured pre-merge, predicts merge damage - -The framework's prediction-level claim was put to a designed test (Fig. 3C). Thirty-nine parent pairs -(13 conditions × 3 seeds; rows are not independent — parents share task-data seeds across conditions, -so inference is condition-clustered, and because shared seeds also couple rows *across* conditions I -report per-seed and leave-one-seed-out sensitivity alongside) span three axes decorrelated by construction: *conflict* -(contradictory conventions on shared prompts, private budgets fixed), *compatible overlap* (the same -shared prompts under the same convention — overlap and volume without conflict), and *duration* (weight -divergence with zero conflict). Before merging, six predictors are computed: *confidence-weighted -functional conflict* (bilateral confident disagreement on probes drawn blind to where conflict lives — -a proposed proxy for merge-relevant interactions, motivated by the observation that raw disagreement -counts harmless complementation, one parent merely ignorant, as conflict), raw disagreement, gradient -alignment at the shared base (47), LoRA-delta cosine and distance, and a cross-task performance -baseline. The pre-registered outcome is the merge penalty against oracle parent potential (the analogue of -*hybrid load*, the fitness a hybrid loses relative to what its parents' genes could jointly supply), -also reported against best- and mean-parent references because the predictor -ordering is sensitive to that choice. - -Across this controlled grid, pre-merge functional -disagreement predicted merge penalties (clustered bootstrap CIs excluding zero; held-out -leave-one-condition-out ρ ≈ 0.35–0.40), whereas LoRA-delta cosine and L2 showed no statistically -detectable association; gradient alignment carried intermediate signal. Head-to-head predictor -differences are not individually significant at this sample size; only these baselines were tested; -and with three seeds, uncertainty about seed generalisation remains substantial — though the seed -sensitivity favours the functional measures (per-seed ρ stable at +0.37 to +0.53 in each seed alone, -geometry ≈ 0 in every seed, gradient alignment seed-unstable at −0.11 to −0.55). Two further results -bound the claim: the initial two-axis grid's best predictor -was delta-cosine (ρ = +0.60) — an overlap artefact that the compatible-overlap control was added to -expose, and did (collapse to +0.03); and the pre-registered internal prediction that confidence -weighting would beat raw disagreement *failed* (they are statistically indistinguishable as rank -predictors), so the present evidence favours functional disagreement generally, not the DMI-specific -refinement. The framework motivated the measurement and the controls; their success does not validate -the specifically population-genetic mechanism. Whether the prediction improves a budget-matched -operator choice, and whether it generalises to unfamiliar conflict structures and real task pairs, -are the experiment's open front. - -Headline quantitative results, with sample sizes, uncertainty, and outcome definitions, are collected in SI Appendix, Table S2. +The compatible-overlap control produced a finding of its own. In an initial grid that varied only +conflict and duration, the best predictor was the cosine between LoRA updates (ρ = +0.60). Parents +trained on the same prompts have aligned weight changes and also merge worse, so the cosine was +reading shared training data, not incompatibility: adding pairs that share prompts without +conflicting collapsed its correlation to +0.03. Any merge predictor validated on a grid in which +conflict and shared data vary together inherits this artefact. I know of no study that has controlled +for it, and it bears on the merge-prediction literature (86–88) independently of the biology. One +pre-registered prediction failed: confidence weighting did not beat raw disagreement as a rank +predictor, so the evidence supports functional disagreement in general and not the +incompatibility-specific refinement. Headline quantitative results, +with sample sizes and uncertainty, are collected in Supplementary Information, Table S2. ## Discussion -**Design rules.** As engineering guidance, the results reduce to rules that an operator of a model -population can apply, answering the four decisions posed in the Introduction. *Ground every generation* in verified reality — a few percent retained most diversity in the tested -settings — but price the rarest capabilities individually (observation probability `1 − e^{−m·p}` per -batch under unstratified sampling), consider targeted sampling for the deep tail, and use -recombination to recover rare capabilities still retained across complementary parents. *Merge, don't blend, when there is headroom*: keep specialists -intact and route, or breed-and-screen candidate merges, whenever the naive average is far from -ceiling; plain averaging is adequate only where a strong base has already composed the skills. *Match -the operator to entanglement*: merge freely when skills are additive; sparingly, with offspring -selection, when they entangle; and expect the champion-optimal mating breadth to narrow as landscapes -roughen. *Preserve diversity as a first-class objective*, because selection can only preserve variety that -exists, and in the tested society its removal produced a distinct failure mode. *Before merging, -measure functional conflict* — cheap, pre-merge, and in the controlled setting predictive where the -tested weight-distance baselines were not; and *do not treat divergence or specialisation alone as -evidence of incompatibility* — in every regime tested here, what broke merging was conflicting -conventions on shared circuitry, which is the thing to detect. +**Design rules.** *Ground every generation* in verified reality. A few percent of real data kept +most of the diversity here, but what protects a capability is the number of real examples of it that +arrive each generation, not their share of the training set (the one-migrant-per-generation rule, +35; the few hundred documents that poison a model of any size, 62). The rarest capabilities +therefore need a budget of about `1/p` real examples per generation, real data aimed at them, or a +parent that still holds them. *Route or screen rather than average whenever the average falls short +of the best parent on any task.* On the hard families routing (sending each input to the specialist +that owns it) beat weight averaging by 0.09 in every seed and screening candidate merges beat it by +0.07 (Fig. 3C), and the plain average lost nothing only where the base already answered at ceiling. +*Stop recombining early, by rule or by test.* A fixed early stop, or scoring the unchanged parent +beside every candidate merge, avoided the collapse of obligate merging at no cost against never +merging. *When a partner must be found, prefer a stored ancestor to a divergent contemporary*, which +shares every convention and beat a contemporary in every seed. *Preserve diversity as an objective +in itself*, since selection can only keep what exists. *Before merging, measure functional +conflict* (whether the parents answer the same prompts differently), which was cheap and predictive +where weight distance was not; divergence or specialisation alone is no evidence of incompatibility, +since what broke merging in every regime was conflicting conventions. The inheritance model adds one +untested rule: merge sparingly, and with offspring selection, when skills are entangled (40; Fig. +S13). -**Continual learning at the population scale.** Within a single network, the discipline's remedies -for forgetting are this framework's operators writ small. Rehearsal and replay of stored data (26, 27) -is grounded inheritance within one lineage, and the replay fractions the field settled on empirically, -on the order of 1% for instruction tuning (48) and 5% to 25% by distribution-shift strength in -continual pretraining (49), sit where the biological model's operational threshold lies. -*Pseudo-rehearsal*, the replay of a network's own generated samples, proposed as a cure in 1995 (50) -and revived as generative replay (51), is precisely the ungrounded null studied here: immigration from -a drifting source, benign for one hop, compounding over generations, with verifier-filtering (29, 52) -converting it back into grounding. Parameter isolation (53), including frozen-base adapters, which forget far -less (54), is engineered decorrelation; complementary-learning-systems consolidation (55–57) is the periodic -adapter-into-base merge; the recent turn to merging as a continual-learning mechanism (58–61) applies -recombination within one lineage over time, where this paper applies it across lineages; and the -observation that rare examples and long-tail knowledge are forgotten first (62–64) is tail extinction -seen one model at a time. The mechanisms differ (forgetting is largely deterministic interference, -collapse is sampling drift) but the victims and the remedies coincide, and to my knowledge no prior -work carries population-genetic formalism into continual learning. Read into that field, the results -offer: (i) an equilibrium theory for the replay ratio, with the sharper prediction that the required -fraction is set by the rarest capability one refuses to lose (the `1 − e^{−m·p}` law) rather than by -average loss, testable against published replay sweeps; (ii) a *failure theory for generative replay*: -self-generated rehearsal is safe for short horizons and compounds into collapse across generations -unless verifier-filtered back into grounding (29, 50–52); (iii) *pre-merge interference -prediction with a mechanism*: where the current state of the art fits regressions over candidate -metrics (47), the functional-conflict measure arrives at a convergent signal from principle and comes -with an operator prescription — when conflict is high, do not average; route or breed-and-screen; -(iv) a candidate *decision rule for the consolidate-versus-stay-modular question* that currently -splits the field's practice (keep adapters separate vs merge them; 57–61): union-preserving operators -where headroom exists, fusion where the base composes, consolidation as the slow-store step; and (v) -*tail monitoring as the leading indicator*: continual-learning evaluation that averages over -capabilities hides exactly the losses that drift theory says come first and, past a threshold, become -irreversible. On that last point I note the standing objection that apparent forgetting can be -skewed task-inference over latent capability rather than erasure (65); the irreversibility results here -concern oracle-measured behavioural distributions, and distinguishing latent from extinct capability -at language-model scale is an open experiment whose outcome would be decisive for both readings. +**Continual learning at the population scale.** Continual learning, the machine-learning field that teaches one network new things without erasing old ones, has found remedies for +forgetting that are this framework's operators applied to a single lineage. Rehearsal of stored real +data (28, 29) is grounding, and the replay fractions the field has settled on (about 1% in +instruction tuning, 89; 5% to 25% in continual pretraining, 90) look inconsistent only as fractions: +at typical batch sizes each delivers tens to thousands of replayed examples of a skill per step, far +more than the ten copies per generation that hold 95% of diversity. Pseudo-rehearsal, replaying the +network's own generated samples (91, 92), is grounding with no real data at all, harmless over one +step and compounding over generations (Fig. 2) unless the samples are verified (33, 93). Adapters on +a frozen base (94, 95) keep lineages decorrelated, consolidating them into the base is the slow +store of complementary-learning-systems models (96–98), and merging as a continual-learning +mechanism (72, 73, 80, 99, 100) accumulates new skills and breaks on contradictory conventions (81, +82), as the six-generation population did. That rare knowledge is forgotten first (101–103) is tail +extinction observed one model at a time: forgetting and collapse differ in mechanism (interference +against sampling drift) but lose the same items to the same remedies. -**What is borrowed and what is new.** The collapse-as-drift diagnosis is established prior work -(21–25); so are the empirical facts that merges can beat parents, that decorrelated parents merge better, and that -naive averaging loses to interference-aware or routed merges (4, 66, 67), that model populations can -climb (5, 8–10), and that merge success admits ML-native predictors (47, 68), correlational where this framework -supplies mechanism; the reading of sex as an algorithm for mixability in the theory of computation -(69) anticipated the transfer before model merging existed. New here is the framework-level -synthesis — inheritance, diversity, and compatibility as managed quantities — together with: the -conservation law for blending inheritance and its operator boundaries; the per-item grounding floor; -the society ablation with its complementary failure modes; model speciation as a named, tested question, with the -coordinate-versus-functional decomposition under permutation-and-rescaling alignment and the emergent -null that bounds it; and the controlled predictive test with its controls. I claim the framework generated -these measurements and experiments; I do not claim that their outcomes validate a uniquely -population-genetic mechanism, and one refinement it proposed was not supported. +Two results carry over directly. A pre-merge test, disagreement between the parents on shared +probes, predicts interference where weight distance does not, with the control for shared training +data that earlier regression (86) and distance (87, 88) studies lacked. Weight distance fails +because two adapters that learned the same skill in different runs are nearly orthogonal (cosine +0.006) yet merge with no penalty: most of a weight difference is neutral, like most DNA +substitutions (Supplementary Information, Text S3). Whether to consolidate specialists or keep them +modular (72, 73, 98–100) follows the same rule: route while the plain average falls short of the +best parent, average once it does not. Since drift removes rare items first and a lost item is +recoverable only while some parent or source still holds a copy (Fig. S3), the number to watch is +accuracy on the rarest items, not the mean. Apparent forgetting can also be task misrecognition +rather than lost capability (104), which the oracle excludes at the small tiers only. -**Limits and open problems.** The demonstrations are deliberately small: closed-form where small is a virtue, -sign-level and seed-replicated at the language-model tier, on constructed task families with a -trivially separable router and one model lineage (Qwen, 0.5B–7B). The composed society has not been -built at language-model scale. The predictive test's next bars, in order of value: generalisation to -*unfamiliar* conflict structures and real task pairs; a demonstrably better *budget-matched* merging -decision; then scale replication. Beyond engineering, the framework's hardest open problem is the -fitness function itself: selection optimises what is measured, and for knowledge systems the -persuasive and the true compete — grounding against a reality that can refuse is the only anchor I -trust, and institutionalising that anchor (verification, replication, and challenge among models) is -the society-level problem this paper poses but does not solve. What biology receives in return is a new model -system: populations of learners where every genotype, environment, and mating decision is observable -and manipulable — where the evolution of sex can be studied with interventions (unbounded parents, -offspring preview, directed mating) that no living system permits. +**Three theories of heredity.** A model population runs on all three historical accounts of +inheritance at once. A child continues training its parent's adapter, so what the parent learned in +its lifetime passes on (Lamarck); weight averaging blends the parents (Jenkin); and a verifier +selects among variants (Darwin). Biology discarded the first for want of a mechanism and the second +because blending would swamp any new variant. Here Lamarckian transmission is what lets a lineage +accumulate skills (the never-merge arm reached 0.80 without any recombination). Blending dilutes +whichever parent's skill is rarest, so routing and offspring screening pay only where the plain +average falls short of the best parent (Fig. 3B–C). Grounded selection is the only operator that +looks outside the population, and removing it is the one ablation that fails outright: a population +selected on agreement with its own consensus settles at 0.48 against 0.78 for the full society (Fig. +4D–F), confident and wrong. -**Creative diversity.** Collapse is not confined to facts and skills. Homogenisation of *style* is -already measurable: models trained on model output lose lexical and syntactic diversity across -generations (70), writing produced with model assistance is individually better but collectively less -diverse than writing produced without it (71, 72), and the house styles of the large assistants are -recognisable enough that their tics serve as signatures. In this framework these are the same -phenomenon at a different locus. A voice is a distribution over rare stylistic variants, exactly the -tail that drift erases first and that blending inheritance averages into a common register. The -remedies transfer unchanged, though they are untested here: grounding on stylistically diverse human -sources, decorrelated lineages maintained as distinct voices rather than merged into one, -union-preserving recombination over blending, and selection that rewards being different as well as -being good. Whether these preserve measured stylistic diversity at scale is an open experiment that -the framework specifies. +**Recombination's speed advantage.** In the six-generation population recombination +bought speed and not level: an early lead, then parity with never merging once every skill had +reached every lineage. The Fisher–Muller argument (that sex speeds adaptation by combining +beneficial variants that arose in different individuals) predicts parity in exactly this case, since +the curriculum guaranteed every lineage every skill, and that letting the faster lineages leave more +descendants should break the parity, which it did not: selected populations reached the same +ceiling, recombination's lead again gone by generation 5. The ceiling is what one adapter can carry, +and sex and selection only reach it sooner. The inheritance-model society climbs under the same +operators (Fig. 4D–F) because no curriculum delivers its skills; a language-model population in +which some skills come only by merging would separate the two regimes. Three refinements the +framework proposed were not supported: weighting disagreement by confidence did not improve the +merge predictor, the declinable merge did not track complementarity as a recombination modifier (a +gene that sets how often other genes are shuffled) would, and selection did not turn recombination's +speed advantage into a level advantage. What population genetics supplied was the questions, the +nulls and the controls, not a mechanism only it can explain. -**Outlook: the evolution of language models.** The Introduction's premise, that the model ecosystem is -an evolving population, is also a forecast about where these results matter next. Language-model -development is consolidating around exactly the operators studied here: synthetic-data flywheels -(inheritance), merging and routing of specialist fine-tunes (recombination and population structure), -verifier-gated data pipelines (grounded selection), and periodic consolidation of adapters into new -bases. If coming model generations remain what -the tested regimes found, freely recombinable in the absence of conflicting conventions, then the -ecosystem evolves as one interbreeding population, and the levers that matter are grounding budgets -priced per rare capability and diversity preserved deliberately. If instead long-horizon -specialisation at scale begins to produce emergent incompatibility, as the expert-training-duration -observations hint (46) and the small-scale null here does not rule out, then lineages will begin to -speciate, and the ecosystem's future is a set of diverging species connected by routing rather than by -merging. Which of the two it will be is measurable now, with the pre-merge conflict instruments this -paper tested. +**Open problems.** The hardest is the fitness function. Selection optimises what is measured, and +for knowledge the persuasive and the true compete; a reality that can refuse is the only anchor, and +building it into institutions (verification, replication, challenge among models) is a problem this +paper poses and does not solve. Whether speciation emerges at scale is the second: here isolation +had to be provoked by conflicting conventions, and whether long specialisation supplies such +conflict on its own (84, 85) needs a population diverged far longer than any here. Collapse also +reaches style: models trained on model output lose lexical and syntactic diversity (105) and +model-assisted writing is individually better but collectively less diverse (106, 107), because a +voice is a distribution over rare variants, exactly what drift erases first and blending averages +away; whether the remedies transfer is untested. + +**Outlook.** Language-model development is consolidating around the operators studied here: +synthetic-data flywheels (inheritance), merging and routing of specialist fine-tunes (recombination +and population structure), verifier-gated pipelines (grounded selection), and periodic consolidation +of adapters into new bases. The forecast is a population that recombines early and consolidates +late, until conflicting conventions split it into lineages connected by routing instead of merging, +and the pre-merge conflict test can measure which way it goes. Biology receives in return a model +system in which every genotype, environment and mating decision is observable and manipulable, and +the evolution of sex can be studied with interventions (unbounded parents, offspring preview, +directed mating) no living system permits. ## Materials and Methods -**Biological-model tier.** Pure NumPy/SciPy Wright–Fisher simulator over `K`-item distributions (knowledge as -`p_t`; Zipf-tailed truth `p*`; drift–grounding–refit generations), extended with a learning kernel -(smoothing/sharpening refit), multi-locus genotypes on additive and Kauffman NK landscapes, n-parent -crossover, and finite-population society loops. All parameters live in per-experiment YAML configs; -every run derives all randomness from one master seed (`SeedSequence.spawn`) and is bitwise -reproducible; scientific-validation tests assert the closed forms (heterozygosity decay, immigration -equilibrium, closed-form union) to <0.5% and run in CI with 151 further correctness tests. +Full procedures, parameters, and replicate counts are in Supplementary Information, Methods. Appendix 1 (*The figures explained*) restates every main and supplementary figure with a legend +that explains the machine-learning experiment behind it for readers from biology. -**Neural tier.** Trained-network experiments realise the same abstractions with an exact oracle: -histogram/RNN/MLP/VAE generators on a synthetic mode universe (the histogram model reduces the harness -exactly to the biological model — the bridge gate), and a convolutional VAE on MNIST with a frozen CNN -oracle (98.5% mode accuracy; confusion matrix recorded as the measurement floor). Speciation -experiments fork no-BatchNorm MLPs (784–512–512–10) from a shared base, weight-average, and measure -linear-mode-connectivity error barriers before and after alignment; alignment composes deterministic -Git Re-Basin permutation matching with exact per-unit scale canonicalisation (the unit symmetry -group of this class, as the alignment search space; control recovery does not establish global -optimality), gated by exact recovery of a permuted-and-rescaled copy. +**Inheritance-model tier.** A NumPy/SciPy Wright–Fisher simulator over `K`-item distributions +(knowledge as `p_t`, Zipf-tailed truth `p*`, and drift–grounding–refit generations), extended with a +learning kernel (a smoothing and a sharpening knob on the refit), multi-locus genotypes on additive +and Kauffman NK landscapes, n-parent crossover, and finite-population loops. All parameters live in +per-experiment YAML configs. Every run derives its randomness from one master seed +(`SeedSequence.spawn`) and is bitwise reproducible. Scientific-validation tests assert the closed +forms to within 0.5% and run in CI alongside 151 further correctness tests. + +**Neural tier.** Trained-network experiments realise the same abstractions against an exact oracle. +Histogram, RNN, MLP and VAE generators run on a synthetic mode universe, where the histogram model +reduces the harness exactly to the inheritance model (the bridge gate), and a convolutional VAE runs +on MNIST with a frozen CNN oracle at 98.5% mode accuracy (its confusion matrix is recorded as the +measurement floor). Speciation experiments fork no-BatchNorm MLPs (784–512–512–10) from a shared base, +weight-average them, and measure the error barrier along the straight line between the two weight +vectors (the linear-mode-connectivity barrier) before and after alignment. Alignment composes +deterministic Git Re-Basin permutation matching with exact per-unit scale canonicalisation, the unit +symmetry group of this architecture class taken as the search space, and is gated by exact recovery +of a permuted-and-rescaled copy. Control recovery does not establish global optimality. **Language-model tier.** LoRA specialists (rank 16) on procedurally generated task families with an exact-match verifier, on frozen Qwen2.5-Instruct bases (0.5B on one 16 GB GPU; 7B on one L40S). -Operators: weight-space merges (soup/TIES via adapter arithmetic), per-input routing, and -Dirichlet-sampled offspring populations screened on held-out validation splits. Multi-seed protocols -fix the test sets and vary the training seed. The predictive test computes all predictors pre-merge -(generation confidence from token log-probabilities; base-model gradient cosines; exact r-space -LoRA-delta geometry) and evaluates merges on held-out tests; robust statistics (condition-clustered -bootstrap, paired predictor contrasts, leave-one-condition-out prediction, multi-reference outcomes) -are produced by a committed script. Statistical, per-seed reproducibility is documented for GPU tiers. +Operators: weight-space merges via adapter arithmetic (the plain weight average, or soup, and TIES, +which reconciles the sign of each parameter change across parents before averaging; 4), per-input +routing, and Dirichlet-sampled offspring populations screened on held-out validation splits. The +six-generation population uses the Qwen2.5-1.5B base model, six public datasets with per-family +exact-match or execution verifiers, and rank-16 adapters continued from the parent adapter each +generation (300 new and 150 replay examples, 3 epochs), merged over the weight grid {0.5/0.5, +0.3/0.7, 0.7/0.3} chosen on 20 validation items per family and reported on 60 held-out test items, +with the unchanged parent as a further candidate in the declinable arm; three training seeds. +Multi-seed protocols fix the test sets and vary the training seed. The predictive test computes all +predictors pre-merge (generation confidence from token log-probabilities, base-model gradient +cosines, and LoRA-delta geometry computed exactly in the adapters' low-rank factor space) and +evaluates merges on held-out tests. Its rows are not independent, because parents share task-data +seeds across conditions, so inference is condition-clustered and per-seed and leave-one-seed-out +sensitivity are reported alongside; a committed script produces these statistics. Statistical, +per-seed reproducibility is documented for the GPU tiers. **Data and code availability.** All code, configs, seeds, results artifacts (with content hashes), figures, and a one-command reproduction script will be deposited openly (repository + archived DOI) on publication; every figure in this paper regenerates from committed artifacts without re-simulation. +## Acknowledgements + +This work was done in close collaboration with Claude Opus 5 and Claude Fable 5.1 (Anthropic). I +conceived the framework and the population-genetic reading, chose the questions and the experiments, +set the pre-registered predictions and falsifiers, directed every stage, judged the results and edited +the text; the models contributed to the experimental design, wrote the code and ran the experiments +under my direction, performed the analyses and drafted the text. I take full responsibility for the +content. I thank Imperial College London for funding. + ## References 1. B. Laufer, H. Oderinwale, J. Kleinberg, Anatomy of a machine learning ecosystem: 2 million models on Hugging Face. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2508.06811. @@ -516,65 +753,100 @@ publication; every figure in this paper regenerates from committed artifacts wit 8. Y. Zhang, et al., Nature-inspired population-based evolution of large language models (GENOME). arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2503.01155. 9. J. Abrantes, et al., Competition and attraction improve model fusion (M2N2). *Proc. Genet. Evol. Comput. Conf.* (2025). https://doi.org/10.48550/arXiv.2508.16204. 10. V. Subramaniam, et al., Multiagent finetuning: Self-improvement with diverse reasoning chains. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2501.05707. -11. NVIDIA (B. Adler, et al.), Nemotron-4 340B technical report. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2406.11704. -12. M. Abdin, et al., Phi-4 technical report. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2412.08905. -13. Y. Wang, et al., Self-Instruct: Aligning language models with self-generated instructions. *Proc. Annu. Meet. Assoc. Comput. Linguist.* (2023). https://doi.org/10.48550/arXiv.2212.10560. -14. B. Thompson, et al., A shocking amount of the web is machine translated: Insights from multi-way parallelism. *Findings Assoc. Comput. Linguist.: ACL* (2024). https://doi.org/10.48550/arXiv.2401.05749. -15. W. Liang, et al., Monitoring AI-modified content at scale: A case study on the impact of ChatGPT on AI conference peer reviews. *Proc. Int. Conf. Mach. Learn.* (2024). https://doi.org/10.48550/arXiv.2403.07183. -16. P. Villalobos, et al., Position: Will we run out of data? Limits of LLM scaling based on human-generated data. *Proc. Int. Conf. Mach. Learn.* (2024). https://doi.org/10.48550/arXiv.2211.04325. -17. L. Brinkmann, et al., Machine culture. *Nat. Hum. Behav.* **7**, 1855–1868 (2023). -18. J. S. Park, et al., Generative agents: Interactive simulacra of human behavior. *Proc. ACM Symp. User Interface Softw. Technol.* (2023). https://doi.org/10.48550/arXiv.2304.03442. -19. T. Guo, et al., Large language model based multi-agents: A survey of progress and challenges. *Proc. Int. Joint Conf. Artif. Intell.* (2024). https://doi.org/10.48550/arXiv.2402.01680. -20. N. Tomasev, et al., Virtual agent economies. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2509.10147. -21. I. Shumailov, et al., AI models collapse when trained on recursively generated data. *Nature* **631**, 755–759 (2024). -22. J. P. Crutchfield, S. Whalen, Structural drift: The population dynamics of sequential learning. *PLOS Comput. Biol.* **8**, e1002510 (2012). -23. S. Riis, Drift and selection in LLM text ecosystems. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2604.08554. -24. M. Benati, A. Londei, D. Lanzieri, V. Loreto, First-extinction law for resampling processes. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2509.20101. -25. Y. Yoon, D. Hu, I. Weissburg, Y. Qin, H. Jeong, Model collapse in the self-consuming chain of diffusion finetuning: A novel perspective from quantitative trait modeling. *Int. Conf. Learn. Represent.* (2025). https://doi.org/10.48550/arXiv.2407.17493. -26. M. McCloskey, N. J. Cohen, Catastrophic interference in connectionist networks: The sequential learning problem. *Psychol. Learn. Motiv.* **24**, 109–165 (1989). -27. R. M. French, Catastrophic forgetting in connectionist networks. *Trends Cogn. Sci.* **3**, 128–135 (1999). -28. H. J. Muller, The relation of recombination to mutational advance. *Mutat. Res.* **1**, 2–9 (1964). -29. B. Yi, Q. Liu, Y. Cheng, H. Xu, Escaping model collapse via synthetic data verification. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2510.16657. -30. M. Gerstgrasser, et al., Is model collapse inevitable? Breaking the curse of recursion by accumulating real and synthetic data. *Conf. Lang. Model.* (2024). https://doi.org/10.48550/arXiv.2404.01413. -31. S. Wright, Evolution in Mendelian populations. *Genetics* **16**, 97–159 (1931). -32. L. S. Mills, F. W. Allendorf, The one-migrant-per-generation rule in conservation and management. *Conserv. Biol.* **10**, 1509–1518 (1996). -33. F. Jenkin, The origin of species [review]. *North Br. Rev.* **46**, 277–318 (1867). -34. J. Pari, S. Jelassi, P. Agrawal, Collective model intelligence requires compatible specialization. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2411.02207. -35. R. A. Fisher, *The Genetical Theory of Natural Selection* (Clarendon Press, 1930). -36. H. J. Muller, Some genetic aspects of sex. *Am. Nat.* **66**, 118–138 (1932). -37. E. J. Hu, et al., LoRA: Low-rank adaptation of large language models. *Int. Conf. Learn. Represent.* (2022). https://doi.org/10.48550/arXiv.2106.09685. -38. S. A. Kauffman, S. Levin, Towards a general theory of adaptive walks on rugged landscapes. *J. Theor. Biol.* **128**, 11–45 (1987). -39. A. R. Templeton, "Coadaptation and outbreeding depression" in *Conservation Biology: The Science of Scarcity and Diversity*, M. E. Soulé, Ed. (Sinauer, 1986), pp. 105–116. -40. J. Lehman, K. O. Stanley, Abandoning objectives: Evolution through the search for novelty alone. *Evol. Comput.* **19**, 189–223 (2011). -41. H. A. Orr, The population genetics of speciation: The evolution of hybrid incompatibilities. *Genetics* **139**, 1805–1813 (1995). -42. H. A. Orr, M. Turelli, The evolution of postzygotic isolation: Accumulating Dobzhansky–Muller incompatibilities. *Evolution* **55**, 1085–1094 (2001). -43. S. K. Ainsworth, J. Hayase, S. Srinivasa, Git Re-Basin: Merging models modulo permutation symmetries. *Int. Conf. Learn. Represent.* (2023). https://doi.org/10.48550/arXiv.2209.04836. -44. T. Li, Z. Shen, Scaling linear mode connectivity and merging to billion-parameter pretrained transformers. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2606.23607. +11. Y. Hu, Y. Yao, N. Zhang, H. Chen, S. Deng, Exploring model kinship for merging large language models. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2410.12613. +12. NVIDIA (B. Adler, et al.), Nemotron-4 340B technical report. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2406.11704. +13. M. Abdin, et al., Phi-4 technical report. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2412.08905. +14. Y. Wang, et al., Self-Instruct: Aligning language models with self-generated instructions. *Proc. Annu. Meet. Assoc. Comput. Linguist.* (2023). https://doi.org/10.48550/arXiv.2212.10560. +15. B. Thompson, et al., A shocking amount of the web is machine translated: Insights from multi-way parallelism. *Findings Assoc. Comput. Linguist.: ACL* (2024). https://doi.org/10.48550/arXiv.2401.05749. +16. W. Liang, et al., Monitoring AI-modified content at scale: A case study on the impact of ChatGPT on AI conference peer reviews. *Proc. Int. Conf. Mach. Learn.* (2024). https://doi.org/10.48550/arXiv.2403.07183. +17. P. Villalobos, et al., Position: Will we run out of data? Limits of LLM scaling based on human-generated data. *Proc. Int. Conf. Mach. Learn.* (2024). https://doi.org/10.48550/arXiv.2211.04325. +18. L. Brinkmann, et al., Machine culture. *Nat. Hum. Behav.* **7**, 1855–1868 (2023). +19. J. S. Park, et al., Generative agents: Interactive simulacra of human behavior. *Proc. ACM Symp. User Interface Softw. Technol.* (2023). https://doi.org/10.48550/arXiv.2304.03442. +20. T. Guo, et al., Large language model based multi-agents: A survey of progress and challenges. *Proc. Int. Joint Conf. Artif. Intell.* (2024). https://doi.org/10.48550/arXiv.2402.01680. +21. N. Tomasev, et al., Virtual agent economies. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2509.10147. +22. A. Livnat, C. Papadimitriou, Sex as an algorithm: The theory of evolution under the lens of computation. *Commun. ACM* **59**, 84–93 (2016). +23. I. Shumailov, et al., AI models collapse when trained on recursively generated data. *Nature* **631**, 755–759 (2024). +24. J. P. Crutchfield, S. Whalen, Structural drift: The population dynamics of sequential learning. *PLOS Comput. Biol.* **8**, e1002510 (2012). +25. S. Riis, Drift and selection in LLM text ecosystems. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2604.08554. +26. M. Benati, A. Londei, D. Lanzieri, V. Loreto, First-extinction law for resampling processes. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2509.20101. +27. Y. Yoon, D. Hu, I. Weissburg, Y. Qin, H. Jeong, Model collapse in the self-consuming chain of diffusion finetuning: A novel perspective from quantitative trait modeling. *Int. Conf. Learn. Represent.* (2025). https://doi.org/10.48550/arXiv.2407.17493. +28. M. McCloskey, N. J. Cohen, Catastrophic interference in connectionist networks: The sequential learning problem. *Psychol. Learn. Motiv.* **24**, 109–165 (1989). +29. R. M. French, Catastrophic forgetting in connectionist networks. *Trends Cogn. Sci.* **3**, 128–135 (1999). +30. H. J. Muller, The relation of recombination to mutational advance. *Mutat. Res.* **1**, 2–9 (1964). +31. S. Alemohammad, et al., Self-consuming generative models go MAD. *Int. Conf. Learn. Represent.* (2024). https://doi.org/10.48550/arXiv.2307.01850. +32. Q. Bertrand, A. J. Bose, A. Duplessis, M. Jiralerspong, G. Gidel, On the stability of iterative retraining of generative models on their own data. *Int. Conf. Learn. Represent.* (2024). https://doi.org/10.48550/arXiv.2310.00429. +33. B. Yi, Q. Liu, Y. Cheng, H. Xu, Escaping model collapse via synthetic data verification. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2510.16657. +34. M. Gerstgrasser, et al., Is model collapse inevitable? Breaking the curse of recursion by accumulating real and synthetic data. *Conf. Lang. Model.* (2024). https://doi.org/10.48550/arXiv.2404.01413. +35. L. S. Mills, F. W. Allendorf, The one-migrant-per-generation rule in conservation and management. *Conserv. Biol.* **10**, 1509–1518 (1996). +36. M. Wortsman, et al., Model soups: Averaging weights of multiple fine-tuned models improves accuracy without increasing inference time. *Proc. Int. Conf. Mach. Learn.* (2022). https://doi.org/10.48550/arXiv.2203.05482. +37. R. A. Fisher, *The Genetical Theory of Natural Selection* (Clarendon Press, 1930). +38. H. J. Muller, Some genetic aspects of sex. *Am. Nat.* **66**, 118–138 (1932). +39. S. P. Otto, M. W. Feldman, Deleterious mutations, variable epistatic interactions, and the evolution of recombination. *Theor. Popul. Biol.* **51**, 134–147 (1997). +40. A. R. Templeton, "Coadaptation and outbreeding depression" in *Conservation Biology: The Science of Scarcity and Diversity*, M. E. Soulé, Ed. (Sinauer, 1986), pp. 105–116. +41. M. Tomassini, *Spatially Structured Evolutionary Algorithms: Artificial Evolution in Space and Time* (Springer, 2005). +42. H. A. Orr, The population genetics of speciation: The evolution of hybrid incompatibilities. *Genetics* **139**, 1805–1813 (1995). +43. H. A. Orr, M. Turelli, The evolution of postzygotic isolation: Accumulating Dobzhansky–Muller incompatibilities. *Evolution* **55**, 1085–1094 (2001). +44. S. K. Ainsworth, J. Hayase, S. Srinivasa, Git Re-Basin: Merging models modulo permutation symmetries. *Int. Conf. Learn. Represent.* (2023). https://doi.org/10.48550/arXiv.2209.04836. 45. E. Sharma, D. M. Roy, G. K. Dziugaite, The non-local model merging problem: Permutation symmetries and variance collapse. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2410.12766. -46. N. Kozodoi, Z. Afolabi, J. Butler, Are we merging the right models? Impact of expert training duration on model merging for LLMs. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2607.11997. -47. L. Zhou, B. Zhao, R. Yu, E. Rodolà, Demystifying mergeability: Interpretable properties to predict model merging success. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2601.22285. -48. T. Scialom, T. Chakrabarty, S. Muresan, Fine-tuned language models are continual learners. *Proc. Conf. Empir. Methods Nat. Lang. Process.* (2022). https://doi.org/10.48550/arXiv.2205.12393. -49. A. Ibrahim, et al., Simple and scalable strategies to continually pre-train large language models. *Trans. Mach. Learn. Res.* (2024). https://doi.org/10.48550/arXiv.2403.08763. -50. A. Robins, Catastrophic forgetting, rehearsal and pseudorehearsal. *Connect. Sci.* **7**, 123–146 (1995). -51. H. Shin, J. K. Lee, J. Kim, J. Kim, Continual learning with deep generative replay. *Adv. Neural Inf. Process. Syst.* **30** (2017). https://doi.org/10.48550/arXiv.1705.08690. -52. Y. Feng, et al., Beyond model collapse: Scaling up with synthesized data requires verification. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2406.07515. -53. A. A. Rusu, et al., Progressive neural networks. arXiv [Preprint] (2016). https://doi.org/10.48550/arXiv.1606.04671. -54. D. Biderman, et al., LoRA learns less and forgets less. *Trans. Mach. Learn. Res.* (2024). https://doi.org/10.48550/arXiv.2405.09673. -55. J. L. McClelland, B. L. McNaughton, R. C. O'Reilly, Why there are complementary learning systems in the hippocampus and neocortex: Insights from the successes and failures of connectionist models of learning and memory. *Psychol. Rev.* **102**, 419–457 (1995). -56. D. Kumaran, D. Hassabis, J. L. McClelland, What learning systems do intelligent agents need? Complementary learning systems theory updated. *Trends Cogn. Sci.* **20**, 512–534 (2016). -57. J. Schwarz, et al., Progress & Compress: A scalable framework for continual learning. *Proc. Int. Conf. Mach. Learn.* (2018). -58. G. Ilharco, et al., Editing models with task arithmetic. *Int. Conf. Learn. Represent.* (2023). https://doi.org/10.48550/arXiv.2212.04089. -59. D. Marczak, B. Twardowski, T. Trzciński, S. Cygert, MagMax: Leveraging model merging for seamless continual learning. *Proc. Eur. Conf. Comput. Vis.* (2024). https://doi.org/10.48550/arXiv.2407.06322. -60. A. Alexandrov, et al., Mitigating catastrophic forgetting in language transfer via model merging. *Findings Assoc. Comput. Linguist.: EMNLP* (2024). https://doi.org/10.48550/arXiv.2407.08699. -61. S. Dziadzio, et al., How to merge your multimodal models over time? *Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit.* (2025). https://doi.org/10.48550/arXiv.2412.06712. -62. M. Toneva, et al., An empirical study of example forgetting during deep neural network learning. *Int. Conf. Learn. Represent.* (2019). https://doi.org/10.48550/arXiv.1812.05159. -63. N. Kandpal, H. Deng, A. Roberts, E. Wallace, C. Raffel, Large language models struggle to learn long-tail knowledge. *Proc. Int. Conf. Mach. Learn.* (2023). https://doi.org/10.48550/arXiv.2211.08411. -64. X. Liu, et al., Long-tailed class incremental learning. *Proc. Eur. Conf. Comput. Vis.* (2022). https://doi.org/10.48550/arXiv.2210.00266. -65. S. Kotha, J. M. Springer, A. Raghunathan, Understanding catastrophic forgetting in language models via implicit inference. *Int. Conf. Learn. Represent.* (2024). https://doi.org/10.48550/arXiv.2309.10105. -66. L. Yu, B. Yu, H. Yu, F. Huang, Y. Li, Language models are super Mario: Absorbing abilities from homologous models as a free lunch. *Proc. Int. Conf. Mach. Learn.* (2024). https://doi.org/10.48550/arXiv.2311.03099. -67. M. Wortsman, et al., Model soups: Averaging weights of multiple fine-tuned models improves accuracy without increasing inference time. *Proc. Int. Conf. Mach. Learn.* (2022). https://doi.org/10.48550/arXiv.2203.05482. -68. Y. Cao, et al., An empirical study and theoretical explanation on task-level model-merging collapse. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2603.09463. -69. A. Livnat, C. Papadimitriou, Sex as an algorithm: The theory of evolution under the lens of computation. *Commun. ACM* **59**, 84–93 (2016). -70. Y. Guo, G. Shang, M. Vazirgiannis, C. Clavel, The curious decline of linguistic diversity: Training language models on synthetic text. *Findings Assoc. Comput. Linguist.: NAACL* (2024). https://doi.org/10.48550/arXiv.2311.09807. -71. V. Padmakumar, H. He, Does writing with language models reduce content diversity? *Int. Conf. Learn. Represent.* (2024). https://doi.org/10.48550/arXiv.2309.05196. -72. A. R. Doshi, O. P. Hauser, Generative AI enhances individual creativity but reduces the collective diversity of novel content. *Sci. Adv.* **10**, eadn5290 (2024). +46. K. Jordan, H. Sedghi, O. Saukh, R. Entezari, B. Neyshabur, REPAIR: REnormalizing permuted activations for interpolation repair. *Int. Conf. Learn. Represent.* (2023). https://doi.org/10.48550/arXiv.2211.08403. +47. G. Stoica, et al., ZipIt! Merging models from different tasks without training. *Int. Conf. Learn. Represent.* (2024). https://doi.org/10.48550/arXiv.2305.03053. +48. A. Kleiman, G. K. Dziugaite, J. Frankle, S. Kakade, M. Paul, Soup to go: Mitigating forgetting during continual learning with model averaging. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2501.05559. +49. X. Yuan, et al., Superficial self-improved reasoners benefit from model merging. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2503.02103. +50. N. H. Barton, A general model for the evolution of recombination. *Genet. Res.* **65**, 123–144 (1995). +51. S. P. Otto, T. Lenormand, Resolving the paradox of sex and recombination. *Nat. Rev. Genet.* **3**, 252–261 (2002). +52. L. Altenberg, M. W. Feldman, Selection, generalized transmission and the evolution of modifier genes. I. The reduction principle. *Genetics* **117**, 559–572 (1987). +53. T. Fukuda, H. Kera, K. Kawamoto, Adapter merging with centroid prototype mapping for scalable class-incremental learning. *Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit.* (2025). https://doi.org/10.48550/arXiv.2412.18219. +54. D. Shenaj, O. Bohdal, T. Ceritli, M. Ozay, P. Zanuttigh, U. Michieli, K-Merge: Online continual merging of adapters for on-device large language models. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2510.13537. +55. J. Lehman, K. O. Stanley, Abandoning objectives: Evolution through the search for novelty alone. *Evol. Comput.* **19**, 189–223 (2011). +56. S. Wright, Evolution in Mendelian populations. *Genetics* **16**, 97–159 (1931). +57. E. Dohmatob, Y. Feng, P. Yang, F. Charton, J. Kempe, A tale of tails: Model collapse as a change of scaling laws. *Proc. Int. Conf. Mach. Learn.* (2024). https://doi.org/10.48550/arXiv.2402.07043. +58. E. Dohmatob, Y. Feng, A. Subramonian, J. Kempe, Strong model collapse. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2410.04840. +59. A. Garg, S. Bhattacharya, P. Sur, Preventing model collapse under overparametrization: Optimal mixing ratios for interpolation learning and ridge regression. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2509.22341. +60. A. T. Suresh, A. Thangaraj, A. N. K. Khandavally, Rate of model collapse in recursive training. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2412.17646. +61. J. Kazdan, et al., Collapse or thrive? Perils and promises of synthetic data in a self-generating world. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2410.16713. +62. A. Souly, et al., Poisoning attacks on LLMs require a near-constant number of poison samples. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2510.07192. +63. F. Jenkin, The origin of species [review]. *North Br. Rev.* **46**, 277–318 (1867). +64. M. Bulmer, Did Jenkin's swamping argument invalidate Darwin's theory of natural selection? *Br. J. Hist. Sci.* **37**, 281–297 (2004). +65. A. Malinin, B. Mlodozeniec, M. Gales, Ensemble distribution distillation. *Int. Conf. Learn. Represent.* (2020). https://doi.org/10.48550/arXiv.1905.00076. +66. M. Li, et al., Branch-Train-Merge: Embarrassingly parallel training of expert language models. arXiv [Preprint] (2022). https://doi.org/10.48550/arXiv.2208.03306. +67. X. Yuan, et al., Behavior knowledge merge in reinforced agentic models. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2601.13572. +68. J. Pari, S. Jelassi, P. Agrawal, Collective model intelligence requires compatible specialization. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2411.02207. +69. E. J. Hu, et al., LoRA: Low-rank adaptation of large language models. *Int. Conf. Learn. Represent.* (2022). https://doi.org/10.48550/arXiv.2106.09685. +70. L. Yu, B. Yu, H. Yu, F. Huang, Y. Li, Language models are super Mario: Absorbing abilities from homologous models as a free lunch. *Proc. Int. Conf. Mach. Learn.* (2024). https://doi.org/10.48550/arXiv.2311.03099. +71. S. A. Kauffman, S. Levin, Towards a general theory of adaptive walks on rugged landscapes. *J. Theor. Biol.* **128**, 11–45 (1987). +72. D. Marczak, B. Twardowski, T. Trzciński, S. Cygert, MagMax: Leveraging model merging for seamless continual learning. *Proc. Eur. Conf. Comput. Vis.* (2024). https://doi.org/10.48550/arXiv.2407.06322. +73. S. Dziadzio, et al., How to merge your multimodal models over time? *Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit.* (2025). https://doi.org/10.48550/arXiv.2412.06712. +74. A. Williams, N. Nangia, S. R. Bowman, A broad-coverage challenge corpus for sentence understanding through inference. *Proc. Conf. North Am. Chapter Assoc. Comput. Linguist. Hum. Lang. Technol.*, 1112–1122 (2018). +75. P. Clark, et al., Think you have solved question answering? Try ARC, the AI2 Reasoning Challenge. arXiv [Preprint] (2018). https://doi.org/10.48550/arXiv.1803.05457. +76. R. Zellers, A. Holtzman, Y. Bisk, A. Farhadi, Y. Choi, HellaSwag: Can a machine really finish your sentence? *Proc. Annu. Meet. Assoc. Comput. Linguist.*, 4791–4800 (2019). +77. P. Rajpurkar, J. Zhang, K. Lopyrev, P. Liang, SQuAD: 100,000+ questions for machine comprehension of text. *Proc. Conf. Empir. Methods Nat. Lang. Process.*, 2383–2392 (2016). +78. C. Clark, et al., BoolQ: Exploring the surprising difficulty of natural yes/no questions. *Proc. Conf. North Am. Chapter Assoc. Comput. Linguist. Hum. Lang. Technol.*, 2924–2936 (2019). +79. K. Sakaguchi, R. Le Bras, C. Bhagavatula, Y. Choi, WinoGrande: An adversarial Winograd schema challenge at scale. *Proc. AAAI Conf. Artif. Intell.* **34**, 8732–8740 (2020). +80. L. Thede, K. Roth, M. Bethge, Z. Akata, T. Hartvigsen, WikiBigEdit: Understanding the limits of lifelong knowledge editing in LLMs. *Proc. Int. Conf. Mach. Learn.* (2025). https://doi.org/10.48550/arXiv.2503.05683. +81. S. Clemente, et al., In praise of stubbornness: An empirical case for cognitive-dissonance aware continual update of knowledge in LLMs. arXiv [Preprint] (2025). https://doi.org/10.48550/arXiv.2502.04390. +82. J. Störk, Interference and retention in continual learning. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2607.09202. +83. T. Li, Z. Shen, Scaling linear mode connectivity and merging to billion-parameter pretrained transformers. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2606.23607. +84. N. Kozodoi, Z. Afolabi, J. Butler, Are we merging the right models? Impact of expert training duration on model merging for LLMs. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2607.11997. +85. S. Horoi, G. Wolf, E. Belilovsky, G. K. Dziugaite, From memorization to parameter interference: How overtraining experts harms model merging. *Proc. Int. Conf. Mach. Learn.* (2026). https://doi.org/10.48550/arXiv.2506.14126. +86. L. Zhou, B. Zhao, R. Yu, E. Rodolà, Demystifying mergeability: Interpretable properties to predict model merging success. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2601.22285. +87. Y. Cao, et al., An empirical study and theoretical explanation on task-level model-merging collapse. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2603.09463. +88. C. Zhu, X. Li, T. Cai, When do task vectors interfere? Mapping the validity boundaries of weight-space composition. arXiv [Preprint] (2026). https://doi.org/10.48550/arXiv.2608.09490. +89. T. Scialom, T. Chakrabarty, S. Muresan, Fine-tuned language models are continual learners. *Proc. Conf. Empir. Methods Nat. Lang. Process.* (2022). https://doi.org/10.48550/arXiv.2205.12393. +90. A. Ibrahim, et al., Simple and scalable strategies to continually pre-train large language models. *Trans. Mach. Learn. Res.* (2024). https://doi.org/10.48550/arXiv.2403.08763. +91. A. Robins, Catastrophic forgetting, rehearsal and pseudorehearsal. *Connect. Sci.* **7**, 123–146 (1995). +92. H. Shin, J. K. Lee, J. Kim, J. Kim, Continual learning with deep generative replay. *Adv. Neural Inf. Process. Syst.* **30** (2017). https://doi.org/10.48550/arXiv.1705.08690. +93. Y. Feng, et al., Beyond model collapse: Scaling up with synthesized data requires verification. arXiv [Preprint] (2024). https://doi.org/10.48550/arXiv.2406.07515. +94. A. A. Rusu, et al., Progressive neural networks. arXiv [Preprint] (2016). https://doi.org/10.48550/arXiv.1606.04671. +95. D. Biderman, et al., LoRA learns less and forgets less. *Trans. Mach. Learn. Res.* (2024). https://doi.org/10.48550/arXiv.2405.09673. +96. J. L. McClelland, B. L. McNaughton, R. C. O'Reilly, Why there are complementary learning systems in the hippocampus and neocortex: Insights from the successes and failures of connectionist models of learning and memory. *Psychol. Rev.* **102**, 419–457 (1995). +97. D. Kumaran, D. Hassabis, J. L. McClelland, What learning systems do intelligent agents need? Complementary learning systems theory updated. *Trends Cogn. Sci.* **20**, 512–534 (2016). +98. J. Schwarz, et al., Progress & Compress: A scalable framework for continual learning. *Proc. Int. Conf. Mach. Learn.* (2018). +99. G. Ilharco, et al., Editing models with task arithmetic. *Int. Conf. Learn. Represent.* (2023). https://doi.org/10.48550/arXiv.2212.04089. +100. A. Alexandrov, et al., Mitigating catastrophic forgetting in language transfer via model merging. *Findings Assoc. Comput. Linguist.: EMNLP* (2024). https://doi.org/10.48550/arXiv.2407.08699. +101. M. Toneva, et al., An empirical study of example forgetting during deep neural network learning. *Int. Conf. Learn. Represent.* (2019). https://doi.org/10.48550/arXiv.1812.05159. +102. N. Kandpal, H. Deng, A. Roberts, E. Wallace, C. Raffel, Large language models struggle to learn long-tail knowledge. *Proc. Int. Conf. Mach. Learn.* (2023). https://doi.org/10.48550/arXiv.2211.08411. +103. X. Liu, et al., Long-tailed class incremental learning. *Proc. Eur. Conf. Comput. Vis.* (2022). https://doi.org/10.48550/arXiv.2210.00266. +104. S. Kotha, J. M. Springer, A. Raghunathan, Understanding catastrophic forgetting in language models via implicit inference. *Int. Conf. Learn. Represent.* (2024). https://doi.org/10.48550/arXiv.2309.10105. +105. Y. Guo, G. Shang, M. Vazirgiannis, C. Clavel, The curious decline of linguistic diversity: Training language models on synthetic text. *Findings Assoc. Comput. Linguist.: NAACL* (2024). https://doi.org/10.48550/arXiv.2311.09807. +106. V. Padmakumar, H. He, Does writing with language models reduce content diversity? *Int. Conf. Learn. Represent.* (2024). https://doi.org/10.48550/arXiv.2309.05196. +107. A. R. Doshi, O. P. Hauser, Generative AI enhances individual creativity but reduces the collective diversity of novel content. *Sci. Adv.* **10**, eadn5290 (2024). diff --git a/paper/pnas/main.pdf b/paper/pnas/main.pdf index f7cb219..30b2520 100644 Binary files a/paper/pnas/main.pdf and b/paper/pnas/main.pdf differ diff --git a/paper/pnas/main.tex b/paper/pnas/main.tex index fff192b..2a717c4 100644 --- a/paper/pnas/main.tex +++ b/paper/pnas/main.tex @@ -1,5 +1,5 @@ -% PNAS draft — readable single-column build for review/iteration (tectonic/XeLaTeX). Content is -% generated from main.md by build.py; the pnas.cls reflow happens at submission (Phase 5). +% Manuscript draft — readable single-column build for review/iteration (tectonic/XeLaTeX). Content is +% generated from main.md by build.py; journal-template reflow happens at submission. \ifdefined\XeTeXversion\else\ifdefined\pdfoutput\pdfoutput=1\fi\fi \documentclass[11pt]{article} @@ -17,7 +17,7 @@ \normalsize Department of Life Sciences, Imperial College London\\ \normalsize \href{mailto:giorgio@gilest.ro}{giorgio@gilest.ro} \,\(\cdot\)\, \href{https://lab.gilest.ro}{lab.gilest.ro}} -\date{PNAS draft --- generated from \texttt{paper/pnas/main.md}} +\date{Draft} \begin{document} \maketitle diff --git a/paper/pnas/make_figs.py b/paper/pnas/make_figs.py index 97d8675..9d141e9 100644 --- a/paper/pnas/make_figs.py +++ b/paper/pnas/make_figs.py @@ -1,9 +1,12 @@ -"""Publication figures for the PNAS draft — unified, lettered, codename-free. +"""Publication figures for the manuscript — unified, lettered, codename-free. Renders fig1 (the experimental-programme schematic) and re-plots every data panel directly from the -committed results artifacts (figs/fig2.pdf .. fig7.pdf): no experiment codenames, no suptitles, no per-panel headline titles -(interpretation lives in the captions), bold panel letters, one consistent style. The per-experiment -figures under results/ remain the exploratory versions; these are the manuscript's. +committed results artifacts (figs/fig2.pdf .. fig5.pdf): no experiment codenames, no suptitles, bold panel +letters, one consistent style. Since 2026-09-13 each data panel carries a short headline stating its +finding (with the model and its size where relevant), legends say in words what is plotted, and +Figs. 3 and 4 open with a schematic panel explaining the set-up, so a figure is readable without its +caption. The per-experiment figures under results/ remain the exploratory versions; these are the +manuscript's. Usage: python paper/pnas/make_figs.py """ @@ -21,7 +24,7 @@ sys.path.insert(0, str(ROOT / "figures")) sys.path.insert(0, str(ROOT / "src")) import os os.chdir(ROOT) # load_bundle uses repo-relative paths -from _figlib import load_bundle, mean_ci # noqa: E402 +from _figlib import load_bundle, load_seed_bundles, mean_ci # noqa: E402 OUT = ROOT / "paper" / "pnas" / "figs" @@ -42,6 +45,58 @@ def save(fig, name): print("wrote", OUT / f"{name}.pdf") +def headline(ax, text, sub=None, x0=0): + """A short bold finding above the panel, with an optional grey line naming model and size. + + Both lines are wrapped to the panel's own width (so a headline never runs into its neighbour) + and set clear of the axes: the grey line 7 pt above the frame, the headline above that. + """ + import textwrap + + fig = ax.figure + width_pt = fig.get_figwidth() * ax.get_position().width * 72 - x0 + wrap = lambda s, fs: "\n".join(textwrap.fill(par, max(20, int(width_pt / (fs * 0.5)))) + for par in s.split("\n")) + text = wrap(text, 8.2) + dy = 7 + if sub: + sub = wrap(sub, 7) + ax.annotate(sub, xy=(0, 1), xycoords="axes fraction", xytext=(x0, dy), textcoords="offset points", + fontsize=7, color="#555", ha="left", va="bottom", annotation_clip=False, linespacing=1.15) + dy += 9.5 * (sub.count("\n") + 1) + 3 + ax.annotate(text, xy=(0, 1), xycoords="axes fraction", xytext=(x0, dy), textcoords="offset points", + fontsize=8.2, fontweight="bold", ha="left", va="bottom", annotation_clip=False, linespacing=1.15) + + +def paired_p(df, a, b, metric): + """Paired per-seed t-test between two models on one metric (the brackets' p-value).""" + from scipy.stats import ttest_rel + piv = (df[df["metric"] == metric].pivot_table(index="seed", columns="model", values="accuracy", + aggfunc="mean")[[a, b]].dropna()) + return float(ttest_rel(piv[a], piv[b]).pvalue) if len(piv) > 1 else float("nan") + + +def stars(p): + return "***" if p < 0.001 else "**" if p < 0.01 else "*" if p < 0.05 else "ns" + + +def sig_brackets(ax, specs, top, step=0.055, h=0.012): + """Significance brackets packed into tiers. ``specs`` = [(x1, x2, p, color)]; brackets that + overlap horizontally go to a higher tier, so the tallest span sits on top.""" + specs = sorted(specs, key=lambda s: (abs(s[1] - s[0]), s[3])) + tiers: list[list[tuple[float, float]]] = [] + for x1, x2, p, c in specs: + lo, hi = min(x1, x2) + 0.04, max(x1, x2) - 0.04 + k = next((i for i, tier in enumerate(tiers) if all(hi < a or lo > b for a, b in tier)), None) + if k is None: + tiers.append([]); k = len(tiers) - 1 + tiers[k].append((lo, hi)) + y = top + k * step + ax.plot([x1, x1, x2, x2], [y, y + h, y + h, y], color=c, lw=0.8, clip_on=False) + ax.text((x1 + x2) / 2, y + h + 0.004, stars(p), ha="center", va="bottom", fontsize=6.5, color=c) + return top + len(tiers) * step + + def _icon(svg_name: str): """Rasterise a committed icon SVG at 2048 px (print-lossless at the ~0.3 in placed size). @@ -70,12 +125,13 @@ def fig1a(): # Icons: Flaticon #2347052 (green pea, for Mendel) and #10479785 (robot) as committed SVGs, # used under GG's paid Flaticon licence; rasterised at build time by _icon(). TIERS = [ - ("Biological model", "Wright\u2013Fisher simulator (NumPy)", "closed forms \u00b7 bitwise-reproducible", + ("Inheritance model\n(reference)", "Wright\u2013Fisher simulator (NumPy)", + "closed forms \u00b7 sets the expectation", "#4e8d4e", "#eef6ec", "#c5e0bd", "#2d5b2d", "pea.svg"), ("Trained networks", "RNN \u00b7 MLP \u00b7 VAE\non a synthetic oracle;\nconvolutional VAE on MNIST", "sign-level tests \u00b7 exact oracles", "#5b9bc9", "#eff6fb", "#c9e2f2", "#1f4e79", "robot.svg"), - ("Language models", "LoRA specialists\non Qwen 0.5B & 7B;\nexact-match verifier", + ("Language models", "LoRA specialists on Qwen\n0.5B, 1.5B & 7B; exact-match\nand execution verifiers", "seed-replicated signs", "#3c6ea5", "#e7eef8", "#adc8e8", "#1d3f66", "robot.svg"), ] ROWS = [ @@ -83,7 +139,7 @@ def fig1a(): "fresh verified samples from a\nfixed external source enter the\ntraining mix every generation", ["immigration\u2013drift equilibrium:\n$g \\approx 0.05$ retains $\\geq$95% diversity;\nobservation floor $1-e^{-mp}$", "collapse & rescue in every\narchitecture; MNIST: dry 30$\\to$1 modes,\n10% grounding holds 30/30;\nestimator-bias learning kernel", - "LIT:established at LLM scale in\nprior work (refs. 21, 30);\nnot re-run here"]), + "LIT:established at LLM scale in\nprior work (refs. 23, 33);\nnot re-run here"]), ("Recombination = sex", "a child inherits from several\nparents, reassembling variants\nthat arose in different lineages", ["blending conservation law\n(first-order cancellation);\nunion-operator gain; Fisher\u2013Muller", @@ -91,14 +147,14 @@ def fig1a(): "merged specialists beat every parent\n(5 seeds at 0.5B; 7B); routing vs\naveraging: the headroom rule"]), ("Epistasis (entangled skills)", "a variant's fitness contribution\ndepends on the variants present\nat the other loci", - ["NK landscapes: outbreeding\ndepression; directed sex restores\nthe gain; mate-pool breadth optimum", + ["reference values only: outbreeding\ndepression, the recombination-rate\noptimum, mate-pool breadth (SI)", None, "bred-and-screened offspring beat\nthe blind blend in every seed\n(hard, unsaturated tasks)"]), ("The composed society", "selection, recombination,\ndiversity preservation and\ngrounding on one population", ["four-arm ablation: grounding, sex,\ndiversity each removed\n$\\to$ three distinct failures", None, - "OPEN"]), + "6 generations $\\times$ 3 lineages:\nobligate merging collapses,\na declinable merge tracks\npartner complementarity"]), ("Speciation", "reproductive isolation: diverged\nlineages no longer produce\nviable (mergeable) offspring", ["BDM incompatibility model:\nisolation cliff; quadratic snowball", @@ -106,11 +162,11 @@ def fig1a(): "convention conflict $\\to$ hybrid\nbreakdown; duration null; pre-merge\npredictive test (13 cond. $\\times$ 3 seeds)"]), ] - TAGS = [("Fig. 2A", "Fig. 2B", None), - ("Fig. 4", "Table S2", "Fig. 3A\u2013B"), - ("Fig. 5", None, "Table S2"), - ("Fig. 6", None, None), - ("Fig. 7A\u2013B", "Fig. 7C\u2013D", "Figs. 7E\u2013F, 3C\u2013D")] + TAGS = [("Fig. 2B", "Fig. 2A", None), + ("SI", "Table S2", "Fig. 3B\u2013C"), + ("SI", None, "Table S2"), + ("Fig. 4D\u2013F", None, "Fig. 4B\u2013C"), + ("Fig. 5E\u2013F", "Fig. 5A\u2013B", "Figs. 5C\u2013D, 3D\u2013E")] fig, ax = plt.subplots(figsize=(11.4, 5.3)) ax.set_axis_off() @@ -128,8 +184,10 @@ def fig1a(): ax.add_patch(FancyBboxPatch((x + gap, 0.825), cw - 2 * gap, 0.170, boxstyle="round,pad=0.004", fc=headfill, ec=edge, lw=1.6)) ax.text(xc, 0.988, name, ha="center", va="top", fontsize=9.5, - fontweight="bold", color=textcol) - ax.text(x + cw / 2 - 0.030, 0.944, arch, ha="center", va="top", fontsize=6.6, + fontweight="bold", color=textcol, linespacing=1.0) + # Reason: a two-line tier name needs its (single-line) subtitle pushed down. + arch_y = 0.918 if "\n" in name else 0.944 + ax.text(x + cw / 2 - 0.030, arch_y, arch, ha="center", va="top", fontsize=6.6, linespacing=1.25, color=textcol) ax.text(x + cw / 2 - 0.030, 0.831, guarantee, ha="center", va="bottom", fontsize=6.4, style="italic", color=textcol, alpha=0.85) @@ -166,11 +224,6 @@ def fig1a(): boxstyle="round,pad=0.004", fc="#f3f3f3", ec="none")) ax.text(x + cw / 2, yc, cell[4:], ha="center", va="center", fontsize=6.4, style="italic", color="#777", linespacing=1.35) - elif cell == "OPEN": - ax.add_patch(FancyBboxPatch((x + gap, y0), cw - 2 * gap, y1 - y0, - boxstyle="round,pad=0.004", fc="#f3f3f3", ec="none")) - ax.text(x + cw / 2, yc, "open \u2014 the stated gap", ha="center", va="center", - fontsize=6.6, style="italic", color=edge) else: ax.add_patch(FancyBboxPatch((x + gap, y0), cw - 2 * gap, y1 - y0, boxstyle="round,pad=0.004", fc=face, ec="none")) @@ -307,13 +360,15 @@ def fig2(): last = int(cfg["generations"] * 0.8) stat = df[df["generation"] >= last] - fig, axes = plt.subplots(1, 2, figsize=(10.6, 3.5), gridspec_kw={"width_ratios": [1, 1.35]}) + fig, axes = plt.subplots(1, 2, figsize=(10.6, 4.3), gridspec_kw={"width_ratios": [1.35, 1], "wspace": 0.28}) + fig.subplots_adjust(top=0.8) - ax = axes[0] + ax = axes[1] st = reduce_to_stationary(stat, value_col="heterozygosity", replicate_col="replicate", last_frac=1.0) gg, Hm, Hci = mean_ci(stat, "g", "heterozygosity") nz = gg > 0 - ax.errorbar(gg[nz], Hm[nz], yerr=Hci[nz], fmt="o", color="#1f77b4", capsize=2, label="simulation") + ax.errorbar(gg[nz], Hm[nz], yerr=Hci[nz], fmt="o", color="#1f77b4", capsize=2, + label="simulation (mean, 95% CI over 100 lineages)") ax.plot(gg[~nz], Hm[~nz], "o", mfc="white", mec="#1f77b4") m_of_g = stat.groupby("g")["m"].first().to_numpy() m_grid = np.linspace(0, m_of_g.max(), 400) @@ -322,17 +377,19 @@ def fig2(): m = np.asarray(m, float) return np.where(m <= 0, 0.0, H_star * m * (2 * n + m - 1) / (n + 2 * n * m + m * m)) - ax.plot(m_grid / (n + m_grid), H_eq(m_grid), "k--", lw=1, label="exact equilibrium") - ax.axhline(H_star, ls=":", color="gray", lw=1, label="source diversity $H^*$") + ax.plot(m_grid / (n + m_grid), H_eq(m_grid), "k--", lw=1, label="exact prediction (immigration–drift equilibrium)") + ax.axhline(H_star, ls=":", color="gray", lw=1, label="diversity of the real data itself") r = critical_grounding(st, H_star=H_star, frac=0.95, seed=7) ax.axvspan(r["ci_low"], r["ci_high"], color="#d62728", alpha=0.15) ax.axvline(r["g_star"], color="#d62728", lw=1.1, - label=f"95%-retention threshold $g\\approx{r['g_star']:.3f}$") - ax.set(xlabel="grounding fraction $g = m/(n+m)$", ylabel="stationary diversity $H$") - ax.legend() - letter(ax, "A") + label=f"threshold: 95% of real-data diversity kept ($g\\approx{r['g_star']:.3f}$)") + ax.set(xlabel="share of real data in each generation's training sample, $g$", + ylabel="diversity the population settles at, $H$") + ax.legend(loc="lower right", fontsize=6.4) + headline(ax, "About 5% real data per generation keeps 95% of the diversity", "inheritance model (simulation): 1,000 knowledge items, 100 lineages") + letter(ax, "B") - ax = axes[1] + ax = axes[0] from PIL import Image im = np.asarray(Image.open("results/mnist_collapse/mnist_montage.png")) # Strip the baked-in title band and left label margin (raster text is unreadable at panel @@ -344,97 +401,29 @@ def fig2(): ax.text(-0.055, 0.5, "generation", transform=ax.transAxes, rotation=90, ha="center", va="center", fontsize=8.5) ax.set_axis_off() - letter(ax, "B", x=-0.02) + ax.text(0.5, -0.03, "each row is a later generation; every column a randomly drawn digit; no real data added", + transform=ax.transAxes, ha="center", va="top", fontsize=7, color="#555", style="italic") + headline(ax, "Trained only on its own output, an image model collapses to one shape", + "image generator (VAE) re-trained each generation on its own drawings", x0=16) + letter(ax, "A", x=-0.02) save(fig, "fig2") -# ---------------------------------------------------------------- fig 4: blending vs union + Fisher–Muller -def fig4(): - fig, axes = plt.subplots(1, 2, figsize=(10.6, 3.5)) - - df, _ = load_bundle("results/E4") - r0 = df[(df["g"] == 0.0) & (df["rho"] == 0.0)] - mx = r0.groupby("K_T")["surviving_max"].agg(["mean", "sem"]) - mn = r0.groupby("K_T")["surviving_mean"].agg(["mean", "sem"]) - ax = axes[0] - ax.errorbar(mx.index, mx["mean"], yerr=1.96 * mx["sem"], fmt="-o", color="#1f77b4", - capsize=2, label="union operator (strongest source)") - ax.errorbar(mn.index, mn["mean"], yerr=1.96 * mn["sem"], fmt="--s", color="#d62728", - capsize=2, label="output-mean (blending)") - ax.set(xlabel="number of parents", ylabel="rare capabilities surviving in the child", - xticks=sorted(r0["K_T"].unique())) - ax.legend() - letter(ax, "A") - - df8, cfg8 = load_bundle("results/E8") - L = cfg8["society"]["L"] - d0 = df8[df8["rho"] == 0.0] - ax = axes[1] - for col, c, lab in [("best_parent", "#7f7f7f", "best single parent"), - ("average", "#1f77b4", "blended average"), - ("sexual", "#d62728", "recombined offspring")]: - k, m, ci = mean_ci(d0, "K_T", col) - ax.errorbar(k, m, yerr=ci, fmt="-o", color=c, capsize=2, label=lab) - ax.axhline(L, ls=":", color="green", lw=1, label="optimum") - ax.set(xlabel="number of parents", ylabel="offspring capability") - ax.legend() - letter(ax, "B") - save(fig, "fig4") - - -# ---------------------------------------------------------------- fig 5: rugged landscapes -def fig5(): - fig, axes = plt.subplots(2, 2, figsize=(10.6, 6.8)) - - df9, _ = load_bundle("results/E9") - Ks = sorted(df9["K"].unique()) - colors = plt.cm.viridis(np.linspace(0, 0.85, len(Ks))) - bp = df9.groupby("K")["best_parent"].mean() - ax = axes[0, 0] - for K, c in zip(Ks, colors): - s = df9[df9["K"] == K].groupby("rate")["mean_offspring"].mean() - bp[K] - ax.plot(s.index, s.values, "-o", color=c, label=f"$K$={K}") - ax.axhline(0, ls=":", color="gray", lw=1) - ax.set(xlabel="recombination rate", ylabel="mean offspring − best parent") - ax.legend(title="ruggedness", ncol=2) - letter(ax, "A") - - df10, _ = load_bundle("results/E10") - ax = axes[0, 1] - for col, c, lab in [("global_opt", "green", "global optimum"), - ("directed_sex", "#d62728", "screened recombination (directed)"), - ("best_parent", "#7f7f7f", "best single parent"), - ("random_sex", "#1f77b4", "blind recombination")]: - k, m, ci = mean_ci(df10, "K", col) - if col == "global_opt": - ax.plot(k, m, ":", color=c, label=lab) - else: - ax.errorbar(k, m, yerr=ci, fmt="-o", color=c, capsize=2, label=lab) - ax.set(xlabel="landscape ruggedness $K$", ylabel="offspring capability") - ax.legend() - letter(ax, "B") - - df14, _ = load_bundle("results/E14") - last = df14[df14["generation"] == df14["generation"].max()].copy() - last["best_n"] = last["best_fitness"] / last["global_opt"] - K14 = sorted(last["K"].unique()) - cmap = plt.get_cmap("viridis") - c14 = {K: cmap(i / max(1, len(K14) - 1)) for i, K in enumerate(K14)} - for ax, col, ylab, L in [(axes[1, 0], "best_n", "best fitness / optimum", "C"), - (axes[1, 1], "diversity", "population diversity", "D")]: - for K in K14: - g = last[last["K"] == K].groupby("breadth")[col].agg(["mean", "sem"]).reset_index() - ax.errorbar(g["breadth"], g["mean"], yerr=1.96 * g["sem"].fillna(0), fmt="-o", - color=c14[K], capsize=2, label=f"$K$={K}") - ax.set_xscale("log") - ax.set(xlabel="mate-pool breadth (monogamous → panmictic)", ylabel=ylab) - ax.legend(title="ruggedness") - letter(ax, L) - save(fig, "fig5") - - # ---------------------------------------------------------------- fig 6: the society -def fig6(): +def _load_curriculum(): + """The six-generation language-model population, all curricula and seeds, one long-form frame. + + Delegates to figures/stats_llm_curriculum.py, the single place where arm labels are assigned by + experiment directory (the veto arm is recorded as `society`; never trust the arm column alone). + """ + from stats_llm_curriculum import load_curriculum + return load_curriculum() + + +def fig4(): + import pandas as pd + from matplotlib.patches import FancyArrowPatch, FancyBboxPatch + df, _ = load_bundle("results/E11") arms = [("full", "#2ca02c", "full system"), ("no_sex", "#ff7f0e", "no recombination"), @@ -443,27 +432,155 @@ def fig6(): arms = [a for a in arms if a[0] in set(df["arm"].unique())] g_opt = df["global_opt"].mean() - fig, axes = plt.subplots(1, 3, figsize=(11.4, 3.2)) - panels = [("best_fitness", "best real fitness", "A"), - ("diversity", "population diversity", "B"), - ("conformity_true_gap", "conformity − true fitness", "C")] - for ax, (col, ylab, L) in zip(axes, panels): + fig = plt.figure(figsize=(11.4, 11.4)) + gs = fig.add_gridspec(3, 6, height_ratios=[1.25, 1, 1], hspace=0.62, wspace=0.6) + + cur = _load_curriculum() + acc = cur[(cur["metric"] == "all_families") & (cur["generation"] >= 0)] + best = acc.groupby(["arm", "seed", "generation"])["value"].max().reset_index() # best lineage + comp = (cur[(cur["arm"] == "veto") & (cur["metric"] == "complementarity")] + .groupby("generation")["value"].mean()) + gens = sorted(comp.index) + llm_arms = [("isolated", "#1f77b4", "-o", "never merge"), + ("veto", "#2ca02c", "-o", "merge only if it beats keeping the parent"), + ("society_stop3", "#ff7f0e", "--s", "merge through generation 2, then stop (control)"), + ("society", "#d62728", "-o", "always merge with a contemporary")] + + # ---- A: how the population works (a schematic strip; the syllabus is read from the data) + axB, axC = fig.add_subplot(gs[1, 0:4]), fig.add_subplot(gs[1, 4:6]) + # Reason: the strip is placed by hand so that it is flush with the B/D frames on the left, spans + # to C's right edge, and sits a fixed 0.75 in above B's headline (a gridspec row would leave a + # gap that scales with the row height). Its height follows the content's designed aspect. + W, H = 11.4, 3.1 + pb, pc = axB.get_position(), axC.get_position() + w_frac = pc.x1 - pb.x0 + h_frac = (w_frac * fig.get_figwidth()) * (H / W) / fig.get_figheight() + ax = fig.add_axes([pb.x0, pb.y1 + 0.75 / fig.get_figheight(), w_frac, h_frac]) + ax.set_xlim(0, W); ax.set_ylim(0, H); ax.set_aspect("equal"); ax.set_axis_off() + + def box(x, y, w, h, text, fc="#eef3f8", ec="#7a93ad", fs=6.3, bold_first=True): + ax.add_patch(FancyBboxPatch((x, y), w, h, boxstyle="round,pad=0.04", fc=fc, ec=ec, lw=1.0)) + lines = text.split("\n") + ax.text(x + w / 2, y + h - 0.1, lines[0], ha="center", va="top", fontsize=fs + 0.9, + fontweight="bold" if bold_first else "normal") + ax.text(x + w / 2, y + h - 0.1 - 0.27, "\n".join(lines[1:]), ha="center", va="top", fontsize=fs, + color="#333", linespacing=1.25) + + def arrow(p, q, color="#555", style="-|>", ls="-", lw=1.1): + ax.add_patch(FancyArrowPatch(p, q, arrowstyle=style, mutation_scale=9, color=color, lw=lw, + linestyle=ls, shrinkA=1, shrinkB=1)) + + ax.text(0.05, H - 0.02, "each generation, every lineage:", fontsize=8.0, fontweight="bold", va="top") + bw, bh, by = 1.78, 1.2, 0.9 + bx = (0.05, 0.05 + bw + 0.12, 0.05 + 2 * (bw + 0.12)) + box(bx[0], by, bw, bh, "1 learn a new skill\ncontinue the parent's\nadapter: 300 new +\n150 replay examples") + box(bx[1], by, bw, bh, "2 merge? (arm rule)\naverage weights with\na partner, ratio chosen\non validation data") + box(bx[2], by, bw, bh, "3 test all six skills\na verifier marks each\nanswer; the child is\nthe next parent") + arrow((bx[0] + bw + 0.05, by + bh / 2), (bx[1] - 0.05, by + bh / 2)) + arrow((bx[1] + bw + 0.05, by + bh / 2), (bx[2] - 0.05, by + bh / 2)) + ax.plot([bx[2] + bw / 2, bx[2] + bw / 2, bx[0] + bw / 2, bx[0] + bw / 2], [by - 0.05, by - 0.3, by - 0.3, by - 0.12], + color="#555", lw=1.0) + arrow((bx[0] + bw / 2, by - 0.14), (bx[0] + bw / 2, by - 0.06)) + ax.text(bx[1] + bw / 2, by - 0.42, "next generation (six in all)", ha="center", va="top", fontsize=6.8, style="italic", color="#555") + + # the syllabus grid (from the config, so it matches the data) + fams = ["mnli", "arc", "hellaswag", "squad", "boolq", "winogrande"] + short = {"mnli": "NLI", "arc": "science", "hellaswag": "common\nsense", "squad": "reading", + "boolq": "yes/no", "winogrande": "pronoun"} + fam_col = {"mnli": "#c6dbef", "arc": "#c7e9c0", "hellaswag": "#fdd0a2", "squad": "#dadaeb", + "boolq": "#fcbba1", "winogrande": "#fee391"} + orders = [[fams[(i * 2 + k) % 6] for k in range(6)] for i in range(3)] + gx0, gy0, cw, ch = 6.95, 0.9, 0.5, 0.4 + ax.text(gx0 + 3 * cw, H - 0.02, "the syllabus (six skills, rotated)", + ha="center", va="top", fontsize=8.0, fontweight="bold") + for k in range(6): + ax.text(gx0 + (k + 0.5) * cw, gy0 + 3 * ch + 0.05, f"gen {k + 1}", ha="center", va="bottom", fontsize=6.4, color="#333") + for i, o in enumerate(orders): + yy = gy0 + (2 - i) * ch + ax.text(gx0 - 0.06, yy + ch / 2, f"lineage {i + 1}", ha="right", va="center", fontsize=6.8, color="#333") + for k, f in enumerate(o): + ax.add_patch(FancyBboxPatch((gx0 + k * cw + 0.02, yy + 0.02), cw - 0.04, ch - 0.04, + boxstyle="round,pad=0.01", fc=fam_col[f], ec="none")) + ax.text(gx0 + (k + 0.5) * cw, yy + ch / 2, short[f], ha="center", va="center", fontsize=5.4, linespacing=0.95) + ax.text(gx0 - 0.06, gy0 - 0.14, "complementarity:", ha="right", va="center", fontsize=6.8, color="#333") + for k, g in enumerate(gens): + ax.text(gx0 + (k + 0.5) * cw, gy0 - 0.14, f"{comp[g]:.2f}", ha="center", va="center", fontsize=6.8, color="#333") + ax.text(gx0 + 3 * cw, gy0 - 0.3, "(partner complementarity: the share of a partner's skills\na lineage does not yet have; high early, zero at the end)", + ha="center", va="top", fontsize=6.4, style="italic", color="#555", linespacing=1.2) + + # the arms + ax.text(10.0, H - 0.02, "the arms", fontsize=8.0, fontweight="bold", va="top") + short_arm = {"isolated": "never merge", "veto": "merge only if it helps the child", + "society_stop3": "merge until gen 2, then stop", "society": "always merge (contemporary)"} + for r, (name, c, style, lab) in enumerate(llm_arms): + yy = H - 0.5 - r * 0.36 + ax.plot([10.05, 10.35], [yy, yy], style[:-1] if style.endswith(("o", "s")) else style, color=c, lw=1.6) + ax.plot([10.2], [yy], style[-1], color=c, ms=4.5) + ax.text(10.43, yy, short_arm[name], ha="left", va="center", fontsize=6.6) + headline(ax, "How the six-generation language-model population works", + "3 lineages \u00b7 6 generations \u00b7 3 training seeds; Qwen2.5-1.5B base (1.5 billion parameters)") + letter(ax, "A", x=-0.03) + + # ---- B: the population's outcome + ax = axB + for name, c, style, lab in llm_arms: + g, m, ci = mean_ci(best[best["arm"] == name], "generation", "value") + ax.plot(g, m, style, color=c, lw=1.6, ms=4 if "s" in style else 6, label=lab) + ax.fill_between(g, m - ci, m + ci, color=c, alpha=0.15) + seq = best[best["arm"] == "sequential"]["value"].mean() + ax.plot([gens[-1]], [seq], "D", color="gray", ms=5, label="one model taught the whole syllabus alone") + ax.set(xlabel="generation\npartner complementarity", ylabel="accuracy on all six skills\n(best lineage)", ylim=(0.15, 0.9)) + ax.set_xticks(gens) + ax.set_xticklabels([f"{g + 1}\n{comp[g]:.2f}" for g in gens]) + ax.legend(loc="lower left") + headline(ax, "Forced merging collapses once partners stop knowing different things;\n" + "optional merging stays level with never merging", "best lineage; mean over 3 seeds, 95% CI shaded") + letter(ax, "B", x=-0.08) + + # ---- C: merges declined under two syllabi with different complementarity schedules + ax = axC + w = 0.38 + for arm, off, cbar, cline, ls, lab in (("veto", -w / 2, "#2ca02c", "#1b5e20", "-", "rotated syllabus (as in A)"), + ("decor_veto", w / 2, "#ff7f0e", "#a04000", "--", "syllabus with complementarity\npeaking mid-way")): + v = cur[(cur["arm"] == arm) & (cur["metric"] == "veto_used")] + rate = v.groupby(["seed", "generation"])["value"].mean().groupby("generation").mean() + c = cur[(cur["arm"] == arm) & (cur["metric"] == "complementarity")].groupby("generation")["value"].mean() + ax.bar(np.array(gens) + 1 + off, rate.loc[gens], w, color=cbar, alpha=0.55, label=f"merges declined, {lab}") + ax.plot(np.array(gens) + 1, c.loc[gens], ls, color=cline, lw=1.4, label=f"partner complementarity, {lab}") + ax.set(xlabel="generation", ylabel="fraction", ylim=(0, 1.9), yticks=[0, 0.25, 0.5, 0.75, 1.0]) + ax.set_xticks(np.array(gens) + 1) + ax.legend(loc="upper left", fontsize=5.6, ncol=1) # ylim headroom keeps it off the bars + headline(ax, "Lineages decline merges more often\nas generations pass, whatever the partner offers", + "declinable-merge arm, 3 seeds per syllabus") + letter(ax, "C", x=-0.2) + + # ---- D-F: the simulated society (the inheritance-model reference) + axes = [fig.add_subplot(gs[2, 0:2]), fig.add_subplot(gs[2, 2:4]), fig.add_subplot(gs[2, 4:6])] + panels = [("best_fitness", "real fitness of the best agent", "D", "the best agent's real fitness"), + ("diversity", "population diversity", "E", "how different the agents are from one another"), + ("conformity_true_gap", "conformity − true fitness", "F", "how far the crowd's consensus sits from the truth")] + for ax, (col, ylab, L, sub) in zip(axes, panels): for name, c, lab in arms: - sub = df[df["arm"] == name] - g, m, ci = mean_ci(sub, "generation", col) + sub_df = df[df["arm"] == name] + g, m, ci = mean_ci(sub_df, "generation", col) ax.plot(g, m, "-", color=c, lw=1.6, label=lab) ax.fill_between(g, m - ci, m + ci, color=c, alpha=0.15) if col == "best_fitness": - ax.axhline(g_opt, ls=":", color="gray", lw=1, label="global optimum") - ax.legend() + ax.axhline(g_opt, ls=":", color="gray", lw=1, label="best possible (global optimum)") + ax.legend(fontsize=6.4) + headline(ax, "Simulated society: remove one mechanism and it fails in its own way", sub) + else: + headline(ax, " ", sub) ax.set(xlabel="generation", ylabel=ylab) letter(ax, L) - save(fig, "fig6") + save(fig, "fig4") -# ---------------------------------------------------------------- fig 7: speciation, three tiers -def fig7(): - fig, axes = plt.subplots(2, 3, figsize=(11.4, 6.6)) +# ------------------------------------------------- fig 5: merge failure across the two real tiers +def fig5(): + # wspace: panel B carries a right-hand twin axis whose label would otherwise collide with C + fig, axes = plt.subplots(2, 3, figsize=(11.4, 8.4), gridspec_kw={"wspace": 0.45, "hspace": 0.75}) + fig.subplots_adjust(top=0.9) bdm, _ = load_bundle("results/E12") rhos = sorted(bdm["rho"].unique()) @@ -474,7 +591,7 @@ def fig7(): g["se"] = g["std"] / np.sqrt(g["count"].clip(lower=1)) return g - ax = axes[0, 0] + ax = axes[1, 1] par = agg(bdm, "divergence", "parent_fitness") ax.plot(par["divergence"], par["mean"], "k--", lw=1.3, label="parents") for rho, c in zip(rhos, colors): @@ -482,157 +599,247 @@ def fig7(): ax.plot(g["divergence"], g["mean"], "-o", color=c, label=f"hybrid, density {rho:g}") ax.fill_between(g["divergence"], g["mean"] - g["se"], g["mean"] + g["se"], color=c, alpha=0.15) ax.axhline(0, color="#999", lw=0.7, ls=":") - ax.set(xlabel="parental divergence (substitutions)", ylabel="fitness") + ax.set(xlabel="parental divergence (substitutions)", ylabel="fitness of the hybrid") ax.legend() - letter(ax, "A") + headline(ax, "Simulation: hybrids fail once\nlineages diverge far enough", "20-locus genotypes with incompatibilities") + letter(ax, "E") - ax = axes[0, 1] + ax = axes[1, 2] for rho, c in zip(rhos, colors): g = agg(bdm[bdm["rho"] == rho], "divergence", "isolation") ax.plot(g["divergence"], g["mean"], "-o", color=c, label=f"{rho:g}") - ax.set(xlabel="parental divergence (substitutions)", ylabel="P(hybrid inviable)", ylim=(-0.02, 1.02)) + ax.set(xlabel="parental divergence (substitutions)", ylabel="probability the hybrid is non-viable", ylim=(-0.02, 1.02)) ax.legend(title="incompatibility density") - letter(ax, "B") + headline(ax, "Denser incompatibilities\nbring the cliff earlier", "same simulation") + letter(ax, "F") dec, _ = load_bundle("results/speciation_real") order = [c for c in ["shared", "independent", "conflict"] if c in set(dec["condition"])] g = dec.groupby("condition").agg(naive=("barrier_naive", "mean"), res=("residual_scale", "mean")).reindex(order) - ax = axes[0, 2] + ax = axes[0, 0] x = np.arange(len(order)); w = 0.38 - ax.bar(x - w / 2, g["naive"], w, color="#9ecae1", label="before alignment") - ax.bar(x + w / 2, g["res"], w, color="#d62728", label="after alignment (residual)") + ax.bar(x - w / 2, g["naive"], w, color="#9ecae1", label="barrier as trained") + ax.bar(x + w / 2, g["res"], w, color="#d62728", label="barrier after undoing unit relabelling\n(what remains is functional conflict)") ax.set_xticks(x) ax.set_xticklabels(["same task,\nshared start", "same task,\ndifferent start", "conflicting\ntasks"]) - ax.set(ylabel="merge error barrier") - ax.legend() - letter(ax, "C") + ax.set(ylabel="merge error barrier\n(how much worse the average is than its parents)") + ax.legend(fontsize=6.4) + headline(ax, "Alignment removes the barrier for compatible networks, not for conflicting ones", + "pairs of small image classifiers forked from one base") + letter(ax, "A") cliff, _ = load_bundle("results/speciation_real_cliff") cg = cliff.groupby("conflict_frac").agg(res=("residual_scale", "mean"), hyb=("acc_merge_scale", "mean")).reset_index() - ax = axes[1, 0] - ax.plot(cg["conflict_frac"], cg["res"], "-o", color="#d62728", label="residual barrier") + ax = axes[0, 1] + ax.plot(cg["conflict_frac"], cg["res"], "-o", color="#d62728", label="barrier left after alignment") ax2 = ax.twinx() - ax2.plot(cg["conflict_frac"], cg["hyb"], "-s", color="#2c7fb8", label="merged-model accuracy") + ax2.plot(cg["conflict_frac"], cg["hyb"], "-s", color="#2c7fb8", label="accuracy of the merged model") ax2.set_ylabel("merged accuracy", color="#2c7fb8") ax2.tick_params(axis="y", labelcolor="#2c7fb8") ax2.spines["right"].set_visible(True) - ax.set(xlabel="fraction of classes in conflict", ylabel="residual barrier") + ax.set(xlabel="share of classes the parents label differently", ylabel="barrier left after alignment") l1, la1 = ax.get_legend_handles_labels(); l2, la2 = ax2.get_legend_handles_labels() ax.legend(l1 + l2, la1 + la2, loc="center left") - letter(ax, "D") + headline(ax, "The more classes in conflict, the worse the merge", "same classifier pairs; conflict swept") + letter(ax, "B") - rep, _ = load_bundle("results/llm_speciation") + rep, _ = load_seed_bundles("results/llm_speciation") # s{seed}/ layout; seeds 2-3 from CX3 def series(df, mode, model, metric): + """Seed mean and 95% CI half-width per x (a single seed gives a zero-width band).""" sub = df[(df["mode"] == mode) & (df["model"] == model) & (df["metric"] == metric)] - g = sub.groupby("x")["accuracy"].mean().reset_index() - return g["x"], g["accuracy"] + per_seed = sub.groupby(["x", "seed"])["accuracy"].mean().reset_index() + x, m, h = mean_ci(per_seed, "x", "accuracy") + return x, m, np.nan_to_num(h) - ax = axes[1, 1] - x_, y_ = series(rep, "conflict", "parent_a", "ambig_asc") - ax.plot(x_, y_, "--o", color="#9ecae1", label="parent A, own convention") - x_, y_ = series(rep, "conflict", "parent_b", "ambig_desc") - ax.plot(x_, y_, "--o", color="#a1d99b", label="parent B, own convention") - x_, y_ = series(rep, "conflict", "merge_soup", "coherence") - ax.plot(x_, y_, "-s", color="#d62728", label="merge, best convention") - ax.set(xlabel="fraction of training in conflict", ylabel="accuracy, shared prompts") - ax.legend() - letter(ax, "E") + def band(ax, x_, y_, h_, style, color, label): + ax.plot(x_, y_, style, color=color, label=label) + ax.fill_between(x_, y_ - h_, y_ + h_, color=color, alpha=0.18, linewidth=0) - ax = axes[1, 2] - x_, y_ = series(rep, "duration", "merge_soup", "mean_private") - ax.plot(x_, y_, "-o", color="#d62728", label="merged model") - x_, y_ = series(rep, "duration", "parent_a", "strings") - ax.plot(x_, y_, "--o", color="#9ecae1", label="parent A, own task") - x_, y_ = series(rep, "duration", "parent_b", "arith") - ax.plot(x_, y_, "--o", color="#a1d99b", label="parent B, own task") - ax.set(xlabel="specialist training (epochs)", ylabel="accuracy", ylim=(0, 1.02)) - ax.legend() - letter(ax, "F") - save(fig, "fig7") + ax = axes[0, 2] + band(ax, *series(rep, "conflict", "parent_a", "ambig_asc"), "--o", "#9ecae1", "parent A, graded by its own convention") + band(ax, *series(rep, "conflict", "parent_b", "ambig_desc"), "--o", "#a1d99b", "parent B, graded by its own convention") + band(ax, *series(rep, "conflict", "merge_soup", "coherence"), "-s", "#d62728", "merged model, graded by whichever\nconvention it follows best") + ax.set(xlabel="training share on the conflicting convention", + ylabel="accuracy on the shared, ambiguous questions", ylim=(-0.02, 0.4)) + ax.legend(fontsize=6.0, loc="upper left") + headline(ax, "Language models: contradictory\nconventions break the merged model", "Qwen2.5-0.5B specialists; 3 seeds, 95% CI shaded") + letter(ax, "C") + + ax = axes[1, 0] + band(ax, *series(rep, "duration", "merge_soup", "mean_private"), "-o", "#d62728", "merged model, on both parents' tasks") + band(ax, *series(rep, "duration", "parent_a", "strings"), "--o", "#9ecae1", "parent A, on its own task") + band(ax, *series(rep, "duration", "parent_b", "arith"), "--o", "#a1d99b", "parent B, on its own task") + ax.set(xlabel="how long each specialist was trained (epochs)", ylabel="accuracy", ylim=(0, 1.02)) + ax.legend(loc="lower right", fontsize=6.4) + headline(ax, "Training specialists longer, apart,\ndoes not break merging", "same language models; parents share no data") + letter(ax, "D") + save(fig, "fig5") # ---------------------------------------------------------------- fig 3: the language-model tier def fig3(): + import matplotlib.transforms as mtrans import pandas as pd + from matplotlib.patches import Circle, FancyArrowPatch, FancyBboxPatch from scipy.stats import spearmanr - fig, axes = plt.subplots(2, 2, figsize=(10.6, 6.6)) + from stats_llm_7b_seeds import with_best_specialist - dfm, _ = load_bundle("results/llm_merge_seeds") - specs = sorted(m for m in dfm["model"].unique() if m.startswith("spec_")) - rows = [] - for s, sub in dfm.groupby("seed"): - ov = {m: sub[(sub["model"] == m) & (sub["metric"] == "overall")]["accuracy"].mean() for m in specs} - b = sub[sub["model"] == max(ov, key=ov.get)].copy(); b["model"] = "best_specialist" - rows.append(b) - dfm = pd.concat([dfm] + rows, ignore_index=True) - models = ["base", "best_specialist", "merge_soup", "merge_ties"] - labels = ["base", "best\nspecialist", "merged\n(average)", "merged\n(interference-aware)"] - ax = axes[0, 0] - x = np.arange(len(models)) - for off, metric, c, lab in ((-0.19, "overall", "#2c7fb8", "overall"), - (0.19, "worst_family", "#d62728", "worst task family")): - vals, errs = [], [] - for m in models: - v = dfm[(dfm["model"] == m) & (dfm["metric"] == metric)].groupby("seed")["accuracy"].mean() - vals.append(v.mean()); errs.append(1.96 * v.std(ddof=1) / max(1, np.sqrt(len(v)))) - ax.bar(x + off, vals, 0.36, yerr=errs, capsize=2, color=c, label=lab) - ax.set_xticks(x); ax.set_xticklabels(labels, fontsize=7) - ax.set(ylabel="verifier accuracy") - ax.legend() - letter(ax, "A") + fig = plt.figure(figsize=(11.4, 12.4)) + gs = fig.add_gridspec(3, 2, height_ratios=[1.0, 1, 1], hspace=0.9, wspace=0.34) - df7, _ = load_bundle("results/llm_moe_hard_hpc") + # ---- A: how the compared models are built (schematic), placed flush with B/D on the left and a + # fixed 0.75 in above B's headline (see fig4 for the same rule) + axB, axC = fig.add_subplot(gs[1, 0]), fig.add_subplot(gs[1, 1]) + W, H = 10.6, 3.2 + pb, pc = axB.get_position(), axC.get_position() + w_frac = pc.x1 - pb.x0 + h_frac = (w_frac * fig.get_figwidth()) * (H / W) / fig.get_figheight() + ax = fig.add_axes([pb.x0, pb.y1 + 0.75 / fig.get_figheight(), w_frac, h_frac]) + ax.set_xlim(0, W); ax.set_ylim(0, H); ax.set_aspect("equal"); ax.set_axis_off() + rob = _icon("robot.svg") + FAM = [GOLD, GREEN, BLUE] # lists, strings, arithmetic - def acc7(model, metric): - r = df7[(df7["model"] == model) & (df7["metric"] == metric)]["accuracy"] - return float(r.iloc[0]) if len(r) else np.nan - specs7 = sorted(m for m in df7["model"].unique() if m.startswith("spec_")) - best7 = max(specs7, key=lambda m: acc7(m, "overall")) - models7 = [best7, "merge_soup", "merge_ties", "moe_oracle"] - labels7 = ["best\nspecialist", "merged\n(average)", "merged\n(interference-aware)", "routed\n(kept separate)"] - ax = axes[0, 1] - x = np.arange(len(models7)) - for off, metric, c, lab in ((-0.19, "overall", "#2c7fb8", "overall"), - (0.19, "worst_family", "#d62728", "worst task family")): - ax.bar(x + off, [acc7(m, metric) for m in models7], 0.36, color=c, label=lab) - ax.set_xticks(x); ax.set_xticklabels(labels7, fontsize=7) - ax.set(ylabel="verifier accuracy") - ax.legend() + def robot(x, y, size, dots=(), alpha=1.0, crossed=False): + ax.imshow(rob, extent=(x - size / 2, x + size / 2, y - size / 2, y + size / 2), + interpolation="none", zorder=2) + n = len(dots) + for k, c in enumerate(dots): + cx, cy = x + (k - (n - 1) / 2) * 0.17, y - size / 2 - 0.11 + ax.add_patch(Circle((cx, cy), 0.065, fc=c, ec="none", alpha=alpha)) + if crossed: + ax.plot([cx - 0.04, cx + 0.04], [cy - 0.04, cy + 0.04], color="white", lw=0.8, zorder=3) + + def caption(x, y, title, body): + ax.text(x, y, title, ha="center", va="top", fontsize=8.0, fontweight="bold") + ax.text(x, y - 0.22, body, ha="center", va="top", fontsize=7.0, color="#333", linespacing=1.25) + + def arrow(p, q, color="#555"): + ax.add_patch(FancyArrowPatch(p, q, arrowstyle="-|>", mutation_scale=9, color=color, lw=1.1, + shrinkA=1, shrinkB=1)) + + ry, rs = 2.0, 0.66 + xb, xs, xa, xt, xr = 0.65, (2.05, 2.7, 3.35), 5.05, 7.4, 9.65 + robot(xb, ry, rs) + caption(xb, 1.32, "base model", "the shared “textbook”;\nno extra training") + arrow((xb + 0.45, ry), (xs[0] - 0.4, ry)) + for k, x in enumerate(xs): + robot(x, ry, 0.52, dots=(FAM[k],)) + caption(xs[1], 1.32, "three specialists", "the base plus one small adapter each,\ntrained on one task family\n(lists · strings · arithmetic)") + ax.text(xs[1], 0.46, "“best specialist” = the best of the three,\nchosen per seed", + ha="center", va="top", fontsize=6.8, style="italic", color="#555", linespacing=1.2) + # the three ways of combining them + ax.plot([xs[1], xs[1], xr, xr], [ry + 0.38, ry + 0.78, ry + 0.78, ry + 0.4], color="#555", lw=1.0) + ax.text((xs[1] + xr) / 2, ry + 0.82, "combine the three specialists, three ways", ha="center", va="bottom", + fontsize=7.4, style="italic", color="#555") + for x in (xa, xt): + ax.plot([x, x], [ry + 0.78, ry + 0.5], color="#555", lw=1.0) + arrow((x, ry + 0.52), (x, ry + rs / 2 + 0.02)) + arrow((xr, ry + 0.52), (xr, ry + 0.26 + 0.02)) + robot(xa, ry, rs, dots=FAM, alpha=0.45) + caption(xa, 1.32, "merged (average)", "the adapters averaged;\nevery parent's contribution\nis diluted") + robot(xt, ry, rs, dots=FAM, crossed=True) + caption(xt, 1.32, "merged (interference-aware)", "changes on which the parents\nconflict are dropped, then\nthe rest averaged (TIES)") + for k, x in enumerate((xr - 0.46, xr, xr + 0.46)): + robot(x, ry + 0.02, 0.44, dots=(FAM[k],)) + ax.add_patch(FancyBboxPatch((xr - 0.2, 1.36), 0.4, 0.2, boxstyle="round,pad=0.02", fc="white", ec="#555", lw=0.9)) + ax.text(xr, 1.46, "router", ha="center", va="center", fontsize=6.6) + for x in (xr - 0.46, xr, xr + 0.46): + ax.plot([xr, x], [1.56, ry - 0.22 - 0.09], color="#555", lw=0.7, ls=(0, (2, 1.5))) + caption(xr, 1.16, "routed (kept separate)", "each question goes to the\nspecialist that owns it;\nnothing is averaged") + ax.text(W / 2, 0.02, "All models share the same frozen base; only the small adapters differ. " + "A verifier marks every answer right or wrong; accuracy is the share marked right.", + ha="center", va="bottom", fontsize=7.4, color="#333") + headline(ax, "How the models compared in B and C are built") + letter(ax, "A", x=-0.03) + + # ---- B, C: bars with per-seed CIs and paired-test brackets + METRICS = ((-0.19, "overall", "#2c7fb8", "accuracy, mean over all task families"), + (0.19, "worst_family", "#d62728", "accuracy on the model's weakest task family")) + + def seed_bars(ax, df, models, labels, pairs): + x = np.arange(len(models)) + tops = [] + for off, metric, c, lab in METRICS: + vals, errs = [], [] + for m in models: + v = df[(df["model"] == m) & (df["metric"] == metric)].groupby("seed")["accuracy"].mean() + vals.append(v.mean()) + errs.append(1.96 * v.std(ddof=1) / np.sqrt(len(v)) if len(v) > 1 else 0.0) + ax.bar(x + off, vals, 0.36, yerr=errs, capsize=2, color=c, label=lab) + tops.append(max(v + e for v, e in zip(vals, errs))) + specs = [] + for a, b in pairs: + for off, metric, c, _ in METRICS: + specs.append((models.index(a) + off, models.index(b) + off, paired_p(df, a, b, metric), c)) + ymax = sig_brackets(ax, specs, top=max(tops) + 0.035) + ax.set_ylim(0, ymax + 0.02) + ax.set_xticks(x); ax.set_xticklabels(labels, fontsize=7) + ax.set(ylabel="verifier accuracy") + ax.legend(loc="upper center", bbox_to_anchor=(0.5, -0.2), ncol=2, fontsize=6.4) + ax.text(0.5, -0.33, "brackets: paired t-test over seeds; * p<0.05 ** p<0.01 *** p<0.001 ns not significant", + transform=ax.transAxes, ha="center", va="top", fontsize=5.8, color="#555") + + ax = axB + dfm = with_best_specialist(load_bundle("results/llm_merge_seeds")[0]) + seed_bars(ax, dfm, ["base", "best_specialist", "merge_soup", "merge_ties"], + ["base", "best\nspecialist", "merged\n(average)", "merged\n(interference-aware)"], + [("best_specialist", "merge_soup"), ("best_specialist", "merge_ties"), ("merge_soup", "merge_ties")]) + headline(ax, "Merged specialists beat the best single specialist", + "Qwen2.5-0.5B (0.5 billion parameters), easy tasks, 5 training seeds") letter(ax, "B") + ax = axC + df7 = with_best_specialist(load_seed_bundles("results/llm_moe_hard_hpc")[0]) + seed_bars(ax, df7, ["best_specialist", "merge_soup", "merge_ties", "moe_oracle"], + ["best\nspecialist", "merged\n(average)", "merged\n(interference-aware)", "routed\n(kept separate)"], + [("best_specialist", "merge_soup"), ("merge_soup", "moe_oracle"), ("best_specialist", "moe_oracle")]) + headline(ax, "On hard tasks, keeping specialists separate beats averaging them", + "Qwen2.5-7B (7 billion parameters), hard tasks, 3 training seeds") + letter(ax, "C") + + # ---- D: pre-merge disagreement predicts merge damage a = pd.read_parquet("results/llm_epistasis/results.parquet") b = pd.read_parquet("results/llm_epistasis_compat/results.parquet") dfe = pd.concat([a, b], ignore_index=True) - ax = axes[1, 0] - for mode, c, mk, lab in (("conflict", "#d62728", "o", "conflicting conventions"), - ("duration", "#2c7fb8", "s", "divergence only"), - ("compat", "#41ab5d", "^", "overlap, no conflict")): + ax = fig.add_subplot(gs[2, 0]) + for mode, c, mk, lab in (("conflict", "#d62728", "o", "parents taught contradictory conventions"), + ("duration", "#2c7fb8", "s", "parents merely trained longer, apart"), + ("compat", "#41ab5d", "^", "parents share training data, no conflict")): sub = dfe[dfe["mode"] == mode] ax.scatter(sub["epi_conf"], sub["merge_penalty"], c=c, marker=mk, s=26, alpha=0.75, label=lab) ax.axhline(0, color="#999", lw=0.6) - ax.set(xlabel="pre-merge functional conflict (confidence-weighted)", - ylabel="merge penalty") - ax.legend() - letter(ax, "C") - - preds = [("dis_raw", "raw\ndisagreement"), ("epi_conf", "conf-weighted\nconflict"), - ("grad_cos", "gradient\nalignment"), ("delta_cos", "weight\ncosine"), - ("delta_l2", "weight\ndistance"), ("cross_perf", "cross-task\naccuracy")] - ax = axes[1, 1] - rhos_ = [abs(spearmanr(dfe[c], dfe["merge_penalty"])[0]) for c, _ in preds] - cols = ["#fc9272", "#d62728", "#9ecae1", "#9ecae1", "#9ecae1", "#9ecae1"] - ax.bar(np.arange(len(preds)), rhos_, 0.6, color=cols) - ax.set_xticks(np.arange(len(preds))) - ax.set_xticklabels([l for _, l in preds], fontsize=6.5) - ax.set(ylabel="|Spearman ρ| vs merge penalty", ylim=(0, 0.8)) + ax.set(xlabel="how often the two parents confidently disagree (measured before merging)", + ylabel="merge penalty\n(accuracy lost relative to using each\nparent for its own task)") + ax.legend(loc="upper left", fontsize=6.4) + headline(ax, "Disagreement between parents, measured\nbefore merging, predicts merge damage", + "39 specialist pairs (13 conditions × 3 seeds), Qwen2.5-0.5B") letter(ax, "D") + + # ---- E: which pre-merge measures carry the signal + preds = [("dis_raw", "disagreement\n(raw)", "#fc9272"), ("epi_conf", "disagreement\n(confident)", "#d62728"), + ("cross_perf", "cross-task\naccuracy", "#fcbba1"), + ("grad_cos", "gradient\nalignment", "#9ecae1"), ("delta_cos", "weight\ncosine", "#9ecae1"), + ("delta_l2", "weight\ndistance", "#9ecae1")] + ax = fig.add_subplot(gs[2, 1]) + rhos_ = [abs(spearmanr(dfe[c], dfe["merge_penalty"])[0]) for c, _, _ in preds] + ax.bar(np.arange(len(preds)), rhos_, 0.6, color=[c for _, _, c in preds]) + ax.set_xticks(np.arange(len(preds))) + ax.set_xticklabels([l for _, l, _ in preds], fontsize=6.2) + ax.set(ylabel="association with merge penalty\n(|Spearman ρ|)", ylim=(0, 0.8)) + tr = mtrans.blended_transform_factory(ax.transData, ax.transAxes) + for (x1, x2, lab) in ((-0.3, 2.3, "measured by asking the parents questions"), (2.7, 5.3, "measured on the parents' weights")): + ax.plot([x1, x2], [-0.27, -0.27], transform=tr, color="#555", lw=0.9, clip_on=False) + ax.text((x1 + x2) / 2, -0.30, lab, transform=tr, ha="center", va="top", fontsize=6.4, color="#333") + headline(ax, "Behavioural measures predict the damage;\nweight-geometry measures do not", + "same 39 pairs; rank correlation with the merge penalty") + letter(ax, "E") save(fig, "fig3") if __name__ == "__main__": - for f in (fig1a, fig1b, fig2, fig3, fig4, fig5, fig6, fig7): + for f in (fig1a, fig1b, fig2, fig3, fig4, fig5): f() diff --git a/paper/pnas/refs/Evolution of sex for AI.ris b/paper/pnas/refs/Evolution of sex for AI.ris new file mode 100644 index 0000000..417d33c --- /dev/null +++ b/paper/pnas/refs/Evolution of sex for AI.ris @@ -0,0 +1,1393 @@ +TY - JOUR +AU - Laufer, Benjamin +AU - Oderinwale, Hamidah +AU - Kleinberg, Jon +TI - Anatomy of a Machine Learning Ecosystem: 2 Million Models on Hugging Face +T2 - arXiv +AN - arXiv:2508.06811 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2508.06811 +UR - https://arxiv.org/abs/2508.06811 +AB - Many have observed that the development and deployment of generative machine learning (ML) and artificial intelligence (AI) models follow a distinctive pattern in which pre-trained models are adapted and fine-tuned for specific downstream tasks. However, there is limited empirical work that examines the structure of these interactions. This paper analyzes 1.86 million models on Hugging Face, a leading peer production platform for model development. Our study of model family trees -- networks that connect fine-tuned models to their base or parent -- reveals sprawling fine-tuning lineages that vary widely in size and structure. Using an evolutionary biology lens to study ML models, we use model metadata and model cards to measure the genetic similarity and mutation of traits over model families. We find that models tend to exhibit a family resemblance, meaning their genetic markers and traits exhibit more overlap when they belong to the same model family. However, these similarities depart in certain ways from standard models of asexual reproduction, because mutations are fast and directed, such that two `sibling' models tend to exhibit more similarity than parent/child pairs. Further analysis of the directional drifts of these mutations reveals qualitative insights about the open machine learning ecosystem: Licenses counter-intuitively drift from restrictive, commercial licenses towards permissive or copyleft licenses, often in violation of upstream license's terms; models evolve from multi-lingual compatibility towards english-only compatibility; and model cards reduce in length and standardize by turning, more often, to templates and automatically generated text. Overall, this work takes a step toward an empirically grounded understanding of model fine-tuning and suggests that ecological models and methods can yield novel scientific insights. +N1 - Manuscript reference 1 +ER - +TY - JOUR +AU - Horwitz, Eliahu +AU - Shul, Asaf +AU - Hoshen, Yedid +TI - Unsupervised Model Tree Heritage Recovery +T2 - arXiv +AN - arXiv:2405.18432 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2405.18432 +UR - https://arxiv.org/abs/2405.18432 +AB - The number of models shared online has recently skyrocketed, with over one million public models available on Hugging Face. Sharing models allows other users to build on existing models, using them as initialization for fine-tuning, improving accuracy, and saving compute and energy. However, it also raises important intellectual property issues, as fine-tuning may violate the license terms of the original model or that of its training data. A Model Tree, i.e., a tree data structure rooted at a foundation model and having directed edges between a parent model and other models directly fine-tuned from it (children), would settle such disputes by making the model heritage explicit. Unfortunately, current models are not well documented, with most model metadata (e.g., "model cards") not providing accurate information about heritage. In this paper, we introduce the task of Unsupervised Model Tree Heritage Recovery (Unsupervised MoTHer Recovery) for collections of neural networks. For each pair of models, this task requires: i) determining if they are directly related, and ii) establishing the direction of the relationship. Our hypothesis is that model weights encode this information, the challenge is to decode the underlying tree structure given the weights. We discover several properties of model weights that allow us to perform this task. By using these properties, we formulate the MoTHer Recovery task as finding a directed minimal spanning tree. In extensive experiments we demonstrate that our method successfully reconstructs complex Model Trees. +N1 - Manuscript reference 2 +ER - +TY - JOUR +AU - Jiang, Wenxin +AU - Yasmin, Jerin +AU - Jones, Jason +AU - Synovic, Nicholas +AU - Kuo, Jiashen +AU - Bielanski, Nathaniel +AU - Tian, Yuan +AU - Thiruvathukal, George K. +AU - Davis, James C. +TI - PeaTMOSS: A Dataset and Initial Analysis of Pre-Trained Models in Open-Source Software +T2 - arXiv +AN - arXiv:2402.00699 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2402.00699 +UR - https://arxiv.org/abs/2402.00699 +AB - The development and training of deep learning models have become increasingly costly and complex. Consequently, software engineers are adopting pre-trained models (PTMs) for their downstream applications. The dynamics of the PTM supply chain remain largely unexplored, signaling a clear need for structured datasets that document not only the metadata but also the subsequent applications of these models. Without such data, the MSR community cannot comprehensively understand the impact of PTM adoption and reuse. This paper presents the PeaTMOSS dataset, which comprises metadata for 281,638 PTMs and detailed snapshots for all PTMs with over 50 monthly downloads (14,296 PTMs), along with 28,575 open-source software repositories from GitHub that utilize these models. Additionally, the dataset includes 44,337 mappings from 15,129 downstream GitHub repositories to the 2,530 PTMs they use. To enhance the dataset's comprehensiveness, we developed prompts for a large language model to automatically extract model metadata, including the model's training datasets, parameters, and evaluation metrics. Our analysis of this dataset provides the first summary statistics for the PTM supply chain, showing the trend of PTM development and common shortcomings of PTM package documentation. Our example application reveals inconsistencies in software licenses across PTMs and their dependent projects. PeaTMOSS lays the foundation for future research, offering rich opportunities to investigate the PTM supply chain. We outline mining opportunities on PTMs, their downstream usage, and cross-cutting questions. +N1 - Manuscript reference 3 +ER - +TY - JOUR +AU - Yadav, Prateek +AU - Tam, Derek +AU - Choshen, Leshem +AU - Raffel, Colin +AU - Bansal, Mohit +TI - TIES-Merging: Resolving Interference When Merging Models +T2 - arXiv +AN - arXiv:2306.01708 +PY - 2023 +PB - arXiv +DO - 10.48550/arXiv.2306.01708 +UR - https://arxiv.org/abs/2306.01708 +AB - Transfer learning - i.e., further fine-tuning a pre-trained model on a downstream task - can confer significant advantages, including improved downstream performance, faster convergence, and better sample efficiency. These advantages have led to a proliferation of task-specific fine-tuned models, which typically can only perform a single task and do not benefit from one another. Recently, model merging techniques have emerged as a solution to combine multiple task-specific models into a single multitask model without performing additional training. However, existing merging methods often ignore the interference between parameters of different models, resulting in large performance drops when merging multiple models. In this paper, we demonstrate that prior merging techniques inadvertently lose valuable information due to two major sources of interference: (a) interference due to redundant parameter values and (b) disagreement on the sign of a given parameter's values across models. To address this, we propose our method, TRIM, ELECT SIGN & MERGE (TIES-Merging), which introduces three novel steps when merging models: (1) resetting parameters that only changed a small amount during fine-tuning, (2) resolving sign conflicts, and (3) merging only the parameters that are in alignment with the final agreed-upon sign. We find that TIES-Merging outperforms several existing methods in diverse settings covering a range of modalities, domains, number of tasks, model sizes, architectures, and fine-tuning settings. We further analyze the impact of different types of interference on model parameters, and highlight the importance of resolving sign interference. Our code is available at https://github.com/prateeky2806/ties-merging +N1 - Manuscript reference 4 +ER - +TY - JOUR +AU - Akiba, Takuya +AU - Shing, Makoto +AU - Tang, Yujin +AU - Sun, Qi +AU - Ha, David +TI - Evolutionary optimization of model merging recipes +T2 - Nature Machine Intelligence +PY - 2025 +VL - 7 +IS - 2 +PB - Springer Science and Business Media LLC +DO - 10.1038/s42256-024-00975-8 +UR - http://dx.doi.org/10.1038/s42256-024-00975-8 +AB - Abstract Large language models (LLMs) have become increasingly capable, but their development often requires substantial computational resources. Although model merging has emerged as a cost-effective promising approach for creating new models by combining existing ones, it currently relies on human intuition and domain knowledge, limiting its potential. Here we propose an evolutionary approach that overcomes this limitation by automatically discovering effective combinations of diverse open-source models, harnessing their collective intelligence without requiring extensive additional training data or compute. Our approach operates in both parameter space and data flow space, allowing optimization beyond just the weights of the individual models. This approach even facilitates cross-domain merging, generating models such as a Japanese LLM with math reasoning capabilities. Surprisingly, our Japanese math LLM achieved state-of-the-art performance on a variety of established Japanese LLM benchmarks, even surpassing models with substantially more parameters, despite not being explicitly trained for such tasks. Furthermore, a culturally aware Japanese vision–language model generated through our approach demonstrates its effectiveness in describing Japanese culture-specific content, outperforming previous Japanese vision–language models. This work not only contributes new state-of-the-art models back to the open-source community but also introduces a new paradigm for automated model composition, paving the way for exploring alternative, efficient approaches to foundation model development. +SP - 195 +EP - 204 +N1 - Manuscript reference 5 +ER - +TY - JOUR +AU - Goddard, Charles +AU - Siriwardhana, Shamane +AU - Ehghaghi, Malikeh +AU - Meyers, Luke +AU - Karpukhin, Vlad +AU - Benedict, Brian +AU - McQuade, Mark +AU - Solawetz, Jacob +TI - Arcee's MergeKit: A Toolkit for Merging Large Language Models +T2 - arXiv +AN - arXiv:2403.13257 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2403.13257 +UR - https://arxiv.org/abs/2403.13257 +AB - The rapid expansion of the open-source language model landscape presents an opportunity to merge the competencies of these model checkpoints by combining their parameters. Advances in transfer learning, the process of fine-tuning pretrained models for specific tasks, has resulted in the development of vast amounts of task-specific models, typically specialized in individual tasks and unable to utilize each other's strengths. Model merging facilitates the creation of multitask models without the need for additional training, offering a promising avenue for enhancing model performance and versatility. By preserving the intrinsic capabilities of the original models, model merging addresses complex challenges in AI - including the difficulties of catastrophic forgetting and multitask learning. To support this expanding area of research, we introduce MergeKit, a comprehensive, open-source library designed to facilitate the application of model merging strategies. MergeKit offers an extensible framework to efficiently merge models on any hardware, providing utility to researchers and practitioners. To date, thousands of models have been merged by the open-source community, leading to the creation of some of the worlds most powerful open-source model checkpoints, as assessed by the Open LLM Leaderboard. The library is accessible at https://github.com/arcee-ai/MergeKit. +N1 - Manuscript reference 6 +ER - +TY - JOUR +AU - Yang, Enneng +AU - Shen, Li +AU - Guo, Guibing +AU - Wang, Xingwei +AU - Cao, Xiaochun +AU - Zhang, Jie +AU - Tao, Dacheng +TI - Model Merging in LLMs, MLLMs, and Beyond: Methods, Theories, Applications and Opportunities +T2 - arXiv +AN - arXiv:2408.07666 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2408.07666 +UR - https://arxiv.org/abs/2408.07666 +AB - Model merging is an efficient empowerment technique in the machine learning community that does not require the collection of raw training data and does not require expensive computation. As model merging becomes increasingly prevalent across various fields, it is crucial to understand the available model merging techniques comprehensively. However, there is a significant gap in the literature regarding a systematic and thorough review of these techniques. This survey provides a comprehensive overview of model merging methods and theories, their applications in various domains and settings, and future research directions. Specifically, we first propose a new taxonomic approach that exhaustively discusses existing model merging methods. Secondly, we discuss the application of model merging techniques in large language models, multimodal large language models, and more than ten machine learning subfields, including continual learning, multi-task learning, few-shot learning, etc. Finally, we highlight the remaining challenges of model merging and discuss future research directions. A comprehensive list of papers about model merging is available at https://github.com/EnnengYang/Awesome-Model-Merging-Methods-Theories-Applications. +N1 - Manuscript reference 7 +ER - +TY - JOUR +AU - Zhang, Yiqun +AU - Ye, Peng +AU - Yang, Xiaocui +AU - Feng, Shi +AU - Zhang, Shufei +AU - Bai, Lei +AU - Ouyang, Wanli +AU - Hu, Shuyue +TI - Nature-Inspired Population-Based Evolution of Large Language Models +T2 - arXiv +AN - arXiv:2503.01155 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2503.01155 +UR - https://arxiv.org/abs/2503.01155 +AB - Evolution, the engine behind the survival and growth of life on Earth, operates through the population-based process of reproduction. Inspired by this principle, this paper formally defines a newly emerging problem -- the population-based evolution of large language models (LLMs) -- and introduces a novel framework. Starting with a population of parent LLMs, our framework enables the population to evolve through four key operations: (i) crossover, merging the weights of different parents to create offspring LLMs, (ii) mutation, introducing small, random changes to model weights to foster diversity, (iii) selection, prioritizing high-performing models, and (iv) succession, transferring the learned experience from parent to offspring LLMs. With only 200 samples per new task, the LLM population evolves rapidly to adapt to the task at hand, without any gradients. Experiments on 12 datasets show that our framework consistently outperforms existing multi-LLM merging and adaptation methods, achieving accuracy gains of up to 54.8% over the best LLM in the initial population. Moreover, our framework allows for the evolution of LLMs across multiple new tasks simultaneously, scaling effectively with populations of up to 40 LLMs, and even zero-shot generalization to unseen held-out tasks. We have open-sourced the code on GitHub and released the weights of 10 parent LLMs, fine-tuned from gemma-2-2b-it, on HuggingFace$, enabling reproduction of our proposed framework using just a single 4090 GPU with 24GB memory, without any performance degradation. +N1 - Manuscript reference 8 +ER - +TY - JOUR +AU - Abrantes, João +AU - Lange, Robert Tjarko +AU - Tang, Yujin +TI - Competition and Attraction Improve Model Fusion +T2 - arXiv +AN - arXiv:2508.16204 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2508.16204 +UR - https://arxiv.org/abs/2508.16204 +AB - Model merging is a powerful technique for integrating the specialized knowledge of multiple machine learning models into a single model. However, existing methods require manually partitioning model parameters into fixed groups for merging, which restricts the exploration of potential combinations and limits performance. To overcome these limitations, we propose Model Merging of Natural Niches (M2N2), an evolutionary algorithm with three key features: (1) dynamic adjustment of merging boundaries to progressively explore a broader range of parameter combinations; (2) a diversity preservation mechanism inspired by the competition for resources in nature, to maintain a population of diverse, high-performing models that are particularly well-suited for merging; and (3) a heuristicbased attraction metric to identify the most promising pairs of models for fusion. Our experimental results demonstrate, for the first time, that model merging can be used to evolve models entirely from scratch. Specifically, we apply M2N2 to evolve MNIST classifiers from scratch and achieve performance comparable to CMA-ES, while being computationally more efficient. Furthermore, M2N2 scales to merge specialized language and image generation models, achieving state-of-the-art performance. Notably, it preserves crucial model capabilities beyond those explicitly optimized by the fitness function, highlighting its robustness and versatility. Our code is available at https://github.com/SakanaAI/natural_niches +N1 - Manuscript reference 9 +ER - +TY - JOUR +AU - Subramaniam, Vighnesh +AU - Du, Yilun +AU - Tenenbaum, Joshua B. +AU - Torralba, Antonio +AU - Li, Shuang +AU - Mordatch, Igor +TI - Multiagent Finetuning: Self Improvement with Diverse Reasoning Chains +T2 - arXiv +AN - arXiv:2501.05707 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2501.05707 +UR - https://arxiv.org/abs/2501.05707 +AB - Large language models (LLMs) have achieved remarkable performance in recent years but are fundamentally limited by the underlying training data. To improve models beyond the training data, recent works have explored how LLMs can be used to generate synthetic data for autonomous self-improvement. However, successive steps of self-improvement can reach a point of diminishing returns. In this work, we propose a complementary approach towards self-improvement where finetuning is applied to a multiagent society of language models. A group of language models, all starting from the same base model, are independently specialized by updating each one using data generated through multiagent interactions among the models. By training each model on independent sets of data, we illustrate how this approach enables specialization across models and diversification over the set of models. As a result, our overall system is able to preserve diverse reasoning chains and autonomously improve over many more rounds of fine-tuning than single-agent self-improvement methods. We quantitatively illustrate the efficacy of the approach across a wide suite of reasoning tasks. +N1 - Manuscript reference 10 +ER - +TY - JOUR +AU - Nvidia +AU - : +AU - Adler, Bo +AU - Agarwal, Niket +AU - Aithal, Ashwath +AU - Anh, Dong H. +AU - Bhattacharya, Pallab +AU - Brundyn, Annika +AU - Casper, Jared +AU - Catanzaro, Bryan +AU - Clay, Sharon +AU - Cohen, Jonathan +AU - Das, Sirshak +AU - Dattagupta, Ayush +AU - Delalleau, Olivier +AU - Derczynski, Leon +AU - Dong, Yi +AU - Egert, Daniel +AU - Evans, Ellie +AU - Ficek, Aleksander +AU - Fridman, Denys +AU - Ghosh, Shaona +AU - Ginsburg, Boris +AU - Gitman, Igor +AU - Grzegorzek, Tomasz +AU - Hero, Robert +AU - Huang, Jining +AU - Jawa, Vibhu +AU - Jennings, Joseph +AU - Jhunjhunwala, Aastha +AU - Kamalu, John +AU - Khan, Sadaf +AU - Kuchaiev, Oleksii +AU - LeGresley, Patrick +AU - Li, Hui +AU - Liu, Jiwei +AU - Liu, Zihan +AU - Long, Eileen +AU - Mahabaleshwarkar, Ameya Sunil +AU - Majumdar, Somshubra +AU - Maki, James +AU - Martinez, Miguel +AU - de Melo, Maer Rodrigues +AU - Moshkov, Ivan +AU - Narayanan, Deepak +AU - Narenthiran, Sean +AU - Navarro, Jesus +AU - Nguyen, Phong +AU - Nitski, Osvald +AU - Noroozi, Vahid +AU - Nutheti, Guruprasad +AU - Parisien, Christopher +AU - Parmar, Jupinder +AU - Patwary, Mostofa +AU - Pawelec, Krzysztof +AU - Ping, Wei +AU - Prabhumoye, Shrimai +AU - Roy, Rajarshi +AU - Saar, Trisha +AU - Sabavat, Vasanth Rao Naik +AU - Satheesh, Sanjeev +AU - Scowcroft, Jane Polak +AU - Sewall, Jason +AU - Shamis, Pavel +AU - Shen, Gerald +AU - Shoeybi, Mohammad +AU - Sizer, Dave +AU - Smelyanskiy, Misha +AU - Soares, Felipe +AU - Sreedhar, Makesh Narsimhan +AU - Su, Dan +AU - Subramanian, Sandeep +AU - Sun, Shengyang +AU - Toshniwal, Shubham +AU - Wang, Hao +AU - Wang, Zhilin +AU - You, Jiaxuan +AU - Zeng, Jiaqi +AU - Zhang, Jimmy +AU - Zhang, Jing +AU - Zhang, Vivienne +AU - Zhang, Yian +AU - Zhu, Chen +TI - Nemotron-4 340B Technical Report +T2 - arXiv +AN - arXiv:2406.11704 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2406.11704 +UR - https://arxiv.org/abs/2406.11704 +AB - We release the Nemotron-4 340B model family, including Nemotron-4-340B-Base, Nemotron-4-340B-Instruct, and Nemotron-4-340B-Reward. Our models are open access under the NVIDIA Open Model License Agreement, a permissive model license that allows distribution, modification, and use of the models and its outputs. These models perform competitively to open access models on a wide range of evaluation benchmarks, and were sized to fit on a single DGX H100 with 8 GPUs when deployed in FP8 precision. We believe that the community can benefit from these models in various research studies and commercial applications, especially for generating synthetic data to train smaller language models. Notably, over 98% of data used in our model alignment process is synthetically generated, showcasing the effectiveness of these models in generating synthetic data. To further support open research and facilitate model development, we are also open-sourcing the synthetic data generation pipeline used in our model alignment process. +N1 - Manuscript reference 11 +ER - +TY - JOUR +AU - Abdin, Marah +AU - Aneja, Jyoti +AU - Behl, Harkirat +AU - Bubeck, Sébastien +AU - Eldan, Ronen +AU - Gunasekar, Suriya +AU - Harrison, Michael +AU - Hewett, Russell J. +AU - Javaheripi, Mojan +AU - Kauffmann, Piero +AU - Lee, James R. +AU - Lee, Yin Tat +AU - Li, Yuanzhi +AU - Liu, Weishung +AU - Mendes, Caio C. T. +AU - Nguyen, Anh +AU - Price, Eric +AU - de Rosa, Gustavo +AU - Saarikivi, Olli +AU - Salim, Adil +AU - Shah, Shital +AU - Wang, Xin +AU - Ward, Rachel +AU - Wu, Yue +AU - Yu, Dingli +AU - Zhang, Cyril +AU - Zhang, Yi +TI - Phi-4 Technical Report +T2 - arXiv +AN - arXiv:2412.08905 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2412.08905 +UR - https://arxiv.org/abs/2412.08905 +AB - We present phi-4, a 14-billion parameter language model developed with a training recipe that is centrally focused on data quality. Unlike most language models, where pre-training is based primarily on organic data sources such as web content or code, phi-4 strategically incorporates synthetic data throughout the training process. While previous models in the Phi family largely distill the capabilities of a teacher model (specifically GPT-4), phi-4 substantially surpasses its teacher model on STEM-focused QA capabilities, giving evidence that our data-generation and post-training techniques go beyond distillation. Despite minimal changes to the phi-3 architecture, phi-4 achieves strong performance relative to its size -- especially on reasoning-focused benchmarks -- due to improved data, training curriculum, and innovations in the post-training scheme. +N1 - Manuscript reference 12 +ER - +TY - JOUR +AU - Wang, Yizhong +AU - Kordi, Yeganeh +AU - Mishra, Swaroop +AU - Liu, Alisa +AU - Smith, Noah A. +AU - Khashabi, Daniel +AU - Hajishirzi, Hannaneh +TI - Self-Instruct: Aligning Language Models with Self-Generated Instructions +T2 - arXiv +AN - arXiv:2212.10560 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2212.10560 +UR - https://arxiv.org/abs/2212.10560 +AB - Large "instruction-tuned" language models (i.e., finetuned to respond to instructions) have demonstrated a remarkable ability to generalize zero-shot to new tasks. Nevertheless, they depend heavily on human-written instruction data that is often limited in quantity, diversity, and creativity, therefore hindering the generality of the tuned model. We introduce Self-Instruct, a framework for improving the instruction-following capabilities of pretrained language models by bootstrapping off their own generations. Our pipeline generates instructions, input, and output samples from a language model, then filters invalid or similar ones before using them to finetune the original model. Applying our method to the vanilla GPT3, we demonstrate a 33% absolute improvement over the original model on Super-NaturalInstructions, on par with the performance of InstructGPT-001, which was trained with private user data and human annotations. For further evaluation, we curate a set of expert-written instructions for novel tasks, and show through human evaluation that tuning GPT3 with Self-Instruct outperforms using existing public instruction datasets by a large margin, leaving only a 5% absolute gap behind InstructGPT-001. Self-Instruct provides an almost annotation-free method for aligning pre-trained language models with instructions, and we release our large synthetic dataset to facilitate future studies on instruction tuning. Our code and data are available at https://github.com/yizhongw/self-instruct. +N1 - Manuscript reference 13 +ER - +TY - JOUR +AU - Thompson, Brian +AU - Dhaliwal, Mehak Preet +AU - Frisch, Peter +AU - Domhan, Tobias +AU - Federico, Marcello +TI - A Shocking Amount of the Web is Machine Translated: Insights from Multi-Way Parallelism +T2 - arXiv +AN - arXiv:2401.05749 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2401.05749 +UR - https://arxiv.org/abs/2401.05749 +AB - We show that content on the web is often translated into many languages, and the low quality of these multi-way translations indicates they were likely created using Machine Translation (MT). Multi-way parallel, machine generated content not only dominates the translations in lower resource languages; it also constitutes a large fraction of the total web content in those languages. We also find evidence of a selection bias in the type of content which is translated into many languages, consistent with low quality English content being translated en masse into many lower resource languages, via MT. Our work raises serious concerns about training models such as multilingual large language models on both monolingual and bilingual data scraped from the web. +N1 - Manuscript reference 14 +ER - +TY - JOUR +AU - Liang, Weixin +AU - Izzo, Zachary +AU - Zhang, Yaohui +AU - Lepp, Haley +AU - Cao, Hancheng +AU - Zhao, Xuandong +AU - Chen, Lingjiao +AU - Ye, Haotian +AU - Liu, Sheng +AU - Huang, Zhi +AU - McFarland, Daniel A. +AU - Zou, James Y. +TI - Monitoring AI-Modified Content at Scale: A Case Study on the Impact of ChatGPT on AI Conference Peer Reviews +T2 - arXiv +AN - arXiv:2403.07183 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2403.07183 +UR - https://arxiv.org/abs/2403.07183 +AB - We present an approach for estimating the fraction of text in a large corpus which is likely to be substantially modified or produced by a large language model (LLM). Our maximum likelihood model leverages expert-written and AI-generated reference texts to accurately and efficiently examine real-world LLM-use at the corpus level. We apply this approach to a case study of scientific peer review in AI conferences that took place after the release of ChatGPT: ICLR 2024, NeurIPS 2023, CoRL 2023 and EMNLP 2023. Our results suggest that between 6.5% and 16.9% of text submitted as peer reviews to these conferences could have been substantially modified by LLMs, i.e. beyond spell-checking or minor writing updates. The circumstances in which generated text occurs offer insight into user behavior: the estimated fraction of LLM-generated text is higher in reviews which report lower confidence, were submitted close to the deadline, and from reviewers who are less likely to respond to author rebuttals. We also observe corpus-level trends in generated text which may be too subtle to detect at the individual level, and discuss the implications of such trends on peer review. We call for future interdisciplinary work to examine how LLM use is changing our information and knowledge practices. +N1 - Manuscript reference 15 +ER - +TY - JOUR +AU - Villalobos, Pablo +AU - Ho, Anson +AU - Sevilla, Jaime +AU - Besiroglu, Tamay +AU - Heim, Lennart +AU - Hobbhahn, Marius +TI - Will we run out of data? Limits of LLM scaling based on human-generated data +T2 - arXiv +AN - arXiv:2211.04325 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2211.04325 +UR - https://arxiv.org/abs/2211.04325 +AB - We investigate the potential constraints on LLM scaling posed by the availability of public human-generated text data. We forecast the growing demand for training data based on current trends and estimate the total stock of public human text data. Our findings indicate that if current LLM development trends continue, models will be trained on datasets roughly equal in size to the available stock of public human text data between 2026 and 2032, or slightly earlier if models are overtrained. We explore how progress in language modeling can continue when human-generated text datasets cannot be scaled any further. We argue that synthetic data generation, transfer learning from data-rich domains, and data efficiency improvements might support further progress. +N1 - Manuscript reference 16 +ER - +TY - JOUR +AU - Brinkmann, Levin +AU - Baumann, Fabian +AU - Bonnefon, Jean-François +AU - Derex, Maxime +AU - Müller, Thomas F. +AU - Nussberger, Anne-Marie +AU - Czaplicka, Agnieszka +AU - Acerbi, Alberto +AU - Griffiths, Thomas L. +AU - Henrich, Joseph +AU - Leibo, Joel Z. +AU - McElreath, Richard +AU - Oudeyer, Pierre-Yves +AU - Stray, Jonathan +AU - Rahwan, Iyad +TI - Machine culture +T2 - Nature Human Behaviour +PY - 2023 +VL - 7 +IS - 11 +PB - Springer Science and Business Media LLC +DO - 10.1038/s41562-023-01742-2 +UR - http://dx.doi.org/10.1038/s41562-023-01742-2 +SP - 1855 +EP - 1868 +N1 - Manuscript reference 17 +ER - +TY - JOUR +AU - Park, Joon Sung +AU - O'Brien, Joseph C. +AU - Cai, Carrie J. +AU - Morris, Meredith Ringel +AU - Liang, Percy +AU - Bernstein, Michael S. +TI - Generative Agents: Interactive Simulacra of Human Behavior +T2 - arXiv +AN - arXiv:2304.03442 +PY - 2023 +PB - arXiv +DO - 10.48550/arXiv.2304.03442 +UR - https://arxiv.org/abs/2304.03442 +AB - Believable proxies of human behavior can empower interactive applications ranging from immersive environments to rehearsal spaces for interpersonal communication to prototyping tools. In this paper, we introduce generative agents--computational software agents that simulate believable human behavior. Generative agents wake up, cook breakfast, and head to work; artists paint, while authors write; they form opinions, notice each other, and initiate conversations; they remember and reflect on days past as they plan the next day. To enable generative agents, we describe an architecture that extends a large language model to store a complete record of the agent's experiences using natural language, synthesize those memories over time into higher-level reflections, and retrieve them dynamically to plan behavior. We instantiate generative agents to populate an interactive sandbox environment inspired by The Sims, where end users can interact with a small town of twenty five agents using natural language. In an evaluation, these generative agents produce believable individual and emergent social behaviors: for example, starting with only a single user-specified notion that one agent wants to throw a Valentine's Day party, the agents autonomously spread invitations to the party over the next two days, make new acquaintances, ask each other out on dates to the party, and coordinate to show up for the party together at the right time. We demonstrate through ablation that the components of our agent architecture--observation, planning, and reflection--each contribute critically to the believability of agent behavior. By fusing large language models with computational, interactive agents, this work introduces architectural and interaction patterns for enabling believable simulations of human behavior. +N1 - Manuscript reference 18 +ER - +TY - JOUR +AU - Guo, Taicheng +AU - Chen, Xiuying +AU - Wang, Yaqi +AU - Chang, Ruidi +AU - Pei, Shichao +AU - Chawla, Nitesh V. +AU - Wiest, Olaf +AU - Zhang, Xiangliang +TI - Large Language Model based Multi-Agents: A Survey of Progress and Challenges +T2 - arXiv +AN - arXiv:2402.01680 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2402.01680 +UR - https://arxiv.org/abs/2402.01680 +AB - Large Language Models (LLMs) have achieved remarkable success across a wide array of tasks. Due to the impressive planning and reasoning abilities of LLMs, they have been used as autonomous agents to do many tasks automatically. Recently, based on the development of using one LLM as a single planning or decision-making agent, LLM-based multi-agent systems have achieved considerable progress in complex problem-solving and world simulation. To provide the community with an overview of this dynamic field, we present this survey to offer an in-depth discussion on the essential aspects of multi-agent systems based on LLMs, as well as the challenges. Our goal is for readers to gain substantial insights on the following questions: What domains and environments do LLM-based multi-agents simulate? How are these agents profiled and how do they communicate? What mechanisms contribute to the growth of agents' capacities? For those interested in delving into this field of study, we also summarize the commonly used datasets or benchmarks for them to have convenient access. To keep researchers updated on the latest studies, we maintain an open-source GitHub repository, dedicated to outlining the research on LLM-based multi-agent systems. +N1 - Manuscript reference 19 +ER - +TY - JOUR +AU - Tomasev, Nenad +AU - Franklin, Matija +AU - Leibo, Joel Z. +AU - Jacobs, Julian +AU - Cunningham, William A. +AU - Gabriel, Iason +AU - Osindero, Simon +TI - Virtual Agent Economies +T2 - arXiv +AN - arXiv:2509.10147 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2509.10147 +UR - https://arxiv.org/abs/2509.10147 +AB - The rapid adoption of autonomous AI agents is giving rise to a new economic layer where agents transact and coordinate at scales and speeds beyond direct human oversight. We propose the "sandbox economy" as a framework for analyzing this emergent system, characterizing it along two key dimensions: its origins (emergent vs. intentional) and its degree of separateness from the established human economy (permeable vs. impermeable). Our current trajectory points toward a spontaneous emergence of a vast and highly permeable AI agent economy, presenting us with opportunities for an unprecedented degree of coordination as well as significant challenges, including systemic economic risk and exacerbated inequality. Here we discuss a number of possible design choices that may lead to safely steerable AI agent markets. In particular, we consider auction mechanisms for fair resource allocation and preference resolution, the design of AI "mission economies" to coordinate around achieving collective goals, and socio-technical infrastructure needed to ensure trust, safety, and accountability. By doing this, we argue for the proactive design of steerable agent markets to ensure the coming technological shift aligns with humanity's long-term collective flourishing. +N1 - Manuscript reference 20 +ER - +TY - JOUR +AU - Shumailov, Ilia +AU - Shumaylov, Zakhar +AU - Zhao, Yiren +AU - Papernot, Nicolas +AU - Anderson, Ross +AU - Gal, Yarin +TI - AI models collapse when trained on recursively generated data +T2 - Nature +PY - 2024 +VL - 631 +IS - 8022 +PB - Springer Science and Business Media LLC +DO - 10.1038/s41586-024-07566-y +UR - http://dx.doi.org/10.1038/s41586-024-07566-y +AB - Abstract Stable diffusion revolutionized image creation from descriptive text. GPT-2 (ref. 1 ), GPT-3(.5) (ref. 2 ) and GPT-4 (ref. 3 ) demonstrated high performance across a variety of language tasks. ChatGPT introduced such language models to the public. It is now clear that generative artificial intelligence (AI) such as large language models (LLMs) is here to stay and will substantially change the ecosystem of online text and images. Here we consider what may happen to GPT-{ n } once LLMs contribute much of the text found online. We find that indiscriminate use of model-generated content in training causes irreversible defects in the resulting models, in which tails of the original content distribution disappear. We refer to this effect as ‘model collapse’ and show that it can occur in LLMs as well as in variational autoencoders (VAEs) and Gaussian mixture models (GMMs). We build theoretical intuition behind the phenomenon and portray its ubiquity among all learned generative models. We demonstrate that it must be taken seriously if we are to sustain the benefits of training from large-scale data scraped from the web. Indeed, the value of data collected about genuine human interactions with systems will be increasingly valuable in the presence of LLM-generated content in data crawled from the Internet. +SP - 755 +EP - 759 +N1 - Manuscript reference 21 +ER - +TY - JOUR +AU - Crutchfield, James P. +AU - Whalen, Sean +TI - Structural Drift: The Population Dynamics of Sequential Learning +T2 - PLoS Computational Biology +A2 - Bergstrom, Carl T. +PY - 2012 +VL - 8 +IS - 6 +PB - Public Library of Science (PLoS) +DO - 10.1371/journal.pcbi.1002510 +UR - http://dx.doi.org/10.1371/journal.pcbi.1002510 +SP - e1002510 +N1 - Manuscript reference 22 +ER - +TY - JOUR +AU - Riis, Søren +TI - Drift and selection in LLM text ecosystems +T2 - arXiv +AN - arXiv:2604.08554 +PY - 2026 +PB - arXiv +DO - 10.48550/arXiv.2604.08554 +UR - https://arxiv.org/abs/2604.08554 +AB - The public text record -- the material from which both people and AI systems now learn -- is increasingly shaped by its own outputs. Generated text enters the public record, later agents learn from it, and the cycle repeats. Here we develop an exactly solvable mathematical framework for this recursive process, based on variable-order $n$-gram agents, and separate two forces acting on the public corpus. The first is drift: unfiltered reuse progressively removes rare forms, and in the infinite-corpus limit we characterise the stable distributions exactly. The second is selection: publication, ranking and verification filter what enters the record, and the outcome depends on what is selected. When publication merely reflects the statistical status quo, the corpus converges to a shallow state in which further lookahead brings no benefit. When publication is normative -- rewarding quality, correctness or novelty -- deeper structure persists, and we establish an optimal upper bound on the resulting divergence from shallow equilibria. The framework therefore identifies when recursive publication compresses public text and when selective filtering sustains richer structure, with implications for the design of AI training corpora. +N1 - Manuscript reference 23 +ER - +TY - JOUR +AU - Benati, Matteo +AU - Londei, Alessandro +AU - Lanzieri, Denise +AU - Loreto, Vittorio +TI - First-Extinction Law for Resampling Processes +T2 - arXiv +AN - arXiv:2509.20101 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2509.20101 +UR - https://arxiv.org/abs/2509.20101 +AB - Extinction times in resampling processes are fundamental yet often intractable, as previous formulas scale as $2^M$ with the number of states $M$ present in the initial probability distribution. We solve this by treating multinomial updates as independent square-root diffusions of zero drift, yielding a closed-form law for the first-extinction time. We prove that the mean coincides exactly with the Wright-Fisher result of Baxter et al., thereby replacing exponential-cost evaluations with a linear-cost expression, and we validate this result through extensive simulations. Finally, we demonstrate predictive power for model collapse in a simple self-training setup: the onset of collapse coincides with the resampling-driven first-extinction time computed from the model's initial stationary distribution. These results hint to a unified view of resampling extinction dynamics. +N1 - Manuscript reference 24 +ER - +TY - JOUR +AU - Yoon, Youngseok +AU - Hu, Dainong +AU - Weissburg, Iain +AU - Qin, Yao +AU - Jeong, Haewon +TI - Model Collapse in the Self-Consuming Chain of Diffusion Finetuning: A Novel Perspective from Quantitative Trait Modeling +T2 - arXiv +AN - arXiv:2407.17493 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2407.17493 +UR - https://arxiv.org/abs/2407.17493 +AB - Model collapse, the severe degradation of generative models when iteratively trained on their own outputs, has gained significant attention in recent years. This paper examines Chain of Diffusion, where a pretrained text-to-image diffusion model is finetuned on its own generated images. We demonstrate that severe image quality degradation was universal and identify CFG scale as the key factor impacting this model collapse. Drawing on an analogy between the Chain of Diffusion and biological evolution, we then introduce a novel theoretical analysis based on quantitative trait modeling from statistical genetics. Our theoretical analysis aligns with empirical observations of the generated images in the Chain of Diffusion. Finally, we propose Reusable Diffusion Finetuning (ReDiFine), a simple yet effective strategy inspired by genetic mutations. It operates robustly across various scenarios without requiring any hyperparameter tuning, making it a plug-and-play solution for reusable image generation. +N1 - Manuscript reference 25 +ER - +TY - CHAP +AU - McCloskey, Michael +AU - Cohen, Neal J. +TI - Catastrophic Interference in Connectionist Networks: The Sequential Learning Problem +BT - Psychology of Learning and Motivation +PY - 1989 +PB - Elsevier +DO - 10.1016/s0079-7421(08)60536-8 +UR - http://dx.doi.org/10.1016/s0079-7421(08)60536-8 +SP - 109 +EP - 165 +N1 - Manuscript reference 26 +ER - +TY - JOUR +AU - French, R +TI - Catastrophic forgetting in connectionist networks +T2 - Trends in Cognitive Sciences +PY - 1999 +VL - 3 +IS - 4 +PB - Elsevier BV +DO - 10.1016/s1364-6613(99)01294-2 +UR - http://dx.doi.org/10.1016/s1364-6613(99)01294-2 +SP - 128 +EP - 135 +N1 - Manuscript reference 27 +ER - +TY - JOUR +AU - Muller, H.J. +TI - The relation of recombination to mutational advance +T2 - Mutation Research +PY - 1964 +VL - 1 +IS - 1 +PB - Elsevier BV +DO - 10.1016/0027-5107(64)90047-8 +UR - http://dx.doi.org/10.1016/0027-5107(64)90047-8 +SP - 2 +EP - 9 +N1 - Manuscript reference 28 +ER - +TY - JOUR +AU - Yi, Bingji +AU - Liu, Qiyuan +AU - Cheng, Yuwei +AU - Xu, Haifeng +TI - Escaping Model Collapse via Synthetic Data Verification: Near-term Improvements and Long-term Convergence +T2 - arXiv +AN - arXiv:2510.16657 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2510.16657 +UR - https://arxiv.org/abs/2510.16657 +AB - Synthetic data has been increasingly used to train frontier generative models. However, recent studies raise key concerns that iteratively retraining a generative model on its self-generated synthetic data may keep deteriorating model performance, a phenomenon often coined model collapse. In this paper, we investigate ways to modify the synthetic retraining process to avoid model collapse, and even possibly help reverse the trend from collapse to improvement. Our key finding is that by injecting information through an external synthetic data verifier, whether a human or a better model, synthetic retraining will not cause model collapse. Specifically, we situate our theoretical analysis in the fundamental linear regression setting, showing that verifier-guided retraining can yield near-term improvements, but ultimately drives the parameter estimate to the verifier's "knowledge center" in the long run. Our theory further predicts that, unless the verifier is perfectly reliable, these early gains will plateau and may even reverse. Indeed, our experiments across linear regression, Variational Autoencoders (VAEs) trained on MNIST, and fining-tuning SmolLM2-135M on the XSUM task confirm these theoretical insights. +N1 - Manuscript reference 29 +ER - +TY - JOUR +AU - Gerstgrasser, Matthias +AU - Schaeffer, Rylan +AU - Dey, Apratim +AU - Rafailov, Rafael +AU - Sleight, Henry +AU - Hughes, John +AU - Korbak, Tomasz +AU - Agrawal, Rajashree +AU - Pai, Dhruv +AU - Gromov, Andrey +AU - Roberts, Daniel A. +AU - Yang, Diyi +AU - Donoho, David L. +AU - Koyejo, Sanmi +TI - Is Model Collapse Inevitable? Breaking the Curse of Recursion by Accumulating Real and Synthetic Data +T2 - arXiv +AN - arXiv:2404.01413 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2404.01413 +UR - https://arxiv.org/abs/2404.01413 +AB - The proliferation of generative models, combined with pretraining on web-scale data, raises a timely question: what happens when these models are trained on their own generated outputs? Recent investigations into model-data feedback loops proposed that such loops would lead to a phenomenon termed model collapse, under which performance progressively degrades with each model-data feedback iteration until fitted models become useless. However, those studies largely assumed that new data replace old data over time, where an arguably more realistic assumption is that data accumulate over time. In this paper, we ask: what effect does accumulating data have on model collapse? We empirically study this question by pretraining sequences of language models on text corpora. We confirm that replacing the original real data by each generation's synthetic data does indeed tend towards model collapse, then demonstrate that accumulating the successive generations of synthetic data alongside the original real data avoids model collapse; these results hold across a range of model sizes, architectures, and hyperparameters. We obtain similar results for deep generative models on other types of real data: diffusion models for molecule conformation generation and variational autoencoders for image generation. To understand why accumulating data can avoid model collapse, we use an analytically tractable framework introduced by prior work in which a sequence of linear models are fit to the previous models' outputs. Previous work used this framework to show that if data are replaced, the test error increases with the number of model-fitting iterations; we extend this argument to prove that if data instead accumulate, the test error has a finite upper bound independent of the number of iterations, meaning model collapse no longer occurs. +N1 - Manuscript reference 30 +ER - +TY - JOUR +AU - Wright, Sewall +TI - EVOLUTION IN MENDELIAN POPULATIONS +T2 - Genetics +PY - 1931 +VL - 16 +IS - 2 +PB - Oxford University Press (OUP) +DO - 10.1093/genetics/16.2.97 +UR - http://dx.doi.org/10.1093/genetics/16.2.97 +SP - 97 +EP - 159 +N1 - Manuscript reference 31 +ER - +TY - JOUR +AU - Mills, L. Scott +AU - Allendorf, Fred W. +TI - The One‐Migrant‐per‐Generation Rule in Conservation and Management +T2 - Conservation Biology +PY - 1996 +VL - 10 +IS - 6 +PB - Wiley +DO - 10.1046/j.1523-1739.1996.10061509.x +UR - http://dx.doi.org/10.1046/j.1523-1739.1996.10061509.x +AB - In the face of continuing habitat fragmentation and isolation, the optimal level of connectivity between populations has become a central issue in conservation biology. A common rule of thumb holds that one migrant per generation into a subpopulation is sufficient to minimize the loss of polymorphism and heterozygosity within subpopulations while allowing for divergence in allele frequencies among subpopulations. The one‐migrant‐per‐generation rule is based on numerous simplifying assumptions that may not hold in natural populations. We examine the conceptual and theoretical basis of the rule and consider both genetic and nongenetic factors that influence the desired level of connectivity among subpopulations. We conclude that one migrant per generation is a desirable minimum, but it may be inadequate for many natural populations. We suggest that a minimum of 1 and a maximum of 10 migrants per generation would be an appropriate general rule of thumb for genetic purposes, bearing in mind that factors other than genetics may further influence the ideal level of connectivity. +SP - 1509 +EP - 1518 +N1 - Manuscript reference 32 +ER - +TY - JOUR +AU - Jenkin, Fleeming +TI - [Review of] The Origin of Species +T2 - The North British Review +PY - 1867 +VL - 46 +SP - 277 +EP - 318 +N1 - Manuscript reference 33; predates DOIs +ER - +TY - JOUR +AU - Pari, Jyothish +AU - Jelassi, Samy +AU - Agrawal, Pulkit +TI - Collective Model Intelligence Requires Compatible Specialization +T2 - arXiv +AN - arXiv:2411.02207 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2411.02207 +UR - https://arxiv.org/abs/2411.02207 +AB - In this work, we explore the limitations of combining models by averaging intermediate features, referred to as model merging, and propose a new direction for achieving collective model intelligence through what we call compatible specialization. Current methods for model merging, such as parameter and feature averaging, struggle to effectively combine specialized models due to representational divergence during fine-tuning. As models specialize to their individual domains, their internal feature representations become increasingly incompatible, leading to poor performance when attempting to merge them for new tasks. We analyze this phenomenon using centered kernel alignment (CKA) and show that as models specialize, the similarity in their feature space structure diminishes, hindering their capacity for collective use. To address these challenges, we investigate routing-based merging strategies, which offer more flexible methods for combining specialized models by dynamically routing across different layers. This allows us to improve on existing methods by combining features from multiple layers rather than relying on fixed, layer-wise combinations. However, we find that these approaches still face limitations when layers within models are representationally incompatible. Our findings highlight the importance of designing new approaches for model merging that operate on well-defined input and output spaces, similar to how humans communicate through language rather than intermediate neural activations. +N1 - Manuscript reference 34 +ER - +TY - BOOK +AU - Fisher, Ronald A. +TI - The Genetical Theory of Natural Selection +CY - Oxford +PY - 1930 +PB - Clarendon Press +N1 - Manuscript reference 35; predates DOIs +ER - +TY - JOUR +AU - Muller, H. J. +TI - Some Genetic Aspects of Sex +T2 - The American Naturalist +PY - 1932 +VL - 66 +IS - 703 +PB - University of Chicago Press +DO - 10.1086/280418 +UR - http://dx.doi.org/10.1086/280418 +SP - 118 +EP - 138 +N1 - Manuscript reference 36 +ER - +TY - JOUR +AU - Hu, Edward J. +AU - Shen, Yelong +AU - Wallis, Phillip +AU - Allen-Zhu, Zeyuan +AU - Li, Yuanzhi +AU - Wang, Shean +AU - Wang, Lu +AU - Chen, Weizhu +TI - LoRA: Low-Rank Adaptation of Large Language Models +T2 - arXiv +AN - arXiv:2106.09685 +PY - 2021 +PB - arXiv +DO - 10.48550/arXiv.2106.09685 +UR - https://arxiv.org/abs/2106.09685 +AB - An important paradigm of natural language processing consists of large-scale pre-training on general domain data and adaptation to particular tasks or domains. As we pre-train larger models, full fine-tuning, which retrains all model parameters, becomes less feasible. Using GPT-3 175B as an example -- deploying independent instances of fine-tuned models, each with 175B parameters, is prohibitively expensive. We propose Low-Rank Adaptation, or LoRA, which freezes the pre-trained model weights and injects trainable rank decomposition matrices into each layer of the Transformer architecture, greatly reducing the number of trainable parameters for downstream tasks. Compared to GPT-3 175B fine-tuned with Adam, LoRA can reduce the number of trainable parameters by 10,000 times and the GPU memory requirement by 3 times. LoRA performs on-par or better than fine-tuning in model quality on RoBERTa, DeBERTa, GPT-2, and GPT-3, despite having fewer trainable parameters, a higher training throughput, and, unlike adapters, no additional inference latency. We also provide an empirical investigation into rank-deficiency in language model adaptation, which sheds light on the efficacy of LoRA. We release a package that facilitates the integration of LoRA with PyTorch models and provide our implementations and model checkpoints for RoBERTa, DeBERTa, and GPT-2 at https://github.com/microsoft/LoRA. +N1 - Manuscript reference 37 +ER - +TY - JOUR +AU - Kauffman, Stuart +AU - Levin, Simon +TI - Towards a general theory of adaptive walks on rugged landscapes +T2 - Journal of Theoretical Biology +PY - 1987 +VL - 128 +IS - 1 +PB - Elsevier BV +DO - 10.1016/s0022-5193(87)80029-2 +UR - http://dx.doi.org/10.1016/s0022-5193(87)80029-2 +SP - 11 +EP - 45 +N1 - Manuscript reference 38 +ER - +TY - CHAP +AU - Templeton, Alan R. +TI - Coadaptation and outbreeding depression +BT - Conservation Biology: The Science of Scarcity and Diversity +A2 - Soulé, Michael E. +CY - Sunderland, MA +PY - 1986 +PB - Sinauer Associates +SP - 105 +EP - 116 +N1 - Manuscript reference 39; predates DOIs +ER - +TY - JOUR +AU - Lehman, Joel +AU - Stanley, Kenneth O. +TI - Abandoning Objectives: Evolution Through the Search for Novelty Alone +T2 - Evolutionary Computation +PY - 2011 +VL - 19 +IS - 2 +PB - MIT Press - Journals +DO - 10.1162/evco_a_00025 +UR - http://dx.doi.org/10.1162/evco_a_00025 +AB - In evolutionary computation, the fitness function normally measures progress toward an objective in the search space, effectively acting as an objective function. Through deception, such objective functions may actually prevent the objective from being reached. While methods exist to mitigate deception, they leave the underlying pathology untreated: Objective functions themselves may actively misdirect search toward dead ends. This paper proposes an approach to circumventing deception that also yields a new perspective on open-ended evolution. Instead of either explicitly seeking an objective or modeling natural evolution to capture open-endedness, the idea is to simply search for behavioral novelty. Even in an objective-based problem, such novelty search ignores the objective. Because many points in the search space collapse to a single behavior, the search for novelty is often feasible. Furthermore, because there are only so many simple behaviors, the search for novelty leads to increasing complexity. By decoupling open-ended search from artificial life worlds, the search for novelty is applicable to real world problems. Counterintuitively, in the maze navigation and biped walking tasks in this paper, novelty search significantly outperforms objective-based search, suggesting the strange conclusion that some problems are best solved by methods that ignore the objective. The main lesson is the inherent limitation of the objective-based paradigm and the unexploited opportunity to guide search through other means. +SP - 189 +EP - 223 +N1 - Manuscript reference 40 +ER - +TY - JOUR +AU - Thede, Lukas +AU - Roth, Karsten +AU - Bethge, Matthias +AU - Akata, Zeynep +AU - Hartvigsen, Tom +TI - WikiBigEdit: Understanding the Limits of Lifelong Knowledge Editing in LLMs +T2 - arXiv +AN - arXiv:2503.05683 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2503.05683 +UR - https://arxiv.org/abs/2503.05683 +AB - Keeping large language models factually up-to-date is crucial for deployment, yet costly retraining remains a challenge. Knowledge editing offers a promising alternative, but methods are only tested on small-scale or synthetic edit benchmarks. In this work, we aim to bridge research into lifelong knowledge editing to real-world edits at a practically relevant scale. We first introduce WikiBigEdit; a large-scale benchmark of real-world Wikidata edits, built to automatically extend lifelong for future-proof benchmarking. In its first instance, it includes over 500K question-answer pairs for knowledge editing alongside a comprehensive evaluation pipeline. Finally, we use WikiBigEdit to study existing knowledge editing techniques' ability to incorporate large volumes of real-world facts and contrast their capabilities to generic modification techniques such as retrieval augmentation and continual finetuning to acquire a complete picture of the practical extent of current lifelong knowledge editing. +N1 - Manuscript reference 41 +ER - +TY - JOUR +AU - Clemente, Simone +AU - Houidi, Zied Ben +AU - Huet, Alexis +AU - Rossi, Dario +AU - Franzese, Giulio +AU - Michiardi, Pietro +TI - In Praise of Stubbornness: An Empirical Case for Cognitive-Dissonance Aware Continual Update of Knowledge in LLMs +T2 - arXiv +AN - arXiv:2502.04390 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2502.04390 +UR - https://arxiv.org/abs/2502.04390 +AB - Through systematic empirical investigation, we uncover a fundamental and concerning property of Large Language Models: while they can safely learn facts that don't contradict their knowledge, attempting to update facts with contradictory information triggers catastrophic corruption of unrelated knowledge. Unlike humans, who naturally resist contradictory information, these models indiscriminately accept contradictions, leading to devastating interference, destroying up to 80% of unrelated knowledge even when learning as few as 10-100 contradicting facts. To understand whether this interference could be mitigated through selective plasticity, we experiment with targeted network updates, distinguishing between previously used (stubborn) and rarely used (plastic) neurons. We uncover another asymmetry: while sparing frequently-used neurons significantly improves retention of existing knowledge for non-contradictory updates (98% vs 93% with standard updates), contradictory updates trigger catastrophic interference regardless of targeting strategy. This effect which persists across tested model scales (GPT-2 to GPT-J-6B), suggests a fundamental limitation in how neural networks handle contradictions. Finally, we demonstrate that contradictory information can be reliably detected (95%+ accuracy) using simple model features, offering a potential protective mechanism. These findings motivate new architectures that can, like humans, naturally resist contradictions rather than allowing destructive overwrites. +N1 - Manuscript reference 42 +ER - +TY - JOUR +AU - Störk, Julius +TI - Interference and Retention in Continual Learning +T2 - arXiv +AN - arXiv:2607.09202 +PY - 2026 +PB - arXiv +DO - 10.48550/arXiv.2607.09202 +UR - https://arxiv.org/abs/2607.09202 +AB - Continual learning commonly relies on post-hoc mechanisms such as replay, elastic regularization, or distillation. This work argues that forgetting should instead be modeled directly as interference between tasks. In the frozen-feature regime, forgetting from learning a new task is exactly the interference energy induced on the old task. In deep networks, the same quantity is recovered through path-averaged curvature with minimal additional forward passes. When task supports are disjoint, forgetting can be eliminated structurally and when task supports overlap in conflicting directions, a non-zero distortion floor is unavoidable. The same geometry optimally merges models through task-aware orthogonalization. From this analysis we derive Interference-Gated Functional Allocation (IGFA), a replay-free, Fisher-free method that shares directions when tasks align and protects them when they conflict. Across benchmarks, IGFA achieves lossless retention when tasks are structurally separable and moves unavoidable cost from irreversible forgetting into deferred but recoverable plasticity when they are not. It matches the strongest replay-free structural baselines on dissimilar-task streams and improves on unconditional projection when similarity makes transfer worth preserving. +N1 - Manuscript reference 43 +ER - +TY - JOUR +AU - Barton, N. H. +TI - A general model for the evolution of recombination +T2 - Genetical Research +PY - 1995 +VL - 65 +IS - 2 +PB - Wiley +DO - 10.1017/s0016672300033140 +UR - http://dx.doi.org/10.1017/s0016672300033140 +AB - Summary A general representation of multilocus selection is extended to allow recombination to depend on genotype. The equations simplify if modifier alleles have small effects on recombination. The evolution of such modifiers only depends on how they alter recombination between the selected loci, and does not involve dominance in modifier effects. The net selection on modifiers can be found explicitly if epistasis is weak relative to recombination. This analysis shows that recombination can be favoured in two ways: because it impedes the response to epistasis which fluctuates in sign, or because it facilitates the response to directional selection. The first mechanism is implausible, because epistasis must change sign over periods of a few generations: faster or slower fluctuations favour reduced recombination. The second mechanism requires weak negative epistasis between favourable alleles, which may either be increasing, or held in check by mutation. The selection ( s i ) on recombination modifiers depends on the reduction in additive variance of log (fitness) due to linkage disequilibria (υ 1 < 0), and on non-additive variance in log (fitness) ( V ′ 2 , V ′ 3 ,.. epistasis between 2, 3.. loci). For unlinked loci and pairwise epistasis, s i = − (υ 1 + 4 V 2 /3)δ r , where δ r is the average increase in recombination caused by the modifier. The approximations are checked against exact calculations for three loci, and against Charlesworth's analyses of mutation/selection balance (1990), and directional selection (1993). The analysis demonstrates a general relation between selection on recombination and observable components of fitness variation, which is open to experimental test. +SP - 123 +EP - 144 +N1 - Manuscript reference 44 +ER - +TY - JOUR +AU - Otto, Sarah Perin +AU - Feldman, Marcus W. +TI - Deleterious Mutations, Variable Epistatic Interactions, and the Evolution of Recombination +T2 - Theoretical Population Biology +PY - 1997 +VL - 51 +IS - 2 +PB - Elsevier BV +DO - 10.1006/tpbi.1997.1301 +UR - http://dx.doi.org/10.1006/tpbi.1997.1301 +SP - 134 +EP - 147 +N1 - Manuscript reference 45 +ER - +TY - JOUR +AU - Otto, Sarah P. +AU - Lenormand, Thomas +TI - Resolving the paradox of sex and recombination +T2 - Nature Reviews Genetics +PY - 2002 +VL - 3 +IS - 4 +PB - Springer Science and Business Media LLC +DO - 10.1038/nrg761 +UR - http://dx.doi.org/10.1038/nrg761 +SP - 252 +EP - 261 +N1 - Manuscript reference 46 +ER - +TY - JOUR +AU - Altenberg, Lee +AU - Feldman, Marcus W +TI - Selection, Generalized Transmission and the Evolution of Modifier Genes. I. The Reduction Principle +T2 - Genetics +PY - 1987 +VL - 117 +IS - 3 +PB - Oxford University Press (OUP) +DO - 10.1093/genetics/117.3.559 +UR - http://dx.doi.org/10.1093/genetics/117.3.559 +AB - ABSTRACT Modifier gene models are used to explore the evolution of features of organisms, such as the genetic system, that are not directly involved in the determination of fitness. Recent work has shown that a general "reduction principle" holds in models of selectively neutral modifiers of recombination, mutation, and migration. Here we present a framework for models of modifier genes that shows these reduction results to be part of a more general theory, for which recombination and mutation are special cases.—The deterministic forces that affect the genetic composition of a population can be partitioned into two categories: selection and transmission. Selection includes differential viabilities, fertilities, and mating success. Imperfect transmission occurs as a result of such phenomena as recombination, mutation and migration, meiosis, gene conversion, and meiotic drive. Selectively neutral modifier genes affect transmission, and a neutral modifier gene can evolve only by generating association with selected genes whose transmission it affects.–We show that, in randomly mating populations at equilibrium, imperfect transmission of selected genes allows a variance in their marginal fitnesses to be maintained. This variance in the marginal fitnesses of selected genes is what drives the evolution of neutral modifier genes. Populations with a variance in marginal fitnesses at equilibrium are always subject to invasion by modifier genes that bring about perfect transmission of the selected genes. It is also found, within certain constraints, that for modifier genes producing what we call "linear variation" in the transmission processes, a new modifier allele can invade a population at equilibrium if it reduces the level of imperfect transmission acting on the selected genes, and will be expelled if it increases the level of imperfect transmission. Moreover, the strength of the induced selection on the modifier gene is shown to range up to the order of the departure of the genetic system from perfect transmission. +SP - 559 +EP - 572 +N1 - Manuscript reference 47 +ER - +TY - JOUR +AU - Orr, H A +TI - The population genetics of speciation: the evolution of hybrid incompatibilities. +T2 - Genetics +PY - 1995 +VL - 139 +IS - 4 +PB - Oxford University Press (OUP) +DO - 10.1093/genetics/139.4.1805 +UR - http://dx.doi.org/10.1093/genetics/139.4.1805 +AB - Abstract Speciation often results from the accumulation of "complementary genes," i.e., from genes that, while having no deleterious effect within species, cause inviability or sterility when brought together with genes from another species. Here I model speciation as the accumulation of genic incompatibilities between diverging populations. Several results are obtained. First, and most important, the number of genic incompatibilities between taxa increases much faster than linearly with time. In particular, the probability of speciation increases at least as fast as the square of the time since separation between two taxa. Second, as Muller realized, all hybrid incompatibilities must initially be asymmetric. Third, at loci that have diverged between taxa, evolutionarily derived alleles cause hybrid problems far more often than ancestral alleles. Last, it is "easier" to evolve complex hybrid incompatibilities requiring the simultaneous action of three or more loci than to evolve simple incompatibilities between pairs of genes. These results have several important implications for genetic analyses of speciation. +SP - 1805 +EP - 1813 +N1 - Manuscript reference 48 +ER - +TY - JOUR +AU - Orr, H. Allen +AU - Turelli, Michael +TI - THE EVOLUTION OF POSTZYGOTIC ISOLATION: ACCUMULATING DOBZHANSKY-MULLER INCOMPATIBILITIES +T2 - Evolution +PY - 2001 +VL - 55 +IS - 6 +PB - Oxford University Press (OUP) +DO - 10.1111/j.0014-3820.2001.tb00628.x +UR - http://dx.doi.org/10.1111/j.0014-3820.2001.tb00628.x +SP - 1085 +EP - 1094 +N1 - Manuscript reference 49 +ER - +TY - JOUR +AU - Ainsworth, Samuel K. +AU - Hayase, Jonathan +AU - Srinivasa, Siddhartha +TI - Git Re-Basin: Merging Models modulo Permutation Symmetries +T2 - arXiv +AN - arXiv:2209.04836 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2209.04836 +UR - https://arxiv.org/abs/2209.04836 +AB - The success of deep learning is due in large part to our ability to solve certain massive non-convex optimization problems with relative ease. Though non-convex optimization is NP-hard, simple algorithms -- often variants of stochastic gradient descent -- exhibit surprising effectiveness in fitting large neural networks in practice. We argue that neural network loss landscapes often contain (nearly) a single basin after accounting for all possible permutation symmetries of hidden units a la Entezari et al. 2021. We introduce three algorithms to permute the units of one model to bring them into alignment with a reference model in order to merge the two models in weight space. This transformation produces a functionally equivalent set of weights that lie in an approximately convex basin near the reference model. Experimentally, we demonstrate the single basin phenomenon across a variety of model architectures and datasets, including the first (to our knowledge) demonstration of zero-barrier linear mode connectivity between independently trained ResNet models on CIFAR-10. Additionally, we identify intriguing phenomena relating model width and training time to mode connectivity. Finally, we discuss shortcomings of the linear mode connectivity hypothesis, including a counterexample to the single basin theory. +N1 - Manuscript reference 50 +ER - +TY - JOUR +AU - Li, Tianyi +AU - Shen, Zhiqiang +TI - Scaling Linear Mode Connectivity and Merging to Billion Parameter Pretrained Transformers +T2 - arXiv +AN - arXiv:2606.23607 +PY - 2026 +PB - arXiv +DO - 10.48550/arXiv.2606.23607 +UR - https://arxiv.org/abs/2606.23607 +AB - Linear mode connectivity (LMC) provides a promising foundation for understanding and merging independently trained neural networks, but existing methods typically optimize the interpolation path from only one model endpoint, limiting their scalability and effectiveness for large pretrained transformers. We propose a novel and scalable framework for enabling LMC-based model merging to {\em billion-parameter pretrained transformers}. Our method applies properly parameterized functionality-preserving weight transformations to align functionally equivalent solutions, and introduces a dual learning procedure in which both models jointly learn their corresponding transformations toward a shared linear interpolation path. This bidirectional optimization substantially reduces interpolation barriers and enables more reliable merging across large-scale architectures. Empirically, we show that our approach achieves near-zero loss barriers on WikiText for language models with medium-sized parameters, representing, to our knowledge, the first demonstration of near-barrier-free linear connectivity at this scale. In the vision domain, ViT-L maintains above 69\% ImageNet top-1 accuracy throughout the interpolation path, while modern billion-parameter LLMs exhibit only small loss barriers. These results suggest that properly resolving parameter symmetries enables large pretrained Transformers to be connected and merged through simple linear paths with substantially improved interpolation performance. Code: https://github.com/VILA-Lab/Dual-Learned-Matching . +N1 - Manuscript reference 51 +ER - +TY - JOUR +AU - Sharma, Ekansh +AU - Roy, Daniel M. +AU - Dziugaite, Gintare Karolina +TI - The Non-Local Model Merging Problem: Permutation Symmetries and Variance Collapse +T2 - arXiv +AN - arXiv:2410.12766 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2410.12766 +UR - https://arxiv.org/abs/2410.12766 +AB - Model merging aims to efficiently combine the weights of multiple expert models, each trained on a specific task, into a single multi-task model, with strong performance across all tasks. When applied to all but the last layer of weights, existing methods -- such as Task Arithmetic, TIES-merging, and TALL mask merging -- work well to combine expert models obtained by fine-tuning a common foundation model, operating within a "local" neighborhood of the foundation model. This work explores the more challenging scenario of "non-local" merging, which we find arises when an expert model changes significantly during pretraining or where the expert models do not even share a common foundation model. We observe that standard merging techniques often fail to generalize effectively in this non-local setting, even when accounting for permutation symmetries using standard techniques. We identify that this failure is, in part, due to "variance collapse", a phenomenon identified also in the setting of linear mode connectivity by Jordan et al. (2023). To address this, we propose a multi-task technique to re-scale and shift the output activations of the merged model for each task, aligning its output statistics with those of the corresponding task-specific expert models. Our experiments demonstrate that this correction significantly improves the performance of various model merging approaches in non-local settings, providing a strong baseline for future research on this problem. +N1 - Manuscript reference 52 +ER - +TY - JOUR +AU - Kozodoi, Nikita +AU - Afolabi, Zainab +AU - Butler, Jack +TI - Are we Merging the Right Models? Impact of Expert Training Duration on Model Merging for LLMs +T2 - arXiv +AN - arXiv:2607.11997 +PY - 2026 +PB - arXiv +DO - 10.48550/arXiv.2607.11997 +UR - https://arxiv.org/abs/2607.11997 +AB - Multi-task model merging combines separately trained expert models into a single model that handles all tasks without co-training. Standard practice merges experts at their optimal validation loss. We challenge this convention by systematically studying how training duration of domain experts affects the quality of the merged model. We fine-tune experts on five domains (Math, Code, Instruction Following, Multilingual, and Safety) across three model sizes (Qwen 3.5 0.8B, 2B, and 4B), saving checkpoints from 25% to 500% of the optimal training steps and evaluating five merging methods at each duration. Our findings reveal a striking method-dependent pattern: simple averaging degrades sharply with overfitting, while sparsification-based methods achieve their best performance well past the validation optimum. We formalize this through bias-variance decomposition analysis, drawing a parallel to random forests where averaging benefits from high-variance individual learners. These results suggest that training duration and merging method should be chosen jointly rather than independently. +N1 - Manuscript reference 53 +ER - +TY - JOUR +AU - Zhou, Luca +AU - Zhao, Bo +AU - Yu, Rose +AU - Rodolà, Emanuele +TI - Demystifying Mergeability: Interpretable Properties to Predict Model Merging Success +T2 - arXiv +AN - arXiv:2601.22285 +PY - 2026 +PB - arXiv +DO - 10.48550/arXiv.2601.22285 +UR - https://arxiv.org/abs/2601.22285 +AB - Model merging combines knowledge from separately fine-tuned models, yet the factors driving its success remain poorly understood. While recent work treats mergeability as an intrinsic property of the models, we show with an architecture-agnostic framework that it fundamentally depends on both the merging method and the partner tasks. Using L1-regularized linear optimization over a set of interpretable pairwise metrics (e.g., gradient L_2 distance), we uncover properties correlating with post-merge normalized accuracy across five merging methods. We find architecture- and method-specific variation in success drivers (64.0% average top-5 metric overlap; 79.3% sign agreement), with certain methods, notably TIES, exhibiting distinct ``fingerprints'' that diverge from the broader consensus. Crucially, however, gradient alignment metrics consistently emerge as the most fundamental signals of compatibility. These findings provide a diagnostic foundation for understanding mergeability and motivate future merge-aware fine-tuning strategies. +N1 - Manuscript reference 54 +ER - +TY - JOUR +AU - Scialom, Thomas +AU - Chakrabarty, Tuhin +AU - Muresan, Smaranda +TI - Fine-tuned Language Models are Continual Learners +T2 - arXiv +AN - arXiv:2205.12393 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2205.12393 +UR - https://arxiv.org/abs/2205.12393 +AB - Recent work on large language models relies on the intuition that most natural language processing tasks can be described via natural language instructions. Language models trained on these instructions show strong zero-shot performance on several standard datasets. However, these models even though impressive still perform poorly on a wide range of tasks outside of their respective training and evaluation sets. To address this limitation, we argue that a model should be able to keep extending its knowledge and abilities, without forgetting previous skills. In spite of the limited success of Continual Learning we show that Language Models can be continual learners. We empirically investigate the reason for this success and conclude that Continual Learning emerges from self-supervision pre-training. Our resulting model Continual-T0 (CT0) is able to learn diverse new tasks, while still maintaining good performance on previous tasks, spanning remarkably through 70 datasets in total. Finally, we show that CT0 is able to combine instructions in ways it was never trained for, demonstrating some compositionality. +N1 - Manuscript reference 55 +ER - +TY - JOUR +AU - Ibrahim, Adam +AU - Thérien, Benjamin +AU - Gupta, Kshitij +AU - Richter, Mats L. +AU - Anthony, Quentin +AU - Lesort, Timothée +AU - Belilovsky, Eugene +AU - Rish, Irina +TI - Simple and Scalable Strategies to Continually Pre-train Large Language Models +T2 - arXiv +AN - arXiv:2403.08763 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2403.08763 +UR - https://arxiv.org/abs/2403.08763 +AB - Large language models (LLMs) are routinely pre-trained on billions of tokens, only to start the process over again once new data becomes available. A much more efficient solution is to continually pre-train these models, saving significant compute compared to re-training. However, the distribution shift induced by new data typically results in degraded performance on previous data or poor adaptation to the new data. In this work, we show that a simple and scalable combination of learning rate (LR) re-warming, LR re-decaying, and replay of previous data is sufficient to match the performance of fully re-training from scratch on all available data, as measured by the final loss and the average score on several language model (LM) evaluation benchmarks. Specifically, we show this for a weak but realistic distribution shift between two commonly used LLM pre-training datasets (English$\rightarrow$English) and a stronger distribution shift (English$\rightarrow$German) at the $405$M parameter model scale with large dataset sizes (hundreds of billions of tokens). Selecting the weak but realistic shift for larger-scale experiments, we also find that our continual learning strategies match the re-training baseline for a 10B parameter LLM. Our results demonstrate that LLMs can be successfully updated via simple and scalable continual learning strategies, matching the re-training baseline using only a fraction of the compute. Finally, inspired by previous work, we propose alternatives to the cosine learning rate schedule that help circumvent forgetting induced by LR re-warming and that are not bound to a fixed token budget. +N1 - Manuscript reference 56 +ER - +TY - JOUR +AU - ROBINS, ANTHONY +TI - Catastrophic Forgetting, Rehearsal and Pseudorehearsal +T2 - Connection Science +PY - 1995 +VL - 7 +IS - 2 +PB - Informa UK Limited +DO - 10.1080/09540099550039318 +UR - http://dx.doi.org/10.1080/09540099550039318 +SP - 123 +EP - 146 +N1 - Manuscript reference 57 +ER - +TY - JOUR +AU - Shin, Hanul +AU - Lee, Jung Kwon +AU - Kim, Jaehong +AU - Kim, Jiwon +TI - Continual Learning with Deep Generative Replay +T2 - arXiv +AN - arXiv:1705.08690 +PY - 2017 +PB - arXiv +DO - 10.48550/arXiv.1705.08690 +UR - https://arxiv.org/abs/1705.08690 +AB - Attempts to train a comprehensive artificial intelligence capable of solving multiple tasks have been impeded by a chronic problem called catastrophic forgetting. Although simply replaying all previous data alleviates the problem, it requires large memory and even worse, often infeasible in real world applications where the access to past data is limited. Inspired by the generative nature of hippocampus as a short-term memory system in primate brain, we propose the Deep Generative Replay, a novel framework with a cooperative dual model architecture consisting of a deep generative model ("generator") and a task solving model ("solver"). With only these two models, training data for previous tasks can easily be sampled and interleaved with those for a new task. We test our methods in several sequential learning settings involving image classification tasks. +N1 - Manuscript reference 58 +ER - +TY - JOUR +AU - Feng, Yunzhen +AU - Dohmatob, Elvis +AU - Yang, Pu +AU - Charton, Francois +AU - Kempe, Julia +TI - Beyond Model Collapse: Scaling Up with Synthesized Data Requires Verification +T2 - arXiv +AN - arXiv:2406.07515 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2406.07515 +UR - https://arxiv.org/abs/2406.07515 +AB - Large Language Models (LLM) are increasingly trained on data generated by other LLM, either because generated text and images become part of the pre-training corpus, or because synthetized data is used as a replacement for expensive human-annotation. This raises concerns about \emph{model collapse}, a drop in model performance when their training sets include generated data. Considering that it is easier for both humans and machines to tell between good and bad examples than to generate high-quality samples, we investigate the use of verification on synthesized data to prevent model collapse. We provide a theoretical characterization using Gaussian mixtures, linear classifiers, and linear verifiers to derive conditions with measurable proxies to assess whether the verifier can effectively select synthesized data that leads to optimal performance. We experiment with two practical tasks -- computing matrix eigenvalues with transformers and news summarization with LLMs -- which both exhibit model collapse when trained on generated data, and show that verifiers, even imperfect ones, can indeed be harnessed to prevent model collapse and that our proposed proxy measure strongly correlates with performance. +N1 - Manuscript reference 59 +ER - +TY - JOUR +AU - Rusu, Andrei A. +AU - Rabinowitz, Neil C. +AU - Desjardins, Guillaume +AU - Soyer, Hubert +AU - Kirkpatrick, James +AU - Kavukcuoglu, Koray +AU - Pascanu, Razvan +AU - Hadsell, Raia +TI - Progressive Neural Networks +T2 - arXiv +AN - arXiv:1606.04671 +PY - 2016 +PB - arXiv +DO - 10.48550/arXiv.1606.04671 +UR - https://arxiv.org/abs/1606.04671 +AB - Learning to solve complex sequences of tasks--while both leveraging transfer and avoiding catastrophic forgetting--remains a key obstacle to achieving human-level intelligence. The progressive networks approach represents a step forward in this direction: they are immune to forgetting and can leverage prior knowledge via lateral connections to previously learned features. We evaluate this architecture extensively on a wide variety of reinforcement learning tasks (Atari and 3D maze games), and show that it outperforms common baselines based on pretraining and finetuning. Using a novel sensitivity measure, we demonstrate that transfer occurs at both low-level sensory and high-level control layers of the learned policy. +N1 - Manuscript reference 60 +ER - +TY - JOUR +AU - Biderman, Dan +AU - Portes, Jacob +AU - Ortiz, Jose Javier Gonzalez +AU - Paul, Mansheej +AU - Greengard, Philip +AU - Jennings, Connor +AU - King, Daniel +AU - Havens, Sam +AU - Chiley, Vitaliy +AU - Frankle, Jonathan +AU - Blakeney, Cody +AU - Cunningham, John P. +TI - LoRA Learns Less and Forgets Less +T2 - arXiv +AN - arXiv:2405.09673 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2405.09673 +UR - https://arxiv.org/abs/2405.09673 +AB - Low-Rank Adaptation (LoRA) is a widely-used parameter-efficient finetuning method for large language models. LoRA saves memory by training only low rank perturbations to selected weight matrices. In this work, we compare the performance of LoRA and full finetuning on two target domains, programming and mathematics. We consider both the instruction finetuning (approximately 100K prompt-response pairs) and continued pretraining (20B unstructured tokens) data regimes. Our results show that, in the standard low-rank settings, LoRA substantially underperforms full finetuning. Nevertheless, LoRA better maintains the base model's performance on tasks outside the target domain. We show that LoRA mitigates forgetting more than common regularization techniques such as weight decay and dropout; it also helps maintain more diverse generations. Finally, we show that full finetuning learns perturbations with a rank that is 10-100X greater than typical LoRA configurations, possibly explaining some of the reported gaps. We conclude by proposing best practices for finetuning with LoRA. +N1 - Manuscript reference 61 +ER - +TY - JOUR +AU - McClelland, James L. +AU - McNaughton, Bruce L. +AU - O'Reilly, Randall C. +TI - Why there are complementary learning systems in the hippocampus and neocortex: Insights from the successes and failures of connectionist models of learning and memory. +T2 - Psychological Review +PY - 1995 +VL - 102 +IS - 3 +PB - American Psychological Association (APA) +DO - 10.1037/0033-295x.102.3.419 +UR - http://dx.doi.org/10.1037/0033-295x.102.3.419 +SP - 419 +EP - 457 +N1 - Manuscript reference 62 +ER - +TY - JOUR +AU - Kumaran, Dharshan +AU - Hassabis, Demis +AU - McClelland, James L. +TI - What Learning Systems do Intelligent Agents Need? Complementary Learning Systems Theory Updated +T2 - Trends in Cognitive Sciences +PY - 2016 +VL - 20 +IS - 7 +PB - Elsevier BV +DO - 10.1016/j.tics.2016.05.004 +UR - http://dx.doi.org/10.1016/j.tics.2016.05.004 +SP - 512 +EP - 534 +N1 - Manuscript reference 63 +ER - +TY - JOUR +AU - Schwarz, Jonathan +AU - Luketina, Jelena +AU - Czarnecki, Wojciech M. +AU - Grabska-Barwinska, Agnieszka +AU - Teh, Yee Whye +AU - Pascanu, Razvan +AU - Hadsell, Raia +TI - Progress & Compress: A scalable framework for continual learning +T2 - arXiv +AN - arXiv:1805.06370 +PY - 2018 +PB - arXiv +DO - 10.48550/arXiv.1805.06370 +UR - https://arxiv.org/abs/1805.06370 +AB - We introduce a conceptually simple and scalable framework for continual learning domains where tasks are learned sequentially. Our method is constant in the number of parameters and is designed to preserve performance on previously encountered tasks while accelerating learning progress on subsequent problems. This is achieved by training a network with two components: A knowledge base, capable of solving previously encountered problems, which is connected to an active column that is employed to efficiently learn the current task. After learning a new task, the active column is distilled into the knowledge base, taking care to protect any previously acquired skills. This cycle of active learning (progression) followed by consolidation (compression) requires no architecture growth, no access to or storing of previous data or tasks, and no task-specific parameters. We demonstrate the progress & compress approach on sequential classification of handwritten alphabets as well as two reinforcement learning domains: Atari games and 3D maze navigation. +N1 - Manuscript reference 64 +ER - +TY - JOUR +AU - Ilharco, Gabriel +AU - Ribeiro, Marco Tulio +AU - Wortsman, Mitchell +AU - Gururangan, Suchin +AU - Schmidt, Ludwig +AU - Hajishirzi, Hannaneh +AU - Farhadi, Ali +TI - Editing Models with Task Arithmetic +T2 - arXiv +AN - arXiv:2212.04089 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2212.04089 +UR - https://arxiv.org/abs/2212.04089 +AB - Changing how pre-trained models behave -- e.g., improving their performance on a downstream task or mitigating biases learned during pre-training -- is a common practice when developing machine learning systems. In this work, we propose a new paradigm for steering the behavior of neural networks, centered around \textit{task vectors}. A task vector specifies a direction in the weight space of a pre-trained model, such that movement in that direction improves performance on the task. We build task vectors by subtracting the weights of a pre-trained model from the weights of the same model after fine-tuning on a task. We show that these task vectors can be modified and combined together through arithmetic operations such as negation and addition, and the behavior of the resulting model is steered accordingly. Negating a task vector decreases performance on the target task, with little change in model behavior on control tasks. Moreover, adding task vectors together can improve performance on multiple tasks at once. Finally, when tasks are linked by an analogy relationship of the form ``A is to B as C is to D", combining task vectors from three of the tasks can improve performance on the fourth, even when no data from the fourth task is used for training. Overall, our experiments with several models, modalities and tasks show that task arithmetic is a simple, efficient and effective way of editing models. +N1 - Manuscript reference 65 +ER - +TY - JOUR +AU - Marczak, Daniel +AU - Twardowski, Bartłomiej +AU - Trzciński, Tomasz +AU - Cygert, Sebastian +TI - MagMax: Leveraging Model Merging for Seamless Continual Learning +T2 - arXiv +AN - arXiv:2407.06322 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2407.06322 +UR - https://arxiv.org/abs/2407.06322 +AB - This paper introduces a continual learning approach named MagMax, which utilizes model merging to enable large pre-trained models to continuously learn from new data without forgetting previously acquired knowledge. Distinct from traditional continual learning methods that aim to reduce forgetting during task training, MagMax combines sequential fine-tuning with a maximum magnitude weight selection for effective knowledge integration across tasks. Our initial contribution is an extensive examination of model merging techniques, revealing that simple approaches like weight averaging and random weight selection surprisingly hold up well in various continual learning contexts. More importantly, we present MagMax, a novel model-merging strategy that enables continual learning of large pre-trained models for successive tasks. Our thorough evaluation demonstrates the superiority of MagMax in various scenarios, including class- and domain-incremental learning settings. The code is available at this URL: https://github.com/danielm1405/magmax. +N1 - Manuscript reference 66 +ER - +TY - JOUR +AU - Alexandrov, Anton +AU - Raychev, Veselin +AU - Müller, Mark Niklas +AU - Zhang, Ce +AU - Vechev, Martin +AU - Toutanova, Kristina +TI - Mitigating Catastrophic Forgetting in Language Transfer via Model Merging +T2 - arXiv +AN - arXiv:2407.08699 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2407.08699 +UR - https://arxiv.org/abs/2407.08699 +AB - As open-weight large language models (LLMs) achieve ever more impressive performances across a wide range of tasks in English, practitioners aim to adapt these models to different languages. However, such language adaptation is often accompanied by catastrophic forgetting of the base model's capabilities, severely limiting the usefulness of the resulting model. We address this issue by proposing Branch-and-Merge (BaM), a new adaptation method based on iteratively merging multiple models, fine-tuned on a subset of the available training data. BaM is based on the insight that this yields lower magnitude but higher quality weight changes, reducing forgetting of the source domain while maintaining learning on the target domain. We demonstrate in an extensive empirical study on Bulgarian and German that BaM can significantly reduce forgetting while matching or even improving target domain performance compared to both standard continued pretraining and instruction finetuning across different model architectures. +N1 - Manuscript reference 67 +ER - +TY - JOUR +AU - Dziadzio, Sebastian +AU - Udandarao, Vishaal +AU - Roth, Karsten +AU - Prabhu, Ameya +AU - Akata, Zeynep +AU - Albanie, Samuel +AU - Bethge, Matthias +TI - How to Merge Your Multimodal Models Over Time? +T2 - arXiv +AN - arXiv:2412.06712 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2412.06712 +UR - https://arxiv.org/abs/2412.06712 +AB - Model merging combines multiple expert models - finetuned from a base foundation model on diverse tasks and domains - into a single, more capable model. However, most existing model merging approaches assume that all experts are available simultaneously. In reality, new tasks and domains emerge progressively over time, requiring strategies to integrate the knowledge of expert models as they become available: a process we call temporal model merging. The temporal dimension introduces unique challenges not addressed in prior work, raising new questions such as: when training for a new task, should the expert model start from the merged past experts or from the original base model? Should we merge all models at each time step? Which merging techniques are best suited for temporal merging? Should different strategies be used to initialize the training and deploy the model? To answer these questions, we propose a unified framework called TIME - Temporal Integration of Model Expertise - which defines temporal model merging across three axes: (1) Initialization Phase, (2) Deployment Phase, and (3) Merging Technique. Using TIME, we study temporal model merging across model sizes, compute budgets, and learning horizons on the FoMo-in-Flux benchmark. Our comprehensive suite of experiments across TIME allows us to uncover key insights for temporal model merging, offering a better understanding of current challenges and best practices for effective temporal model merging. +N1 - Manuscript reference 68 +ER - +TY - JOUR +AU - Toneva, Mariya +AU - Sordoni, Alessandro +AU - Combes, Remi Tachet des +AU - Trischler, Adam +AU - Bengio, Yoshua +AU - Gordon, Geoffrey J. +TI - An Empirical Study of Example Forgetting during Deep Neural Network Learning +T2 - arXiv +AN - arXiv:1812.05159 +PY - 2018 +PB - arXiv +DO - 10.48550/arXiv.1812.05159 +UR - https://arxiv.org/abs/1812.05159 +AB - Inspired by the phenomenon of catastrophic forgetting, we investigate the learning dynamics of neural networks as they train on single classification tasks. Our goal is to understand whether a related phenomenon occurs when data does not undergo a clear distributional shift. We define a `forgetting event' to have occurred when an individual training example transitions from being classified correctly to incorrectly over the course of learning. Across several benchmark data sets, we find that: (i) certain examples are forgotten with high frequency, and some not at all; (ii) a data set's (un)forgettable examples generalize across neural architectures; and (iii) based on forgetting dynamics, a significant fraction of examples can be omitted from the training data set while still maintaining state-of-the-art generalization performance. +N1 - Manuscript reference 69 +ER - +TY - JOUR +AU - Kandpal, Nikhil +AU - Deng, Haikang +AU - Roberts, Adam +AU - Wallace, Eric +AU - Raffel, Colin +TI - Large Language Models Struggle to Learn Long-Tail Knowledge +T2 - arXiv +AN - arXiv:2211.08411 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2211.08411 +UR - https://arxiv.org/abs/2211.08411 +AB - The Internet contains a wealth of knowledge -- from the birthdays of historical figures to tutorials on how to code -- all of which may be learned by language models. However, while certain pieces of information are ubiquitous on the web, others appear extremely rarely. In this paper, we study the relationship between the knowledge memorized by large language models and the information in pre-training datasets scraped from the web. In particular, we show that a language model's ability to answer a fact-based question relates to how many documents associated with that question were seen during pre-training. We identify these relevant documents by entity linking pre-training datasets and counting documents that contain the same entities as a given question-answer pair. Our results demonstrate strong correlational and causal relationships between accuracy and relevant document count for numerous question answering datasets (e.g., TriviaQA), pre-training corpora (e.g., ROOTS), and model sizes (e.g., 176B parameters). Moreover, while larger models are better at learning long-tail knowledge, we estimate that today's models must be scaled by many orders of magnitude to reach competitive QA performance on questions with little support in the pre-training data. Finally, we show that retrieval-augmentation can reduce the dependence on relevant pre-training information, presenting a promising approach for capturing the long-tail. +N1 - Manuscript reference 70 +ER - +TY - JOUR +AU - Liu, Xialei +AU - Hu, Yu-Song +AU - Cao, Xu-Sheng +AU - Bagdanov, Andrew D. +AU - Li, Ke +AU - Cheng, Ming-Ming +TI - Long-Tailed Class Incremental Learning +T2 - arXiv +AN - arXiv:2210.00266 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2210.00266 +UR - https://arxiv.org/abs/2210.00266 +AB - In class incremental learning (CIL) a model must learn new classes in a sequential manner without forgetting old ones. However, conventional CIL methods consider a balanced distribution for each new task, which ignores the prevalence of long-tailed distributions in the real world. In this work we propose two long-tailed CIL scenarios, which we term ordered and shuffled LT-CIL. Ordered LT-CIL considers the scenario where we learn from head classes collected with more samples than tail classes which have few. Shuffled LT-CIL, on the other hand, assumes a completely random long-tailed distribution for each task. We systematically evaluate existing methods in both LT-CIL scenarios and demonstrate very different behaviors compared to conventional CIL scenarios. Additionally, we propose a two-stage learning baseline with a learnable weight scaling layer for reducing the bias caused by long-tailed distribution in LT-CIL and which in turn also improves the performance of conventional CIL due to the limited exemplars. Our results demonstrate the superior performance (up to 6.44 points in average incremental accuracy) of our approach on CIFAR-100 and ImageNet-Subset. The code is available at https://github.com/xialeiliu/Long-Tailed-CIL +N1 - Manuscript reference 71 +ER - +TY - JOUR +AU - Kotha, Suhas +AU - Springer, Jacob Mitchell +AU - Raghunathan, Aditi +TI - Understanding Catastrophic Forgetting in Language Models via Implicit Inference +T2 - arXiv +AN - arXiv:2309.10105 +PY - 2023 +PB - arXiv +DO - 10.48550/arXiv.2309.10105 +UR - https://arxiv.org/abs/2309.10105 +AB - We lack a systematic understanding of the effects of fine-tuning (via methods such as instruction-tuning or reinforcement learning from human feedback), particularly on tasks outside the narrow fine-tuning distribution. In a simplified scenario, we demonstrate that improving performance on tasks within the fine-tuning data distribution comes at the expense of capabilities on other tasks. We hypothesize that language models implicitly infer the task of the prompt and that fine-tuning skews this inference towards tasks in the fine-tuning distribution. To test this, we propose Conjugate Prompting, which artificially makes the task look farther from the fine-tuning distribution while requiring the same capability, and we find that this recovers some of the pretraining capabilities in our synthetic setup. Since real-world fine-tuning distributions are predominantly English, we apply conjugate prompting to recover pretrained capabilities in LLMs by simply translating the prompts to different languages. This allows us to recover in-context learning abilities lost via instruction tuning, natural reasoning capability lost during code fine-tuning, and, more concerningly, harmful content generation suppressed by safety fine-tuning in chatbots like ChatGPT. +N1 - Manuscript reference 72 +ER - +TY - JOUR +AU - Yu, Le +AU - Yu, Bowen +AU - Yu, Haiyang +AU - Huang, Fei +AU - Li, Yongbin +TI - Language Models are Super Mario: Absorbing Abilities from Homologous Models as a Free Lunch +T2 - arXiv +AN - arXiv:2311.03099 +PY - 2023 +PB - arXiv +DO - 10.48550/arXiv.2311.03099 +UR - https://arxiv.org/abs/2311.03099 +AB - In this paper, we unveil that Language Models (LMs) can acquire new capabilities by assimilating parameters from homologous models without retraining or GPUs. We first introduce DARE to set most delta parameters (i.e., the disparity between fine-tuned and pre-trained parameters) to zeros without affecting the abilities of Supervised Fine-Tuning (SFT) LMs, which randomly Drops delta parameters with a ratio $p$ And REscales the remaining ones by $1 / (1 - p)$ to approximate the original embeddings. Then, we use DARE as a versatile plug-in to sparsify delta parameters of multiple SFT homologous models for mitigating parameter interference and merge them into a single model by parameter fusing. We experiment with encoder- and decoder-based LMs, showing that: (1) SFT delta parameter value ranges are typically small (within 0.002) with extreme redundancy, and DARE can effortlessly eliminate 90% or even 99% of them; (2) DARE can merge multiple task-specific LMs into one LM with diverse capabilities. Notably, this phenomenon is more pronounced in large-scale LMs, where the merged LM reveals the potential to surpass the performance of any source LM, providing a new discovery. We also utilize DARE to create a merged LM that ranks first among models with 7 billion parameters on the Open LLM Leaderboard. +N1 - Manuscript reference 73 +ER - +TY - JOUR +AU - Wortsman, Mitchell +AU - Ilharco, Gabriel +AU - Gadre, Samir Yitzhak +AU - Roelofs, Rebecca +AU - Gontijo-Lopes, Raphael +AU - Morcos, Ari S. +AU - Namkoong, Hongseok +AU - Farhadi, Ali +AU - Carmon, Yair +AU - Kornblith, Simon +AU - Schmidt, Ludwig +TI - Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time +T2 - arXiv +AN - arXiv:2203.05482 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2203.05482 +UR - https://arxiv.org/abs/2203.05482 +AB - The conventional recipe for maximizing model accuracy is to (1) train multiple models with various hyperparameters and (2) pick the individual model which performs best on a held-out validation set, discarding the remainder. In this paper, we revisit the second step of this procedure in the context of fine-tuning large pre-trained models, where fine-tuned models often appear to lie in a single low error basin. We show that averaging the weights of multiple models fine-tuned with different hyperparameter configurations often improves accuracy and robustness. Unlike a conventional ensemble, we may average many models without incurring any additional inference or memory costs -- we call the results "model soups." When fine-tuning large pre-trained models such as CLIP, ALIGN, and a ViT-G pre-trained on JFT, our soup recipe provides significant improvements over the best model in a hyperparameter sweep on ImageNet. The resulting ViT-G model, which attains 90.94% top-1 accuracy on ImageNet, achieved a new state of the art. Furthermore, we show that the model soup approach extends to multiple image classification and natural language processing tasks, improves out-of-distribution performance, and improves zero-shot performance on new downstream tasks. Finally, we analytically relate the performance similarity of weight-averaging and logit-ensembling to flatness of the loss and confidence of the predictions, and validate this relation empirically. Code is available at https://github.com/mlfoundations/model-soups. +N1 - Manuscript reference 74 +ER - +TY - JOUR +AU - Cao, Yuan +AU - Ran, Dezhi +AU - Guo, Yuzhe +AU - Wu, Mengzhou +AU - Chen, Simin +AU - Li, Linyi +AU - Yang, Wei +AU - Xie, Tao +TI - An Empirical Study and Theoretical Explanation on Task-Level Model-Merging Collapse +T2 - arXiv +AN - arXiv:2603.09463 +PY - 2026 +PB - arXiv +DO - 10.48550/arXiv.2603.09463 +UR - https://arxiv.org/abs/2603.09463 +AB - Model merging unifies independently fine-tuned LLMs from the same base, enabling reuse and integration of parallel development efforts without retraining. However, in practice we observe that merging does not always succeed: certain combinations of task-specialist models suffer from catastrophic performance degradation after merging. We refer to this failure mode as merging collapse. Intuitively, collapse arises when the learned representations or parameter adjustments for different tasks are fundamentally incompatible, so that merging forces destructive interference rather than synergy. In this paper, we identify and characterize the phenomenon of task-level merging collapse, where certain task combinations consistently trigger huge performance degradation across all merging methods. Through extensive experiments and statistical analysis, we demonstrate that representational incompatibility between tasks is strongly correlated with merging collapse, while parameter-space conflict metrics show minimal correlation, challenging conventional wisdom in model merging literature. We provide a theoretical explanation on this phenomenon through rate-distortion theory with a dimension-dependent bound, establishing fundamental limits on task mergeability regardless of methodology. +N1 - Manuscript reference 75 +ER - +TY - JOUR +AU - Horoi, Stefan +AU - Wolf, Guy +AU - Belilovsky, Eugene +AU - Dziugaite, Gintare Karolina +TI - From Memorization to Parameter Interference: How Overtraining Experts Harms Model Merging +T2 - arXiv +AN - arXiv:2506.14126 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2506.14126 +UR - https://arxiv.org/abs/2506.14126 +AB - Modern deep learning is increasingly characterized by the use of open-weight foundation models that can be fine-tuned on specialized datasets. This has led to a proliferation of expert models and adapters, often shared via platforms like HuggingFace and AdapterHub. Model merging has recently emerged as an effective way to leverage these existing resources, enabling the composition of capabilities from different model checkpoints. A natural pipeline has thus formed to harness the benefits of transfer learning and amortize sunk training costs: models are pre-trained on general data, fine-tuned on specific tasks, and then multiple checkpoints are merged to obtain a more capable model. A prevailing assumption is that improvements at one stage of this pipeline propagate downstream, leading to gains at subsequent steps. In this work, we challenge that assumption by examining how expert fine-tuning affects model merging. We show that long fine-tuning of experts that optimizes for their individual performance leads to degraded merging performance across vision and language modalities, multiple model scales, and both fully fine-tuned and LoRA-adapted models. We trace this degradation to the memorization of a small set of difficult examples that dominate late fine-tuning steps. This causes negative parameter interference and encodes knowledge that is forgotten during merging. Finally, we demonstrate that task-dependent aggressive early stopping strategies can significantly improve model merging performance. +N1 - Manuscript reference 76 +ER - +TY - JOUR +AU - Livnat, Adi +AU - Papadimitriou, Christos +TI - Sex as an algorithm +T2 - Communications of the ACM +PY - 2016 +VL - 59 +IS - 11 +PB - Association for Computing Machinery (ACM) +DO - 10.1145/2934662 +UR - http://dx.doi.org/10.1145/2934662 +AB - Looking at the mysteries of evolution from a computer science point of view yields some unexpected insights. +SP - 84 +EP - 93 +N1 - Manuscript reference 77 +ER - +TY - JOUR +AU - Guo, Yanzhu +AU - Shang, Guokan +AU - Vazirgiannis, Michalis +AU - Clavel, Chloé +TI - The Curious Decline of Linguistic Diversity: Training Language Models on Synthetic Text +T2 - arXiv +AN - arXiv:2311.09807 +PY - 2023 +PB - arXiv +DO - 10.48550/arXiv.2311.09807 +UR - https://arxiv.org/abs/2311.09807 +AB - This study investigates the consequences of training language models on synthetic data generated by their predecessors, an increasingly prevalent practice given the prominence of powerful generative models. Diverging from the usual emphasis on performance metrics, we focus on the impact of this training methodology on linguistic diversity, especially when conducted recursively over time. To assess this, we adapt and develop a set of novel metrics targeting lexical, syntactic, and semantic diversity, applying them in recursive finetuning experiments across various natural language generation tasks in English. Our findings reveal a consistent decrease in the diversity of the model outputs through successive iterations, especially remarkable for tasks demanding high levels of creativity. This trend underscores the potential risks of training language models on synthetic text, particularly concerning the preservation of linguistic richness. Our study highlights the need for careful consideration of the long-term effects of such training approaches on the linguistic capabilities of language models. +N1 - Manuscript reference 78 +ER - +TY - JOUR +AU - Padmakumar, Vishakh +AU - He, He +TI - Does Writing with Language Models Reduce Content Diversity? +T2 - arXiv +AN - arXiv:2309.05196 +PY - 2023 +PB - arXiv +DO - 10.48550/arXiv.2309.05196 +UR - https://arxiv.org/abs/2309.05196 +AB - Large language models (LLMs) have led to a surge in collaborative writing with model assistance. As different users incorporate suggestions from the same model, there is a risk of decreased diversity in the produced content, potentially limiting diverse perspectives in public discourse. In this work, we measure the impact of co-writing on diversity via a controlled experiment, where users write argumentative essays in three setups -- using a base LLM (GPT3), a feedback-tuned LLM (InstructGPT), and writing without model help. We develop a set of diversity metrics and find that writing with InstructGPT (but not the GPT3) results in a statistically significant reduction in diversity. Specifically, it increases the similarity between the writings of different authors and reduces the overall lexical and content diversity. We additionally find that this effect is mainly attributable to InstructGPT contributing less diverse text to co-written essays. In contrast, the user-contributed text remains unaffected by model collaboration. This suggests that the recent improvement in generation quality from adapting models to human feedback might come at the cost of more homogeneous and less diverse content. +N1 - Manuscript reference 79 +ER - +TY - JOUR +AU - Doshi, Anil R. +AU - Hauser, Oliver P. +TI - Generative AI enhances individual creativity but reduces the collective diversity of novel content +T2 - Science Advances +PY - 2024 +VL - 10 +IS - 28 +PB - American Association for the Advancement of Science (AAAS) +DO - 10.1126/sciadv.adn5290 +UR - http://dx.doi.org/10.1126/sciadv.adn5290 +AB - Creativity is core to being human. Generative artificial intelligence (AI)—including powerful large language models (LLMs)—holds promise for humans to be more creative by offering new ideas, or less creative by anchoring on generative AI ideas. We study the causal impact of generative AI ideas on the production of short stories in an online experiment where some writers obtained story ideas from an LLM. We find that access to generative AI ideas causes stories to be evaluated as more creative, better written, and more enjoyable, especially among less creative writers. However, generative AI–enabled stories are more similar to each other than stories by humans alone. These results point to an increase in individual creativity at the risk of losing collective novelty. This dynamic resembles a social dilemma: With generative AI, writers are individually better off, but collectively a narrower scope of novel content is produced. Our results have implications for researchers, policy-makers, and practitioners interested in bolstering creativity. +N1 - Manuscript reference 80 +ER - diff --git a/paper/pnas/refs/README.md b/paper/pnas/refs/README.md new file mode 100644 index 0000000..49e8745 --- /dev/null +++ b/paper/pnas/refs/README.md @@ -0,0 +1,37 @@ +# Zotero library for the manuscript's references + +`Evolution of sex for AI.ris` — all 80 references from `paper/pnas/main.md`, with metadata +fetched from the publisher of record rather than retyped. + +**To import:** Zotero → File → Import… → choose this file → keep "Place imported collections and +items into new collection" ticked. The collection takes its name from the file, so rename the file +first if you want a different folder name. + +## How it was built + +`build_zotero_library.py` (run from the repo root) parses the numbered reference list, resolves a DOI +for each entry, and fetches authoritative metadata by content negotiation against doi.org, which +serves both Crossref and DataCite records. Each Zotero item carries its manuscript reference number +in the Extra/Notes field, so an item can be traced back to its citation. + +- **77 of 80 resolved from a DOI.** 53 DOIs were already printed in the manuscript; the rest were + found by Crossref title search, accepted only when the returned title actually matched (a plain + relevance score is not enough — Crossref answers confidently for pre-DOI works). +- **2 needed a hand-verified DOI:** ref 17 (Brinkmann et al., *Machine culture*), where the search + returned a different paper with a near-identical title, and ref 64 (Schwarz et al., *Progress & + Compress*), a PMLR paper with no Crossref DOI, cited by its arXiv DOI instead. +- **3 genuinely predate DOIs** and are written out by hand in the script: Jenkin 1867, Fisher 1930 + (book), Templeton 1986 (book chapter). + +`resolution-report.tsv` records the outcome and source for every entry. +`references.csl.json` is the same library as CSL-JSON, for any tool that prefers it. + +## Notes on the records + +arXiv DOIs come back from DataCite uppercased and with no venue; the script restores the canonical +`10.48550/arXiv.NNNN` casing and sets the publication to *arXiv* with the identifier in the archive +field, so those items do not import as untitled journal articles. Publisher abstracts arrive wrapped +in JATS markup with HTML entities and hard line breaks, all of which are stripped — RIS is +line-oriented, and an unescaped abstract silently corrupts the record that follows it. + +Re-run the script after any change to the reference list; it is a pure function of `main.md`. diff --git a/paper/pnas/refs/references.csl.json b/paper/pnas/refs/references.csl.json new file mode 100644 index 0000000..7b68856 --- /dev/null +++ b/paper/pnas/refs/references.csl.json @@ -0,0 +1,15308 @@ +[ + { + "type": "article", + "id": "ref1", + "categories": [ + "Social and Information Networks (cs.SI)", + "Artificial Intelligence (cs.AI)", + "Computers and Society (cs.CY)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Laufer", + "given": "Benjamin" + }, + { + "family": "Oderinwale", + "given": "Hamidah" + }, + { + "family": "Kleinberg", + "given": "Jon" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Many have observed that the development and deployment of generative machine learning (ML) and artificial intelligence (AI) models follow a distinctive pattern in which pre-trained models are adapted and fine-tuned for specific downstream tasks. However, there is limited empirical work that examines the structure of these interactions. This paper analyzes 1.86 million models on Hugging Face, a leading peer production platform for model development. Our study of model family trees -- networks that connect fine-tuned models to their base or parent -- reveals sprawling fine-tuning lineages that vary widely in size and structure. Using an evolutionary biology lens to study ML models, we use model metadata and model cards to measure the genetic similarity and mutation of traits over model families. We find that models tend to exhibit a family resemblance, meaning their genetic markers and traits exhibit more overlap when they belong to the same model family. However, these similarities depart in certain ways from standard models of asexual reproduction, because mutations are fast and directed, such that two `sibling' models tend to exhibit more similarity than parent/child pairs. Further analysis of the directional drifts of these mutations reveals qualitative insights about the open machine learning ecosystem: Licenses counter-intuitively drift from restrictive, commercial licenses towards permissive or copyleft licenses, often in violation of upstream license's terms; models evolve from multi-lingual compatibility towards english-only compatibility; and model cards reduce in length and standardize by turning, more often, to templates and automatically generated text. Overall, this work takes a step toward an empirically grounded understanding of model fine-tuning and suggests that ecological models and methods can yield novel scientific insights.", + "DOI": "10.48550/arXiv.2508.06811", + "publisher": "arXiv", + "title": "Anatomy of a Machine Learning Ecosystem: 2 Million Models on Hugging Face", + "URL": "https://arxiv.org/abs/2508.06811", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 1", + "container-title": "arXiv", + "number": "arXiv:2508.06811", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref2", + "categories": [ + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Horwitz", + "given": "Eliahu" + }, + { + "family": "Shul", + "given": "Asaf" + }, + { + "family": "Hoshen", + "given": "Yedid" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "The number of models shared online has recently skyrocketed, with over one million public models available on Hugging Face. Sharing models allows other users to build on existing models, using them as initialization for fine-tuning, improving accuracy, and saving compute and energy. However, it also raises important intellectual property issues, as fine-tuning may violate the license terms of the original model or that of its training data. A Model Tree, i.e., a tree data structure rooted at a foundation model and having directed edges between a parent model and other models directly fine-tuned from it (children), would settle such disputes by making the model heritage explicit. Unfortunately, current models are not well documented, with most model metadata (e.g., \"model cards\") not providing accurate information about heritage. In this paper, we introduce the task of Unsupervised Model Tree Heritage Recovery (Unsupervised MoTHer Recovery) for collections of neural networks. For each pair of models, this task requires: i) determining if they are directly related, and ii) establishing the direction of the relationship. Our hypothesis is that model weights encode this information, the challenge is to decode the underlying tree structure given the weights. We discover several properties of model weights that allow us to perform this task. By using these properties, we formulate the MoTHer Recovery task as finding a directed minimal spanning tree. In extensive experiments we demonstrate that our method successfully reconstructs complex Model Trees.", + "DOI": "10.48550/arXiv.2405.18432", + "publisher": "arXiv", + "title": "Unsupervised Model Tree Heritage Recovery", + "URL": "https://arxiv.org/abs/2405.18432", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 2", + "container-title": "arXiv", + "number": "arXiv:2405.18432", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref3", + "categories": [ + "Software Engineering (cs.SE)", + "Artificial Intelligence (cs.AI)", + "Databases (cs.DB)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Jiang", + "given": "Wenxin" + }, + { + "family": "Yasmin", + "given": "Jerin" + }, + { + "family": "Jones", + "given": "Jason" + }, + { + "family": "Synovic", + "given": "Nicholas" + }, + { + "family": "Kuo", + "given": "Jiashen" + }, + { + "family": "Bielanski", + "given": "Nathaniel" + }, + { + "family": "Tian", + "given": "Yuan" + }, + { + "family": "Thiruvathukal", + "given": "George K." + }, + { + "family": "Davis", + "given": "James C." + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "The development and training of deep learning models have become increasingly costly and complex. Consequently, software engineers are adopting pre-trained models (PTMs) for their downstream applications. The dynamics of the PTM supply chain remain largely unexplored, signaling a clear need for structured datasets that document not only the metadata but also the subsequent applications of these models. Without such data, the MSR community cannot comprehensively understand the impact of PTM adoption and reuse. This paper presents the PeaTMOSS dataset, which comprises metadata for 281,638 PTMs and detailed snapshots for all PTMs with over 50 monthly downloads (14,296 PTMs), along with 28,575 open-source software repositories from GitHub that utilize these models. Additionally, the dataset includes 44,337 mappings from 15,129 downstream GitHub repositories to the 2,530 PTMs they use. To enhance the dataset's comprehensiveness, we developed prompts for a large language model to automatically extract model metadata, including the model's training datasets, parameters, and evaluation metrics. Our analysis of this dataset provides the first summary statistics for the PTM supply chain, showing the trend of PTM development and common shortcomings of PTM package documentation. Our example application reveals inconsistencies in software licenses across PTMs and their dependent projects. PeaTMOSS lays the foundation for future research, offering rich opportunities to investigate the PTM supply chain. We outline mining opportunities on PTMs, their downstream usage, and cross-cutting questions.", + "DOI": "10.48550/arXiv.2402.00699", + "publisher": "arXiv", + "title": "PeaTMOSS: A Dataset and Initial Analysis of Pre-Trained Models in Open-Source Software", + "URL": "https://arxiv.org/abs/2402.00699", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 3", + "container-title": "arXiv", + "number": "arXiv:2402.00699", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref4", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Computation and Language (cs.CL)", + "Computer Vision and Pattern Recognition (cs.CV)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Yadav", + "given": "Prateek" + }, + { + "family": "Tam", + "given": "Derek" + }, + { + "family": "Choshen", + "given": "Leshem" + }, + { + "family": "Raffel", + "given": "Colin" + }, + { + "family": "Bansal", + "given": "Mohit" + } + ], + "issued": { + "date-parts": [ + [ + 2023 + ] + ] + }, + "abstract": "Transfer learning - i.e., further fine-tuning a pre-trained model on a downstream task - can confer significant advantages, including improved downstream performance, faster convergence, and better sample efficiency. These advantages have led to a proliferation of task-specific fine-tuned models, which typically can only perform a single task and do not benefit from one another. Recently, model merging techniques have emerged as a solution to combine multiple task-specific models into a single multitask model without performing additional training. However, existing merging methods often ignore the interference between parameters of different models, resulting in large performance drops when merging multiple models. In this paper, we demonstrate that prior merging techniques inadvertently lose valuable information due to two major sources of interference: (a) interference due to redundant parameter values and (b) disagreement on the sign of a given parameter's values across models. To address this, we propose our method, TRIM, ELECT SIGN & MERGE (TIES-Merging), which introduces three novel steps when merging models: (1) resetting parameters that only changed a small amount during fine-tuning, (2) resolving sign conflicts, and (3) merging only the parameters that are in alignment with the final agreed-upon sign. We find that TIES-Merging outperforms several existing methods in diverse settings covering a range of modalities, domains, number of tasks, model sizes, architectures, and fine-tuning settings. We further analyze the impact of different types of interference on model parameters, and highlight the importance of resolving sign interference. Our code is available at https://github.com/prateeky2806/ties-merging", + "DOI": "10.48550/arXiv.2306.01708", + "publisher": "arXiv", + "title": "TIES-Merging: Resolving Interference When Merging Models", + "URL": "https://arxiv.org/abs/2306.01708", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 4", + "container-title": "arXiv", + "number": "arXiv:2306.01708", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 5 + ] + ], + "date-time": "2026-09-05T03:55:40Z", + "timestamp": 1788580540666, + "version": "build-2803163510" + }, + "reference-count": 47, + "publisher": "Springer Science and Business Media LLC", + "issue": "2", + "license": [ + { + "start": { + "date-parts": [ + [ + 2025, + 1, + 27 + ] + ], + "date-time": "2025-01-27T00:00:00Z", + "timestamp": 1737936000000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://creativecommons.org/licenses/by/4.0" + }, + { + "start": { + "date-parts": [ + [ + 2025, + 1, + 27 + ] + ], + "date-time": "2025-01-27T00:00:00Z", + "timestamp": 1737936000000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://creativecommons.org/licenses/by/4.0" + } + ], + "content-domain": { + "domain": [ + "link.springer.com" + ], + "crossmark-restriction": false + }, + "abstract": "Abstract Large language models (LLMs) have become increasingly capable, but their development often requires substantial computational resources. Although model merging has emerged as a cost-effective promising approach for creating new models by combining existing ones, it currently relies on human intuition and domain knowledge, limiting its potential. Here we propose an evolutionary approach that overcomes this limitation by automatically discovering effective combinations of diverse open-source models, harnessing their collective intelligence without requiring extensive additional training data or compute. Our approach operates in both parameter space and data flow space, allowing optimization beyond just the weights of the individual models. This approach even facilitates cross-domain merging, generating models such as a Japanese LLM with math reasoning capabilities. Surprisingly, our Japanese math LLM achieved state-of-the-art performance on a variety of established Japanese LLM benchmarks, even surpassing models with substantially more parameters, despite not being explicitly trained for such tasks. Furthermore, a culturally aware Japanese vision–language model generated through our approach demonstrates its effectiveness in describing Japanese culture-specific content, outperforming previous Japanese vision–language models. This work not only contributes new state-of-the-art models back to the open-source community but also introduces a new paradigm for automated model composition, paving the way for exploring alternative, efficient approaches to foundation model development.", + "DOI": "10.1038/s42256-024-00975-8", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2025, + 1, + 27 + ] + ], + "date-time": "2025-01-27T05:12:30Z", + "timestamp": 1737954750000 + }, + "page": "195-204", + "update-policy": "https://doi.org/10.1007/springer_crossmark_policy", + "source": "Crossref", + "is-referenced-by-count": 50, + "title": "Evolutionary optimization of model merging recipes", + "prefix": "10.1038", + "volume": "7", + "author": [ + { + "given": "Takuya", + "family": "Akiba", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Makoto", + "family": "Shing", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Yujin", + "family": "Tang", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0009-0004-9875-0906", + "authenticated-orcid": false, + "given": "Qi", + "family": "Sun", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0001-8765-8574", + "authenticated-orcid": false, + "given": "David", + "family": "Ha", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "297", + "published-online": { + "date-parts": [ + [ + 2025, + 1, + 27 + ] + ] + }, + "reference": [ + { + "key": "975_CR1", + "unstructured": "Goddard, C. O. mergekit. GitHub https://github.com/arcee-ai/mergekit (2024)." + }, + { + "key": "975_CR2", + "unstructured": "Labonne, M. Merge large language models with mergekit. Hugging Face Blog https://huggingface.co/blog/mlabonne/merge-models (2024)." + }, + { + "key": "975_CR3", + "unstructured": "HuggingFace. Open llm leaderboard. Hugging Face Blog https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard (2023)." + }, + { + "key": "975_CR4", + "unstructured": "Wortsman, M. et al. Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time. In International Conference on Machine Learning Vol. 162 (eds Chaudhuri, K. et al.) 23965–23998 (PMLR, 2022); https://proceedings.mlr.press/v162/wortsman22a.html" + }, + { + "key": "975_CR5", + "unstructured": "Ilharco, G. et al. Editing models with task arithmetic. In The Eleventh International Conference on Learning Representations (OpenReview.net, 2023); https://openreview.net/forum?id=6t0Kwf8-jrj" + }, + { + "key": "975_CR6", + "unstructured": "Yadav, P., Tam, D., Choshen, L., Raffel, C. A. & Bansal, M. Ties-merging: resolving interference when merging models. In Advances in Neural Information Processing Systems Vol. 36 (eds Oh, A. et al.) 7093–7115 (Curran Associates, 2023)." + }, + { + "key": "975_CR7", + "unstructured": "Yu, L., Yu, B., Yu, H., Huang, F. & Li, Y. Language models are Super Mario: absorbing abilities from homologous models as a free lunch. In International Conference on Machine Learning Vol. 235 (eds Salakhutdinov, R. et al.) 57755–57775 (PMLR, 2024); https://proceedings.mlr.press/v235/yu24p.html" + }, + { + "key": "975_CR8", + "unstructured": "Ainsworth, S. K., Hayase, J. & Srinivasa, S. S.Git re-basin: merging models modulo permutation symmetries. In The Eleventh International Conference on Learning Representations (OpenReview.net, 2023)." + }, + { + "key": "975_CR9", + "first-page": "17703", + "volume": "35", + "author": "MS Matena", + "year": "2022", + "unstructured": "Matena, M. S. & Raffel, C. A. Merging models with fisher-weighted averaging. Adv. Neural Inf. Process. Syst. 35, 17703–17716 (2022).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "975_CR10", + "unstructured": "Hansen, N. in Towards a New Evolutionary Computation: Advances In the Estimation of Distribution Algorithms (eds Lozano, J. A. et al.) 75–102 (Springer, 2006)." + }, + { + "key": "975_CR11", + "doi-asserted-by": "crossref", + "unstructured": "Geva, M., Caciularu, A., Wang, K. R. & Goldberg, Y. Transformer feed-forward layers build predictions by promoting concepts in the vocabulary space. In Proc. 2021 Conference on Empirical Methods in Natural Language Processing (eds Goldberg, Y., Kozareva, Z., Zhang, Y.) 30–45 (Association for Computational Linguistics, 2022).", + "DOI": "10.18653/v1/2022.emnlp-main.3" + }, + { + "key": "975_CR12", + "unstructured": "nostalgebraist. Interpreting gpt: the logit lens. LessWrong https://www.lesswrong.com/posts/AcKRB8wDpdaN6v6ru/interpreting-gpt-the-logit-lens (2021)." + }, + { + "key": "975_CR13", + "first-page": "17359", + "volume": "35", + "author": "K Meng", + "year": "2022", + "unstructured": "Meng, K., Bau, D., Andonian, A. & Belinkov, Y. Locating and editing factual associations in gpt. Adv. Neural Inf. Process. Syst. 35, 17359–17372 (2022).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "975_CR14", + "unstructured": "Sun, Q., Pickett, M., Nain, A. K. & Jones, L. Transformer layers as painters. Preprint at https://arxiv.org/abs/2407.09298 (2024)." + }, + { + "key": "975_CR15", + "doi-asserted-by": "publisher", + "first-page": "131", + "DOI": "10.1162/neco.1992.4.1.131", + "volume": "4", + "author": "J Schmidhuber", + "year": "1992", + "unstructured": "Schmidhuber, J. Learning to control fast-weight memories: an alternative to dynamic recurrent networks. Neural Comput. 4, 131–139 (1992).", + "journal-title": "Neural Comput." + }, + { + "key": "975_CR16", + "unstructured": "Ha, D., Dai, A. & Le, Q. V. Hypernetworks. In International Conference on Learning Representations (OpenReview.net, 2017); https://openreview.net/forum?id=rkpACe1lx" + }, + { + "key": "975_CR17", + "doi-asserted-by": "publisher", + "first-page": "182", + "DOI": "10.1109/4235.996017", + "volume": "6", + "author": "K Deb", + "year": "2002", + "unstructured": "Deb, K., Pratap, A., Agarwal, S. & Meyarivan, T. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comp. 6, 182–197 (2002).", + "journal-title": "IEEE Trans. Evol. Comp." + }, + { + "key": "975_CR18", + "unstructured": "Shi, F. et al. Language models are multilingual chain-of-thought reasoners. In The Eleventh International Conference on Learning Representations (OpenReview.net, 2023); https://openreview.net/pdf?id=fR3wGCk-IXp" + }, + { + "key": "975_CR19", + "unstructured": "Cobbe, K. et al. Training verifiers to solve math word problems. Preprint at https://arxiv.org/abs/2110.14168 (2021)." + }, + { + "key": "975_CR20", + "unstructured": "Li, J., Li, D., Savarese, S. & Hoi, S. Blip-2: bootstrapping language-image pre-training with frozen image encoders and large language models. In International Conference on Machine Learning Vol. 202 (eds Krause, A. et al.) 19730–19742 (PMLR, 2023); https://proceedings.mlr.press/v202/li23q.html" + }, + { + "key": "975_CR21", + "unstructured": "Dai, W. et al. Instructblip: towards general-purpose vision–language models with instruction tuning. In Advances in Neural Information Processing Systems Vol. 36 (eds Oh, A. et al.) 49250–49267 (Curran Associates, 2023)." + }, + { + "key": "975_CR22", + "unstructured": "Liu, H., Li, C., Wu, Q. & Lee, Y. J. Visual instruction tuning. In Advances in Neural Information Processing Systems Vol. 36 (eds Oh, A. et al.) 34891–34916 (Curran Associates, 2023)." + }, + { + "key": "975_CR23", + "doi-asserted-by": "crossref", + "unstructured": "Liu, H., Li, C., Li, Y. & Lee, Y. J. Improved baselines with visual instruction tuning. In Proc. IEEE/CVF Conference on Computer Vision and Pattern Recognition 26296–26306 (2024).", + "DOI": "10.1109/CVPR52733.2024.02484" + }, + { + "key": "975_CR24", + "unstructured": "Bai, J. et al. Qwen-vl: a versatile vision–language model for understanding, localization, text reading, and beyond. Preprint at https://arxiv.org/abs/2308.12966 (2023)." + }, + { + "key": "975_CR25", + "unstructured": "Labonne, M. Automerger experiment. Twitter https://twitter.com/maximelabonne/status/1767124527551549860 (2024)." + }, + { + "key": "975_CR26", + "unstructured": "White, T. Sampling generative networks. Preprint at https://arxiv.org/abs/1609.04468 (2016)." + }, + { + "key": "975_CR27", + "unstructured": "AI, S. Evosdxl-jp-v1. sakana.ai https://sakana.ai/evosdxl-jp/ (2024)." + }, + { + "key": "975_CR28", + "unstructured": "Lin, S., Wang, A. & Yang, X. Sdxl-lightning: progressive adversarial diffusion distillation. Preprint at https://arxiv.org/abs/2402.13929 (2024)." + }, + { + "key": "975_CR29", + "unstructured": "AI, S. Evovlm-jp-v2. sakana.ai https://sakana.ai/evovlm-jp/ (2024)." + }, + { + "key": "975_CR30", + "unstructured": "AI, S. Evoukiyoe. sakana.ai https://sakana.ai/evo-ukiyoe/ (2024)." + }, + { + "key": "975_CR31", + "doi-asserted-by": "publisher", + "unstructured": "Akiba, T., Sano, S., Yanase, T., Ohta, T. & Koyama, M. Optuna: a next-generation hyperparameter optimization framework. In Proc. 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining 2623–2631 (Association for Computing Machinery, 2019); https://doi.org/10.1145/3292500.3330701", + "DOI": "10.1145/3292500.3330701" + }, + { + "key": "975_CR32", + "unstructured": "augmxnt. shisa-gamma-7b. Hugging Face https://hf.co/augmxnt/shisa-gamma-7b-v1 (2023)." + }, + { + "key": "975_CR33", + "unstructured": "Luo, H. et al. Wizardmath: empowering mathematical reasoning for large language models via reinforced evol-instruct. Preprint at https://arxiv.org/abs/2308.09583 (2023)." + }, + { + "key": "975_CR34", + "unstructured": "Chern, E. et al. Generative ai for math: Abel. GitHub https://github.com/GAIR-NLP/abel (2023)." + }, + { + "key": "975_CR35", + "unstructured": "Jiang, A. Q. et al. Mistral 7b. Preprint at https://arxiv.org/abs/2310.06825 (2023)." + }, + { + "key": "975_CR36", + "doi-asserted-by": "crossref", + "unstructured": "Joulin, A., Grave, E., Bojanowski, P. & Mikolov, T. Bag of tricks for efficient text classification. In Proc. 15th Conference of the European Chapter of the Association for Computational Linguistics (eds Lapata, M., Blunsom, P. & Koller, A.) 427–431 (Association for Computational Linguistics, 2017).", + "DOI": "10.18653/v1/E17-2068" + }, + { + "key": "975_CR37", + "unstructured": "Joulin, A. et al. Fasttext.zip: compressing text classification models. Preprint at https://arxiv.org/abs/1612.03651 (2016)." + }, + { + "key": "975_CR38", + "unstructured": "AI, S. Jp language model evaluation harness. GitHub https://github.com/Stability-AI/lm-evaluation-harness/tree/jp-stable (2024)." + }, + { + "key": "975_CR39", + "doi-asserted-by": "publisher", + "unstructured": "Gao, L. et al. A framework for few-shot language model evaluation. Zenodo https://doi.org/10.5281/zenodo.14506035 (2023).", + "DOI": "10.5281/zenodo.14506035" + }, + { + "key": "975_CR40", + "unstructured": "AI, S. Japanese stable lm beta. stability.ai https://ja.stability.ai/blog/japanese-stable-lm-beta (2024)." + }, + { + "key": "975_CR41", + "unstructured": "rinna. Lm benchmark. GitHub https://rinnakk.github.io/research/benchmarks/lm/index.html (2024)." + }, + { + "key": "975_CR42", + "doi-asserted-by": "crossref", + "unstructured": "Tang, Y., Tian, Y., Ha, Da. EvoJAX: hardware-accelerated neuroevolution. In Proc. the Genetic and Evolutionary Computation Conference Companion 308–311 (Association for Computing Machinery, 2022).", + "DOI": "10.1145/3520304.3528770" + }, + { + "key": "975_CR43", + "unstructured": "Liu, H. et al. Llava-next: improved reasoning, ocr, and world knowledge. LLaVA https://llava-vl.github.io/blog/2024-01-30-llava-next/ (2024)." + }, + { + "key": "975_CR44", + "unstructured": "Shimizu, N., Rong, N. & Miyazaki, T. Visual question answering dataset for bilingual image understanding: a study of cross-lingual transfer using attention maps. In Proc. 27th International Conference on Computational Linguistics, 1918–1928 (Association for Computational Linguistics, 2018); http://aclweb.org/anthology/C18-1163" + }, + { + "key": "975_CR45", + "unstructured": "OpenAI. Gpt-4v(ision) system card. https://cdn.openai.com/papers/GPTV_System_Card.pdf (OpenAI, 2023)." + }, + { + "key": "975_CR46", + "unstructured": "Shing, M. & Akiba, T. Japanese stable vlm. Hugging Face https://huggingface.co/stabilityai/japanese-stable-vlm (2023)." + }, + { + "key": "975_CR47", + "doi-asserted-by": "publisher", + "unstructured": "Akiba, T., Shing, M., Tang, Y., Sun, Q. & Ha, D. Sakanaai/evolutionary-model-merge: v0.1.0 Zenodo https://doi.org/10.5281/zenodo.14241914 (2024).", + "DOI": "10.5281/zenodo.14241914" + } + ], + "container-title": "Nature Machine Intelligence", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://www.nature.com/articles/s42256-024-00975-8.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://www.nature.com/articles/s42256-024-00975-8", + "content-type": "text/html", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://www.nature.com/articles/s42256-024-00975-8.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2025, + 2, + 23 + ] + ], + "date-time": "2025-02-23T18:03:40Z", + "timestamp": 1740333820000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.nature.com/articles/s42256-024-00975-8" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2025, + 1, + 27 + ] + ] + }, + "references-count": 47, + "journal-issue": { + "issue": "2", + "published-online": { + "date-parts": [ + [ + 2025, + 2 + ] + ] + } + }, + "alternative-id": [ + "975" + ], + "URL": "http://dx.doi.org/10.1038/s42256-024-00975-8", + "relation": {}, + "ISSN": [ + "2522-5839" + ], + "subject": [], + "container-title-short": "Nat Mach Intell", + "published": { + "date-parts": [ + [ + 2025, + 1, + 27 + ] + ] + }, + "assertion": [ + { + "value": "22 April 2024", + "order": 1, + "name": "received", + "label": "Received", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "16 December 2024", + "order": 2, + "name": "accepted", + "label": "Accepted", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "27 January 2025", + "order": 3, + "name": "first_online", + "label": "First Online", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "The authors declare no competing interests.", + "order": 1, + "name": "Ethics", + "group": { + "name": "EthicsHeading", + "label": "Competing interests" + } + } + ], + "id": "ref5", + "note": "Manuscript reference 5" + }, + { + "type": "article", + "id": "ref6", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Goddard", + "given": "Charles" + }, + { + "family": "Siriwardhana", + "given": "Shamane" + }, + { + "family": "Ehghaghi", + "given": "Malikeh" + }, + { + "family": "Meyers", + "given": "Luke" + }, + { + "family": "Karpukhin", + "given": "Vlad" + }, + { + "family": "Benedict", + "given": "Brian" + }, + { + "family": "McQuade", + "given": "Mark" + }, + { + "family": "Solawetz", + "given": "Jacob" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "The rapid expansion of the open-source language model landscape presents an opportunity to merge the competencies of these model checkpoints by combining their parameters. Advances in transfer learning, the process of fine-tuning pretrained models for specific tasks, has resulted in the development of vast amounts of task-specific models, typically specialized in individual tasks and unable to utilize each other's strengths. Model merging facilitates the creation of multitask models without the need for additional training, offering a promising avenue for enhancing model performance and versatility. By preserving the intrinsic capabilities of the original models, model merging addresses complex challenges in AI - including the difficulties of catastrophic forgetting and multitask learning. To support this expanding area of research, we introduce MergeKit, a comprehensive, open-source library designed to facilitate the application of model merging strategies. MergeKit offers an extensible framework to efficiently merge models on any hardware, providing utility to researchers and practitioners. To date, thousands of models have been merged by the open-source community, leading to the creation of some of the worlds most powerful open-source model checkpoints, as assessed by the Open LLM Leaderboard. The library is accessible at https://github.com/arcee-ai/MergeKit.", + "DOI": "10.48550/arXiv.2403.13257", + "publisher": "arXiv", + "title": "Arcee's MergeKit: A Toolkit for Merging Large Language Models", + "URL": "https://arxiv.org/abs/2403.13257", + "copyright": "Creative Commons Attribution Share Alike 4.0 International", + "version": "3", + "note": "Manuscript reference 6", + "container-title": "arXiv", + "number": "arXiv:2403.13257", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref7", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Computation and Language (cs.CL)", + "Computer Vision and Pattern Recognition (cs.CV)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Yang", + "given": "Enneng" + }, + { + "family": "Shen", + "given": "Li" + }, + { + "family": "Guo", + "given": "Guibing" + }, + { + "family": "Wang", + "given": "Xingwei" + }, + { + "family": "Cao", + "given": "Xiaochun" + }, + { + "family": "Zhang", + "given": "Jie" + }, + { + "family": "Tao", + "given": "Dacheng" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Model merging is an efficient empowerment technique in the machine learning community that does not require the collection of raw training data and does not require expensive computation. As model merging becomes increasingly prevalent across various fields, it is crucial to understand the available model merging techniques comprehensively. However, there is a significant gap in the literature regarding a systematic and thorough review of these techniques. This survey provides a comprehensive overview of model merging methods and theories, their applications in various domains and settings, and future research directions. Specifically, we first propose a new taxonomic approach that exhaustively discusses existing model merging methods. Secondly, we discuss the application of model merging techniques in large language models, multimodal large language models, and more than ten machine learning subfields, including continual learning, multi-task learning, few-shot learning, etc. Finally, we highlight the remaining challenges of model merging and discuss future research directions. A comprehensive list of papers about model merging is available at https://github.com/EnnengYang/Awesome-Model-Merging-Methods-Theories-Applications.", + "DOI": "10.48550/arXiv.2408.07666", + "publisher": "arXiv", + "title": "Model Merging in LLMs, MLLMs, and Beyond: Methods, Theories, Applications and Opportunities", + "URL": "https://arxiv.org/abs/2408.07666", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "5", + "note": "Manuscript reference 7", + "container-title": "arXiv", + "number": "arXiv:2408.07666", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref8", + "categories": [ + "Computation and Language (cs.CL)", + "Multiagent Systems (cs.MA)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Zhang", + "given": "Yiqun" + }, + { + "family": "Ye", + "given": "Peng" + }, + { + "family": "Yang", + "given": "Xiaocui" + }, + { + "family": "Feng", + "given": "Shi" + }, + { + "family": "Zhang", + "given": "Shufei" + }, + { + "family": "Bai", + "given": "Lei" + }, + { + "family": "Ouyang", + "given": "Wanli" + }, + { + "family": "Hu", + "given": "Shuyue" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Evolution, the engine behind the survival and growth of life on Earth, operates through the population-based process of reproduction. Inspired by this principle, this paper formally defines a newly emerging problem -- the population-based evolution of large language models (LLMs) -- and introduces a novel framework. Starting with a population of parent LLMs, our framework enables the population to evolve through four key operations: (i) crossover, merging the weights of different parents to create offspring LLMs, (ii) mutation, introducing small, random changes to model weights to foster diversity, (iii) selection, prioritizing high-performing models, and (iv) succession, transferring the learned experience from parent to offspring LLMs. With only 200 samples per new task, the LLM population evolves rapidly to adapt to the task at hand, without any gradients. Experiments on 12 datasets show that our framework consistently outperforms existing multi-LLM merging and adaptation methods, achieving accuracy gains of up to 54.8% over the best LLM in the initial population. Moreover, our framework allows for the evolution of LLMs across multiple new tasks simultaneously, scaling effectively with populations of up to 40 LLMs, and even zero-shot generalization to unseen held-out tasks. We have open-sourced the code on GitHub and released the weights of 10 parent LLMs, fine-tuned from gemma-2-2b-it, on HuggingFace$, enabling reproduction of our proposed framework using just a single 4090 GPU with 24GB memory, without any performance degradation.", + "DOI": "10.48550/arXiv.2503.01155", + "publisher": "arXiv", + "title": "Nature-Inspired Population-Based Evolution of Large Language Models", + "URL": "https://arxiv.org/abs/2503.01155", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "1", + "note": "Manuscript reference 8", + "container-title": "arXiv", + "number": "arXiv:2503.01155", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref9", + "categories": [ + "Artificial Intelligence (cs.AI)", + "Neural and Evolutionary Computing (cs.NE)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Abrantes", + "given": "João" + }, + { + "family": "Lange", + "given": "Robert Tjarko" + }, + { + "family": "Tang", + "given": "Yujin" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Model merging is a powerful technique for integrating the specialized knowledge of multiple machine learning models into a single model. However, existing methods require manually partitioning model parameters into fixed groups for merging, which restricts the exploration of potential combinations and limits performance. To overcome these limitations, we propose Model Merging of Natural Niches (M2N2), an evolutionary algorithm with three key features: (1) dynamic adjustment of merging boundaries to progressively explore a broader range of parameter combinations; (2) a diversity preservation mechanism inspired by the competition for resources in nature, to maintain a population of diverse, high-performing models that are particularly well-suited for merging; and (3) a heuristicbased attraction metric to identify the most promising pairs of models for fusion. Our experimental results demonstrate, for the first time, that model merging can be used to evolve models entirely from scratch. Specifically, we apply M2N2 to evolve MNIST classifiers from scratch and achieve performance comparable to CMA-ES, while being computationally more efficient. Furthermore, M2N2 scales to merge specialized language and image generation models, achieving state-of-the-art performance. Notably, it preserves crucial model capabilities beyond those explicitly optimized by the fitness function, highlighting its robustness and versatility. Our code is available at https://github.com/SakanaAI/natural_niches", + "DOI": "10.48550/arXiv.2508.16204", + "publisher": "arXiv", + "title": "Competition and Attraction Improve Model Fusion", + "URL": "https://arxiv.org/abs/2508.16204", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 9", + "container-title": "arXiv", + "number": "arXiv:2508.16204", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref10", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Subramaniam", + "given": "Vighnesh" + }, + { + "family": "Du", + "given": "Yilun" + }, + { + "family": "Tenenbaum", + "given": "Joshua B." + }, + { + "family": "Torralba", + "given": "Antonio" + }, + { + "family": "Li", + "given": "Shuang" + }, + { + "family": "Mordatch", + "given": "Igor" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Large language models (LLMs) have achieved remarkable performance in recent years but are fundamentally limited by the underlying training data. To improve models beyond the training data, recent works have explored how LLMs can be used to generate synthetic data for autonomous self-improvement. However, successive steps of self-improvement can reach a point of diminishing returns. In this work, we propose a complementary approach towards self-improvement where finetuning is applied to a multiagent society of language models. A group of language models, all starting from the same base model, are independently specialized by updating each one using data generated through multiagent interactions among the models. By training each model on independent sets of data, we illustrate how this approach enables specialization across models and diversification over the set of models. As a result, our overall system is able to preserve diverse reasoning chains and autonomously improve over many more rounds of fine-tuning than single-agent self-improvement methods. We quantitatively illustrate the efficacy of the approach across a wide suite of reasoning tasks.", + "DOI": "10.48550/arXiv.2501.05707", + "publisher": "arXiv", + "title": "Multiagent Finetuning: Self Improvement with Diverse Reasoning Chains", + "URL": "https://arxiv.org/abs/2501.05707", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 10", + "container-title": "arXiv", + "number": "arXiv:2501.05707", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref11", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "literal": "Nvidia" + }, + { + "literal": ":" + }, + { + "family": "Adler", + "given": "Bo" + }, + { + "family": "Agarwal", + "given": "Niket" + }, + { + "family": "Aithal", + "given": "Ashwath" + }, + { + "family": "Anh", + "given": "Dong H." + }, + { + "family": "Bhattacharya", + "given": "Pallab" + }, + { + "family": "Brundyn", + "given": "Annika" + }, + { + "family": "Casper", + "given": "Jared" + }, + { + "family": "Catanzaro", + "given": "Bryan" + }, + { + "family": "Clay", + "given": "Sharon" + }, + { + "family": "Cohen", + "given": "Jonathan" + }, + { + "family": "Das", + "given": "Sirshak" + }, + { + "family": "Dattagupta", + "given": "Ayush" + }, + { + "family": "Delalleau", + "given": "Olivier" + }, + { + "family": "Derczynski", + "given": "Leon" + }, + { + "family": "Dong", + "given": "Yi" + }, + { + "family": "Egert", + "given": "Daniel" + }, + { + "family": "Evans", + "given": "Ellie" + }, + { + "family": "Ficek", + "given": "Aleksander" + }, + { + "family": "Fridman", + "given": "Denys" + }, + { + "family": "Ghosh", + "given": "Shaona" + }, + { + "family": "Ginsburg", + "given": "Boris" + }, + { + "family": "Gitman", + "given": "Igor" + }, + { + "family": "Grzegorzek", + "given": "Tomasz" + }, + { + "family": "Hero", + "given": "Robert" + }, + { + "family": "Huang", + "given": "Jining" + }, + { + "family": "Jawa", + "given": "Vibhu" + }, + { + "family": "Jennings", + "given": "Joseph" + }, + { + "family": "Jhunjhunwala", + "given": "Aastha" + }, + { + "family": "Kamalu", + "given": "John" + }, + { + "family": "Khan", + "given": "Sadaf" + }, + { + "family": "Kuchaiev", + "given": "Oleksii" + }, + { + "family": "LeGresley", + "given": "Patrick" + }, + { + "family": "Li", + "given": "Hui" + }, + { + "family": "Liu", + "given": "Jiwei" + }, + { + "family": "Liu", + "given": "Zihan" + }, + { + "family": "Long", + "given": "Eileen" + }, + { + "family": "Mahabaleshwarkar", + "given": "Ameya Sunil" + }, + { + "family": "Majumdar", + "given": "Somshubra" + }, + { + "family": "Maki", + "given": "James" + }, + { + "family": "Martinez", + "given": "Miguel" + }, + { + "family": "de Melo", + "given": "Maer Rodrigues" + }, + { + "family": "Moshkov", + "given": "Ivan" + }, + { + "family": "Narayanan", + "given": "Deepak" + }, + { + "family": "Narenthiran", + "given": "Sean" + }, + { + "family": "Navarro", + "given": "Jesus" + }, + { + "family": "Nguyen", + "given": "Phong" + }, + { + "family": "Nitski", + "given": "Osvald" + }, + { + "family": "Noroozi", + "given": "Vahid" + }, + { + "family": "Nutheti", + "given": "Guruprasad" + }, + { + "family": "Parisien", + "given": "Christopher" + }, + { + "family": "Parmar", + "given": "Jupinder" + }, + { + "family": "Patwary", + "given": "Mostofa" + }, + { + "family": "Pawelec", + "given": "Krzysztof" + }, + { + "family": "Ping", + "given": "Wei" + }, + { + "family": "Prabhumoye", + "given": "Shrimai" + }, + { + "family": "Roy", + "given": "Rajarshi" + }, + { + "family": "Saar", + "given": "Trisha" + }, + { + "family": "Sabavat", + "given": "Vasanth Rao Naik" + }, + { + "family": "Satheesh", + "given": "Sanjeev" + }, + { + "family": "Scowcroft", + "given": "Jane Polak" + }, + { + "family": "Sewall", + "given": "Jason" + }, + { + "family": "Shamis", + "given": "Pavel" + }, + { + "family": "Shen", + "given": "Gerald" + }, + { + "family": "Shoeybi", + "given": "Mohammad" + }, + { + "family": "Sizer", + "given": "Dave" + }, + { + "family": "Smelyanskiy", + "given": "Misha" + }, + { + "family": "Soares", + "given": "Felipe" + }, + { + "family": "Sreedhar", + "given": "Makesh Narsimhan" + }, + { + "family": "Su", + "given": "Dan" + }, + { + "family": "Subramanian", + "given": "Sandeep" + }, + { + "family": "Sun", + "given": "Shengyang" + }, + { + "family": "Toshniwal", + "given": "Shubham" + }, + { + "family": "Wang", + "given": "Hao" + }, + { + "family": "Wang", + "given": "Zhilin" + }, + { + "family": "You", + "given": "Jiaxuan" + }, + { + "family": "Zeng", + "given": "Jiaqi" + }, + { + "family": "Zhang", + "given": "Jimmy" + }, + { + "family": "Zhang", + "given": "Jing" + }, + { + "family": "Zhang", + "given": "Vivienne" + }, + { + "family": "Zhang", + "given": "Yian" + }, + { + "family": "Zhu", + "given": "Chen" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "We release the Nemotron-4 340B model family, including Nemotron-4-340B-Base, Nemotron-4-340B-Instruct, and Nemotron-4-340B-Reward. Our models are open access under the NVIDIA Open Model License Agreement, a permissive model license that allows distribution, modification, and use of the models and its outputs. These models perform competitively to open access models on a wide range of evaluation benchmarks, and were sized to fit on a single DGX H100 with 8 GPUs when deployed in FP8 precision. We believe that the community can benefit from these models in various research studies and commercial applications, especially for generating synthetic data to train smaller language models. Notably, over 98% of data used in our model alignment process is synthetically generated, showcasing the effectiveness of these models in generating synthetic data. To further support open research and facilitate model development, we are also open-sourcing the synthetic data generation pipeline used in our model alignment process.", + "DOI": "10.48550/arXiv.2406.11704", + "publisher": "arXiv", + "title": "Nemotron-4 340B Technical Report", + "URL": "https://arxiv.org/abs/2406.11704", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 11", + "container-title": "arXiv", + "number": "arXiv:2406.11704", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref12", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Abdin", + "given": "Marah" + }, + { + "family": "Aneja", + "given": "Jyoti" + }, + { + "family": "Behl", + "given": "Harkirat" + }, + { + "family": "Bubeck", + "given": "Sébastien" + }, + { + "family": "Eldan", + "given": "Ronen" + }, + { + "family": "Gunasekar", + "given": "Suriya" + }, + { + "family": "Harrison", + "given": "Michael" + }, + { + "family": "Hewett", + "given": "Russell J." + }, + { + "family": "Javaheripi", + "given": "Mojan" + }, + { + "family": "Kauffmann", + "given": "Piero" + }, + { + "family": "Lee", + "given": "James R." + }, + { + "family": "Lee", + "given": "Yin Tat" + }, + { + "family": "Li", + "given": "Yuanzhi" + }, + { + "family": "Liu", + "given": "Weishung" + }, + { + "family": "Mendes", + "given": "Caio C. T." + }, + { + "family": "Nguyen", + "given": "Anh" + }, + { + "family": "Price", + "given": "Eric" + }, + { + "family": "de Rosa", + "given": "Gustavo" + }, + { + "family": "Saarikivi", + "given": "Olli" + }, + { + "family": "Salim", + "given": "Adil" + }, + { + "family": "Shah", + "given": "Shital" + }, + { + "family": "Wang", + "given": "Xin" + }, + { + "family": "Ward", + "given": "Rachel" + }, + { + "family": "Wu", + "given": "Yue" + }, + { + "family": "Yu", + "given": "Dingli" + }, + { + "family": "Zhang", + "given": "Cyril" + }, + { + "family": "Zhang", + "given": "Yi" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "We present phi-4, a 14-billion parameter language model developed with a training recipe that is centrally focused on data quality. Unlike most language models, where pre-training is based primarily on organic data sources such as web content or code, phi-4 strategically incorporates synthetic data throughout the training process. While previous models in the Phi family largely distill the capabilities of a teacher model (specifically GPT-4), phi-4 substantially surpasses its teacher model on STEM-focused QA capabilities, giving evidence that our data-generation and post-training techniques go beyond distillation. Despite minimal changes to the phi-3 architecture, phi-4 achieves strong performance relative to its size -- especially on reasoning-focused benchmarks -- due to improved data, training curriculum, and innovations in the post-training scheme.", + "DOI": "10.48550/arXiv.2412.08905", + "publisher": "arXiv", + "title": "Phi-4 Technical Report", + "URL": "https://arxiv.org/abs/2412.08905", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 12", + "container-title": "arXiv", + "number": "arXiv:2412.08905", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref13", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Wang", + "given": "Yizhong" + }, + { + "family": "Kordi", + "given": "Yeganeh" + }, + { + "family": "Mishra", + "given": "Swaroop" + }, + { + "family": "Liu", + "given": "Alisa" + }, + { + "family": "Smith", + "given": "Noah A." + }, + { + "family": "Khashabi", + "given": "Daniel" + }, + { + "family": "Hajishirzi", + "given": "Hannaneh" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "Large \"instruction-tuned\" language models (i.e., finetuned to respond to instructions) have demonstrated a remarkable ability to generalize zero-shot to new tasks. Nevertheless, they depend heavily on human-written instruction data that is often limited in quantity, diversity, and creativity, therefore hindering the generality of the tuned model. We introduce Self-Instruct, a framework for improving the instruction-following capabilities of pretrained language models by bootstrapping off their own generations. Our pipeline generates instructions, input, and output samples from a language model, then filters invalid or similar ones before using them to finetune the original model. Applying our method to the vanilla GPT3, we demonstrate a 33% absolute improvement over the original model on Super-NaturalInstructions, on par with the performance of InstructGPT-001, which was trained with private user data and human annotations. For further evaluation, we curate a set of expert-written instructions for novel tasks, and show through human evaluation that tuning GPT3 with Self-Instruct outperforms using existing public instruction datasets by a large margin, leaving only a 5% absolute gap behind InstructGPT-001. Self-Instruct provides an almost annotation-free method for aligning pre-trained language models with instructions, and we release our large synthetic dataset to facilitate future studies on instruction tuning. Our code and data are available at https://github.com/yizhongw/self-instruct.", + "DOI": "10.48550/arXiv.2212.10560", + "publisher": "arXiv", + "title": "Self-Instruct: Aligning Language Models with Self-Generated Instructions", + "URL": "https://arxiv.org/abs/2212.10560", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 13", + "container-title": "arXiv", + "number": "arXiv:2212.10560", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref14", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Thompson", + "given": "Brian" + }, + { + "family": "Dhaliwal", + "given": "Mehak Preet" + }, + { + "family": "Frisch", + "given": "Peter" + }, + { + "family": "Domhan", + "given": "Tobias" + }, + { + "family": "Federico", + "given": "Marcello" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "We show that content on the web is often translated into many languages, and the low quality of these multi-way translations indicates they were likely created using Machine Translation (MT). Multi-way parallel, machine generated content not only dominates the translations in lower resource languages; it also constitutes a large fraction of the total web content in those languages. We also find evidence of a selection bias in the type of content which is translated into many languages, consistent with low quality English content being translated en masse into many lower resource languages, via MT. Our work raises serious concerns about training models such as multilingual large language models on both monolingual and bilingual data scraped from the web.", + "DOI": "10.48550/arXiv.2401.05749", + "publisher": "arXiv", + "title": "A Shocking Amount of the Web is Machine Translated: Insights from Multi-Way Parallelism", + "URL": "https://arxiv.org/abs/2401.05749", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 14", + "container-title": "arXiv", + "number": "arXiv:2401.05749", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref15", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (cs.LG)", + "Social and Information Networks (cs.SI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences", + "I.2.7" + ], + "author": [ + { + "family": "Liang", + "given": "Weixin" + }, + { + "family": "Izzo", + "given": "Zachary" + }, + { + "family": "Zhang", + "given": "Yaohui" + }, + { + "family": "Lepp", + "given": "Haley" + }, + { + "family": "Cao", + "given": "Hancheng" + }, + { + "family": "Zhao", + "given": "Xuandong" + }, + { + "family": "Chen", + "given": "Lingjiao" + }, + { + "family": "Ye", + "given": "Haotian" + }, + { + "family": "Liu", + "given": "Sheng" + }, + { + "family": "Huang", + "given": "Zhi" + }, + { + "family": "McFarland", + "given": "Daniel A." + }, + { + "family": "Zou", + "given": "James Y." + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "We present an approach for estimating the fraction of text in a large corpus which is likely to be substantially modified or produced by a large language model (LLM). Our maximum likelihood model leverages expert-written and AI-generated reference texts to accurately and efficiently examine real-world LLM-use at the corpus level. We apply this approach to a case study of scientific peer review in AI conferences that took place after the release of ChatGPT: ICLR 2024, NeurIPS 2023, CoRL 2023 and EMNLP 2023. Our results suggest that between 6.5% and 16.9% of text submitted as peer reviews to these conferences could have been substantially modified by LLMs, i.e. beyond spell-checking or minor writing updates. The circumstances in which generated text occurs offer insight into user behavior: the estimated fraction of LLM-generated text is higher in reviews which report lower confidence, were submitted close to the deadline, and from reviewers who are less likely to respond to author rebuttals. We also observe corpus-level trends in generated text which may be too subtle to detect at the individual level, and discuss the implications of such trends on peer review. We call for future interdisciplinary work to examine how LLM use is changing our information and knowledge practices.", + "DOI": "10.48550/arXiv.2403.07183", + "publisher": "arXiv", + "title": "Monitoring AI-Modified Content at Scale: A Case Study on the Impact of ChatGPT on AI Conference Peer Reviews", + "URL": "https://arxiv.org/abs/2403.07183", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "4", + "note": "Manuscript reference 15", + "container-title": "arXiv", + "number": "arXiv:2403.07183", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref16", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Computation and Language (cs.CL)", + "Computer Vision and Pattern Recognition (cs.CV)", + "Computers and Society (cs.CY)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Villalobos", + "given": "Pablo" + }, + { + "family": "Ho", + "given": "Anson" + }, + { + "family": "Sevilla", + "given": "Jaime" + }, + { + "family": "Besiroglu", + "given": "Tamay" + }, + { + "family": "Heim", + "given": "Lennart" + }, + { + "family": "Hobbhahn", + "given": "Marius" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "We investigate the potential constraints on LLM scaling posed by the availability of public human-generated text data. We forecast the growing demand for training data based on current trends and estimate the total stock of public human text data. Our findings indicate that if current LLM development trends continue, models will be trained on datasets roughly equal in size to the available stock of public human text data between 2026 and 2032, or slightly earlier if models are overtrained. We explore how progress in language modeling can continue when human-generated text datasets cannot be scaled any further. We argue that synthetic data generation, transfer learning from data-rich domains, and data efficiency improvements might support further progress.", + "DOI": "10.48550/arXiv.2211.04325", + "publisher": "arXiv", + "title": "Will we run out of data? Limits of LLM scaling based on human-generated data", + "URL": "https://arxiv.org/abs/2211.04325", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 16", + "container-title": "arXiv", + "number": "arXiv:2211.04325", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 8 + ] + ], + "date-time": "2026-09-08T14:18:08Z", + "timestamp": 1788877088403, + "version": "build-2803163510" + }, + "reference-count": 195, + "publisher": "Springer Science and Business Media LLC", + "issue": "11", + "license": [ + { + "start": { + "date-parts": [ + [ + 2023, + 11, + 20 + ] + ], + "date-time": "2023-11-20T00:00:00Z", + "timestamp": 1700438400000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://www.springernature.com/gp/researchers/text-and-data-mining" + }, + { + "start": { + "date-parts": [ + [ + 2023, + 11, + 20 + ] + ], + "date-time": "2023-11-20T00:00:00Z", + "timestamp": 1700438400000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://www.springernature.com/gp/researchers/text-and-data-mining" + } + ], + "content-domain": { + "domain": [ + "link.springer.com" + ], + "crossmark-restriction": false + }, + "DOI": "10.1038/s41562-023-01742-2", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2023, + 11, + 20 + ] + ], + "date-time": "2023-11-20T12:02:56Z", + "timestamp": 1700481776000 + }, + "page": "1855-1868", + "update-policy": "https://doi.org/10.1007/springer_crossmark_policy", + "source": "Crossref", + "is-referenced-by-count": 119, + "title": "Machine culture", + "prefix": "10.1038", + "volume": "7", + "author": [ + { + "ORCID": "https://orcid.org/0000-0002-1642-8744", + "authenticated-orcid": false, + "given": "Levin", + "family": "Brinkmann", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Fabian", + "family": "Baumann", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Jean-François", + "family": "Bonnefon", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-1512-6496", + "authenticated-orcid": false, + "given": "Maxime", + "family": "Derex", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Thomas F.", + "family": "Müller", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-1805-9399", + "authenticated-orcid": false, + "given": "Anne-Marie", + "family": "Nussberger", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Agnieszka", + "family": "Czaplicka", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Alberto", + "family": "Acerbi", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-5138-7255", + "authenticated-orcid": false, + "given": "Thomas L.", + "family": "Griffiths", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-5012-0065", + "authenticated-orcid": false, + "given": "Joseph", + "family": "Henrich", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-3153-916X", + "authenticated-orcid": false, + "given": "Joel Z.", + "family": "Leibo", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-0387-5377", + "authenticated-orcid": false, + "given": "Richard", + "family": "McElreath", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Pierre-Yves", + "family": "Oudeyer", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Jonathan", + "family": "Stray", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-1796-4303", + "authenticated-orcid": false, + "given": "Iyad", + "family": "Rahwan", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "297", + "published-online": { + "date-parts": [ + [ + 2023, + 11, + 20 + ] + ] + }, + "reference": [ + { + "key": "1742_CR1", + "doi-asserted-by": "crossref", + "unstructured": "Henrich, J. The Secret of Our Success: How Culture Is Driving Human Evolution, Domesticating Our Species, and Making Us Smarter (Princeton Univ. Press, 2016).", + "DOI": "10.1515/9781400873296" + }, + { + "key": "1742_CR2", + "doi-asserted-by": "crossref", + "unstructured": "Heyes, C. Cognitive Gadgets: The Cultural Evolution of Thinking (Harvard Univ. Press, 2018).", + "DOI": "10.4159/9780674985155" + }, + { + "key": "1742_CR3", + "doi-asserted-by": "publisher", + "first-page": "95", + "DOI": "10.1126/science.abn0915", + "volume": "376", + "author": "B Thompson", + "year": "2022", + "unstructured": "Thompson, B., van Opheusden, B., Sumers, T. & Griffiths, T. L. Complex cognitive algorithms preserved by selective social learning in experimental populations. Science 376, 95–98 (2022).", + "journal-title": "Science" + }, + { + "key": "1742_CR4", + "doi-asserted-by": "publisher", + "first-page": "27", + "DOI": "10.1146/annurev-ecolsys-110218-025040", + "volume": "50", + "author": "A Whiten", + "year": "2019", + "unstructured": "Whiten, A. Cultural evolution in animals. Annu. Rev. Ecol. Evol. Syst. 50, 27–48 (2019).", + "journal-title": "Annu. Rev. Ecol. Evol. Syst." + }, + { + "key": "1742_CR5", + "doi-asserted-by": "publisher", + "first-page": "435", + "DOI": "10.1038/nature02029", + "volume": "426", + "author": "RD Gray", + "year": "2003", + "unstructured": "Gray, R. D. & Atkinson, Q. D. Language-tree divergence times support the Anatolian theory of Indo-European origin. Nature 426, 435–439 (2003).", + "journal-title": "Nature" + }, + { + "key": "1742_CR6", + "doi-asserted-by": "publisher", + "first-page": "10681", + "DOI": "10.1073/pnas.0707835105", + "volume": "105", + "author": "S Kirby", + "year": "2008", + "unstructured": "Kirby, S., Cornish, H. & Smith, K. Cumulative cultural evolution in the laboratory: an experimental approach to the origins of structure in human language. Proc. Natl Acad. Sci. USA 105, 10681–10686 (2008).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR7", + "unstructured": "Shennan, S. Genes, Memes, and Human History: Darwinian Archaeology and Cultural Evolution (Thames & Hudson, 2002)." + }, + { + "key": "1742_CR8", + "doi-asserted-by": "publisher", + "first-page": "477", + "DOI": "10.1177/0003122420921538", + "volume": "85", + "author": "K Kiley", + "year": "2020", + "unstructured": "Kiley, K. & Vaisey, S. Measuring stability and change in personal culture using panel data. Am. Sociol. Rev. 85, 477–506 (2020).", + "journal-title": "Am. Sociol. Rev." + }, + { + "key": "1742_CR9", + "doi-asserted-by": "crossref", + "unstructured": "Mokyr, J. A Culture of Growth: The Origins of the Modern Economy (Princeton Univ. Press, 2017).", + "DOI": "10.1515/9781400882915" + }, + { + "key": "1742_CR10", + "first-page": "1", + "volume": "58", + "author": "A Mesoudi", + "year": "2004", + "unstructured": "Mesoudi, A., Whiten, A. & Laland, K. N. Perspective: is human cultural evolution Darwinian? Evidence reviewed from the perspective of the origin of species. Evolution 58, 1–11 (2004).", + "journal-title": "Evolution" + }, + { + "key": "1742_CR11", + "unstructured": "Needham, J. in Chemistry and Chemical Technology, Pt. 7: Military Technology—the Gunpowder Epic Vol. 5 (Cambridge Univ. Press, 1986)." + }, + { + "key": "1742_CR12", + "doi-asserted-by": "crossref", + "unstructured": "Eisenstein, E. L. The Printing Press as an Agent of Change Vol. 1 (Cambridge Univ. Press, 1980).", + "DOI": "10.1017/CBO9781107049963" + }, + { + "key": "1742_CR13", + "doi-asserted-by": "publisher", + "first-page": "109", + "DOI": "10.1556/JEP.9.2011.29.1", + "volume": "9", + "author": "A Mesoudi", + "year": "2011", + "unstructured": "Mesoudi, A. Culture and the Darwinian Renaissance in the social sciences and humanities: for a special issue of the Journal of Evolutionary Psychology, “The Darwinian Renaissance in the Social Sciences and Humanities”. J. Evol. Psychol. 9, 109–124 (2011).", + "journal-title": "J. Evol. Psychol." + }, + { + "key": "1742_CR14", + "doi-asserted-by": "crossref", + "unstructured": "Acerbi, A. Cultural Evolution in the Digital Age (Oxford Univ. Press, 2019).", + "DOI": "10.1093/oso/9780198835943.001.0001" + }, + { + "key": "1742_CR15", + "unstructured": "Russell, S. & Norvig, P. Artificial Intelligence: A Modern Approach (Prentice Hall, 2009)." + }, + { + "key": "1742_CR16", + "unstructured": "Kurzweil, R., Richter, R., Kurzweil, R. & Schneider, M. L. The Age of Intelligent Machines (MIT Press, 1990)." + }, + { + "key": "1742_CR17", + "doi-asserted-by": "publisher", + "first-page": "139", + "DOI": "10.1145/3422622", + "volume": "63", + "author": "I Goodfellow", + "year": "2020", + "unstructured": "Goodfellow, I. et al. Generative adversarial networks. Commun. ACM 63, 139–144 (2020).", + "journal-title": "Commun. ACM" + }, + { + "key": "1742_CR18", + "doi-asserted-by": "publisher", + "unstructured": "Epstein, Z., Boulais, O., Gordon, S. & Groh, M. Interpolating GANs to scaffold autotelic creativity. Preprint at arXiv https://doi.org/10.48550/arXiv.2007.11119 (2020).", + "DOI": "10.48550/arXiv.2007.11119" + }, + { + "key": "1742_CR19", + "unstructured": "Ramesh, A. et al. Zero-shot text-to-image generation. In International Conf. on Machine Learning 8821–8831 (PMLR, 2021)." + }, + { + "key": "1742_CR20", + "doi-asserted-by": "publisher", + "unstructured": "Ramesh, A., Dhariwal, P., Nichol, A., Chu, C. & Chen, M. Hierarchical text-conditional image generation with CLIP latents. Preprint at arXiv https://doi.org/10.48550/arXiv.2204.06125 (2022).", + "DOI": "10.48550/arXiv.2204.06125" + }, + { + "key": "1742_CR21", + "doi-asserted-by": "crossref", + "unstructured": "Rombach, R. et al. High-resolution image synthesis with latent diffusion models. In Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recogn. 10684–10695 (2022).", + "DOI": "10.1109/CVPR52688.2022.01042" + }, + { + "key": "1742_CR22", + "doi-asserted-by": "publisher", + "first-page": "101515", + "DOI": "10.1016/j.isci.2020.101515", + "volume": "23", + "author": "Z Epstein", + "year": "2020", + "unstructured": "Epstein, Z., Levine, S., Rand, D. G. & Rahwan, I. Who gets credit for AI-generated art? iScience 23, 101515 (2020).", + "journal-title": "iScience" + }, + { + "key": "1742_CR23", + "doi-asserted-by": "publisher", + "first-page": "1", + "DOI": "10.1111/j.1551-6709.2010.01142.x", + "volume": "35", + "author": "P Thagard", + "year": "2011", + "unstructured": "Thagard, P. & Stewart, T. C. The AHA! experience: creativity through emergent binding in neural networks. Cogn. Sci. 35, 1–33 (2011).", + "journal-title": "Cogn. Sci." + }, + { + "key": "1742_CR24", + "unstructured": "Mikolov, T., Yih, W. & Zweig, G. Linguistic regularities in continuous space word representations. In Proc. 2013 Conf. of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies 746–751 (Association for Computational Linguistics, 2013)." + }, + { + "key": "1742_CR25", + "doi-asserted-by": "publisher", + "first-page": "1068", + "DOI": "10.1038/s42256-022-00591-4", + "volume": "4", + "author": "C Colas", + "year": "2022", + "unstructured": "Colas, C., Karch, T., Moulin-Frier, C. & Oudeyer, P.-Y. Language and culture internalization for human-like autotelic AI. Nat. Mach. Intell. 4, 1068–1076 (2022).", + "journal-title": "Nat. Mach. Intell." + }, + { + "key": "1742_CR26", + "doi-asserted-by": "publisher", + "first-page": "191569", + "DOI": "10.1098/rsos.191569", + "volume": "7", + "author": "E Lisi", + "year": "2020", + "unstructured": "Lisi, E., Malekzadeh, M., Haddadi, H., Lau, F.D.-H. & Flaxman, S. Modelling and forecasting art movements with CGANs. R. Soc. Open Sci. 7, 191569 (2020).", + "journal-title": "R. Soc. Open Sci." + }, + { + "key": "1742_CR27", + "doi-asserted-by": "publisher", + "unstructured": "Elgammal, A., Liu, B., Elhoseiny, M. & Mazzone, M. CAN: Creative Adversarial Networks, generating ‘art’ by learning about styles and deviating from style norms. Preprint at arXiv https://doi.org/10.48550/arXiv.1706.07068 (2017).", + "DOI": "10.48550/arXiv.1706.07068" + }, + { + "key": "1742_CR28", + "first-page": "1350", + "volume": "10", + "author": "Y Wang", + "year": "2023", + "unstructured": "Wang, Y., Shimada, K. & Barati Farimani, A. Airfoil GAN: encoding and synthesizing airfoils for aerodynamic shape optimization. J. Comput. Des. Eng. 10, 1350–1362 (2023).", + "journal-title": "J. Comput. Des. Eng." + }, + { + "key": "1742_CR29", + "unstructured": "Metz, C. In two moves, AlphaGo and Lee Sedol redefined the future. Wired (16 March 2016)." + }, + { + "key": "1742_CR30", + "doi-asserted-by": "publisher", + "first-page": "354", + "DOI": "10.1038/nature24270", + "volume": "550", + "author": "D Silver", + "year": "2017", + "unstructured": "Silver, D. et al. Mastering the game of Go without human knowledge. Nature 550, 354–359 (2017).", + "journal-title": "Nature" + }, + { + "key": "1742_CR31", + "doi-asserted-by": "publisher", + "first-page": "e2214840120", + "DOI": "10.1073/pnas.2214840120", + "volume": "120", + "author": "M Shin", + "year": "2023", + "unstructured": "Shin, M., Kim, J., van Opheusden, B. & Griffiths, T. L. Superhuman artificial intelligence can improve human decision-making by increasing novelty. Proc. Natl Acad. Sci. USA 120, e2214840120 (2023).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR32", + "doi-asserted-by": "publisher", + "unstructured": "Choi, S., Kim, N., Kim, J. & Kang, H. How does AI improve human decision-making? Evidence from the AI-powered Go program. Preprint at SSRN https://doi.org/10.2139/ssrn.3893835 (2022).", + "DOI": "10.2139/ssrn.3893835" + }, + { + "key": "1742_CR33", + "first-page": "43", + "volume": "43", + "author": "M Shin", + "year": "2021", + "unstructured": "Shin, M., Kim, J. & Kim, M. Human learning from artificial intelligence: evidence from human Go players’ decisions after AlphaGo. Proc. Annu. Meet. Cogn. Sci. Soc. 43, 43 (2021).", + "journal-title": "Proc. Annu. Meet. Cogn. Sci. Soc." + }, + { + "key": "1742_CR34", + "doi-asserted-by": "publisher", + "first-page": "604", + "DOI": "10.1038/s41586-020-03051-4", + "volume": "588", + "author": "J Schrittwieser", + "year": "2020", + "unstructured": "Schrittwieser, J. et al. Mastering Atari, Go, chess and shogi by planning with a learned model. Nature 588, 604–609 (2020).", + "journal-title": "Nature" + }, + { + "key": "1742_CR35", + "doi-asserted-by": "publisher", + "first-page": "47", + "DOI": "10.1038/s41586-022-05172-4", + "volume": "610", + "author": "A Fawzi", + "year": "2022", + "unstructured": "Fawzi, A. et al. Discovering faster matrix multiplication algorithms with reinforcement learning. Nature 610, 47–53 (2022).", + "journal-title": "Nature" + }, + { + "key": "1742_CR36", + "doi-asserted-by": "publisher", + "first-page": "102274", + "DOI": "10.1016/j.lindif.2023.102274", + "volume": "103", + "author": "E Kasneci", + "year": "2023", + "unstructured": "Kasneci, E. et al. ChatGPT for good? On opportunities and challenges of large language models for education. Learn. Individ. Differ. 103, 102274 (2023).", + "journal-title": "Learn. Individ. Differ." + }, + { + "key": "1742_CR37", + "doi-asserted-by": "publisher", + "first-page": "209", + "DOI": "10.1177/02683962211048201", + "volume": "37", + "author": "G Wagner", + "year": "2022", + "unstructured": "Wagner, G., Lukyanenko, R. & Paré, G. Artificial intelligence and the conduct of literature reviews. J. Inf. Technol. 37, 209–226 (2022).", + "journal-title": "J. Inf. Technol." + }, + { + "key": "1742_CR38", + "doi-asserted-by": "publisher", + "unstructured": "Chen, M. et al. Evaluating large language models trained on code. Preprint at arXiv https://doi.org/10.48550/arXiv.2107.03374 (2021).", + "DOI": "10.48550/arXiv.2107.03374" + }, + { + "key": "1742_CR39", + "doi-asserted-by": "publisher", + "unstructured": "Eloundou, T., Manning, S., Mishkin, P. & Rock, D. GPTs are GPTs: an early look at the labor market impact potential of large language models. Preprint at arXiv https://doi.org/10.48550/arXiv.2303.10130 (2023).", + "DOI": "10.48550/arXiv.2303.10130" + }, + { + "key": "1742_CR40", + "doi-asserted-by": "publisher", + "unstructured": "Stevenson, C., Smal, I., Baas, M., Grasman, R. & van der Maas, H. Putting GPT-3’s creativity to the (alternative uses) test. Preprint at arXiv https://doi.org/10.48550/arXiv.2206.08932 (2022).", + "DOI": "10.48550/arXiv.2206.08932" + }, + { + "key": "1742_CR41", + "unstructured": "Popli, N. How to get a six-figure job as an AI prompt engineer. Time https://time.com/6272103/ai-prompt-engineer-job/ (14 April 2023)." + }, + { + "key": "1742_CR42", + "doi-asserted-by": "publisher", + "first-page": "1110", + "DOI": "10.1126/science.adh4451", + "volume": "380", + "author": "Z Epstein", + "year": "2023", + "unstructured": "Epstein, Z., Hertzmann, A. & the Investigators of Human Creativity. Art and the science of generative AI. Science 380, 1110–1111 (2023).", + "journal-title": "Science" + }, + { + "key": "1742_CR43", + "doi-asserted-by": "publisher", + "unstructured": "Oppenlaender, J. The creativity of text-to-image generation. In Proc. 25th International Academic Mindtrek Conference 192–202 (Association for Computing Machinery, 2022); https://doi.org/10.1145/3569219.3569352", + "DOI": "10.1145/3569219.3569352" + }, + { + "key": "1742_CR44", + "doi-asserted-by": "crossref", + "unstructured": "Li, Z. (L.), Fang, X. & Sheng, O. R. L. A survey of link recommendation for social networks: methods, theoretical foundations, and future research directions. ACM Trans. Manage. Inf. Syst. 9, 1–26 (2018).", + "DOI": "10.1145/3131782" + }, + { + "key": "1742_CR45", + "doi-asserted-by": "publisher", + "unstructured": "Lops, P., de Gemmis, M. & Semeraro, G. in Recommender Systems Handbook (eds Ricci, F. et al.) 73–105 (Springer US, 2011); https://doi.org/10.1007/978-0-387-85820-3_3", + "DOI": "10.1007/978-0-387-85820-3_3" + }, + { + "key": "1742_CR46", + "doi-asserted-by": "publisher", + "first-page": "421425", + "DOI": "10.1155/2009/421425", + "volume": "2009", + "author": "X Su", + "year": "2009", + "unstructured": "Su, X. & Khoshgoftaar, T. M. A survey of collaborative filtering techniques. Adv. Artif. Intell. 2009, 421425 (2009).", + "journal-title": "Adv. Artif. Intell." + }, + { + "key": "1742_CR47", + "doi-asserted-by": "crossref", + "unstructured": "Anderson, A., Maystre, L., Anderson, I., Mehrotra, R. & Lalmas, M. Algorithmic effects on the diversity of consumption on Spotify. In Proc. Web Conference 2020 2155–2165 (Association for Computing Machinery, 2020).", + "DOI": "10.1145/3366423.3380281" + }, + { + "key": "1742_CR48", + "doi-asserted-by": "publisher", + "first-page": "e33785", + "DOI": "10.1371/journal.pone.0033785", + "volume": "7", + "author": "C Krumme", + "year": "2012", + "unstructured": "Krumme, C., Cebrian, M., Pickard, G. & Pentland, S. Quantifying social influence in an online cultural market. PLoS ONE 7, e33785 (2012).", + "journal-title": "PLoS ONE" + }, + { + "key": "1742_CR49", + "doi-asserted-by": "publisher", + "first-page": "854", + "DOI": "10.1126/science.1121066", + "volume": "311", + "author": "MJ Salganik", + "year": "2006", + "unstructured": "Salganik, M. J., Dodds, P. S. & Watts, D. J. Experimental study of inequality and unpredictability in an artificial cultural market. Science 311, 854–856 (2006).", + "journal-title": "Science" + }, + { + "key": "1742_CR50", + "doi-asserted-by": "crossref", + "unstructured": "Richerson, P. J. & Boyd, R. Not by Genes Alone: How Culture Transformed Human Evolution (Univ. of Chicago Press, 2005).", + "DOI": "10.7208/chicago/9780226712130.001.0001" + }, + { + "key": "1742_CR51", + "doi-asserted-by": "crossref", + "unstructured": "Cavalli-Sforza, L. L. & Feldman, M. W. Cultural Transmission and Evolution: A Quantitative Approach (Princeton Univ. Press, 1981).", + "DOI": "10.1515/9780691209357" + }, + { + "key": "1742_CR52", + "doi-asserted-by": "publisher", + "first-page": "7853", + "DOI": "10.1073/pnas.1620741114", + "volume": "114", + "author": "A Mesoudi", + "year": "2017", + "unstructured": "Mesoudi, A. Pursuing Darwin’s curious parallel: prospects for a science of cultural evolution. Proc. Natl Acad. Sci. USA 114, 7853–7860 (2017).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR53", + "doi-asserted-by": "publisher", + "first-page": "129", + "DOI": "10.1016/j.jtbi.2006.12.022", + "volume": "246", + "author": "M Enquist", + "year": "2007", + "unstructured": "Enquist, M. & Ghirlanda, S. Evolution of social learning does not explain the origin of human cumulative culture. J. Theor. Biol. 246, 129–135 (2007).", + "journal-title": "J. Theor. Biol." + }, + { + "key": "1742_CR54", + "doi-asserted-by": "publisher", + "first-page": "481", + "DOI": "10.1007/s10539-015-9490-2", + "volume": "30", + "author": "A Acerbi", + "year": "2015", + "unstructured": "Acerbi, A. & Mesoudi, A. If we are all cultural Darwinians what’s the fuss about? Clarifying recent disagreements in the field of cultural evolution. Biol. Phil. 30, 481–503 (2015).", + "journal-title": "Biol. Phil." + }, + { + "key": "1742_CR55", + "doi-asserted-by": "publisher", + "first-page": "447", + "DOI": "10.1007/s10539-016-9516-4", + "volume": "31", + "author": "O Morin", + "year": "2016", + "unstructured": "Morin, O. Reasons to be fussy about cultural evolution. Biol. Phil. 31, 447–458 (2016).", + "journal-title": "Biol. Phil." + }, + { + "key": "1742_CR56", + "doi-asserted-by": "publisher", + "first-page": "331", + "DOI": "10.1162/003355398555595", + "volume": "113", + "author": "ML Weitzman", + "year": "1998", + "unstructured": "Weitzman, M. L. Recombinant growth. Q. J. Econ. 113, 331–360 (1998).", + "journal-title": "Q. J. Econ." + }, + { + "key": "1742_CR57", + "doi-asserted-by": "publisher", + "first-page": "873", + "DOI": "10.1016/j.tics.2020.09.001", + "volume": "24", + "author": "TL Griffiths", + "year": "2020", + "unstructured": "Griffiths, T. L. Understanding human intelligence through human limitations. Trends Cogn. Sci. 24, 873–883 (2020).", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "1742_CR58", + "unstructured": "Boyd, R. & Richerson, P. J. Culture and the Evolutionary Process (Univ. of Chicago Press, 1985)." + }, + { + "key": "1742_CR59", + "doi-asserted-by": "crossref", + "unstructured": "Mesoudi, A. Cultural Evolution: How Darwinian Theory Can Explain Human Culture and Synthesize the Social Sciences (Univ. of Chicago Press, 2011).", + "DOI": "10.7208/chicago/9780226520452.001.0001" + }, + { + "key": "1742_CR60", + "doi-asserted-by": "publisher", + "unstructured": "Leibo, J. Z., Hughes, E., Lanctot, M. & Graepel, T. Autocurricula and the emergence of innovation from social interaction: a manifesto for multi-agent intelligence research. Preprint at arXiv https://doi.org/10.48550/arXiv.1903.00742 (2019).", + "DOI": "10.48550/arXiv.1903.00742" + }, + { + "key": "1742_CR61", + "unstructured": "Aveni, A. F. Skywatchers: A Revised and Updated Version of Skywatchers of Ancient Mexico (Univ. of Texas Press, 2001)." + }, + { + "key": "1742_CR62", + "doi-asserted-by": "publisher", + "first-page": "251", + "DOI": "10.1016/0893-6080(91)90009-T", + "volume": "4", + "author": "K Hornik", + "year": "1991", + "unstructured": "Hornik, K. Approximation capabilities of multilayer feedforward networks. Neural Netw. 4, 251–257 (1991).", + "journal-title": "Neural Netw." + }, + { + "key": "1742_CR63", + "doi-asserted-by": "publisher", + "first-page": "436", + "DOI": "10.1038/nature14539", + "volume": "521", + "author": "Y LeCun", + "year": "2015", + "unstructured": "LeCun, Y., Bengio, Y. & Hinton, G. Deep learning. Nature 521, 436–444 (2015).", + "journal-title": "Nature" + }, + { + "key": "1742_CR64", + "doi-asserted-by": "publisher", + "unstructured": "Zenil, H. et al. The future of fundamental science led by generative closed-loop artificial intelligence. Preprint at arXiv https://doi.org/10.48550/arXiv.2307.07522 (2023).", + "DOI": "10.48550/arXiv.2307.07522" + }, + { + "key": "1742_CR65", + "doi-asserted-by": "publisher", + "first-page": "706", + "DOI": "10.1038/s41586-019-1923-7", + "volume": "577", + "author": "AW Senior", + "year": "2020", + "unstructured": "Senior, A. W. et al. Improved protein structure prediction using potentials from deep learning. Nature 577, 706–710 (2020).", + "journal-title": "Nature" + }, + { + "key": "1742_CR66", + "doi-asserted-by": "publisher", + "first-page": "756", + "DOI": "10.1038/nature09304", + "volume": "466", + "author": "S Cooper", + "year": "2010", + "unstructured": "Cooper, S. et al. Predicting protein structures with a multiplayer online game. Nature 466, 756–760 (2010).", + "journal-title": "Nature" + }, + { + "key": "1742_CR67", + "doi-asserted-by": "publisher", + "unstructured": "Bommasani, R. et al. On the opportunities and risks of foundation models. Preprint at arXiv https://doi.org/10.48550/arXiv.2108.07258 (2022).", + "DOI": "10.48550/arXiv.2108.07258" + }, + { + "key": "1742_CR68", + "doi-asserted-by": "publisher", + "unstructured": "Hoffmann, J. et al. Training compute-optimal large language models. Preprint at arXiv https://doi.org/10.48550/arXiv.2203.15556 (2022).", + "DOI": "10.48550/arXiv.2203.15556" + }, + { + "key": "1742_CR69", + "doi-asserted-by": "crossref", + "unstructured": "Bender, E. M., Gebru, T., McMillan-Major, A. & Shmitchell, S. On the dangers of stochastic parrots: can language models be too big? In Proc. 2021 ACM Conference on Fairness, Accountability, and Transparency 610–623 (Association for Computing Machinery, 2021).", + "DOI": "10.1145/3442188.3445922" + }, + { + "key": "1742_CR70", + "first-page": "1877", + "volume": "33", + "author": "T Brown", + "year": "2020", + "unstructured": "Brown, T. et al. Language models are few-shot learners. Adv. Neural Inf. Process. Syst. 33, 1877–1901 (2020).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "1742_CR71", + "doi-asserted-by": "publisher", + "first-page": "e2215907120", + "DOI": "10.1073/pnas.2215907120", + "volume": "120", + "author": "M Mitchell", + "year": "2023", + "unstructured": "Mitchell, M. & Krakauer, D. C. The debate over understanding in AI’s large language models. Proc. Natl Acad. Sci. USA 120, e2215907120 (2023).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR72", + "doi-asserted-by": "publisher", + "first-page": "373", + "DOI": "10.1007/s13347-016-0228-0", + "volume": "29", + "author": "M Charbonneau", + "year": "2016", + "unstructured": "Charbonneau, M. Modularity and recombination in technological evolution. Phil. Technol. 29, 373–392 (2016).", + "journal-title": "Phil. Technol." + }, + { + "key": "1742_CR73", + "doi-asserted-by": "publisher", + "first-page": "197", + "DOI": "10.2307/4128416", + "volume": "69", + "author": "J Henrich", + "year": "2004", + "unstructured": "Henrich, J. Demography and cultural evolution: how adaptive cultural processes can produce maladaptive losses—the Tasmanian case. Am. Antiq. 69, 197–214 (2004).", + "journal-title": "Am. Antiq." + }, + { + "key": "1742_CR74", + "doi-asserted-by": "publisher", + "unstructured": "Henrich, J. & Muthukrishna, M. What makes us smart? Top. Cogn. Sci. https://doi.org/10.1111/tops.12656 (2023).", + "DOI": "10.1111/tops.12656" + }, + { + "key": "1742_CR75", + "doi-asserted-by": "publisher", + "first-page": "20150272", + "DOI": "10.1098/rsif.2015.0272", + "volume": "12", + "author": "H Youn", + "year": "2015", + "unstructured": "Youn, H., Strumsky, D., Bettencourt, L. M. A. & Lobo, J. Invention as a combinatorial process: evidence from US patents. J. R. Soc. Interface 12, 20150272 (2015).", + "journal-title": "J. R. Soc. Interface" + }, + { + "key": "1742_CR76", + "doi-asserted-by": "publisher", + "unstructured": "Sourati, J. & Evans, J. A. Accelerating science with human-aware artificial intelligence. Nat. Hum. Behav. https://doi.org/10.1038/s41562-023-01648-z (2023).", + "DOI": "10.1038/s41562-023-01648-z" + }, + { + "key": "1742_CR77", + "doi-asserted-by": "publisher", + "first-page": "e26", + "DOI": "10.1017/ehs.2020.21", + "volume": "2", + "author": "P Tinits", + "year": "2020", + "unstructured": "Tinits, P. & Sobchuk, O. Open-ended cumulative cultural evolution of Hollywood film crews. Evol. Hum. Sci. 2, e26 (2020).", + "journal-title": "Evol. Hum. Sci." + }, + { + "key": "1742_CR78", + "doi-asserted-by": "publisher", + "first-page": "eaay4237", + "DOI": "10.1126/sciadv.aay4237", + "volume": "6", + "author": "J Grizou", + "year": "2020", + "unstructured": "Grizou, J., Points, L. J., Sharma, A. & Cronin, L. A curious formulation robot enables the discovery of a novel protocell behavior. Sci. Adv. 6, eaay4237 (2020).", + "journal-title": "Sci. Adv." + }, + { + "key": "1742_CR79", + "doi-asserted-by": "publisher", + "unstructured": "Kramer, S., Cerrato, M., Džeroski, S. & King, R. Automated scientific discovery: from equation discovery to autonomous discovery systems. Preprint at arXiv https://doi.org/10.48550/arXiv.2305.02251 (2023).", + "DOI": "10.48550/arXiv.2305.02251" + }, + { + "key": "1742_CR80", + "doi-asserted-by": "publisher", + "first-page": "20201885", + "DOI": "10.1098/rspb.2020.1885", + "volume": "287", + "author": "AJ Lucas", + "year": "2020", + "unstructured": "Lucas, A. J. et al. The value of teaching increases with tool complexity in cumulative cultural evolution. Proc. R. Soc. B 287, 20201885 (2020).", + "journal-title": "Proc. R. Soc. B" + }, + { + "key": "1742_CR81", + "doi-asserted-by": "publisher", + "unstructured": "Borsa, D., Piot, B., Munos, R. & Pietquin, O. Observational learning by reinforcement learning. Preprint at arXiv https://doi.org/10.48550/arXiv.1706.06617 (2017).", + "DOI": "10.48550/arXiv.1706.06617" + }, + { + "key": "1742_CR82", + "doi-asserted-by": "publisher", + "first-page": "537", + "DOI": "10.1177/00336882231162868", + "volume": "54", + "author": "L Kohnke", + "year": "2023", + "unstructured": "Kohnke, L., Moorhouse, B. L. & Zou, D. ChatGPT for language teaching and learning. RELC J. 54, 537–550 (2023).", + "journal-title": "RELC J." + }, + { + "key": "1742_CR83", + "doi-asserted-by": "crossref", + "unstructured": "Haller, E. & Rebedea, T. Designing a chat-bot that simulates an historical figure. In 2013 19th International Conference on Control Systems and Computer Science 582–589 (IEEE, 2013).", + "DOI": "10.1109/CSCS.2013.85" + }, + { + "key": "1742_CR84", + "doi-asserted-by": "publisher", + "unstructured": "Zhang, S., Frey, B. & Bansal, M. How can NLP help revitalize endangered languages? A case study and roadmap for the Cherokee language. Preprint at arXiv https://doi.org/10.48550/arXiv.2204.11909 (2022).", + "DOI": "10.48550/arXiv.2204.11909" + }, + { + "key": "1742_CR85", + "doi-asserted-by": "publisher", + "first-page": "904", + "DOI": "10.1080/10494820.2016.1225099", + "volume": "25", + "author": "K Ijaz", + "year": "2017", + "unstructured": "Ijaz, K., Bogdanovych, A. & Trescak, T. Virtual worlds vs books and videos in history education. Interact. Learn. Environ. 25, 904–929 (2017).", + "journal-title": "Interact. Learn. Environ." + }, + { + "key": "1742_CR86", + "unstructured": "Buolamwini, J. & Gebru, T. Gender shades: intersectional accuracy disparities in commercial gender classification. In Proc. 1st Conference on Fairness, Accountability and Transparency 77–91 (PMLR, 2018)." + }, + { + "key": "1742_CR87", + "doi-asserted-by": "publisher", + "first-page": "183", + "DOI": "10.1126/science.aal4230", + "volume": "356", + "author": "A Caliskan", + "year": "2017", + "unstructured": "Caliskan, A., Bryson, J. J. & Narayanan, A. Semantics derived automatically from language corpora contain human-like biases. Science 356, 183–186 (2017).", + "journal-title": "Science" + }, + { + "key": "1742_CR88", + "unstructured": "O’Neil, C. Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy (Crown, 2016)." + }, + { + "key": "1742_CR89", + "doi-asserted-by": "publisher", + "first-page": "6363", + "DOI": "10.1007/s00521-019-04144-6", + "volume": "32", + "author": "MO Prates", + "year": "2020", + "unstructured": "Prates, M. O., Avelar, P. H. & Lamb, L. C. Assessing gender bias in machine translation: a case study with google translate. Neural Comput. Appl. 32, 6363–6381 (2020).", + "journal-title": "Neural Comput. Appl." + }, + { + "key": "1742_CR90", + "doi-asserted-by": "publisher", + "unstructured": "Acerbi, A. & Stubbersfield, J. Large language models show human-like content biases in transmission chain experiments. Preprint at OSF https://doi.org/10.31219/osf.io/8zg4d (2023).", + "DOI": "10.31219/osf.io/8zg4d" + }, + { + "key": "1742_CR91", + "first-page": "12388", + "volume": "33", + "author": "J Vig", + "year": "2020", + "unstructured": "Vig, J. et al. Investigating gender bias in language models using causal mediation analysis. Adv. Neural Inf. Process. Syst. 33, 12388–12401 (2020).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "1742_CR92", + "doi-asserted-by": "publisher", + "first-page": "1", + "DOI": "10.1145/3494672", + "volume": "55", + "author": "D Pessach", + "year": "2022", + "unstructured": "Pessach, D. & Shmueli, E. A review on fairness in machine learning. ACM Comput. Surv. 55, 1–51 (2022). 44.", + "journal-title": "ACM Comput. Surv." + }, + { + "key": "1742_CR93", + "doi-asserted-by": "publisher", + "first-page": "337", + "DOI": "10.1017/pan.2023.2", + "volume": "31", + "author": "LP Argyle", + "year": "2023", + "unstructured": "Argyle, L. P. et al. Out of one, many: using language models to simulate human samples. Political Anal. 31, 337–351 (2023).", + "journal-title": "Political Anal." + }, + { + "key": "1742_CR94", + "doi-asserted-by": "publisher", + "unstructured": "Hendy, A. et al. How good are GPT models at machine translation? A comprehensive evaluation. Preprint at arXiv https://doi.org/10.48550/arXiv.2302.09210 (2023).", + "DOI": "10.48550/arXiv.2302.09210" + }, + { + "key": "1742_CR95", + "unstructured": "Bartlett, F. C. Remembering: A Study in Experimental and Social Psychology xix, 317 (Cambridge Univ. Press, 1932)." + }, + { + "key": "1742_CR96", + "doi-asserted-by": "publisher", + "first-page": "594", + "DOI": "10.1177/0146167200267007", + "volume": "26", + "author": "Y Kashima", + "year": "2000", + "unstructured": "Kashima, Y. Maintaining cultural stereotypes in the serial reproduction of narratives. Pers. Soc. Psychol. Bull. 26, 594–604 (2000).", + "journal-title": "Pers. Soc. Psychol. Bull." + }, + { + "key": "1742_CR97", + "doi-asserted-by": "publisher", + "first-page": "68", + "DOI": "10.1080/03640210701801974", + "volume": "32", + "author": "TL Griffiths", + "year": "2008", + "unstructured": "Griffiths, T. L., Christian, B. R. & Kalish, M. L. Using category structures to test iterated learning as a method for identifying inductive biases. Cogn. Sci. 32, 68–107 (2008).", + "journal-title": "Cogn. Sci." + }, + { + "key": "1742_CR98", + "doi-asserted-by": "publisher", + "first-page": "e1", + "DOI": "10.1017/S0140525X1900061X", + "volume": "43", + "author": "F Lieder", + "year": "2020", + "unstructured": "Lieder, F. & Griffiths, T. L. Resource-rational analysis: understanding human cognition as the optimal use of limited computational resources. Behav. Brain Sci. 43, e1 (2020).", + "journal-title": "Behav. Brain Sci." + }, + { + "key": "1742_CR99", + "doi-asserted-by": "crossref", + "unstructured": "Simon, H. A. in Utility and Probability (eds Eatwell, J. et al.) 15–18 (Palgrave Macmillan UK, 1990).", + "DOI": "10.1007/978-1-349-20568-4_5" + }, + { + "key": "1742_CR100", + "doi-asserted-by": "publisher", + "first-page": "167", + "DOI": "10.1111/j.1467-8721.2007.00497.x", + "volume": "16", + "author": "PM Todd", + "year": "2007", + "unstructured": "Todd, P. M. & Gigerenzer, G. Environments that make us smart: ecological rationality. Curr. Dir. Psychol. Sci. 16, 167–171 (2007).", + "journal-title": "Curr. Dir. Psychol. Sci." + }, + { + "key": "1742_CR101", + "doi-asserted-by": "publisher", + "first-page": "1124", + "DOI": "10.1126/science.185.4157.1124", + "volume": "185", + "author": "A Tversky", + "year": "1974", + "unstructured": "Tversky, A. & Kahneman, D. Judgment under uncertainty: heuristics and biases. Science 185, 1124–1131 (1974).", + "journal-title": "Science" + }, + { + "key": "1742_CR102", + "doi-asserted-by": "publisher", + "first-page": "273", + "DOI": "10.1126/science.aac6076", + "volume": "349", + "author": "SJ Gershman", + "year": "2015", + "unstructured": "Gershman, S. J., Horvitz, E. J. & Tenenbaum, J. B. Computational rationality: a converging paradigm for intelligence in brains, minds, and machines. Science 349, 273–278 (2015).", + "journal-title": "Science" + }, + { + "key": "1742_CR103", + "doi-asserted-by": "crossref", + "unstructured": "Malle, B. F., Scheutz, M., Arnold, T., Voiklis, J. & Cusimano, C. Sacrifice one for the good of many? People apply different moral norms to human and robot agents. In Proc. Tenth Annual ACM/IEEE International Conference on Human-Robot Interaction 117–124 (Association for Computing Machinery, 2015).", + "DOI": "10.1145/2696454.2696458" + }, + { + "key": "1742_CR104", + "doi-asserted-by": "publisher", + "first-page": "3503", + "DOI": "10.1098/rstb.2008.0146", + "volume": "363", + "author": "TL Griffiths", + "year": "2008", + "unstructured": "Griffiths, T. L., Kalish, M. L. & Lewandowsky, S. Theoretical and empirical evidence for the impact of inductive biases on cultural evolution. Phil. Trans. R. Soc. B 363, 3503–3514 (2008).", + "journal-title": "Phil. Trans. R. Soc. B" + }, + { + "key": "1742_CR105", + "doi-asserted-by": "publisher", + "first-page": "5241", + "DOI": "10.1073/pnas.0608222104", + "volume": "104", + "author": "S Kirby", + "year": "2007", + "unstructured": "Kirby, S., Dowman, M. & Griffiths, T. L. Innateness and culture in the evolution of language. Proc. Natl Acad. Sci. USA 104, 5241–5245 (2007).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR106", + "doi-asserted-by": "publisher", + "first-page": "20202752", + "DOI": "10.1098/rspb.2020.2752", + "volume": "288", + "author": "B Thompson", + "year": "2021", + "unstructured": "Thompson, B. & Griffiths, T. L. Human biases limit cumulative innovation. Proc. R. Soc. B 288, 20202752 (2021).", + "journal-title": "Proc. R. Soc. B" + }, + { + "key": "1742_CR107", + "doi-asserted-by": "publisher", + "first-page": "20200426", + "DOI": "10.1098/rsta.2020.0426", + "volume": "380", + "author": "L Brinkmann", + "year": "2022", + "unstructured": "Brinkmann, L. et al. Hybrid social learning in human-algorithm cultural transmission. Phil. Trans. R. Soc. A 380, 20200426 (2022).", + "journal-title": "Phil. Trans. R. Soc. A" + }, + { + "key": "1742_CR108", + "doi-asserted-by": "publisher", + "first-page": "171", + "DOI": "10.1111/cogs.12144", + "volume": "39", + "author": "M Tamariz", + "year": "2015", + "unstructured": "Tamariz, M. & Kirby, S. Culture: copying, compression, and conventionality. Cogn. Sci. 39, 171–183 (2015).", + "journal-title": "Cogn. Sci." + }, + { + "key": "1742_CR109", + "doi-asserted-by": "publisher", + "first-page": "19", + "DOI": "10.1016/S1364-6613(02)00005-0", + "volume": "7", + "author": "N Chater", + "year": "2003", + "unstructured": "Chater, N. & Vitányi, P. Simplicity: a unifying principle in cognitive science? Trends Cogn. Sci. 7, 19–22 (2003).", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "1742_CR110", + "doi-asserted-by": "publisher", + "first-page": "87", + "DOI": "10.1016/j.cognition.2015.03.016", + "volume": "141", + "author": "S Kirby", + "year": "2015", + "unstructured": "Kirby, S., Tamariz, M., Cornish, H. & Smith, K. Compression and communication in the cultural evolution of linguistic structure. Cognition 141, 87–102 (2015).", + "journal-title": "Cognition" + }, + { + "key": "1742_CR111", + "unstructured": "Anderson, C. The end of theory: the data deluge makes the scientific method obsolete. Wired (23 June 2018)." + }, + { + "key": "1742_CR112", + "unstructured": "Spinney, L. Are we witnessing the dawn of post-theory science? Guardian (9 January 2022)." + }, + { + "key": "1742_CR113", + "doi-asserted-by": "publisher", + "first-page": "045307", + "DOI": "10.1103/PhysRevE.106.045307", + "volume": "106", + "author": "Z Liu", + "year": "2022", + "unstructured": "Liu, Z., Madhavan, V. & Tegmark, M. AI Poincaré 2.0: machine learning conservation laws from differential equations. Phys. Rev. E 106, 045307 (2022).", + "journal-title": "Phys. Rev. E" + }, + { + "key": "1742_CR114", + "doi-asserted-by": "publisher", + "first-page": "651", + "DOI": "10.1016/j.tics.2018.04.003", + "volume": "22", + "author": "RL Kendal", + "year": "2018", + "unstructured": "Kendal, R. L. et al. Social learning strategies: bridge-building between fields. Trends Cogn. Sci. 22, 651–665 (2018).", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "1742_CR115", + "doi-asserted-by": "publisher", + "first-page": "123", + "DOI": "10.1002/evan.10110", + "volume": "12", + "author": "J Henrich", + "year": "2003", + "unstructured": "Henrich, J. & McElreath, R. The evolution of cultural evolution. Evol. Anthropol. 12, 123–135 (2003).", + "journal-title": "Evol. Anthropol." + }, + { + "key": "1742_CR116", + "doi-asserted-by": "publisher", + "first-page": "405", + "DOI": "10.1348/000712605X85871", + "volume": "97", + "author": "A Mesoudi", + "year": "2006", + "unstructured": "Mesoudi, A., Whiten, A. & Dunbar, R. A bias for social information in human cultural transmission. Br. J. Psychol. 97, 405–423 (2006).", + "journal-title": "Br. J. Psychol." + }, + { + "key": "1742_CR117", + "first-page": "2670", + "volume": "2", + "author": "DK Sharma", + "year": "2010", + "unstructured": "Sharma, D. K. & Sharma, A. A comparative analysis of web page ranking algorithms. Int. J. Comput. Sci. Eng. 2, 2670–2676 (2010).", + "journal-title": "Int. J. Comput. Sci. Eng." + }, + { + "key": "1742_CR118", + "doi-asserted-by": "crossref", + "unstructured": "Duhan, N., Sharma, A. K. & Bhatia, K. K. Page ranking algorithms: a survey. In 2009 IEEE International Advance Computing Conference 1530–1537 (IEEE, 2009).", + "DOI": "10.1109/IADCC.2009.4809246" + }, + { + "key": "1742_CR119", + "doi-asserted-by": "crossref", + "unstructured": "Koren, Y., Rendle, S. & Bell, R. Advances in collaborative filtering. In Recommender Systems Handbook (eds Ricci, F., Rokach, L. & Shapira, B.) 91–142 (Springer US, Boston, MA, 2021).", + "DOI": "10.1007/978-1-0716-2197-4_3" + }, + { + "key": "1742_CR120", + "doi-asserted-by": "publisher", + "unstructured": "Banihashemi, S. & Abhari, A. Effects of different recommendation algorithms on structure of social networks. In 2021 International Conference on Computational Science and Computational Intelligence (CSCI) 1395–1400 (IEEE, 2021); https://doi.org/10.1109/CSCI54926.2021.00279", + "DOI": "10.1109/CSCI54926.2021.00279" + }, + { + "key": "1742_CR121", + "doi-asserted-by": "publisher", + "unstructured": "Ferrara, A., Espín-Noboa, L., Karimi, F. & Wagner, C. Link recommendations: their impact on network structure and minorities. In 14th ACM Web Science Conference 2022. 228–238 (Association for Computing Machinery, 2022); https://doi.org/10.1145/3501247.3531583", + "DOI": "10.1145/3501247.3531583" + }, + { + "key": "1742_CR122", + "doi-asserted-by": "crossref", + "unstructured": "Su, J., Sharma, A. & Goel, S. The effect of recommendations on network structure. In Proc. 25th International Conference on World Wide Web 1157–1167 (International World Wide Web Conferences Steering Committee, 2016).", + "DOI": "10.1145/2872427.2883040" + }, + { + "key": "1742_CR123", + "doi-asserted-by": "publisher", + "first-page": "667", + "DOI": "10.2189/asqu.52.4.667", + "volume": "52", + "author": "D Lazer", + "year": "2007", + "unstructured": "Lazer, D. & Friedman, A. The network structure of exploration and exploitation. Adm. Sci. Q. 52, 667–694 (2007).", + "journal-title": "Adm. Sci. Q." + }, + { + "key": "1742_CR124", + "doi-asserted-by": "publisher", + "first-page": "764", + "DOI": "10.1073/pnas.1110069108", + "volume": "109", + "author": "W Mason", + "year": "2012", + "unstructured": "Mason, W. & Watts, D. J. Collaborative learning in networks. Proc. Natl Acad. Sci. USA 109, 764–769 (2012).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR125", + "doi-asserted-by": "publisher", + "first-page": "420", + "DOI": "10.1177/0963721415599543", + "volume": "24", + "author": "AW Woolley", + "year": "2015", + "unstructured": "Woolley, A. W., Aggarwal, I. & Malone, T. W. Collective intelligence and group performance. Curr. Dir. Psychol. Sci. 24, 420–424 (2015).", + "journal-title": "Curr. Dir. Psychol. Sci." + }, + { + "key": "1742_CR126", + "doi-asserted-by": "publisher", + "first-page": "2982", + "DOI": "10.1073/pnas.1518798113", + "volume": "113", + "author": "M Derex", + "year": "2016", + "unstructured": "Derex, M. & Boyd, R. Partial connectivity increases cultural accumulation within groups. Proc. Natl Acad. Sci. USA 113, 2982–2987 (2016).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR127", + "doi-asserted-by": "publisher", + "first-page": "12935", + "DOI": "10.1007/s11042-017-4924-2", + "volume": "77", + "author": "V Kant", + "year": "2018", + "unstructured": "Kant, V., Jhalani, T. & Dwivedi, P. Enhanced multi-criteria recommender system based on fuzzy Bayesian approach. Multimed. Tools Appl. 77, 12935–12953 (2018).", + "journal-title": "Multimed. Tools Appl." + }, + { + "key": "1742_CR128", + "doi-asserted-by": "crossref", + "unstructured": "Bollen, D., Knijnenburg, B. P., Willemsen, M. C. & Graus, M. Understanding choice overload in recommender systems. In Proc. Fourth ACM Conference on Recommender Systems 63–70 (Association for Computing Machinery, 2010).", + "DOI": "10.1145/1864708.1864724" + }, + { + "key": "#cr-split#-1742_CR129.1", + "unstructured": "Tkalcic, M., Kosir, A. & Tasic, J. Affective recommender systems: the role of emotions in recommender systems. In The RecSys 2011 Workshops-Decisions@ RecSys 2011 and UCERSTI-2: Human Decision Making in Recommender Systems" + }, + { + "key": "#cr-split#-1742_CR129.2", + "unstructured": "User-Centric Evaluation of Recommender Systems and Their Interfaces-2 Vol. 811, 9-13 (CEUR-WS.org, 2011)." + }, + { + "key": "1742_CR130", + "doi-asserted-by": "crossref", + "unstructured": "Gonzalez, G., de la Rosa, J. L., Montaner, M. & Delfin, S. Embedding emotional context in recommender systems. In 2007 IEEE 23rd International Conference on Data Engineering Workshop 845–852 (IEEE, 2007).", + "DOI": "10.1109/ICDEW.2007.4401075" + }, + { + "key": "1742_CR131", + "doi-asserted-by": "publisher", + "first-page": "e0248695", + "DOI": "10.1371/journal.pone.0248695", + "volume": "16", + "author": "NA Osman", + "year": "2021", + "unstructured": "Osman, N. A., Mohd Noah, S. A., Darwich, M. & Mohd, M. Integrating contextual sentiment analysis in collaborative recommender systems. PLoS ONE 16, e0248695 (2021).", + "journal-title": "PLoS ONE" + }, + { + "key": "1742_CR132", + "first-page": "21", + "volume": "2013", + "author": "Y Zheng", + "year": "2013", + "unstructured": "Zheng, Y., Mobasher, B. & Burke, R. D. The role of emotions in context-aware recommendation. Decis. RecSys 2013, 21–28 (2013).", + "journal-title": "Decis. RecSys" + }, + { + "key": "1742_CR133", + "doi-asserted-by": "publisher", + "first-page": "1", + "DOI": "10.25300/MISQ/2021/14971", + "volume": "45", + "author": "X Zhang", + "year": "2021", + "unstructured": "Zhang, X., Ferreira, P., Godinho De Matos, M. & Belo, R. Welfare properties of profit maximizing recommender systems: theory and results from a randomized experiment. MIS Q. 45, 1 (2021).", + "journal-title": "MIS Q." + }, + { + "key": "1742_CR134", + "doi-asserted-by": "publisher", + "first-page": "831", + "DOI": "10.1257/aer.20191777", + "volume": "111", + "author": "R Levy", + "year": "2021", + "unstructured": "Levy, R. Social media, news consumption, and polarization: evidence from a field experiment. Am. Econ. Rev. 111, 831–870 (2021).", + "journal-title": "Am. Econ. Rev." + }, + { + "key": "1742_CR135", + "doi-asserted-by": "publisher", + "first-page": "746", + "DOI": "10.1037/xge0000673", + "volume": "149", + "author": "WJ Brady", + "year": "2020", + "unstructured": "Brady, W. J., Gantman, A. P. & Van Bavel, J. J. Attentional capture helps explain why moral and emotional content go viral. J. Exp. Psychol. Gen. 149, 746–756 (2020).", + "journal-title": "J. Exp. Psychol. Gen." + }, + { + "key": "1742_CR136", + "unstructured": "Brady, W. J., Jackson, J. C., Lindström, B. & Crockett, M. J. Algorithm-mediated social learning in online social networks. Trends Cogn. Sci. (in the press)." + }, + { + "key": "1742_CR137", + "doi-asserted-by": "publisher", + "first-page": "1", + "DOI": "10.1057/s41599-019-0224-y", + "volume": "5", + "author": "A Acerbi", + "year": "2019", + "unstructured": "Acerbi, A. Cognitive attraction and online misinformation. Palgrave Commun. 5, 1–7 (2019).", + "journal-title": "Palgrave Commun." + }, + { + "key": "1742_CR138", + "doi-asserted-by": "publisher", + "unstructured": "Brady, W. J. et al. Overperception of moral outrage in online social networks inflates beliefs about intergroup hostility. Nat. Hum. Behav. https://doi.org/10.1038/s41562-023-01582-0 (2023).", + "DOI": "10.1038/s41562-023-01582-0" + }, + { + "key": "1742_CR139", + "doi-asserted-by": "publisher", + "unstructured": "Brady, W. J. & Crockett, M. J. Norm psychology in the digital age: how social media shapes the cultural evolution of normativity. Perspect. Psychol. Sci. https://doi.org/10.1177/17456916231187395 (2023).", + "DOI": "10.1177/17456916231187395" + }, + { + "key": "1742_CR140", + "doi-asserted-by": "publisher", + "unstructured": "Milli, S., Carroll, M., Pandey, S., Wang, Y. & Dragan, A. D. Engagement, user satisfaction, and the amplification of divisive content on social media. Preprint at arXiv https://doi.org/10.48550/arXiv.2305.16941 (2023).", + "DOI": "10.48550/arXiv.2305.16941" + }, + { + "key": "1742_CR141", + "doi-asserted-by": "publisher", + "first-page": "e2023301118", + "DOI": "10.1073/pnas.2023301118", + "volume": "118", + "author": "M Cinelli", + "year": "2021", + "unstructured": "Cinelli, M., De Francisci Morales, G., Galeazzi, A., Quattrociocchi, W. & Starnini, M. The echo chamber effect on social media. Proc. Natl Acad. Sci. USA 118, e2023301118 (2021).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR142", + "doi-asserted-by": "crossref", + "unstructured": "Pariser, E. The Filter Bubble: What the Internet Is Hiding from You (Penguin, 2011).", + "DOI": "10.3139/9783446431164" + }, + { + "key": "1742_CR143", + "unstructured": "Sunstein, C. R. Republic.com 2.0 (Princeton Univ. Press, 2007)." + }, + { + "key": "1742_CR144", + "doi-asserted-by": "crossref", + "unstructured": "Jiang, R., Chiappa, S., Lattimore, T., György, A. & Kohli, P. Degenerate feedback loops in recommender systems. In Proc. 2019 AAAI/ACM Conference on AI, Ethics, and Society 383–390 (ACM, 2019).", + "DOI": "10.1145/3306618.3314288" + }, + { + "key": "1742_CR145", + "doi-asserted-by": "publisher", + "unstructured": "Pagan, N. et al. A classification of feedback loops and their relation to biases in automated decision-making systems. Preprint at arXiv https://doi.org/10.48550/arXiv.2305.06055 (2023).", + "DOI": "10.48550/arXiv.2305.06055" + }, + { + "key": "1742_CR146", + "doi-asserted-by": "publisher", + "unstructured": "Stray, J. et al. Building human values into recommender systems: an interdisciplinary synthesis. Preprint at arXiv https://doi.org/10.48550/arXiv.2207.10192 (2022).", + "DOI": "10.48550/arXiv.2207.10192" + }, + { + "key": "1742_CR147", + "doi-asserted-by": "publisher", + "unstructured": "Kleinberg, J., Mullainathan, S. & Raghavan, M. The challenge of understanding what users want: inconsistent preferences and engagement optimization. Preprint at arXiv https://doi.org/10.48550/arXiv.2202.11776 (2022).", + "DOI": "10.48550/arXiv.2202.11776" + }, + { + "key": "1742_CR148", + "doi-asserted-by": "publisher", + "unstructured": "Ovadya, A. & Thorburn, L. Bridging systems: open problems for countering destructive divisiveness across ranking, recommenders, and governance. Preprint at arXiv https://doi.org/10.48550/arXiv.2301.09976 (2023).", + "DOI": "10.48550/arXiv.2301.09976" + }, + { + "key": "1742_CR149", + "doi-asserted-by": "publisher", + "unstructured": "Yao, B., Jiang, M., Yang, D. & Hu, J. Empowering LLM-based machine translation with cultural awareness. Preprint at arXiv https://doi.org/10.48550/arXiv.2305.14328 (2023).", + "DOI": "10.48550/arXiv.2305.14328" + }, + { + "key": "1742_CR150", + "doi-asserted-by": "crossref", + "unstructured": "Garimella, K., De Francisci Morales, G., Gionis, A. & Mathioudakis, M. Reducing controversy by connecting opposing views. In Proc. Tenth ACM International Conference on Web Search and Data Mining 81–90 (Association for Computing Machinery, 2017).", + "DOI": "10.1145/3018661.3018703" + }, + { + "key": "1742_CR151", + "doi-asserted-by": "publisher", + "first-page": "e2102141118", + "DOI": "10.1073/pnas.2102141118", + "volume": "118", + "author": "FP Santos", + "year": "2021", + "unstructured": "Santos, F. P., Lelkes, Y. & Levin, S. A. Link recommendation algorithms and dynamics of polarization in online social networks. Proc. Natl Acad. Sci. USA 118, e2102141118 (2021).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR152", + "doi-asserted-by": "publisher", + "first-page": "959", + "DOI": "10.1080/1369118X.2018.1444076", + "volume": "21", + "author": "J Möller", + "year": "2018", + "unstructured": "Möller, J., Trilling, D., Helberger, N. & Van Es, B. Do not blame it on the algorithm: an empirical assessment of multiple recommender systems and their impact on content diversity. Inf. Commun. Soc. 21, 959–977 (2018).", + "journal-title": "Inf. Commun. Soc." + }, + { + "key": "1742_CR153", + "first-page": "38176", + "volume": "35", + "author": "M Bakker", + "year": "2022", + "unstructured": "Bakker, M. et al. Fine-tuning language models to find agreement among humans with diverse preferences. Adv. Neural Inf. Process. Syst. 35, 38176–38189 (2022).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "1742_CR154", + "unstructured": "Christiano, P. F. et al. Deep reinforcement learning from human preferences. Adv. Neural Inf. Process. Syst. 30 (2017)." + }, + { + "key": "1742_CR155", + "first-page": "27730", + "volume": "35", + "author": "L Ouyang", + "year": "2022", + "unstructured": "Ouyang, L. et al. Training language models to follow instructions with human feedback. Adv. Neural Inf. Process. Syst. 35, 27730–27744 (2022).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "1742_CR156", + "doi-asserted-by": "publisher", + "unstructured": "Perez, E. et al. Discovering language model behaviors with model-written evaluations. Preprint at arXiv https://doi.org/10.48550/arXiv.2212.09251 (2022).", + "DOI": "10.48550/arXiv.2212.09251" + }, + { + "key": "1742_CR157", + "doi-asserted-by": "publisher", + "first-page": "20130368", + "DOI": "10.1098/rstb.2013.0368", + "volume": "369", + "author": "N Claidière", + "year": "2014", + "unstructured": "Claidière, N., Scott-Phillips, T. C. & Sperber, D. How Darwinian is cultural evolution? Phil. Trans. R. Soc. B 369, 20130368 (2014).", + "journal-title": "Phil. Trans. R. Soc. B" + }, + { + "key": "1742_CR158", + "doi-asserted-by": "publisher", + "first-page": "414", + "DOI": "10.1016/j.tplants.2015.03.011", + "volume": "20", + "author": "S Blancke", + "year": "2015", + "unstructured": "Blancke, S., Van Breusegem, F., De Jaeger, G., Braeckman, J. & Van Montagu, M. Fatal attraction: the intuitive appeal of GMO opposition. Trends Plant Sci. 20, 414–418 (2015).", + "journal-title": "Trends Plant Sci." + }, + { + "key": "1742_CR159", + "doi-asserted-by": "publisher", + "first-page": "633", + "DOI": "10.1016/j.tics.2015.08.007", + "volume": "19", + "author": "H Miton", + "year": "2015", + "unstructured": "Miton, H. & Mercier, H. Cognitive obstacles to pro-vaccination beliefs. Trends Cogn. Sci. 19, 633–636 (2015).", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "1742_CR160", + "doi-asserted-by": "crossref", + "unstructured": "Poulsen, V. & DeDeo, S. Cognitive attractors and the cultural evolution of religion. In Proc. of the Annual Meeting of the Cognitive Science Society 45, 45 (2023).", + "DOI": "10.31234/osf.io/daxyu" + }, + { + "key": "1742_CR161", + "doi-asserted-by": "publisher", + "unstructured": "Kirchenbauer, J. et al. A watermark for large language models. Preprint at arXiv https://doi.org/10.48550/arXiv.2301.10226 (2023).", + "DOI": "10.48550/arXiv.2301.10226" + }, + { + "key": "1742_CR162", + "doi-asserted-by": "publisher", + "unstructured": "Shumailov, I. et al. The curse of recursion: training on generated data makes models forget. Preprint at arXiv https://doi.org/10.48550/arXiv.2305.17493 (2023).", + "DOI": "10.48550/arXiv.2305.17493" + }, + { + "key": "1742_CR163", + "doi-asserted-by": "publisher", + "unstructured": "Veselovsky, V., Ribeiro, M. H. & West, R. Artificial artificial artificial intelligence: crowd workers widely use large language models for text production tasks. Preprint at arXiv https://doi.org/10.48550/arXiv.2306.07899 (2023).", + "DOI": "10.48550/arXiv.2306.07899" + }, + { + "key": "1742_CR164", + "doi-asserted-by": "publisher", + "first-page": "429", + "DOI": "10.3233/IDA-2002-6504", + "volume": "6", + "author": "N Japkowicz", + "year": "2002", + "unstructured": "Japkowicz, N. & Stephen, S. The class imbalance problem: a systematic study. Intell. Data Anal. 6, 429–449 (2002).", + "journal-title": "Intell. Data Anal." + }, + { + "key": "1742_CR165", + "doi-asserted-by": "publisher", + "first-page": "288", + "DOI": "10.3758/BF03194066", + "volume": "14", + "author": "ML Kalish", + "year": "2007", + "unstructured": "Kalish, M. L., Griffiths, T. L. & Lewandowsky, S. Iterated learning: intergenerational knowledge transmission reveals inductive biases. Psychon. Bull. Rev. 14, 288–294 (2007).", + "journal-title": "Psychon. Bull. Rev." + }, + { + "key": "1742_CR166", + "doi-asserted-by": "publisher", + "first-page": "203", + "DOI": "10.1177/0022002797041002001", + "volume": "41", + "author": "R Axelrod", + "year": "1997", + "unstructured": "Axelrod, R. The dissemination of culture: a model with local convergence and global polarization. J. Confl. Resolut. 41, 203–226 (1997).", + "journal-title": "J. Confl. Resolut." + }, + { + "key": "1742_CR167", + "doi-asserted-by": "publisher", + "unstructured": "Touvron, H. et al. LLaMA: open and efficient foundation language models. Preprint at arXiv https://doi.org/10.48550/arXiv.2302.13971 (2023).", + "DOI": "10.48550/arXiv.2302.13971" + }, + { + "key": "1742_CR168", + "unstructured": "West, S. M., Whittaker, M. & Crawford, K. Discriminating Systems: Gender, Race and Power in AI (AI Now Institute, 2019)." + }, + { + "key": "1742_CR169", + "doi-asserted-by": "publisher", + "first-page": "3", + "DOI": "10.1257/jep.29.3.3", + "volume": "29", + "author": "DH Autor", + "year": "2015", + "unstructured": "Autor, D. H. Why are there still so many jobs? The history and future of workplace automation. J. Econ. Perspect. 29, 3–30 (2015).", + "journal-title": "J. Econ. Perspect." + }, + { + "key": "1742_CR170", + "doi-asserted-by": "publisher", + "first-page": "589", + "DOI": "10.1001/jamainternmed.2023.1838", + "volume": "183", + "author": "JW Ayers", + "year": "2023", + "unstructured": "Ayers, J. W. et al. Comparing physician and artificial intelligence chatbot responses to patient questions posted to a public social media forum. JAMA Intern. Med. 183, 589–596 (2023).", + "journal-title": "JAMA Intern. Med." + }, + { + "key": "1742_CR171", + "doi-asserted-by": "publisher", + "first-page": "46", + "DOI": "10.1038/s42256-022-00593-2", + "volume": "5", + "author": "A Sharma", + "year": "2023", + "unstructured": "Sharma, A., Lin, I. W., Miner, A. S., Atkins, D. C. & Althoff, T. Human–AI collaboration enables more empathic conversations in text-based peer-to-peer mental health support. Nat. Mach. Intell. 5, 46–57 (2023).", + "journal-title": "Nat. Mach. Intell." + }, + { + "key": "1742_CR172", + "doi-asserted-by": "publisher", + "unstructured": "Perry, A. AI will never convey the essence of human empathy. Nat. Hum. Behav. https://doi.org/10.1038/s41562-023-01675-w (2023).", + "DOI": "10.1038/s41562-023-01675-w" + }, + { + "key": "1742_CR173", + "doi-asserted-by": "publisher", + "first-page": "67", + "DOI": "10.1016/j.copsyc.2018.05.005", + "volume": "24", + "author": "E Weisz", + "year": "2018", + "unstructured": "Weisz, E. & Zaki, J. Motivated empathy: a social neuroscience perspective. Curr. Opin. Psychol. 24, 67–71 (2018).", + "journal-title": "Curr. Opin. Psychol." + }, + { + "key": "1742_CR174", + "doi-asserted-by": "crossref", + "unstructured": "Carroll, M., Hadfield-Menell, D., Russell, S. & Dragan, A. Estimating and penalizing preference shift in recommender systems. In Proc. 15th ACM Conference on Recommender Systems 661–667 (Association for Computing Machinery, 2021).", + "DOI": "10.1145/3460231.3478849" + }, + { + "key": "1742_CR175", + "doi-asserted-by": "publisher", + "first-page": "1130", + "DOI": "10.1126/science.aaa1160", + "volume": "348", + "author": "E Bakshy", + "year": "2015", + "unstructured": "Bakshy, E., Messing, S. & Adamic, L. A. Exposure to ideologically diverse news and opinion on Facebook. Science 348, 1130–1132 (2015).", + "journal-title": "Science" + }, + { + "key": "1742_CR176", + "doi-asserted-by": "publisher", + "first-page": "342", + "DOI": "10.1038/s41586-023-06078-5", + "volume": "618", + "author": "RE Robertson", + "year": "2023", + "unstructured": "Robertson, R. E. et al. Users choose to engage with more partisan news than they are exposed to on Google Search. Nature 618, 342–348 (2023).", + "journal-title": "Nature" + }, + { + "key": "1742_CR177", + "unstructured": "Art made by artificial intelligence is developing a style of its own. Economist (24 May 2023)." + }, + { + "key": "1742_CR178", + "doi-asserted-by": "publisher", + "first-page": "20220085", + "DOI": "10.1098/rsif.2022.0085", + "volume": "19", + "author": "N Obradovich", + "year": "2022", + "unstructured": "Obradovich, N. et al. Expanding the measurement of culture with a sample of two billion humans. J. R. Soc. Interface 19, 20220085 (2022).", + "journal-title": "J. R. Soc. Interface" + }, + { + "key": "1742_CR179", + "doi-asserted-by": "publisher", + "first-page": "E3635", + "DOI": "10.1073/pnas.1720347115", + "volume": "115", + "author": "N Garg", + "year": "2018", + "unstructured": "Garg, N., Schiebinger, L., Jurafsky, D. & Zou, J. Word embeddings quantify 100 years of gender and ethnic stereotypes. Proc. Natl Acad. Sci. USA 115, E3635–E3644 (2018).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR180", + "doi-asserted-by": "publisher", + "first-page": "21", + "DOI": "10.1140/epjds/s13688-023-00397-3", + "volume": "12", + "author": "A Karjus", + "year": "2023", + "unstructured": "Karjus, A., Solà, M. C., Ohm, T., Ahnert, S. E. & Schich, M. Compression ensembles quantify aesthetic complexity and the evolution of visual art. EPJ Data Sci. 12, 21 (2023).", + "journal-title": "EPJ Data Sci." + }, + { + "key": "1742_CR181", + "doi-asserted-by": "publisher", + "unstructured": "Santy, S., Liang, J. T., Bras, R. L., Reinecke, K. & Sap, M. NLPositionality: characterizing design biases of datasets and models. Preprint at arXiv https://doi.org/10.48550/arXiv.2306.01943 (2023).", + "DOI": "10.48550/arXiv.2306.01943" + }, + { + "key": "1742_CR182", + "doi-asserted-by": "publisher", + "first-page": "59", + "DOI": "10.1038/s41586-018-0637-6", + "volume": "563", + "author": "E Awad", + "year": "2018", + "unstructured": "Awad, E. et al. The Moral Machine experiment. Nature 563, 59–64 (2018).", + "journal-title": "Nature" + }, + { + "key": "1742_CR183", + "unstructured": "Brandt, F., Conitzer, V. & Endriss, U. in Multiagent Systems (ed. Weiss, G.) 213–284 (MIT Press, 2012)." + }, + { + "key": "1742_CR184", + "doi-asserted-by": "publisher", + "first-page": "1398", + "DOI": "10.1038/s41562-022-01383-x", + "volume": "6", + "author": "R Koster", + "year": "2022", + "unstructured": "Koster, R. et al. Human-centred mechanism design with Democratic AI. Nat. Hum. Behav. 6, 1398–1407 (2022).", + "journal-title": "Nat. Hum. Behav." + }, + { + "key": "1742_CR185", + "doi-asserted-by": "publisher", + "unstructured": "Small, C. T. et al. Opportunities and risks of LLMs for scalable deliberation with Polis. Preprint at arXiv https://doi.org/10.48550/arXiv.2306.11932 (2023).", + "DOI": "10.48550/arXiv.2306.11932" + }, + { + "key": "1742_CR186", + "doi-asserted-by": "publisher", + "first-page": "5", + "DOI": "10.1007/s10676-017-9430-8", + "volume": "20", + "author": "I Rahwan", + "year": "2018", + "unstructured": "Rahwan, I. Society-in-the-loop: programming the algorithmic social contract. Ethics Inf. Technol. 20, 5–14 (2018).", + "journal-title": "Ethics Inf. Technol." + }, + { + "key": "1742_CR187", + "doi-asserted-by": "publisher", + "unstructured": "Jernite, Y. et al. Data governance in the age of large-scale data-driven language technology. In 2022 ACM Conference on Fairness, Accountability, and Transparency 2206–2222 (Association for Computing Machinery, 2022); https://doi.org/10.1145/3531146.3534637", + "DOI": "10.1145/3531146.3534637" + }, + { + "key": "1742_CR188", + "first-page": "31809", + "volume": "35", + "author": "H Laurençon", + "year": "2022", + "unstructured": "Laurençon, H. et al. The bigscience roots corpus: a 1.6 tb composite multilingual dataset. Adv. Neural Inf. Process. Syst. 35, 31809–31826 (2022).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "1742_CR189", + "doi-asserted-by": "publisher", + "unstructured": "Ziegler, D. M. et al. Fine-tuning language models from human preferences. Preprint at arXiv https://doi.org/10.48550/arXiv.1909.08593 (2020).", + "DOI": "10.48550/arXiv.1909.08593" + }, + { + "key": "1742_CR190", + "doi-asserted-by": "publisher", + "unstructured": "Bai, Y. et al. Constitutional AI: harmlessness from AI feedback. Preprint at arXiv https://doi.org/10.48550/arXiv.2212.08073 (2022).", + "DOI": "10.48550/arXiv.2212.08073" + }, + { + "key": "1742_CR191", + "doi-asserted-by": "publisher", + "first-page": "593", + "DOI": "10.1073/pnas.0134966100", + "volume": "100", + "author": "CT Bergstrom", + "year": "2003", + "unstructured": "Bergstrom, C. T. & Lachmann, M. The Red King effect: when the slowest runner wins the coevolutionary race. Proc. Natl Acad. Sci. USA 100, 593–598 (2003).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR192", + "unstructured": "Bostrom, N. Superintelligence: Paths, Dangers, Strategies (Oxford Univ. Press, 2014)." + }, + { + "key": "1742_CR193", + "doi-asserted-by": "publisher", + "first-page": "e2218222120", + "DOI": "10.1073/pnas.2218222120", + "volume": "120", + "author": "DS Wilson", + "year": "2023", + "unstructured": "Wilson, D. S. et al. Multilevel cultural evolution: from new theory to practical applications. Proc. Natl Acad. Sci. USA 120, e2218222120 (2023).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR194", + "unstructured": "DALL·E: Creating Images from Text, https://openai.com/research/dall-e (OpenAI, 2021)." + } + ], + "container-title": "Nature Human Behaviour", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://www.nature.com/articles/s41562-023-01742-2.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://www.nature.com/articles/s41562-023-01742-2", + "content-type": "text/html", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://www.nature.com/articles/s41562-023-01742-2.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2023, + 11, + 21 + ] + ], + "date-time": "2023-11-21T15:17:37Z", + "timestamp": 1700579857000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.nature.com/articles/s41562-023-01742-2" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2023, + 11, + 20 + ] + ] + }, + "references-count": 195, + "journal-issue": { + "issue": "11", + "published-online": { + "date-parts": [ + [ + 2023, + 11 + ] + ] + } + }, + "alternative-id": [ + "1742" + ], + "URL": "http://dx.doi.org/10.1038/s41562-023-01742-2", + "relation": {}, + "ISSN": [ + "2397-3374" + ], + "subject": [], + "container-title-short": "Nat Hum Behav", + "published": { + "date-parts": [ + [ + 2023, + 11, + 20 + ] + ] + }, + "assertion": [ + { + "value": "22 August 2023", + "order": 1, + "name": "received", + "label": "Received", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "3 October 2023", + "order": 2, + "name": "accepted", + "label": "Accepted", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "20 November 2023", + "order": 3, + "name": "first_online", + "label": "First Online", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "The authors declare no competing interests.", + "order": 1, + "name": "Ethics", + "group": { + "name": "EthicsHeading", + "label": "Competing interests" + } + } + ], + "id": "ref17", + "note": "Manuscript reference 17" + }, + { + "type": "article", + "id": "ref18", + "categories": [ + "Human-Computer Interaction (cs.HC)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Park", + "given": "Joon Sung" + }, + { + "family": "O'Brien", + "given": "Joseph C." + }, + { + "family": "Cai", + "given": "Carrie J." + }, + { + "family": "Morris", + "given": "Meredith Ringel" + }, + { + "family": "Liang", + "given": "Percy" + }, + { + "family": "Bernstein", + "given": "Michael S." + } + ], + "issued": { + "date-parts": [ + [ + 2023 + ] + ] + }, + "abstract": "Believable proxies of human behavior can empower interactive applications ranging from immersive environments to rehearsal spaces for interpersonal communication to prototyping tools. In this paper, we introduce generative agents--computational software agents that simulate believable human behavior. Generative agents wake up, cook breakfast, and head to work; artists paint, while authors write; they form opinions, notice each other, and initiate conversations; they remember and reflect on days past as they plan the next day. To enable generative agents, we describe an architecture that extends a large language model to store a complete record of the agent's experiences using natural language, synthesize those memories over time into higher-level reflections, and retrieve them dynamically to plan behavior. We instantiate generative agents to populate an interactive sandbox environment inspired by The Sims, where end users can interact with a small town of twenty five agents using natural language. In an evaluation, these generative agents produce believable individual and emergent social behaviors: for example, starting with only a single user-specified notion that one agent wants to throw a Valentine's Day party, the agents autonomously spread invitations to the party over the next two days, make new acquaintances, ask each other out on dates to the party, and coordinate to show up for the party together at the right time. We demonstrate through ablation that the components of our agent architecture--observation, planning, and reflection--each contribute critically to the believability of agent behavior. By fusing large language models with computational, interactive agents, this work introduces architectural and interaction patterns for enabling believable simulations of human behavior.", + "DOI": "10.48550/arXiv.2304.03442", + "publisher": "arXiv", + "title": "Generative Agents: Interactive Simulacra of Human Behavior", + "URL": "https://arxiv.org/abs/2304.03442", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 18", + "container-title": "arXiv", + "number": "arXiv:2304.03442", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref19", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "Multiagent Systems (cs.MA)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Guo", + "given": "Taicheng" + }, + { + "family": "Chen", + "given": "Xiuying" + }, + { + "family": "Wang", + "given": "Yaqi" + }, + { + "family": "Chang", + "given": "Ruidi" + }, + { + "family": "Pei", + "given": "Shichao" + }, + { + "family": "Chawla", + "given": "Nitesh V." + }, + { + "family": "Wiest", + "given": "Olaf" + }, + { + "family": "Zhang", + "given": "Xiangliang" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Large Language Models (LLMs) have achieved remarkable success across a wide array of tasks. Due to the impressive planning and reasoning abilities of LLMs, they have been used as autonomous agents to do many tasks automatically. Recently, based on the development of using one LLM as a single planning or decision-making agent, LLM-based multi-agent systems have achieved considerable progress in complex problem-solving and world simulation. To provide the community with an overview of this dynamic field, we present this survey to offer an in-depth discussion on the essential aspects of multi-agent systems based on LLMs, as well as the challenges. Our goal is for readers to gain substantial insights on the following questions: What domains and environments do LLM-based multi-agents simulate? How are these agents profiled and how do they communicate? What mechanisms contribute to the growth of agents' capacities? For those interested in delving into this field of study, we also summarize the commonly used datasets or benchmarks for them to have convenient access. To keep researchers updated on the latest studies, we maintain an open-source GitHub repository, dedicated to outlining the research on LLM-based multi-agent systems.", + "DOI": "10.48550/arXiv.2402.01680", + "publisher": "arXiv", + "title": "Large Language Model based Multi-Agents: A Survey of Progress and Challenges", + "URL": "https://arxiv.org/abs/2402.01680", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 19", + "container-title": "arXiv", + "number": "arXiv:2402.01680", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref20", + "categories": [ + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Tomasev", + "given": "Nenad" + }, + { + "family": "Franklin", + "given": "Matija" + }, + { + "family": "Leibo", + "given": "Joel Z." + }, + { + "family": "Jacobs", + "given": "Julian" + }, + { + "family": "Cunningham", + "given": "William A." + }, + { + "family": "Gabriel", + "given": "Iason" + }, + { + "family": "Osindero", + "given": "Simon" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "The rapid adoption of autonomous AI agents is giving rise to a new economic layer where agents transact and coordinate at scales and speeds beyond direct human oversight. We propose the \"sandbox economy\" as a framework for analyzing this emergent system, characterizing it along two key dimensions: its origins (emergent vs. intentional) and its degree of separateness from the established human economy (permeable vs. impermeable). Our current trajectory points toward a spontaneous emergence of a vast and highly permeable AI agent economy, presenting us with opportunities for an unprecedented degree of coordination as well as significant challenges, including systemic economic risk and exacerbated inequality. Here we discuss a number of possible design choices that may lead to safely steerable AI agent markets. In particular, we consider auction mechanisms for fair resource allocation and preference resolution, the design of AI \"mission economies\" to coordinate around achieving collective goals, and socio-technical infrastructure needed to ensure trust, safety, and accountability. By doing this, we argue for the proactive design of steerable agent markets to ensure the coming technological shift aligns with humanity's long-term collective flourishing.", + "DOI": "10.48550/arXiv.2509.10147", + "publisher": "arXiv", + "title": "Virtual Agent Economies", + "URL": "https://arxiv.org/abs/2509.10147", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 20", + "container-title": "arXiv", + "number": "arXiv:2509.10147", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 9 + ] + ], + "date-time": "2026-09-09T21:25:44Z", + "timestamp": 1788989144266, + "version": "build-2803163510" + }, + "reference-count": 22, + "publisher": "Springer Science and Business Media LLC", + "issue": "8022", + "license": [ + { + "start": { + "date-parts": [ + [ + 2024, + 7, + 24 + ] + ], + "date-time": "2024-07-24T00:00:00Z", + "timestamp": 1721779200000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://creativecommons.org/licenses/by/4.0" + }, + { + "start": { + "date-parts": [ + [ + 2024, + 7, + 24 + ] + ], + "date-time": "2024-07-24T00:00:00Z", + "timestamp": 1721779200000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://creativecommons.org/licenses/by/4.0" + } + ], + "content-domain": { + "domain": [ + "link.springer.com" + ], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 2024, + 7, + 25 + ] + ] + }, + "abstract": "Abstract Stable diffusion revolutionized image creation from descriptive text. GPT-2 (ref. 1 ), GPT-3(.5) (ref. 2 ) and GPT-4 (ref. 3 ) demonstrated high performance across a variety of language tasks. ChatGPT introduced such language models to the public. It is now clear that generative artificial intelligence (AI) such as large language models (LLMs) is here to stay and will substantially change the ecosystem of online text and images. Here we consider what may happen to GPT-{ n } once LLMs contribute much of the text found online. We find that indiscriminate use of model-generated content in training causes irreversible defects in the resulting models, in which tails of the original content distribution disappear. We refer to this effect as ‘model collapse’ and show that it can occur in LLMs as well as in variational autoencoders (VAEs) and Gaussian mixture models (GMMs). We build theoretical intuition behind the phenomenon and portray its ubiquity among all learned generative models. We demonstrate that it must be taken seriously if we are to sustain the benefits of training from large-scale data scraped from the web. Indeed, the value of data collected about genuine human interactions with systems will be increasingly valuable in the presence of LLM-generated content in data crawled from the Internet.", + "DOI": "10.1038/s41586-024-07566-y", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2024, + 7, + 24 + ] + ], + "date-time": "2024-07-24T11:01:51Z", + "timestamp": 1721818911000 + }, + "page": "755-759", + "update-policy": "https://doi.org/10.1007/springer_crossmark_policy", + "source": "Crossref", + "is-referenced-by-count": 697, + "title": "AI models collapse when trained on recursively generated data", + "prefix": "10.1038", + "volume": "631", + "author": [ + { + "given": "Ilia", + "family": "Shumailov", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Zakhar", + "family": "Shumaylov", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-3727-7463", + "authenticated-orcid": false, + "given": "Yiren", + "family": "Zhao", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Nicolas", + "family": "Papernot", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0001-8697-5682", + "authenticated-orcid": false, + "given": "Ross", + "family": "Anderson", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-2733-2078", + "authenticated-orcid": false, + "given": "Yarin", + "family": "Gal", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "297", + "published-online": { + "date-parts": [ + [ + 2024, + 7, + 24 + ] + ] + }, + "reference": [ + { + "key": "7566_CR1", + "first-page": "9", + "volume": "1", + "author": "A Radford", + "year": "2019", + "unstructured": "Radford, A. et al. Language models are unsupervised multitask learners. OpenAI blog 1, 9 (2019).", + "journal-title": "OpenAI blog" + }, + { + "key": "7566_CR2", + "first-page": "1877", + "volume": "33", + "author": "T Brown", + "year": "2020", + "unstructured": "Brown, T. et al. Language models are few-shot learners. Adv. Neural Inf. Process. Syst. 33, 1877–1901 (2020).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "7566_CR3", + "unstructured": "OpenAI. GPT-4 Technical Report. https://cdn.openai.com/papers/gpt-4.pdf (2023)." + }, + { + "key": "7566_CR4", + "unstructured": "Devlin, J., Chang, M.-W., Lee, K. & Toutanova, K. in Proc. 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers) (eds Burstein, J., Doran, C. & Solorio, T.) 4171–4186 (Association for Computational Linguistics, 2019)." + }, + { + "key": "7566_CR5", + "unstructured": "Liu, Y. et al. RoBERTa: a Robustly Optimized BERT Pretraining Approach. Preprint at https://arxiv.org/abs/1907.11692 (2019)." + }, + { + "key": "7566_CR6", + "unstructured": "Zhang, S. et al. Opt: open pre-trained transformer language models. Preprint at https://arxiv.org/abs/2205.01068 (2022)." + }, + { + "key": "7566_CR7", + "doi-asserted-by": "crossref", + "unstructured": "Aljundi, R., Kelchtermans, K. & Tuytelaars, T. Task-free continual learning. in: Proc. 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) 11254–11263 (IEEE, 2019).", + "DOI": "10.1109/CVPR.2019.01151" + }, + { + "key": "7566_CR8", + "unstructured": "Carlini, N. & Terzis, A. in Proc. Tenth International Conference on Learning Representations (ICLR, 2022)." + }, + { + "key": "7566_CR9", + "unstructured": "Carlini, N. et al. in Proc. 2024 IEEE Symposium on Security and Privacy (SP) 179 (IEEE, 2024)." + }, + { + "key": "7566_CR10", + "unstructured": "Mousavi-Hosseini, A., Park, S., Girotti, M., Mitliagkas, I. & Erdogdu, M. A. in Proc. Eleventh International Conference on Learning Representations (ICLR, 2023)." + }, + { + "key": "7566_CR11", + "first-page": "1", + "volume": "19", + "author": "D Soudry", + "year": "2018", + "unstructured": "Soudry, D., Hoffer, E., Nacson, M. S., Gunasekar, S. & Srebro, N. The implicit bias of gradient descent on separable data. J. Mach. Learn. Res. 19, 1–57 (2018).", + "journal-title": "J. Mach. Learn. Res." + }, + { + "key": "7566_CR12", + "unstructured": "Gu, Y., Dong, L., Wei, F. & Huang, M. in Proc. Twelfth International Conference on Learning Representations (ICLR, 2024)." + }, + { + "key": "7566_CR13", + "doi-asserted-by": "publisher", + "unstructured": "Shumailov, I. & Shumaylov, Z. Public code for Model Collapse (0.1). Zenodo https://doi.org/10.5281/zenodo.10866595 (2024).", + "DOI": "10.5281/zenodo.10866595" + }, + { + "key": "7566_CR14", + "unstructured": "Bommasani, R. et al. On the opportunities and risks of foundation models. Preprint at https://arxiv.org/abs/2108.07258 (2022)." + }, + { + "key": "7566_CR15", + "unstructured": "Strubell, E., Ganesh, A. & McCallum, A. in Proc. 57th Annual Meeting of the Association for Computational Linguistics (eds Korhonen, A., Traum, D. & Màrquez, L.) 3645–3650 (Association for Computational Linguistics, 2019)." + }, + { + "key": "7566_CR16", + "unstructured": "Merity, S., Xiong, C., Bradbury, J. & Socher, R. in Proc. 5th International Conference on Learning Representations (ICLR, 2017)." + }, + { + "key": "7566_CR17", + "unstructured": "Keskar, N. S., McCann, B., Varshney, L. R., Xiong, C. & Socher, R. CTRL: a conditional transformer language model for controllable generation. Preprint at https://arxiv.org/abs/1909.05858 (2019)." + }, + { + "key": "7566_CR18", + "doi-asserted-by": "crossref", + "unstructured": "Shumailov, I. et al. in Proc. 2021 IEEE European Symposium on Security and Privacy (EuroS&P) 212–231 (IEEE, 2021).", + "DOI": "10.1109/EuroSP51992.2021.00024" + }, + { + "key": "7566_CR19", + "unstructured": "Google. Finding more high-quality sites in search. Google https://googleblog.blogspot.com/2011/02/finding-more-high-quality-sites-in.html (2011)." + }, + { + "key": "7566_CR20", + "unstructured": "Mims, C. The search engine backlash against ‘content mills’. MIT Technology Review https://www.technologyreview.com/2010/07/26/26327/the-search-engine-backlash-against-content-mills/ (2010)." + }, + { + "key": "7566_CR21", + "doi-asserted-by": "publisher", + "first-page": "198", + "DOI": "10.1198/000313007X219996", + "volume": "61", + "author": "NN Taleb", + "year": "2007", + "unstructured": "Taleb, N. N. Black swans and the domains of statistics. Am. Stat. 61, 198–200 (2007).", + "journal-title": "Am. Stat." + }, + { + "key": "7566_CR22", + "unstructured": "LeCun, Y., Cortes, C. & Burges, C. J. C. The MNIST database of handwritten digits. http://yann.lecun.com/exdb/mnist/ (1998)." + } + ], + "updated-by": [ + { + "DOI": "10.1038/s41586-025-08905-3", + "type": "correction", + "label": "Correction", + "source": "publisher", + "updated": { + "date-parts": [ + [ + 2025, + 3, + 21 + ] + ], + "date-time": "2025-03-21T00:00:00Z", + "timestamp": 1742515200000 + } + } + ], + "container-title": "Nature", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://www.nature.com/articles/s41586-024-07566-y.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://www.nature.com/articles/s41586-024-07566-y", + "content-type": "text/html", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://www.nature.com/articles/s41586-024-07566-y.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2025, + 3, + 22 + ] + ], + "date-time": "2025-03-22T03:00:21Z", + "timestamp": 1742612421000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.nature.com/articles/s41586-024-07566-y" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2024, + 7, + 24 + ] + ] + }, + "references-count": 22, + "journal-issue": { + "issue": "8022", + "published-print": { + "date-parts": [ + [ + 2024, + 7, + 25 + ] + ] + } + }, + "alternative-id": [ + "7566" + ], + "URL": "http://dx.doi.org/10.1038/s41586-024-07566-y", + "relation": {}, + "ISSN": [ + "0028-0836", + "1476-4687" + ], + "subject": [], + "container-title-short": "Nature", + "published": { + "date-parts": [ + [ + 2024, + 7, + 24 + ] + ] + }, + "assertion": [ + { + "value": "20 October 2023", + "order": 1, + "name": "received", + "label": "Received", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "14 May 2024", + "order": 2, + "name": "accepted", + "label": "Accepted", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "24 July 2024", + "order": 3, + "name": "first_online", + "label": "First Online", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "21 March 2025", + "order": 4, + "name": "change_date", + "label": "Change Date", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "Correction", + "order": 5, + "name": "change_type", + "label": "Change Type", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "A Correction to this paper has been published:", + "order": 6, + "name": "change_details", + "label": "Change Details", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "https://doi.org/10.1038/s41586-025-08905-3", + "URL": "https://doi.org/10.1038/s41586-025-08905-3", + "order": 7, + "name": "change_details", + "label": "Change Details", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "The authors declare no competing interests.", + "order": 1, + "name": "Ethics", + "group": { + "name": "EthicsHeading", + "label": "Competing interests" + } + } + ], + "id": "ref21", + "note": "Manuscript reference 21" + }, + { + "indexed": { + "date-parts": [ + [ + 2024, + 6, + 6 + ] + ], + "date-time": "2024-06-06T14:35:42Z", + "timestamp": 1717684542721 + }, + "reference-count": 52, + "publisher": "Public Library of Science (PLoS)", + "issue": "6", + "license": [ + { + "start": { + "date-parts": [ + [ + 2012, + 6, + 7 + ] + ], + "date-time": "2012-06-07T00:00:00Z", + "timestamp": 1339027200000 + }, + "content-version": "unspecified", + "delay-in-days": 0, + "URL": "http://creativecommons.org/licenses/by/4.0/" + } + ], + "content-domain": { + "domain": [ + "www.ploscompbiol.org" + ], + "crossmark-restriction": false + }, + "DOI": "10.1371/journal.pcbi.1002510", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2012, + 6, + 7 + ] + ], + "date-time": "2012-06-07T21:13:18Z", + "timestamp": 1339103598000 + }, + "page": "e1002510", + "update-policy": "http://dx.doi.org/10.1371/journal.pcbi.corrections_policy", + "source": "Crossref", + "is-referenced-by-count": 4, + "title": "Structural Drift: The Population Dynamics of Sequential Learning", + "prefix": "10.1371", + "volume": "8", + "author": [ + { + "given": "James P.", + "family": "Crutchfield", + "sequence": "first", + "affiliation": [], + "role": [ + { + "role": "author", + "vocabulary": "crossref" + } + ] + }, + { + "given": "Sean", + "family": "Whalen", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "role": "author", + "vocabulary": "crossref" + } + ] + } + ], + "member": "340", + "published-online": { + "date-parts": [ + [ + 2012, + 6, + 7 + ] + ] + }, + "reference": [ + { + "key": "ref1", + "doi-asserted-by": "crossref", + "first-page": "214", + "DOI": "10.1007/BF00141002", + "article-title": "Send reinforcements we're going to advance.", + "volume": "3", + "author": "CUM Smith", + "year": "1988", + "journal-title": "Bio Phil" + }, + { + "key": "ref2", + "doi-asserted-by": "crossref", + "first-page": "105", + "DOI": "10.1103/PhysRevLett.63.105", + "article-title": "Inferring Statistical Complexity.", + "volume": "63", + "author": "JP Crutchfield", + "year": "1989", + "journal-title": "Phys Rev Lett" + }, + { + "key": "ref3", + "first-page": "317", + "article-title": "Semantics and Thermodynamics.", + "author": "JP Crutchfield", + "year": "1992" + }, + { + "key": "ref4", + "doi-asserted-by": "crossref", + "first-page": "817", + "DOI": "10.1023/A:1010388907793", + "article-title": "Computational Mechanics: Pattern and Prediction, Structure and Simplicity.", + "volume": "104", + "author": "CR Shalizi", + "year": "2001", + "journal-title": "J Stat Phys" + }, + { + "key": "ref5", + "doi-asserted-by": "crossref", + "first-page": "763", + "DOI": "10.1093/genetics/61.3.763", + "article-title": "The Average Number of Generations until Fixation of a Mutant Gene in a Finite Population.", + "volume": "61", + "author": "M Kimura", + "year": "1969", + "journal-title": "Genetics" + }, + { + "key": "ref6", + "doi-asserted-by": "crossref", + "first-page": "9716", + "DOI": "10.1073/pnas.96.17.9716", + "article-title": "Neutral evolution of mutational robustness.", + "volume": "96", + "author": "E van Nimwegen", + "year": "1999", + "journal-title": "Proc Natl Acad Sci U S A" + }, + { + "key": "ref7", + "doi-asserted-by": "crossref", + "first-page": "5869", + "DOI": "10.1073/pnas.0510098103", + "article-title": "Protein stability promotes evolvability.", + "volume": "103", + "author": "JD Bloom", + "year": "2006", + "journal-title": "Proc Natl Acad Sci U S A" + }, + { + "key": "ref8", + "doi-asserted-by": "crossref", + "first-page": "138104", + "DOI": "10.1103/PhysRevLett.99.138104", + "article-title": "Molecular Clock on a Neutral Network.", + "volume": "99", + "author": "A Raval", + "year": "2007", + "journal-title": "Phys Rev Lett" + }, + { + "key": "ref9", + "article-title": "Evolutionary Dynamics: Exploring the Interplay of Selection, Accident, Neutrality, and Function. Santa Fe Institute Series in the Sciences of Complexity", + "author": "JP Crutchfield", + "year": "2003" + }, + { + "key": "ref10", + "doi-asserted-by": "crossref", + "first-page": "1898", + "DOI": "10.1126/science.1132745", + "article-title": "Epochal evolution shapes the phylodynamics of interpandemic inuenza A (H3N2) in humans.", + "volume": "314", + "author": "K Koelle", + "year": "2006", + "journal-title": "Science" + }, + { + "key": "ref11", + "doi-asserted-by": "crossref", + "DOI": "10.1017/CBO9780511623486", + "article-title": "The Neutral Theory of Molecular Evolution", + "author": "M Kimura", + "year": "1983" + }, + { + "key": "ref12", + "doi-asserted-by": "crossref", + "first-page": "97", + "DOI": "10.1093/genetics/16.2.97", + "article-title": "Evolution in Mendelian Populations.", + "volume": "16", + "author": "S Wright", + "year": "1931", + "journal-title": "Genetics" + }, + { + "key": "ref13", + "doi-asserted-by": "crossref", + "DOI": "10.5962/bhl.title.27468", + "article-title": "The Genetical Theory of Natural Selection", + "author": "RA Fisher", + "year": "1930" + }, + { + "key": "ref14", + "doi-asserted-by": "crossref", + "first-page": "639", + "DOI": "10.1038/nrg2611", + "article-title": "Genetics in geographically structured populations: Defining, estimating and interpreting F ST.", + "volume": "10", + "author": "KE Holsinger", + "year": "2009", + "journal-title": "Nat Rev Gen" + }, + { + "key": "ref15", + "doi-asserted-by": "crossref", + "first-page": "909", + "DOI": "10.1093/genetics/155.2.909", + "article-title": "Genetic Drift in an Infinite Population: The Pseudohitchhiking Model.", + "volume": "155", + "author": "JH Gillespie", + "year": "2000", + "journal-title": "Genetics" + }, + { + "key": "ref16", + "article-title": "Experiments in Plant Hybridisation", + "author": "G Mendel", + "year": "1925" + }, + { + "key": "ref17", + "article-title": "An Introduction to Probability Theory and Its Applications, Volume 1", + "author": "W Feller", + "year": "1968" + }, + { + "key": "ref18", + "article-title": "Population Genetics: A Concise Guide", + "author": "JH Gillespie", + "year": "2004" + }, + { + "key": "ref19", + "doi-asserted-by": "crossref", + "first-page": "13183", + "DOI": "10.1073/pnas.0912538107", + "article-title": "Individual histories and selection in heterogeneous populations.", + "volume": "107", + "author": "S Leibler", + "year": "2010", + "journal-title": "Proc Natl Acad Sci U S A" + }, + { + "key": "ref20", + "article-title": "Pattern Discovery in Time Series, Part I: Theory, Algorithm, Analysis, and Convergence.", + "author": "CR Shalizi", + "year": "2002" + }, + { + "key": "ref21", + "doi-asserted-by": "crossref", + "first-page": "174110", + "DOI": "10.1103/PhysRevB.66.174110", + "article-title": "Discovering planar disorder in close-packed structures from x-ray diffraction: Beyond the fault model.", + "volume": "66", + "author": "DP Varn", + "year": "2002", + "journal-title": "Phys Rev B Condens Matter" + }, + { + "key": "ref22", + "article-title": "Information Theory and Statistics", + "author": "S Kullback", + "year": "1959" + }, + { + "key": "ref23", + "first-page": "163", + "article-title": "The use of information theory in the study of the diversity of biological populations.", + "author": "EC Pielou", + "year": "1967" + }, + { + "key": "ref24", + "doi-asserted-by": "crossref", + "first-page": "25", + "DOI": "10.1063/1.1530990", + "article-title": "Regularities unseen, randomness observed: Levels of entropy convergence.", + "volume": "13", + "author": "JP Crutchfield", + "year": "2003", + "journal-title": "CHAOS" + }, + { + "key": "ref25", + "article-title": "Enumerating finitary processes.", + "author": "BD Johnson", + "year": "2010" + }, + { + "key": "ref26", + "doi-asserted-by": "crossref", + "first-page": "59", + "DOI": "10.1063/1.2991106", + "article-title": "The organization of intrinsic computation: Complexity-entropy diagrams and the diversity of natural information processing.", + "volume": "18", + "author": "DP Feldman", + "year": "2008", + "journal-title": "CHAOS" + }, + { + "key": "ref27", + "doi-asserted-by": "crossref", + "first-page": "522", + "DOI": "10.1073/pnas.77.1.522", + "article-title": "Average Time until Fixation of a Mutant Allele in a Finite Population under Continued Mutation Pressure: Studies by Analytical, Numerical, and Pseudo-Sampling Methods.", + "volume": "77", + "author": "M Kimura", + "year": "1980", + "journal-title": "Proc Natl Acad Sci U S A" + }, + { + "key": "ref28", + "doi-asserted-by": "crossref", + "first-page": "716", + "DOI": "10.1109/TAC.1974.1100705", + "article-title": "A new look at the statistical model identification.", + "volume": "19", + "author": "H Akaike", + "year": "1974", + "journal-title": "IEEE Trans Automat Contr" + }, + { + "key": "ref29", + "article-title": "Model Selection and Multi-Model Inference", + "author": "KP Burnham", + "year": "2002" + }, + { + "key": "ref30", + "doi-asserted-by": "crossref", + "first-page": "445", + "DOI": "10.1006/jtbi.2003.3199", + "article-title": "Language Dynamics in Finite Populations.", + "volume": "221", + "author": "N Komarova", + "year": "2003", + "journal-title": "J Theor Biol" + }, + { + "key": "ref31", + "doi-asserted-by": "crossref", + "first-page": "1647", + "DOI": "10.1098/rsif.2010.0110", + "article-title": "Diversity, competition, extinction: The ecophysics of language change.", + "volume": "7", + "author": "RV Solé", + "year": "2010", + "journal-title": "J R Soc Interface" + }, + { + "key": "ref32", + "doi-asserted-by": "crossref", + "first-page": "334", + "DOI": "10.1016/S0019-9958(58)90219-5", + "article-title": "Systematic error on the part of human links in communication systems.", + "volume": "1", + "author": "DT Campbell", + "year": "1958", + "journal-title": "Info Control" + }, + { + "key": "ref33", + "doi-asserted-by": "crossref", + "first-page": "3503", + "DOI": "10.1098/rstb.2008.0146", + "article-title": "Theoretical and empirical evidence for the impact of inductive biases on cultural evolution.", + "volume": "363", + "author": "TL Grifiths", + "year": "2008", + "journal-title": "Philos Trans R Soc Lond B Biol Sci" + }, + { + "key": "ref34", + "doi-asserted-by": "crossref", + "first-page": "1131", + "DOI": "10.1111/j.1551-6709.2009.01049.x", + "article-title": "Language Acquisition Meets Language Evolution.", + "volume": "34", + "author": "N Chater", + "year": "2009", + "journal-title": "Cogn Sci" + }, + { + "key": "ref35", + "doi-asserted-by": "crossref", + "first-page": "370", + "DOI": "10.1016/S0019-9958(58)90229-8", + "article-title": "Length-Frequency Statistics for Written English.", + "volume": "1", + "author": "GA Miller", + "year": "1958", + "journal-title": "Info Control" + }, + { + "key": "ref36", + "first-page": "486", + "article-title": "An informational theory of the statistical structure of languages.", + "author": "B Mandelbrot", + "year": "1953" + }, + { + "key": "ref37", + "article-title": "The Psycho-Biology of Language: An Introduction to Dynamic Philology", + "author": "GK Zipf", + "year": "1965" + }, + { + "key": "ref38", + "doi-asserted-by": "crossref", + "first-page": "371", + "DOI": "10.1162/106454603322694825", + "article-title": "Iterated learning: A framework for the emergence of language.", + "volume": "9", + "author": "K Smith", + "year": "2003", + "journal-title": "Artif Life" + }, + { + "key": "ref39", + "doi-asserted-by": "crossref", + "first-page": "5241", + "DOI": "10.1073/pnas.0608222104", + "article-title": "Innateness and culture in the evolution of language.", + "volume": "104", + "author": "S Kirby", + "year": "2007", + "journal-title": "Proc Natl Acad Sci U S A" + }, + { + "key": "ref40", + "doi-asserted-by": "crossref", + "first-page": "213", + "DOI": "10.1177/1059712309105818", + "article-title": "The Iterated Classification Game: A New Model of the Cultural Transmission of Language.", + "volume": "17", + "author": "S Swarup", + "year": "2009", + "journal-title": "Adapt Behav" + }, + { + "key": "ref41", + "article-title": "Niche Construction: The Neglected Process in Evolution", + "author": "FJ Odling-Smee", + "year": "2003" + }, + { + "key": "ref42", + "doi-asserted-by": "crossref", + "first-page": "2105", + "DOI": "10.1016/j.chemosphere.2006.12.024", + "article-title": "Micro-evolution due to pollution: Possible consequences for ecosystem responses to toxic stress.", + "volume": "67", + "author": "MH Medina", + "year": "2007", + "journal-title": "Chemosphere" + }, + { + "key": "ref43", + "doi-asserted-by": "crossref", + "first-page": "264", + "DOI": "10.1002/ieam.5630040218", + "article-title": "Genetic Structure and Phenotypic Plasticity of Yellow Perch (Perca Flavescens) Populations Inuenced by Habitat, Predation, and Contamination Gradients.", + "volume": "4", + "author": "A Tremblay", + "year": "2008", + "journal-title": "Integr Environ Assess Manag" + }, + { + "key": "ref44", + "doi-asserted-by": "crossref", + "first-page": "428", + "DOI": "10.1007/s00439-005-1333-9", + "article-title": "Significant genetic differentiation between Poland and Germany follows present-day political borders, as revealed by Y-chromosome analysis.", + "volume": "117", + "author": "M Kayser", + "year": "2005", + "journal-title": "Hum Genet" + }, + { + "key": "ref45", + "doi-asserted-by": "crossref", + "first-page": "115", + "DOI": "10.1017/S0094837300005224", + "article-title": "Punctuated equilibria: The tempo and mode of evolution reconsidered.", + "volume": "3", + "author": "SJ Gould", + "year": "1977", + "journal-title": "Paleobiology" + }, + { + "key": "ref46", + "doi-asserted-by": "crossref", + "first-page": "41", + "DOI": "10.1016/S0304-3975(99)00119-X", + "article-title": "Statistical Dynamics of the Royal Road Genetic Algorithm.", + "volume": "229", + "author": "E van Nimwegen", + "year": "1999", + "journal-title": "Theor Comput Sci" + }, + { + "key": "ref47", + "first-page": "101", + "article-title": "When Evolution is Revolution—Origins of Innovation.", + "author": "JP Crutchfield", + "year": "2003" + }, + { + "key": "ref48", + "first-page": "355", + "article-title": "The roles of mutation, inbreeding, crossbreeding, and selection in evolution.", + "author": "S Wright", + "year": "1932" + }, + { + "key": "ref49", + "doi-asserted-by": "crossref", + "first-page": "169", + "DOI": "10.1016/S0167-2789(96)00259-X", + "article-title": "Computational Mechanics of Cellular Automata: An Example.", + "volume": "103", + "author": "JE Hanson", + "year": "1997", + "journal-title": "Physica D" + }, + { + "key": "ref50", + "doi-asserted-by": "crossref", + "first-page": "299", + "DOI": "10.1016/j.physleta.2004.02.077", + "article-title": "From Finite to Infinite Range Order via Annealing: The Causal Architecture of Deformation Faulting in Annealed Close-Packed Crystals.", + "volume": "324", + "author": "DP Varn", + "year": "2004", + "journal-title": "Phys Lett A" + }, + { + "key": "ref51", + "doi-asserted-by": "crossref", + "first-page": "312", + "DOI": "10.1038/nature03204", + "article-title": "Evolutionary dynamics on graphs.", + "volume": "433", + "author": "E Lieberman", + "year": "2005", + "journal-title": "Nature" + }, + { + "key": "ref52", + "first-page": "355", + "article-title": "Graph theory and the evolution of autocatalytic networks.", + "author": "S Jain", + "year": "2002" + } + ], + "container-title": "PLoS Computational Biology", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "http://dx.plos.org/10.1371/journal.pcbi.1002510", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2022, + 1, + 17 + ] + ], + "date-time": "2022-01-17T01:54:37Z", + "timestamp": 1642384477000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://dx.plos.org/10.1371/journal.pcbi.1002510" + } + }, + "subtitle": [], + "editor": [ + { + "given": "Carl T.", + "family": "Bergstrom", + "sequence": "first", + "affiliation": [], + "role": [ + { + "role": "editor", + "vocabulary": "crossref" + } + ] + } + ], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2012, + 6, + 7 + ] + ] + }, + "references-count": 52, + "journal-issue": { + "issue": "6", + "published-online": { + "date-parts": [ + [ + 2012, + 6, + 7 + ] + ] + } + }, + "URL": "http://dx.doi.org/10.1371/journal.pcbi.1002510", + "relation": {}, + "ISSN": [ + "1553-7358" + ], + "subject": [], + "container-title-short": "PLoS Comput Biol", + "published": { + "date-parts": [ + [ + 2012, + 6, + 7 + ] + ] + }, + "id": "ref22", + "note": "Manuscript reference 22" + }, + { + "type": "article", + "id": "ref23", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences", + "I.2.7; I.2.6; G.2.2; G.3; F.2.2", + "68T05, 68T50, 60J10" + ], + "author": [ + { + "family": "Riis", + "given": "Søren" + } + ], + "issued": { + "date-parts": [ + [ + 2026 + ] + ] + }, + "abstract": "The public text record -- the material from which both people and AI systems now learn -- is increasingly shaped by its own outputs. Generated text enters the public record, later agents learn from it, and the cycle repeats. Here we develop an exactly solvable mathematical framework for this recursive process, based on variable-order $n$-gram agents, and separate two forces acting on the public corpus. The first is drift: unfiltered reuse progressively removes rare forms, and in the infinite-corpus limit we characterise the stable distributions exactly. The second is selection: publication, ranking and verification filter what enters the record, and the outcome depends on what is selected. When publication merely reflects the statistical status quo, the corpus converges to a shallow state in which further lookahead brings no benefit. When publication is normative -- rewarding quality, correctness or novelty -- deeper structure persists, and we establish an optimal upper bound on the resulting divergence from shallow equilibria. The framework therefore identifies when recursive publication compresses public text and when selective filtering sustains richer structure, with implications for the design of AI training corpora.", + "DOI": "10.48550/arXiv.2604.08554", + "publisher": "arXiv", + "title": "Drift and selection in LLM text ecosystems", + "URL": "https://arxiv.org/abs/2604.08554", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "1", + "note": "Manuscript reference 23", + "container-title": "arXiv", + "number": "arXiv:2604.08554", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref24", + "categories": [ + "Machine Learning (stat.ML)", + "Information Theory (cs.IT)", + "Machine Learning (cs.LG)", + "Statistics Theory (math.ST)", + "Data Analysis, Statistics and Probability (physics.data-an)", + "Populations and Evolution (q-bio.PE)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences", + "FOS: Mathematics", + "FOS: Mathematics", + "FOS: Physical sciences", + "FOS: Physical sciences", + "FOS: Biological sciences", + "FOS: Biological sciences" + ], + "author": [ + { + "family": "Benati", + "given": "Matteo" + }, + { + "family": "Londei", + "given": "Alessandro" + }, + { + "family": "Lanzieri", + "given": "Denise" + }, + { + "family": "Loreto", + "given": "Vittorio" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Extinction times in resampling processes are fundamental yet often intractable, as previous formulas scale as $2^M$ with the number of states $M$ present in the initial probability distribution. We solve this by treating multinomial updates as independent square-root diffusions of zero drift, yielding a closed-form law for the first-extinction time. We prove that the mean coincides exactly with the Wright-Fisher result of Baxter et al., thereby replacing exponential-cost evaluations with a linear-cost expression, and we validate this result through extensive simulations. Finally, we demonstrate predictive power for model collapse in a simple self-training setup: the onset of collapse coincides with the resampling-driven first-extinction time computed from the model's initial stationary distribution. These results hint to a unified view of resampling extinction dynamics.", + "DOI": "10.48550/arXiv.2509.20101", + "publisher": "arXiv", + "title": "First-Extinction Law for Resampling Processes", + "URL": "https://arxiv.org/abs/2509.20101", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "1", + "note": "Manuscript reference 24", + "container-title": "arXiv", + "number": "arXiv:2509.20101", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref25", + "categories": [ + "Computer Vision and Pattern Recognition (cs.CV)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Yoon", + "given": "Youngseok" + }, + { + "family": "Hu", + "given": "Dainong" + }, + { + "family": "Weissburg", + "given": "Iain" + }, + { + "family": "Qin", + "given": "Yao" + }, + { + "family": "Jeong", + "given": "Haewon" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Model collapse, the severe degradation of generative models when iteratively trained on their own outputs, has gained significant attention in recent years. This paper examines Chain of Diffusion, where a pretrained text-to-image diffusion model is finetuned on its own generated images. We demonstrate that severe image quality degradation was universal and identify CFG scale as the key factor impacting this model collapse. Drawing on an analogy between the Chain of Diffusion and biological evolution, we then introduce a novel theoretical analysis based on quantitative trait modeling from statistical genetics. Our theoretical analysis aligns with empirical observations of the generated images in the Chain of Diffusion. Finally, we propose Reusable Diffusion Finetuning (ReDiFine), a simple yet effective strategy inspired by genetic mutations. It operates robustly across various scenarios without requiring any hyperparameter tuning, making it a plug-and-play solution for reusable image generation.", + "DOI": "10.48550/arXiv.2407.17493", + "publisher": "arXiv", + "title": "Model Collapse in the Self-Consuming Chain of Diffusion Finetuning: A Novel Perspective from Quantitative Trait Modeling", + "URL": "https://arxiv.org/abs/2407.17493", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "3", + "note": "Manuscript reference 25", + "container-title": "arXiv", + "number": "arXiv:2407.17493", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 9 + ] + ], + "date-time": "2026-09-09T16:50:52Z", + "timestamp": 1788972652482, + "version": "build-2803163510" + }, + "reference-count": 22, + "publisher": "Elsevier", + "isbn-type": [ + { + "value": "9780125433242", + "type": "print" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1989 + ] + ] + }, + "DOI": "10.1016/s0079-7421(08)60536-8", + "type": "book-chapter", + "created": { + "date-parts": [ + [ + 2008, + 4, + 11 + ] + ], + "date-time": "2008-04-11T14:13:02Z", + "timestamp": 1207923182000 + }, + "page": "109-165", + "source": "Crossref", + "is-referenced-by-count": 2427, + "title": "Catastrophic Interference in Connectionist Networks: The Sequential Learning Problem", + "prefix": "10.1016", + "author": [ + { + "given": "Michael", + "family": "McCloskey", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Neal J.", + "family": "Cohen", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "78", + "reference": [ + { + "key": "10.1016/S0079-7421(08)60536-8_bib1", + "doi-asserted-by": "crossref", + "first-page": "147", + "DOI": "10.1207/s15516709cog0901_7", + "article-title": "A learning algorithm for Boltz-mann machines", + "volume": "9", + "author": "Ackley", + "year": "1985", + "journal-title": "Cognitive Science" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib2", + "series-title": "The architecture of cognition.", + "author": "Anderson", + "year": "1983" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib3", + "series-title": "Human associative memory.", + "author": "Anderson", + "year": "1973" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib4", + "doi-asserted-by": "crossref", + "first-page": "97", + "DOI": "10.1037/h0047507", + "article-title": "“Fate” of first-list associations in transfer theory", + "volume": "58", + "author": "Barnes", + "year": "1959", + "journal-title": "Journal of Experimental Psychology" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib5", + "series-title": "Adaptive resonance theory: Stable self-organization of neural recognition codes in response to arbitrary lists of input patterns", + "author": "Carpenter", + "year": "1986" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib6", + "doi-asserted-by": "crossref", + "first-page": "3", + "DOI": "10.1016/0010-0277(88)90031-5", + "article-title": "Connectionism and cognitive architecture: A critical analysis", + "volume": "28", + "author": "Fodor", + "year": "1988", + "journal-title": "Cognition" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib7", + "series-title": "Parallel distributed processing: Explorations in the microstructure of cognition: Vol. 1. Foundations", + "first-page": "77", + "article-title": "Distributed representations", + "author": "Hinton", + "year": "1986" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib8", + "series-title": "Using fast weights to deblur old memories", + "author": "Hinton", + "year": "1987" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib9", + "series-title": "Parallel distributed processing: Explorations in the microstructure of cognition: Vol. 1. Foundations", + "first-page": "282", + "article-title": "Learning and relearning in Boltzmann machines", + "author": "Hinton", + "year": "1986" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib10", + "doi-asserted-by": "crossref", + "first-page": "195", + "DOI": "10.1016/0010-0277(88)90033-9", + "article-title": "The relation between linguistic structure and associative theories of language learning—A constructive critique of some connectionist learning models", + "volume": "28", + "author": "Lachter", + "year": "1988", + "journal-title": "Cognition" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib11", + "series-title": "Parallel distributed processing: Explorations in the microstructure of cognition: Vol. 1. Foundations", + "first-page": "3", + "article-title": "The appeal of parallel distributed processing", + "author": "McClelland", + "year": "1986" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib12", + "series-title": "Parallel distributed processing: Explorations in the microstructure of cognition: Vol. 2. Psychological and biological models.", + "author": "McClelland", + "year": "1986" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib13", + "series-title": "Perceptrons: An introduction to computational geometry (Expanded edition).", + "author": "Minsky", + "year": "1988" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib14", + "doi-asserted-by": "crossref", + "first-page": "109", + "DOI": "10.1016/S0022-5371(62)80007-3", + "article-title": "Transfer of training as a function of experimental paradigm and degree of first-list learning", + "volume": "1", + "author": "Postman", + "year": "1962", + "journal-title": "Journal of Verbal Learning and Verbal Behavior" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib15", + "doi-asserted-by": "crossref", + "first-page": "19", + "DOI": "10.3758/BF03198064", + "article-title": "Critical issues in interference theory", + "volume": "1", + "author": "Postman", + "year": "1973", + "journal-title": "Memory & Cognition" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib16", + "doi-asserted-by": "crossref", + "first-page": "73", + "DOI": "10.1016/0010-0277(88)90032-7", + "article-title": "On language and connectionism: Analysis of a parallel distributed processing model of language acquisition", + "volume": "28", + "author": "Prince", + "year": "1988", + "journal-title": "Cognition" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib17", + "unstructured": "R. Ratcliff (in press). Connectionist models of memory: Constraints imposed by learning and forgetting functions. Psychological Review." + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib18", + "series-title": "Parallel distributed processing: Explorations in the microstructure of cognition: Vol. 1. Foundations", + "first-page": "318", + "article-title": "Learning internal representations by error propagation", + "author": "Rumelhart", + "year": "1986" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib19", + "series-title": "Parallel distributed processing: Explorations in the microstructure of cognition: Vol. 1. Foundations.", + "author": "Rumelhart", + "year": "1986" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib20", + "unstructured": "M.S. Seidenberg J.L. McClelland (in press). A distributed, developmental model of word recognition and naming. Psychological Review." + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib21", + "series-title": "Perspectives in memory research and training.", + "article-title": "Learning and representation in connectionist models", + "author": "Sejnowski", + "year": "1987" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib22", + "series-title": "Two problems with backpropagation and other steepest-descent learning procedures for networks", + "author": "Sutton", + "year": "1986" + } + ], + "container-title": "Psychology of Learning and Motivation", + "original-title": [], + "language": "en", + "deposited": { + "date-parts": [ + [ + 2018, + 12, + 30 + ] + ], + "date-time": "2018-12-30T04:58:09Z", + "timestamp": 1546145889000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://linkinghub.elsevier.com/retrieve/pii/S0079742108605368" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1989 + ] + ] + }, + "ISBN": [ + "9780125433242" + ], + "references-count": 22, + "URL": "http://dx.doi.org/10.1016/s0079-7421(08)60536-8", + "relation": {}, + "ISSN": [ + "0079-7421" + ], + "subject": [], + "published": { + "date-parts": [ + [ + 1989 + ] + ] + }, + "id": "ref26", + "note": "Manuscript reference 26" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 9 + ] + ], + "date-time": "2026-09-09T15:37:35Z", + "timestamp": 1788968255872, + "version": "build-2803163510" + }, + "reference-count": 0, + "publisher": "Elsevier BV", + "issue": "4", + "license": [ + { + "start": { + "date-parts": [ + [ + 1999, + 4, + 1 + ] + ], + "date-time": "1999-04-01T00:00:00Z", + "timestamp": 922924800000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://www.elsevier.com/tdm/userlicense/1.0/" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1999, + 4, + 1 + ] + ] + }, + "DOI": "10.1016/s1364-6613(99)01294-2", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2002, + 7, + 25 + ] + ], + "date-time": "2002-07-25T21:13:02Z", + "timestamp": 1027631582000 + }, + "page": "128-135", + "source": "Crossref", + "is-referenced-by-count": 1756, + "title": "Catastrophic forgetting in connectionist networks", + "prefix": "10.1016", + "volume": "3", + "author": [ + { + "given": "R", + "family": "French", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "78", + "container-title": "Trends in Cognitive Sciences", + "original-title": [], + "link": [ + { + "URL": "https://api.elsevier.com/content/article/PII:S1364-6613(99)01294-2?httpAccept=text/xml", + "content-type": "text/xml", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://api.elsevier.com/content/article/PII:S1364-6613(99)01294-2?httpAccept=text/plain", + "content-type": "text/plain", + "content-version": "vor", + "intended-application": "text-mining" + } + ], + "deposited": { + "date-parts": [ + [ + 2019, + 4, + 15 + ] + ], + "date-time": "2019-04-15T21:52:31Z", + "timestamp": 1555365151000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://linkinghub.elsevier.com/retrieve/pii/S1364661399012942" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1999, + 4, + 1 + ] + ] + }, + "references-count": 0, + "journal-issue": { + "issue": "4" + }, + "alternative-id": [ + "S1364-6613(99)01294-2" + ], + "URL": "http://dx.doi.org/10.1016/s1364-6613(99)01294-2", + "relation": {}, + "ISSN": [ + "1364-6613" + ], + "subject": [], + "published": { + "date-parts": [ + [ + 1999, + 4, + 1 + ] + ] + }, + "id": "ref27", + "note": "Manuscript reference 27" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 9 + ] + ], + "date-time": "2026-09-09T21:20:18Z", + "timestamp": 1788988818226, + "version": "build-2803163510" + }, + "reference-count": 7, + "publisher": "Elsevier BV", + "issue": "1", + "license": [ + { + "start": { + "date-parts": [ + [ + 1964, + 5, + 1 + ] + ], + "date-time": "1964-05-01T00:00:00Z", + "timestamp": -178934400000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://www.elsevier.com/tdm/userlicense/1.0/" + }, + { + "start": { + "date-parts": [ + [ + 1964, + 5, + 1 + ] + ], + "date-time": "1964-05-01T00:00:00Z", + "timestamp": -178934400000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://www.elsevier.com/legal/tdmrep-license" + } + ], + "content-domain": { + "domain": [ + "elsevier.com", + "sciencedirect.com" + ], + "crossmark-restriction": true + }, + "published-print": { + "date-parts": [ + [ + 1964, + 5 + ] + ] + }, + "DOI": "10.1016/0027-5107(64)90047-8", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2003, + 2, + 12 + ] + ], + "date-time": "2003-02-12T06:53:31Z", + "timestamp": 1045032811000 + }, + "page": "2-9", + "update-policy": "https://doi.org/10.1016/elsevier_cm_policy", + "source": "Crossref", + "is-referenced-by-count": 2158, + "title": "The relation of recombination to mutational advance", + "prefix": "10.1016", + "volume": "1", + "author": [ + { + "given": "H.J.", + "family": "Muller", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "78", + "reference": [ + { + "key": "10.1016/0027-5107(64)90047-8_BIB1", + "series-title": "Cytologia Suppl. vol., Proc. Int. Genetics Symp.", + "first-page": "408", + "article-title": "Genetics of DDT resistance in Drosophila", + "author": "Crow", + "year": "1957" + }, + { + "key": "10.1016/0027-5107(64)90047-8_BIB2", + "author": "Crow", + "year": "1959", + "journal-title": "Lecture at Indiana University" + }, + { + "key": "10.1016/0027-5107(64)90047-8_BIB3", + "doi-asserted-by": "crossref", + "first-page": "118", + "DOI": "10.1086/280418", + "article-title": "Some genetic aspects of sex", + "volume": "64", + "author": "Muller", + "year": "1932", + "journal-title": "Am. Naturalist" + }, + { + "key": "10.1016/0027-5107(64)90047-8_BIB4", + "first-page": "111", + "article-title": "Our load of mutations", + "volume": "2", + "author": "Muller", + "year": "1950", + "journal-title": "Am. J. Human Genet." + }, + { + "key": "10.1016/0027-5107(64)90047-8_BIB5", + "doi-asserted-by": "crossref", + "first-page": "137", + "DOI": "10.1090/S0002-9904-1958-10191-3", + "article-title": "Evolution by mutation", + "volume": "64", + "author": "Muller", + "year": "1958", + "journal-title": "Bull. Am. Math. Soc." + }, + { + "key": "10.1016/0027-5107(64)90047-8_BIB6", + "first-page": "480", + "article-title": "How much is evolution accelerated by sexual reproduction?", + "volume": "132", + "author": "Muller", + "year": "1958", + "journal-title": "Anat. Record" + }, + { + "key": "10.1016/0027-5107(64)90047-8_BIB7", + "first-page": "903", + "article-title": "The need for recombination to prevent genetic deterioration", + "volume": "48", + "author": "Muller", + "year": "1963", + "journal-title": "Genetics" + } + ], + "container-title": "Mutation Research", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://api.elsevier.com/content/article/PII:0027510764900478?httpAccept=text/xml", + "content-type": "text/xml", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://api.elsevier.com/content/article/PII:0027510764900478?httpAccept=text/plain", + "content-type": "text/plain", + "content-version": "vor", + "intended-application": "text-mining" + } + ], + "deposited": { + "date-parts": [ + [ + 2025, + 12, + 19 + ] + ], + "date-time": "2025-12-19T12:25:35Z", + "timestamp": 1766147135000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://linkinghub.elsevier.com/retrieve/pii/0027510764900478" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1964, + 5 + ] + ] + }, + "references-count": 7, + "journal-issue": { + "issue": "1", + "published-print": { + "date-parts": [ + [ + 1964, + 5 + ] + ] + } + }, + "alternative-id": [ + "0027510764900478" + ], + "URL": "http://dx.doi.org/10.1016/0027-5107(64)90047-8", + "relation": {}, + "ISSN": [ + "0027-5107" + ], + "subject": [], + "container-title-short": "Mutation Research", + "published": { + "date-parts": [ + [ + 1964, + 5 + ] + ] + }, + "assertion": [ + { + "value": "Elsevier", + "name": "publisher", + "label": "This article is maintained by" + }, + { + "value": "The relation of recombination to mutational advance", + "name": "articletitle", + "label": "Article Title" + }, + { + "value": "Mutation Research", + "name": "journaltitle", + "label": "Journal Title" + }, + { + "value": "https://doi.org/10.1016/0027-5107(64)90047-8", + "name": "articlelink", + "label": "CrossRef DOI link to publisher maintained version" + }, + { + "value": "converted-article", + "name": "content_type", + "label": "Content Type" + }, + { + "value": "Copyright © 1964 Published by Elsevier B.V.", + "name": "copyright", + "label": "Copyright" + } + ], + "id": "ref28", + "note": "Manuscript reference 28" + }, + { + "type": "article", + "id": "ref29", + "categories": [ + "Machine Learning (stat.ML)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Yi", + "given": "Bingji" + }, + { + "family": "Liu", + "given": "Qiyuan" + }, + { + "family": "Cheng", + "given": "Yuwei" + }, + { + "family": "Xu", + "given": "Haifeng" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Synthetic data has been increasingly used to train frontier generative models. However, recent studies raise key concerns that iteratively retraining a generative model on its self-generated synthetic data may keep deteriorating model performance, a phenomenon often coined model collapse. In this paper, we investigate ways to modify the synthetic retraining process to avoid model collapse, and even possibly help reverse the trend from collapse to improvement. Our key finding is that by injecting information through an external synthetic data verifier, whether a human or a better model, synthetic retraining will not cause model collapse. Specifically, we situate our theoretical analysis in the fundamental linear regression setting, showing that verifier-guided retraining can yield near-term improvements, but ultimately drives the parameter estimate to the verifier's \"knowledge center\" in the long run. Our theory further predicts that, unless the verifier is perfectly reliable, these early gains will plateau and may even reverse. Indeed, our experiments across linear regression, Variational Autoencoders (VAEs) trained on MNIST, and fining-tuning SmolLM2-135M on the XSUM task confirm these theoretical insights.", + "DOI": "10.48550/arXiv.2510.16657", + "publisher": "arXiv", + "title": "Escaping Model Collapse via Synthetic Data Verification: Near-term Improvements and Long-term Convergence", + "URL": "https://arxiv.org/abs/2510.16657", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "3", + "note": "Manuscript reference 29", + "container-title": "arXiv", + "number": "arXiv:2510.16657", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref30", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Computation and Language (cs.CL)", + "Emerging Technologies (cs.ET)", + "Machine Learning (stat.ML)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Gerstgrasser", + "given": "Matthias" + }, + { + "family": "Schaeffer", + "given": "Rylan" + }, + { + "family": "Dey", + "given": "Apratim" + }, + { + "family": "Rafailov", + "given": "Rafael" + }, + { + "family": "Sleight", + "given": "Henry" + }, + { + "family": "Hughes", + "given": "John" + }, + { + "family": "Korbak", + "given": "Tomasz" + }, + { + "family": "Agrawal", + "given": "Rajashree" + }, + { + "family": "Pai", + "given": "Dhruv" + }, + { + "family": "Gromov", + "given": "Andrey" + }, + { + "family": "Roberts", + "given": "Daniel A." + }, + { + "family": "Yang", + "given": "Diyi" + }, + { + "family": "Donoho", + "given": "David L." + }, + { + "family": "Koyejo", + "given": "Sanmi" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "The proliferation of generative models, combined with pretraining on web-scale data, raises a timely question: what happens when these models are trained on their own generated outputs? Recent investigations into model-data feedback loops proposed that such loops would lead to a phenomenon termed model collapse, under which performance progressively degrades with each model-data feedback iteration until fitted models become useless. However, those studies largely assumed that new data replace old data over time, where an arguably more realistic assumption is that data accumulate over time. In this paper, we ask: what effect does accumulating data have on model collapse? We empirically study this question by pretraining sequences of language models on text corpora. We confirm that replacing the original real data by each generation's synthetic data does indeed tend towards model collapse, then demonstrate that accumulating the successive generations of synthetic data alongside the original real data avoids model collapse; these results hold across a range of model sizes, architectures, and hyperparameters. We obtain similar results for deep generative models on other types of real data: diffusion models for molecule conformation generation and variational autoencoders for image generation. To understand why accumulating data can avoid model collapse, we use an analytically tractable framework introduced by prior work in which a sequence of linear models are fit to the previous models' outputs. Previous work used this framework to show that if data are replaced, the test error increases with the number of model-fitting iterations; we extend this argument to prove that if data instead accumulate, the test error has a finite upper bound independent of the number of iterations, meaning model collapse no longer occurs.", + "DOI": "10.48550/arXiv.2404.01413", + "publisher": "arXiv", + "title": "Is Model Collapse Inevitable? Breaking the Curse of Recursion by Accumulating Real and Synthetic Data", + "URL": "https://arxiv.org/abs/2404.01413", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 30", + "container-title": "arXiv", + "number": "arXiv:2404.01413", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 10 + ] + ], + "date-time": "2026-09-10T04:16:48Z", + "timestamp": 1789013808401, + "version": "build-2803163510" + }, + "reference-count": 0, + "publisher": "Oxford University Press (OUP)", + "issue": "2", + "license": [ + { + "start": { + "date-parts": [ + [ + 1931, + 3, + 1 + ] + ], + "date-time": "1931-03-01T00:00:00Z", + "timestamp": -1225670400000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://academic.oup.com/journals/pages/open_access/funder_policies/chorus/standard_publication_model" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1931, + 3, + 1 + ] + ] + }, + "DOI": "10.1093/genetics/16.2.97", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2021, + 1, + 13 + ] + ], + "date-time": "2021-01-13T20:43:25Z", + "timestamp": 1610570605000 + }, + "page": "97-159", + "source": "Crossref", + "is-referenced-by-count": 5916, + "title": "EVOLUTION IN MENDELIAN POPULATIONS", + "prefix": "10.1093", + "volume": "16", + "author": [ + { + "given": "Sewall", + "family": "Wright", + "sequence": "first", + "affiliation": [ + { + "name": "University of Chicago, Chicago, Illinois" + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "286", + "published-online": { + "date-parts": [ + [ + 1931, + 3, + 1 + ] + ] + }, + "container-title": "Genetics", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "http://academic.oup.com/genetics/article-pdf/16/2/97/35081059/genetics0097.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "syndication" + }, + { + "URL": "http://academic.oup.com/genetics/article-pdf/16/2/97/35081059/genetics0097.pdf", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2021, + 4, + 21 + ] + ], + "date-time": "2021-04-21T04:40:07Z", + "timestamp": 1618980007000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://academic.oup.com/genetics/article/16/2/97/6045152" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1931, + 3, + 1 + ] + ] + }, + "references-count": 0, + "journal-issue": { + "issue": "2", + "published-print": { + "date-parts": [ + [ + 1931, + 3, + 1 + ] + ] + } + }, + "URL": "http://dx.doi.org/10.1093/genetics/16.2.97", + "relation": {}, + "ISSN": [ + "1943-2631" + ], + "subject": [], + "published-other": { + "date-parts": [ + [ + 1931, + 3, + 1 + ] + ] + }, + "published": { + "date-parts": [ + [ + 1931, + 3, + 1 + ] + ] + }, + "id": "ref31", + "note": "Manuscript reference 31" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 4 + ] + ], + "date-time": "2026-09-04T03:35:10Z", + "timestamp": 1788492910424, + "version": "build-2803163510" + }, + "reference-count": 0, + "publisher": "Wiley", + "issue": "6", + "license": [ + { + "start": { + "date-parts": [ + [ + 2002, + 1, + 19 + ] + ], + "date-time": "2002-01-19T00:00:00Z", + "timestamp": 1011398400000 + }, + "content-version": "vor", + "delay-in-days": 1875, + "URL": "http://onlinelibrary.wiley.com/termsAndConditions#vor" + } + ], + "content-domain": { + "domain": [ + "conbio.onlinelibrary.wiley.com" + ], + "crossmark-restriction": true + }, + "published-print": { + "date-parts": [ + [ + 1996, + 12 + ] + ] + }, + "abstract": "In the face of continuing habitat fragmentation and isolation, the optimal level of connectivity between populations has become a central issue in conservation biology. A common rule of thumb holds that one migrant per generation into a subpopulation is sufficient to minimize the loss of polymorphism and heterozygosity within subpopulations while allowing for divergence in allele frequencies among subpopulations. The one‐migrant‐per‐generation rule is based on numerous simplifying assumptions that may not hold in natural populations. We examine the conceptual and theoretical basis of the rule and consider both genetic and nongenetic factors that influence the desired level of connectivity among subpopulations. We conclude that one migrant per generation is a desirable minimum, but it may be inadequate for many natural populations. We suggest that a minimum of 1 and a maximum of 10 migrants per generation would be an appropriate general rule of thumb for genetic purposes, bearing in mind that factors other than genetics may further influence the ideal level of connectivity.", + "DOI": "10.1046/j.1523-1739.1996.10061509.x", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2003, + 3, + 11 + ] + ], + "date-time": "2003-03-11T03:45:07Z", + "timestamp": 1047354307000 + }, + "page": "1509-1518", + "update-policy": "https://doi.org/10.1002/crossmark_policy", + "source": "Crossref", + "is-referenced-by-count": 642, + "title": "The One‐Migrant‐per‐Generation Rule in Conservation and Management", + "prefix": "10.1111", + "volume": "10", + "author": [ + { + "given": "L. Scott", + "family": "Mills", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Fred W.", + "family": "Allendorf", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "311", + "published-online": { + "date-parts": [ + [ + 2002, + 1, + 19 + ] + ] + }, + "container-title": "Conservation Biology", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://api.wiley.com/onlinelibrary/tdm/v1/articles/10.1046%2Fj.1523-1739.1996.10061509.x", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://conbio.onlinelibrary.wiley.com/doi/pdf/10.1046/j.1523-1739.1996.10061509.x", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2025, + 10, + 29 + ] + ], + "date-time": "2025-10-29T09:58:01Z", + "timestamp": 1761731881000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://conbio.onlinelibrary.wiley.com/doi/10.1046/j.1523-1739.1996.10061509.x" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1996, + 12 + ] + ] + }, + "references-count": 0, + "journal-issue": { + "issue": "6", + "published-print": { + "date-parts": [ + [ + 1996, + 12 + ] + ] + } + }, + "alternative-id": [ + "10.1046/j.1523-1739.1996.10061509.x" + ], + "URL": "http://dx.doi.org/10.1046/j.1523-1739.1996.10061509.x", + "relation": {}, + "ISSN": [ + "0888-8892", + "1523-1739" + ], + "subject": [], + "container-title-short": "Conservation Biology", + "published": { + "date-parts": [ + [ + 1996, + 12 + ] + ] + }, + "assertion": [ + { + "value": "2002-01-19", + "order": 3, + "name": "published", + "label": "Published", + "group": { + "name": "publication_history", + "label": "Publication History" + } + } + ], + "id": "ref32", + "note": "Manuscript reference 32" + }, + { + "type": "article-journal", + "title": "[Review of] The Origin of Species", + "author": [ + { + "given": "Fleeming", + "family": "Jenkin" + } + ], + "container-title": "The North British Review", + "volume": "46", + "page": "277-318", + "issued": { + "date-parts": [ + [ + 1867 + ] + ] + }, + "id": "ref33", + "note": "Manuscript reference 33; predates DOIs" + }, + { + "type": "article", + "id": "ref34", + "categories": [ + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Pari", + "given": "Jyothish" + }, + { + "family": "Jelassi", + "given": "Samy" + }, + { + "family": "Agrawal", + "given": "Pulkit" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "In this work, we explore the limitations of combining models by averaging intermediate features, referred to as model merging, and propose a new direction for achieving collective model intelligence through what we call compatible specialization. Current methods for model merging, such as parameter and feature averaging, struggle to effectively combine specialized models due to representational divergence during fine-tuning. As models specialize to their individual domains, their internal feature representations become increasingly incompatible, leading to poor performance when attempting to merge them for new tasks. We analyze this phenomenon using centered kernel alignment (CKA) and show that as models specialize, the similarity in their feature space structure diminishes, hindering their capacity for collective use. To address these challenges, we investigate routing-based merging strategies, which offer more flexible methods for combining specialized models by dynamically routing across different layers. This allows us to improve on existing methods by combining features from multiple layers rather than relying on fixed, layer-wise combinations. However, we find that these approaches still face limitations when layers within models are representationally incompatible. Our findings highlight the importance of designing new approaches for model merging that operate on well-defined input and output spaces, similar to how humans communicate through language rather than intermediate neural activations.", + "DOI": "10.48550/arXiv.2411.02207", + "publisher": "arXiv", + "title": "Collective Model Intelligence Requires Compatible Specialization", + "URL": "https://arxiv.org/abs/2411.02207", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 34", + "container-title": "arXiv", + "number": "arXiv:2411.02207", + "genre": "preprint" + }, + { + "type": "book", + "title": "The Genetical Theory of Natural Selection", + "author": [ + { + "given": "Ronald A.", + "family": "Fisher" + } + ], + "publisher": "Clarendon Press", + "publisher-place": "Oxford", + "issued": { + "date-parts": [ + [ + 1930 + ] + ] + }, + "id": "ref35", + "note": "Manuscript reference 35; predates DOIs" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 9 + ] + ], + "date-time": "2026-09-09T21:20:16Z", + "timestamp": 1788988816504, + "version": "build-2803163510" + }, + "reference-count": 0, + "publisher": "University of Chicago Press", + "issue": "703", + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1932, + 3 + ] + ] + }, + "DOI": "10.1086/280418", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2002, + 7, + 26 + ] + ], + "date-time": "2002-07-26T17:21:47Z", + "timestamp": 1027704107000 + }, + "page": "118-138", + "source": "Crossref", + "is-referenced-by-count": 998, + "title": "Some Genetic Aspects of Sex", + "prefix": "10.1086", + "volume": "66", + "author": [ + { + "given": "H. J.", + "family": "Muller", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "200", + "container-title": "The American Naturalist", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "http://www.journals.uchicago.edu/doi/pdf/10.1086/280418", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2018, + 4, + 6 + ] + ], + "date-time": "2018-04-06T23:45:13Z", + "timestamp": 1523058313000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.journals.uchicago.edu/doi/10.1086/280418" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1932, + 3 + ] + ] + }, + "references-count": 0, + "journal-issue": { + "issue": "703", + "published-print": { + "date-parts": [ + [ + 1932, + 3 + ] + ] + } + }, + "alternative-id": [ + "10.1086/280418" + ], + "URL": "http://dx.doi.org/10.1086/280418", + "relation": {}, + "ISSN": [ + "0003-0147", + "1537-5323" + ], + "subject": [], + "container-title-short": "The American Naturalist", + "published": { + "date-parts": [ + [ + 1932, + 3 + ] + ] + }, + "id": "ref36", + "note": "Manuscript reference 36" + }, + { + "type": "article", + "id": "ref37", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Hu", + "given": "Edward J." + }, + { + "family": "Shen", + "given": "Yelong" + }, + { + "family": "Wallis", + "given": "Phillip" + }, + { + "family": "Allen-Zhu", + "given": "Zeyuan" + }, + { + "family": "Li", + "given": "Yuanzhi" + }, + { + "family": "Wang", + "given": "Shean" + }, + { + "family": "Wang", + "given": "Lu" + }, + { + "family": "Chen", + "given": "Weizhu" + } + ], + "issued": { + "date-parts": [ + [ + 2021 + ] + ] + }, + "abstract": "An important paradigm of natural language processing consists of large-scale pre-training on general domain data and adaptation to particular tasks or domains. As we pre-train larger models, full fine-tuning, which retrains all model parameters, becomes less feasible. Using GPT-3 175B as an example -- deploying independent instances of fine-tuned models, each with 175B parameters, is prohibitively expensive. We propose Low-Rank Adaptation, or LoRA, which freezes the pre-trained model weights and injects trainable rank decomposition matrices into each layer of the Transformer architecture, greatly reducing the number of trainable parameters for downstream tasks. Compared to GPT-3 175B fine-tuned with Adam, LoRA can reduce the number of trainable parameters by 10,000 times and the GPU memory requirement by 3 times. LoRA performs on-par or better than fine-tuning in model quality on RoBERTa, DeBERTa, GPT-2, and GPT-3, despite having fewer trainable parameters, a higher training throughput, and, unlike adapters, no additional inference latency. We also provide an empirical investigation into rank-deficiency in language model adaptation, which sheds light on the efficacy of LoRA. We release a package that facilitates the integration of LoRA with PyTorch models and provide our implementations and model checkpoints for RoBERTa, DeBERTa, and GPT-2 at https://github.com/microsoft/LoRA.", + "DOI": "10.48550/arXiv.2106.09685", + "publisher": "arXiv", + "title": "LoRA: Low-Rank Adaptation of Large Language Models", + "URL": "https://arxiv.org/abs/2106.09685", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 37", + "container-title": "arXiv", + "number": "arXiv:2106.09685", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 8 + ] + ], + "date-time": "2026-09-08T02:52:43Z", + "timestamp": 1788835963220, + "version": "build-2803163510" + }, + "reference-count": 35, + "publisher": "Elsevier BV", + "issue": "1", + "license": [ + { + "start": { + "date-parts": [ + [ + 1987, + 9, + 1 + ] + ], + "date-time": "1987-09-01T00:00:00Z", + "timestamp": 557452800000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://www.elsevier.com/tdm/userlicense/1.0/" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1987, + 9 + ] + ] + }, + "DOI": "10.1016/s0022-5193(87)80029-2", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2008, + 4, + 23 + ] + ], + "date-time": "2008-04-23T02:36:15Z", + "timestamp": 1208918175000 + }, + "page": "11-45", + "source": "Crossref", + "is-referenced-by-count": 1109, + "title": "Towards a general theory of adaptive walks on rugged landscapes", + "prefix": "10.1016", + "volume": "128", + "author": [ + { + "given": "Stuart", + "family": "Kauffman", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Simon", + "family": "Levin", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "78", + "reference": [ + { + "key": "10.1016/S0022-5193(87)80029-2_bib1", + "doi-asserted-by": "crossref", + "DOI": "10.1086/284680", + "article-title": "The emergence of phenotypic novelties through progressive genetic change", + "author": "Agur", + "year": "1987", + "journal-title": "Am. Nat." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib2", + "doi-asserted-by": "crossref", + "first-page": "412", + "DOI": "10.1038/316412a0", + "article-title": "Molecular events during maturation of the immune response to oxazolone", + "volume": "316", + "author": "Berek", + "year": "1985", + "journal-title": "Nature" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib3", + "doi-asserted-by": "crossref", + "first-page": "380", + "DOI": "10.1038/298380a0", + "article-title": "Somatic variants of murine immunoglobulin lambda light chains", + "volume": "298", + "author": "Bothwell", + "year": "1982", + "journal-title": "Nature" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib4", + "doi-asserted-by": "crossref", + "first-page": "804", + "DOI": "10.1038/317804a0", + "article-title": "Optimization strategies gleaned from biological evolution", + "volume": "314", + "author": "Brady", + "year": "1985", + "journal-title": "Nature" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib5", + "doi-asserted-by": "crossref", + "first-page": "687", + "DOI": "10.1084/jem.161.4.687", + "article-title": "Inter-and intraclonal diversity in the antibody response to influenza hemagglutinin", + "volume": "161", + "author": "Clark", + "year": "1985", + "journal-title": "J. Exp. Med." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib6", + "doi-asserted-by": "crossref", + "first-page": "59", + "DOI": "10.1016/0092-8674(81)90231-2", + "article-title": "A single V gene segment encodes the immune response to phosphorylcholine: somatic mutation is correlated with the class of the antibody", + "volume": "25", + "author": "Crews", + "year": "1981", + "journal-title": "Cell" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib7", + "doi-asserted-by": "crossref", + "first-page": "1297", + "DOI": "10.1051/jphys:019860047080129700", + "article-title": "Evolution of overlaps between configurations in random Boolean networks", + "volume": "47", + "author": "Derrida", + "year": "1986", + "journal-title": "J. Physique" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib8", + "series-title": "Emerging Synthesis in Science", + "first-page": "25", + "article-title": "Macromolecular evolution: dynamical ordering in sequence space", + "author": "Eigen", + "year": "1985" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib9", + "series-title": "The Hypercycle", + "author": "Eigen", + "year": "1979" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib10", + "series-title": "Mathematical Population Genetics", + "author": "Ewens", + "year": "1979" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib11", + "volume": "Vol. 2", + "author": "Feller", + "year": "1971" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib12", + "doi-asserted-by": "crossref", + "first-page": "715", + "DOI": "10.1007/BF02462279", + "article-title": "Specific roles of the different Boolean mappings in random networks", + "volume": "44", + "author": "Fogelman-Soulie", + "year": "1982", + "journal-title": "Bull. Math. Biol." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib13", + "series-title": "Ensemble Modeling", + "author": "Gelfand", + "year": "1984" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib14", + "doi-asserted-by": "crossref", + "first-page": "202", + "DOI": "10.1016/0040-5809(83)90014-X", + "article-title": "A simple stochastic gene substitution model", + "volume": "23", + "author": "Gillespie", + "year": "1983", + "journal-title": "Theor. Pop. Biol." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib15", + "doi-asserted-by": "crossref", + "first-page": "1116", + "DOI": "10.2307/2408444", + "article-title": "Molecular evolution over the mutational landscape", + "volume": "38", + "author": "Gillespie", + "year": "1984", + "journal-title": "Evolution" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib16", + "doi-asserted-by": "crossref", + "first-page": "417", + "DOI": "10.1084/jem.159.2.417", + "article-title": "Somatic mutation creates diversity in the major group of mouse immunoglobulin k light chains", + "volume": "159", + "author": "Heinrich", + "year": "1984", + "journal-title": "J. Exp. Med." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib17", + "series-title": "The Possible and the Actual", + "author": "Jacob", + "year": "1982" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib18", + "series-title": "The Traveling Salesman Problem", + "first-page": "37", + "article-title": "Computational complexity", + "author": "Johnson", + "year": "1985" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib19", + "doi-asserted-by": "crossref", + "first-page": "437", + "DOI": "10.1016/0022-5193(69)90015-0", + "article-title": "Metabolic stability and epigenesis in randomly constructed genetic nets", + "volume": "22", + "author": "Kauffman", + "year": "1969", + "journal-title": "J. theor. Biol." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib20", + "doi-asserted-by": "crossref", + "first-page": "167", + "DOI": "10.1016/S0022-5193(74)80037-8", + "article-title": "The large scale structure and dynamics of gene control circuits: an ensemble approach", + "volume": "44", + "author": "Kauffman", + "year": "1974", + "journal-title": "J. theor. Biol." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib21", + "first-page": "145", + "article-title": "Emergent properties in random complex automata", + "volume": "10D", + "author": "Kauffman", + "year": "1984", + "journal-title": "Physica" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib22", + "series-title": "Evolution at a Crossroads", + "first-page": "169", + "article-title": "Self organization, selective adaptation, and its limits: a new pattern of inference in evolution and development", + "author": "Kauffman", + "year": "1985" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib23", + "first-page": "68", + "article-title": "Adaptive automata based on Darwinian selection", + "volume": "22D", + "author": "Kauffman", + "year": "1986", + "journal-title": "Physica" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib24", + "doi-asserted-by": "crossref", + "first-page": "671", + "DOI": "10.1126/science.220.4598.671", + "article-title": "Optimization by simulated annealing", + "volume": "220", + "author": "Kirkpatrick", + "year": "1983", + "journal-title": "Science" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib25", + "series-title": "Ecological Genetics: The Interface", + "first-page": "3", + "article-title": "On the evolution of ecological parameters", + "author": "Levin", + "year": "1978" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib26", + "doi-asserted-by": "crossref", + "first-page": "498", + "DOI": "10.1287/opre.21.2.498", + "article-title": "An effective heuristic algorithm for the traveling salesman problem", + "volume": "21", + "author": "Lin", + "year": "1973", + "journal-title": "Oper. Res." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib27", + "series-title": "Approaches Moleculaires de l'Evolution", + "author": "Nino", + "year": "1979" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib28", + "series-title": "Sewall Wright and Evolutionary Biology", + "author": "Provine", + "year": "1986" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib29", + "doi-asserted-by": "crossref", + "first-page": "107", + "DOI": "10.1017/S0094837300007491", + "article-title": "On the early origins of major biologic groups", + "volume": "9", + "author": "Raup", + "year": "1983", + "journal-title": "Paleobiology" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib30", + "doi-asserted-by": "crossref", + "first-page": "1792", + "DOI": "10.1103/PhysRevLett.35.1792", + "volume": "35", + "author": "Sherrington", + "year": "1975", + "journal-title": "Phys. Rev. Lett." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib31", + "doi-asserted-by": "crossref", + "first-page": "563", + "DOI": "10.1038/225563a0", + "article-title": "Natural selection and the concept of a protein space", + "volume": "225", + "author": "Smith", + "year": "1970", + "journal-title": "Nature" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib32", + "doi-asserted-by": "crossref", + "first-page": "575", + "DOI": "10.1038/302575a0", + "article-title": "Somatic generation of antibody diversity", + "volume": "302", + "author": "Tonegawa", + "year": "1983", + "journal-title": "Nature" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib33", + "doi-asserted-by": "crossref", + "first-page": "444", + "DOI": "10.1017/S0094837300003614", + "article-title": "Determinants of diversity in higher taxonomic categories", + "volume": "6", + "author": "Valentine", + "year": "1980", + "journal-title": "Paleobiology" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib34", + "first-page": "356", + "article-title": "The roles of mutation, inbreeding, crossbreeding and selection in evolution", + "volume": "1", + "author": "Wright", + "year": "1932" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib35", + "first-page": "1847", + "article-title": "Somatic evolution of variable region structures during an immune response", + "volume": "83", + "author": "Wysocki", + "year": "1986" + } + ], + "container-title": "Journal of Theoretical Biology", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://api.elsevier.com/content/article/PII:S0022519387800292?httpAccept=text/xml", + "content-type": "text/xml", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://api.elsevier.com/content/article/PII:S0022519387800292?httpAccept=text/plain", + "content-type": "text/plain", + "content-version": "vor", + "intended-application": "text-mining" + } + ], + "deposited": { + "date-parts": [ + [ + 2018, + 12, + 29 + ] + ], + "date-time": "2018-12-29T11:29:41Z", + "timestamp": 1546082981000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://linkinghub.elsevier.com/retrieve/pii/S0022519387800292" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1987, + 9 + ] + ] + }, + "references-count": 35, + "journal-issue": { + "issue": "1", + "published-print": { + "date-parts": [ + [ + 1987, + 9 + ] + ] + } + }, + "alternative-id": [ + "S0022519387800292" + ], + "URL": "http://dx.doi.org/10.1016/s0022-5193(87)80029-2", + "relation": {}, + "ISSN": [ + "0022-5193" + ], + "subject": [], + "container-title-short": "Journal of Theoretical Biology", + "published": { + "date-parts": [ + [ + 1987, + 9 + ] + ] + }, + "id": "ref38", + "note": "Manuscript reference 38" + }, + { + "type": "chapter", + "title": "Coadaptation and outbreeding depression", + "author": [ + { + "given": "Alan R.", + "family": "Templeton" + } + ], + "editor": [ + { + "given": "Michael E.", + "family": "Soulé" + } + ], + "container-title": "Conservation Biology: The Science of Scarcity and Diversity", + "publisher": "Sinauer Associates", + "publisher-place": "Sunderland, MA", + "page": "105-116", + "issued": { + "date-parts": [ + [ + 1986 + ] + ] + }, + "id": "ref39", + "note": "Manuscript reference 39; predates DOIs" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 3 + ] + ], + "date-time": "2026-09-03T04:27:40Z", + "timestamp": 1788409660716, + "version": "build-2803163510" + }, + "reference-count": 44, + "publisher": "MIT Press - Journals", + "issue": "2", + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 2011, + 6 + ] + ] + }, + "abstract": "In evolutionary computation, the fitness function normally measures progress toward an objective in the search space, effectively acting as an objective function. Through deception, such objective functions may actually prevent the objective from being reached. While methods exist to mitigate deception, they leave the underlying pathology untreated: Objective functions themselves may actively misdirect search toward dead ends. This paper proposes an approach to circumventing deception that also yields a new perspective on open-ended evolution. Instead of either explicitly seeking an objective or modeling natural evolution to capture open-endedness, the idea is to simply search for behavioral novelty. Even in an objective-based problem, such novelty search ignores the objective. Because many points in the search space collapse to a single behavior, the search for novelty is often feasible. Furthermore, because there are only so many simple behaviors, the search for novelty leads to increasing complexity. By decoupling open-ended search from artificial life worlds, the search for novelty is applicable to real world problems. Counterintuitively, in the maze navigation and biped walking tasks in this paper, novelty search significantly outperforms objective-based search, suggesting the strange conclusion that some problems are best solved by methods that ignore the objective. The main lesson is the inherent limitation of the objective-based paradigm and the unexploited opportunity to guide search through other means.", + "DOI": "10.1162/evco_a_00025", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2010, + 9, + 24 + ] + ], + "date-time": "2010-09-24T16:54:16Z", + "timestamp": 1285347256000 + }, + "page": "189-223", + "source": "Crossref", + "is-referenced-by-count": 683, + "title": "Abandoning Objectives: Evolution Through the Search for Novelty Alone", + "prefix": "10.1162", + "volume": "19", + "author": [ + { + "given": "Joel", + "family": "Lehman", + "sequence": "first", + "affiliation": [ + { + "name": "School of Electrical Engineering and Computer Science, University of Central Florida, Orlando, Florida 32816, USA." + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Kenneth O.", + "family": "Stanley", + "sequence": "additional", + "affiliation": [ + { + "name": "School of Electrical Engineering and Computer Science, University of Central Florida, Orlando, Florida 32816, USA." + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "281", + "reference": [ + { + "key": "p_1", + "doi-asserted-by": "publisher", + "DOI": "10.1103/PhysRevD.79.072005" + }, + { + "key": "p_2", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.97.9.4463" + }, + { + "key": "p_3", + "first-page": "4457", + "author": "Allen B.", + "year": "2009", + "journal-title": "IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)" + }, + { + "key": "p_6", + "doi-asserted-by": "publisher", + "DOI": "10.1162/106454698568486" + }, + { + "key": "p_11", + "doi-asserted-by": "publisher", + "DOI": "10.1162/106365604773955148" + }, + { + "key": "p_12", + "doi-asserted-by": "publisher", + "DOI": "10.1177/105971230401200201" + }, + { + "key": "p_14", + "doi-asserted-by": "publisher", + "DOI": "10.1080/002077200406570" + }, + { + "key": "p_15", + "doi-asserted-by": "publisher", + "DOI": "10.1109/72.809083" + }, + { + "key": "p_19", + "doi-asserted-by": "publisher", + "DOI": "10.1023/A:1025122906870" + }, + { + "key": "p_21", + "doi-asserted-by": "publisher", + "DOI": "10.1162/evco.1999.7.3.205" + }, + { + "key": "p_23", + "doi-asserted-by": "publisher", + "DOI": "10.1098/rstb.1988.0062" + }, + { + "key": "p_26", + "doi-asserted-by": "publisher", + "DOI": "10.1287/ijoc.1.3.190" + }, + { + "key": "p_31", + "doi-asserted-by": "publisher", + "DOI": "10.1177/105971239700500305" + }, + { + "key": "p_42", + "doi-asserted-by": "publisher", + "DOI": "10.1162/evco.1996.4.4.335" + }, + { + "key": "p_44", + "doi-asserted-by": "publisher", + "DOI": "10.1162/1063656054088530" + }, + { + "key": "p_45", + "doi-asserted-by": "publisher", + "DOI": "10.1006/anbe.1999.1225" + }, + { + "key": "p_46", + "doi-asserted-by": "publisher", + "DOI": "10.1109/TEVC.2005.863127" + }, + { + "key": "p_48", + "doi-asserted-by": "publisher", + "DOI": "10.1177/10597123030111001" + }, + { + "key": "p_50", + "doi-asserted-by": "publisher", + "DOI": "10.1162/artl.2008.14.3.14310" + }, + { + "key": "p_51", + "doi-asserted-by": "publisher", + "DOI": "10.1163/156855306778522514" + }, + { + "key": "p_52", + "doi-asserted-by": "publisher", + "DOI": "10.1023/A:1024172417914" + }, + { + "key": "p_55", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.220.4598.671" + }, + { + "key": "p_61", + "doi-asserted-by": "publisher", + "DOI": "10.1038/nrg2192" + }, + { + "key": "p_62", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.0702207104" + }, + { + "key": "p_66", + "doi-asserted-by": "publisher", + "DOI": "10.1086/303231" + }, + { + "key": "p_67", + "first-page": "163", + "author": "McHale G.", + "year": "2004", + "journal-title": "Proceedings of the Eighth International Conference on the Simulation of Adaptive Behavior" + }, + { + "key": "p_68", + "doi-asserted-by": "publisher", + "DOI": "10.1007/BF00132234" + }, + { + "issue": "3", + "key": "p_69", + "doi-asserted-by": "crossref", + "first-page": "325", + "DOI": "10.1162/artl.2008.14.3.14307", + "volume": "14", + "author": "Miconi T.", + "year": "2007", + "journal-title": "Artificial Life: Special Issue on the Evolution of Complexity" + }, + { + "key": "p_70", + "first-page": "245", + "author": "Mitchell M.", + "year": "1992", + "journal-title": "Proceedings of the First European Conference on Artificial Life" + }, + { + "key": "p_75", + "doi-asserted-by": "publisher", + "DOI": "10.1109/TEVC.2006.890271" + }, + { + "key": "p_81", + "doi-asserted-by": "publisher", + "DOI": "10.1109/4235.996015" + }, + { + "key": "p_82", + "doi-asserted-by": "publisher", + "DOI": "10.1090/S0002-9947-1953-0053041-6" + }, + { + "key": "p_86", + "doi-asserted-by": "publisher", + "DOI": "10.1080/09540090600768658" + }, + { + "key": "p_90", + "doi-asserted-by": "publisher", + "DOI": "10.1142/S1469026803000914" + }, + { + "key": "p_91", + "doi-asserted-by": "publisher", + "DOI": "10.1109/TEVC.2005.856210" + }, + { + "key": "p_92", + "doi-asserted-by": "publisher", + "DOI": "10.1162/106365602320169811" + }, + { + "key": "p_93", + "doi-asserted-by": "publisher", + "DOI": "10.1162/106454603322221487" + }, + { + "key": "p_94", + "doi-asserted-by": "publisher", + "DOI": "10.1613/jair.1338" + }, + { + "key": "p_98", + "doi-asserted-by": "publisher", + "DOI": "10.1162/106365600568158" + }, + { + "key": "p_101", + "doi-asserted-by": "publisher", + "DOI": "10.1007/BF00202749" + }, + { + "key": "p_102", + "first-page": "877", + "volume": "7", + "author": "Whiteson S.", + "year": "2006", + "journal-title": "Journal of Machine Learning Research" + }, + { + "key": "p_104", + "first-page": "263", + "author": "Yaeger L.", + "year": "1994", + "journal-title": "Proceedings of Artificial Life III" + }, + { + "key": "p_105", + "doi-asserted-by": "publisher", + "DOI": "10.1016/0165-6074(93)90215-7" + }, + { + "key": "p_106", + "first-page": "635", + "author": "Zaera N.", + "year": "1996", + "journal-title": "Proceedings of the Fourth International Conference on Simulation of Adaptive Behavior" + } + ], + "container-title": "Evolutionary Computation", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://www.mitpressjournals.org/doi/pdf/10.1162/EVCO_a_00025", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2021, + 3, + 12 + ] + ], + "date-time": "2021-03-12T21:57:58Z", + "timestamp": 1615586278000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://direct.mit.edu/evco/article/19/2/189-223/1365" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2011, + 6 + ] + ] + }, + "references-count": 44, + "journal-issue": { + "issue": "2", + "published-print": { + "date-parts": [ + [ + 2011, + 6 + ] + ] + } + }, + "alternative-id": [ + "10.1162/EVCO_a_00025" + ], + "URL": "http://dx.doi.org/10.1162/evco_a_00025", + "relation": {}, + "ISSN": [ + "1063-6560", + "1530-9304" + ], + "subject": [], + "container-title-short": "Evolutionary Computation", + "published": { + "date-parts": [ + [ + 2011, + 6 + ] + ] + }, + "id": "ref40", + "note": "Manuscript reference 40" + }, + { + "type": "article", + "id": "ref41", + "categories": [ + "Computation and Language (cs.CL)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Thede", + "given": "Lukas" + }, + { + "family": "Roth", + "given": "Karsten" + }, + { + "family": "Bethge", + "given": "Matthias" + }, + { + "family": "Akata", + "given": "Zeynep" + }, + { + "family": "Hartvigsen", + "given": "Tom" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Keeping large language models factually up-to-date is crucial for deployment, yet costly retraining remains a challenge. Knowledge editing offers a promising alternative, but methods are only tested on small-scale or synthetic edit benchmarks. In this work, we aim to bridge research into lifelong knowledge editing to real-world edits at a practically relevant scale. We first introduce WikiBigEdit; a large-scale benchmark of real-world Wikidata edits, built to automatically extend lifelong for future-proof benchmarking. In its first instance, it includes over 500K question-answer pairs for knowledge editing alongside a comprehensive evaluation pipeline. Finally, we use WikiBigEdit to study existing knowledge editing techniques' ability to incorporate large volumes of real-world facts and contrast their capabilities to generic modification techniques such as retrieval augmentation and continual finetuning to acquire a complete picture of the practical extent of current lifelong knowledge editing.", + "DOI": "10.48550/arXiv.2503.05683", + "publisher": "arXiv", + "title": "WikiBigEdit: Understanding the Limits of Lifelong Knowledge Editing in LLMs", + "URL": "https://arxiv.org/abs/2503.05683", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 41", + "container-title": "arXiv", + "number": "arXiv:2503.05683", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref42", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (cs.LG)", + "Neurons and Cognition (q-bio.NC)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences", + "FOS: Biological sciences", + "FOS: Biological sciences" + ], + "author": [ + { + "family": "Clemente", + "given": "Simone" + }, + { + "family": "Houidi", + "given": "Zied Ben" + }, + { + "family": "Huet", + "given": "Alexis" + }, + { + "family": "Rossi", + "given": "Dario" + }, + { + "family": "Franzese", + "given": "Giulio" + }, + { + "family": "Michiardi", + "given": "Pietro" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Through systematic empirical investigation, we uncover a fundamental and concerning property of Large Language Models: while they can safely learn facts that don't contradict their knowledge, attempting to update facts with contradictory information triggers catastrophic corruption of unrelated knowledge. Unlike humans, who naturally resist contradictory information, these models indiscriminately accept contradictions, leading to devastating interference, destroying up to 80% of unrelated knowledge even when learning as few as 10-100 contradicting facts. To understand whether this interference could be mitigated through selective plasticity, we experiment with targeted network updates, distinguishing between previously used (stubborn) and rarely used (plastic) neurons. We uncover another asymmetry: while sparing frequently-used neurons significantly improves retention of existing knowledge for non-contradictory updates (98% vs 93% with standard updates), contradictory updates trigger catastrophic interference regardless of targeting strategy. This effect which persists across tested model scales (GPT-2 to GPT-J-6B), suggests a fundamental limitation in how neural networks handle contradictions. Finally, we demonstrate that contradictory information can be reliably detected (95%+ accuracy) using simple model features, offering a potential protective mechanism. These findings motivate new architectures that can, like humans, naturally resist contradictions rather than allowing destructive overwrites.", + "DOI": "10.48550/arXiv.2502.04390", + "publisher": "arXiv", + "title": "In Praise of Stubbornness: An Empirical Case for Cognitive-Dissonance Aware Continual Update of Knowledge in LLMs", + "URL": "https://arxiv.org/abs/2502.04390", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 42", + "container-title": "arXiv", + "number": "arXiv:2502.04390", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref43", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Neural and Evolutionary Computing (cs.NE)", + "FOS: Computer and information sciences", + "I.2.6", + "68T05, 68T07" + ], + "author": [ + { + "family": "Störk", + "given": "Julius" + } + ], + "issued": { + "date-parts": [ + [ + 2026 + ] + ] + }, + "abstract": "Continual learning commonly relies on post-hoc mechanisms such as replay, elastic regularization, or distillation. This work argues that forgetting should instead be modeled directly as interference between tasks. In the frozen-feature regime, forgetting from learning a new task is exactly the interference energy induced on the old task. In deep networks, the same quantity is recovered through path-averaged curvature with minimal additional forward passes. When task supports are disjoint, forgetting can be eliminated structurally and when task supports overlap in conflicting directions, a non-zero distortion floor is unavoidable. The same geometry optimally merges models through task-aware orthogonalization. From this analysis we derive Interference-Gated Functional Allocation (IGFA), a replay-free, Fisher-free method that shares directions when tasks align and protects them when they conflict. Across benchmarks, IGFA achieves lossless retention when tasks are structurally separable and moves unavoidable cost from irreversible forgetting into deferred but recoverable plasticity when they are not. It matches the strongest replay-free structural baselines on dissimilar-task streams and improves on unconditional projection when similarity makes transfer worth preserving.", + "DOI": "10.48550/arXiv.2607.09202", + "publisher": "arXiv", + "title": "Interference and Retention in Continual Learning", + "URL": "https://arxiv.org/abs/2607.09202", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 43", + "container-title": "arXiv", + "number": "arXiv:2607.09202", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 8, + 27 + ] + ], + "date-time": "2026-08-27T03:05:34Z", + "timestamp": 1787799934256, + "version": "build-2784847793" + }, + "reference-count": 55, + "publisher": "Wiley", + "issue": "2", + "license": [ + { + "start": { + "date-parts": [ + [ + 2009, + 4, + 14 + ] + ], + "date-time": "2009-04-14T00:00:00Z", + "timestamp": 1239667200000 + }, + "content-version": "unspecified", + "delay-in-days": 5127, + "URL": "https://www.cambridge.org/core/terms" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1995, + 4 + ] + ] + }, + "abstract": "Summary A general representation of multilocus selection is extended to allow recombination to depend on genotype. The equations simplify if modifier alleles have small effects on recombination. The evolution of such modifiers only depends on how they alter recombination between the selected loci, and does not involve dominance in modifier effects. The net selection on modifiers can be found explicitly if epistasis is weak relative to recombination. This analysis shows that recombination can be favoured in two ways: because it impedes the response to epistasis which fluctuates in sign, or because it facilitates the response to directional selection. The first mechanism is implausible, because epistasis must change sign over periods of a few generations: faster or slower fluctuations favour reduced recombination. The second mechanism requires weak negative epistasis between favourable alleles, which may either be increasing, or held in check by mutation. The selection ( s i ) on recombination modifiers depends on the reduction in additive variance of log (fitness) due to linkage disequilibria (υ 1 < 0), and on non-additive variance in log (fitness) ( V ′ 2 , V ′ 3 ,.. epistasis between 2, 3.. loci). For unlinked loci and pairwise epistasis, s i = − (υ 1 + 4 V 2 /3)δ r , where δ r is the average increase in recombination caused by the modifier. The approximations are checked against exact calculations for three loci, and against Charlesworth's analyses of mutation/selection balance (1990), and directional selection (1993). The analysis demonstrates a general relation between selection on recombination and observable components of fitness variation, which is open to experimental test.", + "DOI": "10.1017/s0016672300033140", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2009, + 9, + 17 + ] + ], + "date-time": "2009-09-17T03:25:04Z", + "timestamp": 1253157904000 + }, + "page": "123-144", + "source": "Crossref", + "is-referenced-by-count": 384, + "title": "A general model for the evolution of recombination", + "prefix": "10.1155", + "volume": "65", + "author": [ + { + "given": "N. H.", + "family": "Barton", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "311", + "published-online": { + "date-parts": [ + [ + 2009, + 4, + 14 + ] + ] + }, + "reference": [ + { + "key": "S0016672300033140_ref055", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.91.3.1079" + }, + { + "key": "S0016672300033140_ref054", + "volume-title": "Mathematica", + "author": "Wolfram", + "year": "1991" + }, + { + "key": "S0016672300033140_ref053", + "doi-asserted-by": "crossref", + "first-page": "403", + "DOI": "10.1093/genetics/89.2.403", + "article-title": "Rank-order selection is capable of maintaining all genetic polymorphisms", + "volume": "89", + "author": "Wills", + "year": "1978", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref051", + "doi-asserted-by": "crossref", + "unstructured": "Turelli M. , & Barton N. H. , (1994). Genetic and statistical analyses of strong selection on polygenic traits: what, me normal? Genetics", + "DOI": "10.1093/genetics/138.3.913" + }, + { + "key": "S0016672300033140_ref046", + "doi-asserted-by": "crossref", + "first-page": "469", + "DOI": "10.1093/genetics/55.3.469", + "article-title": "The number of balanced polymorphisms that can be maintained by natural selection", + "volume": "55", + "author": "Sved", + "year": "1967", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref044", + "doi-asserted-by": "publisher", + "DOI": "10.1016/S0022-5193(89)80111-0" + }, + { + "key": "S0016672300033140_ref042", + "doi-asserted-by": "publisher", + "DOI": "10.1007/978-3-642-93071-3_6" + }, + { + "key": "S0016672300033140_ref041", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S0016672300023958" + }, + { + "key": "S0016672300033140_ref040", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S0016672300014130" + }, + { + "key": "S0016672300033140_ref037", + "doi-asserted-by": "publisher", + "DOI": "10.1111/j.1469-185X.1943.tb00287.x" + }, + { + "key": "S0016672300033140_ref036", + "doi-asserted-by": "publisher", + "DOI": "10.1038/336435a0" + }, + { + "key": "S0016672300033140_ref035", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S0016672300026392" + }, + { + "key": "S0016672300033140_ref031", + "doi-asserted-by": "publisher", + "DOI": "10.2307/3544435" + }, + { + "key": "S0016672300033140_ref030", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S0016672300032730" + }, + { + "key": "S0016672300033140_ref029", + "doi-asserted-by": "publisher", + "DOI": "10.5962/bhl.title.27468" + }, + { + "key": "S0016672300033140_ref028", + "first-page": "74", + "volume-title": "The Evolution of Sex", + "author": "Felsenstein", + "year": "1988" + }, + { + "key": "S0016672300033140_ref027", + "doi-asserted-by": "crossref", + "first-page": "349", + "DOI": "10.1093/genetics/52.2.349", + "article-title": "The effect of linkage on directional selection", + "volume": "42", + "author": "Felsenstein", + "year": "1965", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref026", + "doi-asserted-by": "publisher", + "DOI": "10.1016/0040-5809(89)90018-X" + }, + { + "key": "S0016672300033140_ref025", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.83.13.4824" + }, + { + "key": "S0016672300033140_ref024", + "first-page": "547", + "volume-title": "Population Genetics and Ecology", + "author": "Feldman", + "year": "1976" + }, + { + "key": "S0016672300033140_ref023", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.77.8.4838" + }, + { + "key": "S0016672300033140_ref048", + "first-page": "446", + "article-title": "Population genetics of modifiers of meiotic drive. 1. The solution of a special case and some general implications", + "volume": "4", + "author": "Thomson", + "year": "1974", + "journal-title": "Theoretical Populations Biology" + }, + { + "key": "S0016672300033140_ref022", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S0016672300022825" + }, + { + "key": "S0016672300033140_ref021", + "doi-asserted-by": "publisher", + "DOI": "10.1016/0040-5809(89)90028-2" + }, + { + "key": "S0016672300033140_ref020", + "doi-asserted-by": "publisher", + "DOI": "10.1016/0040-5809(70)90043-2" + }, + { + "key": "S0016672300033140_ref019", + "doi-asserted-by": "crossref", + "first-page": "487", + "DOI": "10.1093/genetics/108.2.487", + "article-title": "Additive by additive variance with inbreeding and linkage", + "volume": "108", + "author": "Cockerham", + "year": "1984", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref016", + "doi-asserted-by": "publisher", + "DOI": "10.1038/hdy.1985.11" + }, + { + "key": "S0016672300033140_ref013", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S0016672300031372" + }, + { + "key": "S0016672300033140_ref038", + "doi-asserted-by": "publisher", + "DOI": "10.1086/283071" + }, + { + "key": "S0016672300033140_ref033", + "first-page": "191", + "article-title": "An hypothesis to account for the maintenance of sex within populations", + "volume": "3", + "author": "Jaenike", + "year": "1978", + "journal-title": "Evolutionary Theory" + }, + { + "key": "S0016672300033140_ref009", + "volume-title": "The Mathematical Theory of Quantitative Genetics", + "author": "Bulmer", + "year": "1980" + }, + { + "key": "S0016672300033140_ref014", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S001667230001569X" + }, + { + "key": "S0016672300033140_ref050", + "doi-asserted-by": "publisher", + "DOI": "10.1016/0040-5809(90)90002-D" + }, + { + "key": "S0016672300033140_ref043", + "doi-asserted-by": "crossref", + "first-page": "627", + "DOI": "10.1093/genetics/134.2.627", + "article-title": "The evolution of multilocus systems under weak selection", + "volume": "134", + "author": "Nagylaki", + "year": "1993", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref015", + "doi-asserted-by": "publisher", + "DOI": "10.1038/hdy.1985.10" + }, + { + "key": "S0016672300033140_ref005", + "unstructured": "Bergman A. , Otto S. P. , & Feldman M. W. , (1994). On the evolution of recombination in haploids and diploids. Complexity, in press." + }, + { + "key": "S0016672300033140_ref047", + "doi-asserted-by": "crossref", + "first-page": "753", + "DOI": "10.1093/genetics/85.4.753", + "article-title": "The effect of a selected locus on linked neutral loci", + "volume": "85", + "author": "Thomson", + "year": "1977", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref007", + "first-page": "87", + "volume-title": "The Evolution of Sex", + "author": "Brooks", + "year": "1988" + }, + { + "key": "S0016672300033140_ref039", + "volume-title": "The Evolution of Sex", + "author": "Smith", + "year": "1978" + }, + { + "key": "S0016672300033140_ref018", + "doi-asserted-by": "crossref", + "first-page": "71", + "DOI": "10.1093/genetics/69.1.71", + "article-title": "Modification of recombination frequency in Drosophila. I. Selection for increased and decreased crossing over", + "volume": "69", + "author": "Chinnici", + "year": "1971", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref049", + "first-page": "270", + "volume-title": "The Evolution of Sex", + "author": "Trivers", + "year": "1988" + }, + { + "key": "S0016672300033140_ref002", + "doi-asserted-by": "publisher", + "DOI": "10.1038/hdy.1986.142" + }, + { + "key": "S0016672300033140_ref045", + "doi-asserted-by": "publisher", + "DOI": "10.1086/280797" + }, + { + "key": "S0016672300033140_ref052", + "first-page": "247", + "volume-title": "Proceedings of the International Conference on Quantitative Genetics", + "author": "Weir", + "year": "1977" + }, + { + "key": "S0016672300033140_ref017", + "doi-asserted-by": "publisher", + "DOI": "10.1111/j.1558-5646.1990.tb03839.x" + }, + { + "key": "S0016672300033140_ref012", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S0016672300025532" + }, + { + "key": "S0016672300033140_ref032", + "doi-asserted-by": "publisher", + "DOI": "10.1093/oxfordjournals.jhered.a111353" + }, + { + "key": "S0016672300033140_ref008", + "doi-asserted-by": "crossref", + "first-page": "525", + "DOI": "10.1093/genetics/114.2.525", + "article-title": "The organization of genetic variation for recombination in Drosophila melanogaster", + "volume": "114", + "author": "Brooks", + "year": "1986", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref006", + "first-page": "139", + "volume-title": "The Evolution of Sex", + "author": "Bernstein", + "year": "1988" + }, + { + "key": "S0016672300033140_ref034", + "doi-asserted-by": "crossref", + "first-page": "639", + "DOI": "10.1093/genetics/97.3-4.639", + "article-title": "The molecular basis of dominance", + "volume": "97", + "author": "Kacser", + "year": "1981", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref001", + "doi-asserted-by": "crossref", + "first-page": "559", + "DOI": "10.1093/genetics/117.3.559", + "article-title": "Selection, generalized transmission and the evolution of modifier genes. I. The reduction principle", + "volume": "117", + "author": "Altenberg", + "year": "1987", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref003", + "doi-asserted-by": "crossref", + "first-page": "229", + "DOI": "10.1093/genetics/127.1.229", + "article-title": "Natural and sexual selection on many loci", + "volume": "127", + "author": "Barton", + "year": "1991", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref004", + "doi-asserted-by": "publisher", + "DOI": "10.1038/328066a0" + }, + { + "key": "S0016672300033140_ref010", + "doi-asserted-by": "crossref", + "first-page": "803", + "DOI": "10.1038/326803a0", + "article-title": "Mammalian chiasma frequencies as a test of two theories of recombination", + "volume": "326", + "author": "Burt", + "year": "1987", + "journal-title": "Nature" + }, + { + "key": "S0016672300033140_ref011", + "doi-asserted-by": "crossref", + "first-page": "181", + "DOI": "10.1093/genetics/83.1.181", + "article-title": "Recombination modification in a fluctuating environment", + "volume": "83", + "author": "Charlesworth", + "year": "1976", + "journal-title": "Genetics" + } + ], + "container-title": "Genetical Research", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://www.cambridge.org/core/services/aop-cambridge-core/content/view/S0016672300033140", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2021, + 10, + 10 + ] + ], + "date-time": "2021-10-10T18:42:42Z", + "timestamp": 1633891362000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.cambridge.org/core/product/identifier/S0016672300033140/type/journal_article" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1995, + 4 + ] + ] + }, + "references-count": 55, + "journal-issue": { + "issue": "2", + "published-print": { + "date-parts": [ + [ + 1995, + 4 + ] + ] + } + }, + "alternative-id": [ + "S0016672300033140" + ], + "URL": "http://dx.doi.org/10.1017/s0016672300033140", + "relation": {}, + "ISSN": [ + "0016-6723", + "1469-5073" + ], + "subject": [], + "container-title-short": "Genet. Res.", + "published": { + "date-parts": [ + [ + 1995, + 4 + ] + ] + }, + "id": "ref44", + "note": "Manuscript reference 44" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 8, + 20 + ] + ], + "date-time": "2026-08-20T14:24:52Z", + "timestamp": 1787235892730, + "version": "build-2736575974" + }, + "reference-count": 37, + "publisher": "Elsevier BV", + "issue": "2", + "license": [ + { + "start": { + "date-parts": [ + [ + 1997, + 4, + 1 + ] + ], + "date-time": "1997-04-01T00:00:00Z", + "timestamp": 859852800000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://www.elsevier.com/tdm/userlicense/1.0/" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1997, + 4 + ] + ] + }, + "DOI": "10.1006/tpbi.1997.1301", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2002, + 9, + 18 + ] + ], + "date-time": "2002-09-18T18:01:25Z", + "timestamp": 1032372085000 + }, + "page": "134-147", + "source": "Crossref", + "is-referenced-by-count": 156, + "title": "Deleterious Mutations, Variable Epistatic Interactions, and the Evolution of Recombination", + "prefix": "10.1006", + "volume": "51", + "author": [ + { + "given": "Sarah Perin", + "family": "Otto", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Marcus W.", + "family": "Feldman", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "78", + "reference": [ + { + "key": "10.1006/tpbi.1997.1301_TP971301RF1", + "doi-asserted-by": "crossref", + "first-page": "123", + "DOI": "10.1017/S0016672300033140", + "article-title": "A general model for the evolution of recombination", + "volume": "65", + "author": "Barton", + "year": "1995", + "journal-title": "Genet. Res. Cambridge" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF2", + "doi-asserted-by": "crossref", + "first-page": "49", + "DOI": "10.1002/cplx.6130010213", + "article-title": "On the evolution of recombination in haploids and diploids. I. Deterministic models", + "volume": "1", + "author": "Bergman", + "year": "1995", + "journal-title": "Complexity" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF3", + "series-title": "The Evolution of Sex: An Examination of Current Ideas", + "article-title": "The evolution of recombination rates", + "author": "Brooks", + "year": "1988" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF4", + "first-page": "181", + "article-title": "Recombination modification in a fluctuating environment", + "volume": "83", + "author": "Charlesworth", + "year": "1976", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF5", + "doi-asserted-by": "crossref", + "first-page": "199", + "DOI": "10.1017/S0016672300025532", + "article-title": "Mutation selection balance and the evolutionary advantage of sex and recombination", + "volume": "55", + "author": "Charlesworth", + "year": "1990", + "journal-title": "Genet. Res. Cambridge" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF6", + "doi-asserted-by": "crossref", + "first-page": "345", + "DOI": "10.1093/oxfordjournals.jhered.a111355", + "article-title": "The evolution of sex and recombination in a varying environment", + "volume": "84", + "author": "Charlesworth", + "year": "1993", + "journal-title": "J. Heredity" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF7", + "doi-asserted-by": "crossref", + "first-page": "27", + "DOI": "10.1017/S0016672300033450", + "article-title": "Recombination load associated with selection for increased recombination", + "volume": "67", + "author": "Charlesworth", + "year": "1996", + "journal-title": "Genet. Res. Cambridge" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF8", + "doi-asserted-by": "crossref", + "first-page": "380", + "DOI": "10.1038/347380a0", + "article-title": "Genetic loads and estimates of mutation rates in highly inbred plant populations", + "volume": "347", + "author": "Charlesworth", + "year": "1990", + "journal-title": "Nature" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF9", + "series-title": "Mathematical Topics in Population Genetics", + "article-title": "Genetic loads and the cost of natural selection", + "author": "Crow", + "year": "1970" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF10", + "doi-asserted-by": "crossref", + "first-page": "88", + "DOI": "10.1016/0040-5809(70)90043-2", + "article-title": "On the evolutionary effect of recombination", + "volume": "1", + "author": "Eshel", + "year": "1970", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF11", + "doi-asserted-by": "crossref", + "first-page": "324", + "DOI": "10.1016/0040-5809(72)90007-X", + "article-title": "Selection for linkage modification. I. Random mating populations", + "volume": "3", + "author": "Feldman", + "year": "1972", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF12", + "doi-asserted-by": "crossref", + "first-page": "4838", + "DOI": "10.1073/pnas.77.8.4838", + "article-title": "Evolution of recombination in a constant environment", + "volume": "77", + "author": "Feldman", + "year": "1980", + "journal-title": "Proc. Nat. Acad. Sci. USA" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF13", + "doi-asserted-by": "crossref", + "first-page": "261", + "DOI": "10.1146/annurev.genet.30.1.261", + "article-title": "Population genetic perspectives on the evolution of recombination", + "volume": "30", + "author": "Feldman", + "year": "1997", + "journal-title": "Ann. Rev. Genet." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF14", + "series-title": "The Genetical Theory of Natural Selection", + "author": "Fisher", + "year": "1930" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF15", + "series-title": "The Theory of Matrices", + "author": "Gantmacher", + "year": "1989" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF16", + "doi-asserted-by": "crossref", + "first-page": "282", + "DOI": "10.2307/3544435", + "article-title": "Sex versus non-sex versus parasite", + "volume": "35", + "author": "Hamilton", + "year": "1980", + "journal-title": "OIKOS" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF17", + "doi-asserted-by": "crossref", + "first-page": "773", + "DOI": "10.1093/genetics/138.3.773", + "article-title": "The effects of spontaneous mutation on quantitative traits. I. Variances and covariances of life history traits", + "volume": "138", + "author": "Houle", + "year": "1994", + "journal-title": "Genetics" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF18", + "doi-asserted-by": "crossref", + "first-page": "186", + "DOI": "10.1016/0040-5809(72)90026-3", + "article-title": "Application of method of small parameters to multi-niche population genetic models", + "volume": "3", + "author": "Karlin", + "year": "1972", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF19", + "doi-asserted-by": "crossref", + "first-page": "1315", + "DOI": "10.1093/genetics/138.4.1315", + "article-title": "The distribution of mutation effects inDrosophila melanogaster", + "volume": "138", + "author": "Keightley", + "year": "1994", + "journal-title": "Genetics" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF20", + "doi-asserted-by": "crossref", + "first-page": "694", + "DOI": "10.1038/381694a0", + "article-title": "Estimate of the genomic mutation rate deleterious to overall fitness in E. coli", + "volume": "381", + "author": "Kibota", + "year": "1996", + "journal-title": "Nature" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF21", + "doi-asserted-by": "crossref", + "first-page": "1303", + "DOI": "10.1093/genetics/54.6.1337", + "article-title": "The mutational load with epistatic gene interactions in fitness", + "volume": "54", + "author": "Kimura", + "year": "1966", + "journal-title": "Genetics" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF22", + "doi-asserted-by": "crossref", + "first-page": "325", + "DOI": "10.1017/S0016672300019194", + "article-title": "Selection against harmful mutations in large sexual and asexual populations", + "volume": "40", + "author": "Kondrashov", + "year": "1982", + "journal-title": "Genet. Res. Cambridge" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF23", + "doi-asserted-by": "crossref", + "first-page": "199", + "DOI": "10.1017/S0016672300026392", + "article-title": "Deleterious mutations as an evolutionary factor. I. The advantage of recombination", + "volume": "44", + "author": "Kondrashov", + "year": "1984", + "journal-title": "Genet. Res. Cambridge" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF24", + "doi-asserted-by": "crossref", + "first-page": "435", + "DOI": "10.1038/336435a0", + "article-title": "Deleterious mutations and the evolution of sexual reproduction", + "volume": "336", + "author": "Kondrashov", + "year": "1988", + "journal-title": "Nature" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF25", + "doi-asserted-by": "crossref", + "first-page": "372", + "DOI": "10.1093/oxfordjournals.jhered.a111358", + "article-title": "Classification of hypotheses on the advantage of amphimixis", + "volume": "84", + "author": "Kondrashov", + "year": "1993", + "journal-title": "J. Heredity" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF26", + "doi-asserted-by": "crossref", + "first-page": "229", + "DOI": "10.1002/humu.1380020312", + "article-title": "A molecular approach to estimating the human deleterious mutation rate", + "volume": "2", + "author": "Kondrashov", + "year": "1993", + "journal-title": "Hum. Mutat." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF27", + "doi-asserted-by": "crossref", + "first-page": "469", + "DOI": "10.1086/282559", + "article-title": "Evolution in sexual and asexual populations", + "volume": "102", + "author": "Maynard–Smith", + "year": "1968", + "journal-title": "Am. Nat." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF28", + "series-title": "The Evolution of Sex: An Examination of Current Ideas", + "author": "Michod", + "year": "1988" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF29", + "doi-asserted-by": "crossref", + "first-page": "1", + "DOI": "10.1093/genetics/50.1.1", + "article-title": "The genetic structure of natural populations ofDrosophila melanogaster", + "volume": "50", + "author": "Mukai", + "year": "1964", + "journal-title": "Genetics" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF30", + "doi-asserted-by": "crossref", + "first-page": "749", + "DOI": "10.1093/genetics/61.3.749", + "article-title": "The genetic structure of natural populations ofDrosophila melanogaster", + "volume": "61", + "author": "Mukai", + "year": "1969", + "journal-title": "Genetics" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF31", + "doi-asserted-by": "crossref", + "first-page": "335", + "DOI": "10.1093/genetics/72.2.335", + "article-title": "Mutation rate and dominance of genes affecting viability inDrosophila melanogaster", + "volume": "72", + "author": "Mukai", + "year": "1972", + "journal-title": "Genetics" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF32", + "doi-asserted-by": "crossref", + "first-page": "118", + "DOI": "10.1086/280418", + "article-title": "Some genetic aspects of sex", + "volume": "66", + "author": "Muller", + "year": "1932", + "journal-title": "Am. Nat." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF33", + "doi-asserted-by": "crossref", + "first-page": "2", + "DOI": "10.1016/0027-5107(64)90047-8", + "article-title": "The relation of recombination to mutational advance", + "volume": "1", + "author": "Muller", + "year": "1964", + "journal-title": "Mutat. Res." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF34", + "doi-asserted-by": "crossref", + "first-page": "625", + "DOI": "10.1093/genetics/57.3.625", + "article-title": "Modification of linkage intensity by natural selection", + "volume": "57", + "author": "Nei", + "year": "1967", + "journal-title": "Genetics" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF35", + "doi-asserted-by": "crossref", + "first-page": "365", + "DOI": "10.1006/tpbi.1995.1017", + "article-title": "Effects of cis–trans viability selection on some two-locus models", + "volume": "47", + "author": "Nordborg", + "year": "1995", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF36", + "doi-asserted-by": "crossref", + "first-page": "447", + "DOI": "10.1086/280797", + "article-title": "The interrelations of inversions, heterosis, and recombination", + "volume": "72", + "author": "Sturtevant", + "year": "1938", + "journal-title": "Am. Nat." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF37", + "doi-asserted-by": "crossref", + "first-page": "601", + "DOI": "10.1146/annurev.es.26.110195.003125", + "article-title": "Multiple fitness peaks and epistasis", + "volume": "26", + "author": "Whitlock", + "year": "1995", + "journal-title": "Annu. Rev. Ecol. Syst." + } + ], + "container-title": "Theoretical Population Biology", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://api.elsevier.com/content/article/PII:S0040580997913010?httpAccept=text/xml", + "content-type": "text/xml", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://api.elsevier.com/content/article/PII:S0040580997913010?httpAccept=text/plain", + "content-type": "text/plain", + "content-version": "vor", + "intended-application": "text-mining" + } + ], + "deposited": { + "date-parts": [ + [ + 2021, + 5, + 2 + ] + ], + "date-time": "2021-05-02T23:58:18Z", + "timestamp": 1619999898000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://linkinghub.elsevier.com/retrieve/pii/S0040580997913010" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1997, + 4 + ] + ] + }, + "references-count": 37, + "journal-issue": { + "issue": "2", + "published-print": { + "date-parts": [ + [ + 1997, + 4 + ] + ] + } + }, + "alternative-id": [ + "S0040580997913010" + ], + "URL": "http://dx.doi.org/10.1006/tpbi.1997.1301", + "relation": {}, + "ISSN": [ + "0040-5809" + ], + "subject": [], + "container-title-short": "Theoretical Population Biology", + "published": { + "date-parts": [ + [ + 1997, + 4 + ] + ] + }, + "id": "ref45", + "note": "Manuscript reference 45" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 8, + 27 + ] + ], + "date-time": "2026-08-27T00:47:55Z", + "timestamp": 1787791675331, + "version": "build-2784847793" + }, + "reference-count": 53, + "publisher": "Springer Science and Business Media LLC", + "issue": "4", + "license": [ + { + "start": { + "date-parts": [ + [ + 2002, + 4, + 1 + ] + ], + "date-time": "2002-04-01T00:00:00Z", + "timestamp": 1017619200000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "http://www.springer.com/tdm" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 2002, + 4 + ] + ] + }, + "DOI": "10.1038/nrg761", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2002, + 7, + 26 + ] + ], + "date-time": "2002-07-26T08:56:51Z", + "timestamp": 1027673811000 + }, + "page": "252-261", + "source": "Crossref", + "is-referenced-by-count": 710, + "title": "Resolving the paradox of sex and recombination", + "prefix": "10.1038", + "volume": "3", + "author": [ + { + "given": "Sarah P.", + "family": "Otto", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Thomas", + "family": "Lenormand", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "297", + "reference": [ + { + "key": "BFnrg761_CR1", + "doi-asserted-by": "publisher", + "first-page": "241", + "DOI": "10.1038/373241a0", + "volume": "373", + "author": "T Chapman", + "year": "1995", + "unstructured": "Chapman, T., Liddle, L. F., Kalb, J. M., Wolfner, M. F. & Partridge, L. Cost of mating in Drosophila melanogaster females is mediated by male accessory gland products. Nature 373, 241–244 (1995).", + "journal-title": "Nature" + }, + { + "key": "BFnrg761_CR2", + "doi-asserted-by": "publisher", + "first-page": "634", + "DOI": "10.1038/35084593", + "volume": "2", + "author": "RJ Redfield", + "year": "2001", + "unstructured": "Redfield, R. J. Do bacteria have sex? Nature Rev. Genet. 2, 634–639 (2001).", + "journal-title": "Nature Rev. Genet." + }, + { + "key": "BFnrg761_CR3", + "doi-asserted-by": "publisher", + "first-page": "335", + "DOI": "10.1016/S0966-842X(01)02079-0", + "volume": "9", + "author": "S Karlin", + "year": "2001", + "unstructured": "Karlin, S. Detecting anomalous gene clusters and pathogenicity islands in diverse bacterial genomes. Trends Microbiol. 9, 335–343 (2001).", + "journal-title": "Trends Microbiol." + }, + { + "key": "BFnrg761_CR4", + "doi-asserted-by": "publisher", + "first-page": "235", + "DOI": "10.1146/annurev.ge.27.120193.001315", + "volume": "27", + "author": "MG Kidwell", + "year": "1993", + "unstructured": "Kidwell, M. G. Lateral transfer in natural populations of eukaryotes. Annu. Rev. Genet. 27, 235–256 (1993).", + "journal-title": "Annu. Rev. Genet." + }, + { + "key": "BFnrg761_CR5", + "doi-asserted-by": "publisher", + "first-page": "1769", + "DOI": "10.1093/oxfordjournals.molbev.a026275", + "volume": "17", + "author": "AP de Koning", + "year": "2000", + "unstructured": "de Koning, A. P., Brinkman, F. S., Jones, S. J. & Keeling, P. J. Lateral gene transfer and metabolic adaptation in the human parasite Trichomonas vaginalis. Mol. Biol. Evol. 17, 1769–1773 (2000).", + "journal-title": "Mol. Biol. Evol." + }, + { + "key": "BFnrg761_CR6", + "doi-asserted-by": "publisher", + "first-page": "research0013.1", + "DOI": "10.1186/gb-2000-1-6-research0013", + "volume": "1", + "author": "YI Wolf", + "year": "2000", + "unstructured": "Wolf, Y. I., Kondrashov, A. S. & Koonin, E. V. Interkingdom gene fusions. Genome Biol. 1, research0013.1–0013.13 (2000).", + "journal-title": "Genome Biol." + }, + { + "key": "BFnrg761_CR7", + "volume-title": "The Masterpiece of Nature: The Evolution and Genetics of Sexuality", + "author": "G Bell", + "year": "1982", + "unstructured": "Bell, G. The Masterpiece of Nature: The Evolution and Genetics of Sexuality (Univ. California Press, Berkeley, 1982).A classic text that explores the vast array of ways in which organisms reproduce and the reasons for this diversity." + }, + { + "key": "BFnrg761_CR8", + "first-page": "19", + "volume-title": "Evolution and Cytology of Unisexual Vertebrates", + "author": "R Vrijenhoek", + "year": "1989", + "unstructured": "Vrijenhoek, R., Dawley, R., Cole, C. & Bogart, J. in Evolution and Cytology of Unisexual Vertebrates (eds Dawley, R. & Bogart, J.) 19–23 (Univ. State New York, New York, 1989)." + }, + { + "key": "BFnrg761_CR9", + "volume-title": "The Diversity of Life", + "author": "EO Wilson", + "year": "1992", + "unstructured": "Wilson, E. O. The Diversity of Life (W. W. Norton, New York, 1992)." + }, + { + "key": "BFnrg761_CR10", + "doi-asserted-by": "publisher", + "first-page": "41", + "DOI": "10.1016/0169-5347(96)81040-8", + "volume": "11", + "author": "OP Judson", + "year": "1996", + "unstructured": "Judson, O. P. & Normark, B. B. Ancient asexual scandals. Trends Ecol. Evol. 11, 41–46 (1996).", + "journal-title": "Trends Ecol. Evol." + }, + { + "key": "BFnrg761_CR11", + "doi-asserted-by": "publisher", + "first-page": "1211", + "DOI": "10.1126/science.288.5469.1211", + "volume": "288", + "author": "D Mark Welch", + "year": "2000", + "unstructured": "Mark Welch, D. & Meselson, M. Evidence for the evolution of bdelloid rotifers without sexual reproduction or genetic exchange. Science 288, 1211–1215 (2000).", + "journal-title": "Science" + }, + { + "key": "BFnrg761_CR12", + "doi-asserted-by": "publisher", + "first-page": "11", + "DOI": "10.1016/S0020-7519(97)00181-1", + "volume": "28", + "author": "ML Sogin", + "year": "1998", + "unstructured": "Sogin, M. L. & Silberman, J. D. Evolution of the protists and protistan parasites from the perspective of molecular systematics. Int. J. Parasitol. 28, 11–20 (1998).", + "journal-title": "Int. J. Parasitol." + }, + { + "key": "BFnrg761_CR13", + "doi-asserted-by": "publisher", + "first-page": "167", + "DOI": "10.1111/j.1550-7408.2000.tb00028.x", + "volume": "47", + "author": "L Morin", + "year": "2000", + "unstructured": "Morin, L. Long branch attraction effects and the status of 'basal eukaryotes': phylogeny and structural analysis of the ribosomal RNA gene cluster of the free-living diplomonad Trepomonas agilis. J. Eukaryot. Microbiol. 47, 167–177 (2000).", + "journal-title": "J. Eukaryot. Microbiol." + }, + { + "key": "BFnrg761_CR14", + "doi-asserted-by": "publisher", + "first-page": "144", + "DOI": "10.1016/0169-5347(92)90205-P", + "volume": "7", + "author": "LD Hurst", + "year": "1992", + "unstructured": "Hurst, L. D., Hamilton, W. D. & Ladle, R. J. Covert sex. Trends Ecol. Evol. 7, 144–145 (1992).", + "journal-title": "Trends Ecol. Evol." + }, + { + "key": "BFnrg761_CR15", + "doi-asserted-by": "publisher", + "first-page": "770", + "DOI": "10.1073/pnas.93.2.770", + "volume": "93", + "author": "A Burt", + "year": "1996", + "unstructured": "Burt, A., Carter, D. A., Koenig, G. L., White, T. J. & Taylor, J. W. Molecular markers reveal cryptic sex in the human pathogen Coccidioides immitis. Proc. Natl Acad. Sci. USA 93, 770–773 (1996).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "BFnrg761_CR16", + "volume-title": "The Evolution of Sex", + "author": "RE Michod", + "year": "1988", + "unstructured": "Michod, R. E. & Levin, B. R. The Evolution of Sex (Sinauer Press, Sunderland, Massachusetts, 1988).An excellent review and source book for theoretical and empirical studies of the evolution of sex, with chapters written by authors from a variety of perspectives." + }, + { + "key": "BFnrg761_CR17", + "doi-asserted-by": "publisher", + "first-page": "372", + "DOI": "10.1093/oxfordjournals.jhered.a111358", + "volume": "84", + "author": "AS Kondrashov", + "year": "1993", + "unstructured": "Kondrashov, A. S. Classification of hypotheses on the advantage of amphimixis. J. Hered. 84, 372–387 (1993).", + "journal-title": "J. Hered." + }, + { + "key": "BFnrg761_CR18", + "doi-asserted-by": "publisher", + "first-page": "261", + "DOI": "10.1146/annurev.genet.30.1.261", + "volume": "30", + "author": "MW Feldman", + "year": "1997", + "unstructured": "Feldman, M. W., Otto, S. P. & Christiansen, F. B. Population genetic perspectives on the evolution of recombination. Annu. Rev. Genet. 30, 261–295 (1997).", + "journal-title": "Annu. Rev. Genet." + }, + { + "key": "BFnrg761_CR19", + "doi-asserted-by": "crossref", + "first-page": "519", + "DOI": "10.1093/genetics/101.3-4.519", + "volume": "101", + "author": "DA Hickey", + "year": "1982", + "unstructured": "Hickey, D. A. Selfish DNA: a sexually-transmitted nuclear parasite. Genetics 101, 519–531 (1982).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR20", + "doi-asserted-by": "publisher", + "first-page": "605", + "DOI": "10.1016/S1097-2765(00)00059-9", + "volume": "6", + "author": "V Reinke", + "year": "2000", + "unstructured": "Reinke, V. et al. A global profile of germline gene expression in C. elegans. Mol. Cell 6, 605–616 (2000).", + "journal-title": "Mol. Cell" + }, + { + "key": "BFnrg761_CR21", + "doi-asserted-by": "publisher", + "first-page": "537", + "DOI": "10.1086/283734", + "volume": "117", + "author": "H Bernstein", + "year": "1981", + "unstructured": "Bernstein, H., Byers, G. S. & Michod, R. E. Evolution of sexual reproduction: importance of DNA repair, complementation, and variation. Am. Nat. 117, 537–549 (1981).", + "journal-title": "Am. Nat." + }, + { + "key": "BFnrg761_CR22", + "doi-asserted-by": "crossref", + "first-page": "755", + "DOI": "10.1093/genetics/133.4.755", + "volume": "133", + "author": "RJ Redfield", + "year": "1993", + "unstructured": "Redfield, R. J. Evolution of natural transformation: testing the DNA repair hypothesis in Bacillus subtilis and Haemophilus influenzae. Genetics 133, 755–761 (1993).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR23", + "doi-asserted-by": "publisher", + "first-page": "460", + "DOI": "10.1038/268460a0", + "volume": "268", + "author": "P Thuriaux", + "year": "1977", + "unstructured": "Thuriaux, P. Is recombination confined to structural genes on the eukaryotic genome? Nature 268, 460–462 (1977).", + "journal-title": "Nature" + }, + { + "key": "BFnrg761_CR24", + "doi-asserted-by": "publisher", + "first-page": "53", + "DOI": "10.1146/annurev.ge.10.120176.000413", + "volume": "10", + "author": "BS Baker", + "year": "1976", + "unstructured": "Baker, B. S., Carpenter, A. T. C., Esposito, M. S., Esposito, R. E. & Sandler, L. The genetic control of meiosis. Annu. Rev. Genet. 10, 53–134 (1976).", + "journal-title": "Annu. Rev. Genet." + }, + { + "key": "BFnrg761_CR25", + "doi-asserted-by": "publisher", + "first-page": "310", + "DOI": "10.1016/0168-9525(93)90249-H", + "volume": "9", + "author": "RS Hawley", + "year": "1993", + "unstructured": "Hawley, R. S. & Theurkauf, W. E. Requiem for distributive segregation: achiasmate segregation in Drosophila females. Trends Genet. 9, 310–317 (1993).", + "journal-title": "Trends Genet." + }, + { + "key": "BFnrg761_CR26", + "doi-asserted-by": "crossref", + "first-page": "109", + "DOI": "10.1093/genetics/49.1.109", + "volume": "49", + "author": "JR Merriam", + "year": "1964", + "unstructured": "Merriam, J. R. & Frost, J. N. Exchange and nondisjunction of the X chromosomes in female Drosophila melanogaster. Genetics 49, 109–122 (1964).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR27", + "doi-asserted-by": "crossref", + "first-page": "887", + "DOI": "10.1093/genetics/136.3.887", + "volume": "136", + "author": "AM Villeneuve", + "year": "1994", + "unstructured": "Villeneuve, A. M. A cis-acting locus that promotes crossing over between X chromosomes in Caenorhabditis elegans. Genetics 136, 887–902 (1994).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR28", + "doi-asserted-by": "publisher", + "first-page": "1495", + "DOI": "10.1093/hmg/5.Supplement_1.1495", + "volume": "5", + "author": "KE Koehler", + "year": "1996", + "unstructured": "Koehler, K. E., Hawley, R. S., Sherman, S. & Hassold, T. Recombination and nondisjunction in humans and flies. Hum. Mol. Genet. 5, 1495–1504 (1996).", + "journal-title": "Hum. Mol. Genet." + }, + { + "key": "BFnrg761_CR29", + "doi-asserted-by": "publisher", + "first-page": "259", + "DOI": "10.1046/j.1420-9101.1991.4020259.x", + "volume": "4", + "author": "A Burt", + "year": "1991", + "unstructured": "Burt, A., Bell, G. & Harvey, P. H. Sex differences in recombination. J. Evol. Biol. 4, 259–277 (1991).", + "journal-title": "J. Evol. Biol." + }, + { + "key": "BFnrg761_CR30", + "doi-asserted-by": "publisher", + "first-page": "1921", + "DOI": "10.1111/j.0014-3820.2001.tb01310.x", + "volume": "55", + "author": "SP Otto", + "year": "2001", + "unstructured": "Otto, S. P. & Barton, N. H. Selection for recombination in small populations. Evolution 55, 1921–1931 (2001).An investigation of the relative importance of drift and epistasis to the evolution of sex and recombination with the use of a modifier model with directional selection.", + "journal-title": "Evolution" + }, + { + "key": "BFnrg761_CR31", + "doi-asserted-by": "publisher", + "first-page": "241", + "DOI": "10.1038/nrg760", + "volume": "3", + "author": "WR Rice", + "year": "2002", + "unstructured": "Rice, W. R. Experimental tests of the adaptive significance of sexual reproduction. Nature Rev. Genet. 3, 241–251 (2002).", + "journal-title": "Nature Rev. Genet." + }, + { + "key": "BFnrg761_CR32", + "doi-asserted-by": "crossref", + "first-page": "559", + "DOI": "10.1093/genetics/117.3.559", + "volume": "117", + "author": "L Altenberg", + "year": "1987", + "unstructured": "Altenberg, L. & Feldman, M. W. Selection, generalized transmission and the evolution of modifier genes. I. The reduction principle. Genetics 117, 559–572 (1987).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR33", + "first-page": "430", + "volume": "21", + "author": "MW Feldman", + "year": "1972", + "unstructured": "Feldman, M. W. Selection for linkage modification. I. Random mating populations. Theor. Popul. Biol. 21, 430–439 (1972).", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "BFnrg761_CR34", + "doi-asserted-by": "publisher", + "first-page": "4838", + "DOI": "10.1073/pnas.77.8.4838", + "volume": "77", + "author": "MW Feldman", + "year": "1980", + "unstructured": "Feldman, M. W., Christiansen, F. B. & Brooks, L. D. Evolution of recombination in a constant environment. Proc. Natl Acad. Sci. USA 77, 4838–4841 (1980).The first theoretical analysis to show that higher rates of recombination could evolve when deleterious mutations exhibit negative fitness interactions.", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "BFnrg761_CR35", + "doi-asserted-by": "publisher", + "first-page": "199", + "DOI": "10.1017/S0016672300026392", + "volume": "44", + "author": "AS Kondrashov", + "year": "1984", + "unstructured": "Kondrashov, A. S. Deleterious mutations as an evolutionary factor. I. The advantage of recombination. Genet. Res. 44, 199–217 (1984).", + "journal-title": "Genet. Res." + }, + { + "key": "BFnrg761_CR36", + "doi-asserted-by": "publisher", + "first-page": "199", + "DOI": "10.1017/S0016672300025532", + "volume": "55", + "author": "B Charlesworth", + "year": "1990", + "unstructured": "Charlesworth, B. Mutation–selection balance and the evolutionary advantage of sex and recombination. Genet. Res. 55, 199–221 (1990).", + "journal-title": "Genet. Res." + }, + { + "key": "BFnrg761_CR37", + "doi-asserted-by": "publisher", + "first-page": "123", + "DOI": "10.1017/S0016672300033140", + "volume": "65", + "author": "NH Barton", + "year": "1995", + "unstructured": "Barton, N. H. A general model for the evolution of recombination. Genet. Res. 65, 123–144 (1995).A ground-breaking theoretical study that generalized models of the evolution of recombination to a genome-wide level and to include several forms of selection.", + "journal-title": "Genet. Res." + }, + { + "key": "BFnrg761_CR38", + "doi-asserted-by": "publisher", + "first-page": "134", + "DOI": "10.1006/tpbi.1997.1301", + "volume": "51", + "author": "SP Otto", + "year": "1997", + "unstructured": "Otto, S. P. & Feldman, M. W. Deleterious mutations, variable epistatic interactions, and the evolution of recombination. Theor. Popul. Biol. 51, 134–147 (1997).", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "BFnrg761_CR39", + "doi-asserted-by": "publisher", + "first-page": "88", + "DOI": "10.1016/0040-5809(70)90043-2", + "volume": "1", + "author": "I Eshel", + "year": "1970", + "unstructured": "Eshel, I. & Feldman, M. W. On the evolutionary effect of recombination. Theor. Popul. Biol. 1, 88–100 (1970).", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "BFnrg761_CR40", + "doi-asserted-by": "crossref", + "first-page": "1419", + "DOI": "10.1093/genetics/156.3.1419", + "volume": "156", + "author": "JR Chasnov", + "year": "2000", + "unstructured": "Chasnov, J. R. Mutation–selection balance, dominance and the maintenance of sex. Genetics 156, 1419–1425 (2000).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR41", + "doi-asserted-by": "crossref", + "first-page": "913", + "DOI": "10.1093/genetics/158.2.913", + "volume": "158", + "author": "AF Agrawal", + "year": "2001", + "unstructured": "Agrawal, A. F. & Chasnov, J. R. Recessive mutations and the maintenance of sex in structured populations. Genetics 158, 913–917 (2001).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR42", + "doi-asserted-by": "publisher", + "first-page": "49", + "DOI": "10.1146/annurev.ge.11.120177.000405", + "volume": "11", + "author": "MJ Simmons", + "year": "1977", + "unstructured": "Simmons, M. J. & Crow, J. F. Mutations affecting fitness in Drosophila populations. Annu. Rev. Genet. 11, 49–78 (1977).", + "journal-title": "Annu. Rev. Genet." + }, + { + "key": "BFnrg761_CR43", + "doi-asserted-by": "publisher", + "first-page": "393", + "DOI": "10.1086/303247", + "volume": "154", + "author": "AD Peters", + "year": "1999", + "unstructured": "Peters, A. D. & Lively, C. M. The Red Queen and fluctuating epistasis: a population genetic analysis of antagonistic coevolution. Am. Nat. 154, 393–405 (1999).", + "journal-title": "Am. Nat." + }, + { + "key": "BFnrg761_CR44", + "doi-asserted-by": "crossref", + "first-page": "423", + "DOI": "10.1093/genetics/156.1.423", + "volume": "156", + "author": "T Lenormand", + "year": "2000", + "unstructured": "Lenormand, T. & Otto, S. P. The evolution of recombination in a heterogeneous environment. Genetics 156, 423–438 (2000).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR45", + "doi-asserted-by": "publisher", + "first-page": "247", + "DOI": "10.1017/S0016672398003243", + "volume": "71", + "author": "KV Pylkov", + "year": "1998", + "unstructured": "Pylkov, K. V., Zhivotovsky, L. A. & Feldman, M. W. Migration versus mutation in the evolution of recombination under multilocus selection. Genet. Res. 71, 247–256 (1998).", + "journal-title": "Genet. Res." + }, + { + "key": "BFnrg761_CR46", + "doi-asserted-by": "publisher", + "first-page": "269", + "DOI": "10.1017/S0016672300010156", + "volume": "8", + "author": "WG Hill", + "year": "1966", + "unstructured": "Hill, W. G. & Robertson, A. The effect of linkage on the limits to artificial selection. Genet. Res. 8, 269–294 (1966).This paper showed that, in finite populations, selection at a locus is less efficient when neighboring loci are also under selection because of increased variation in the reproductive success of an allele (that is, increased random genetic drift).", + "journal-title": "Genet. Res." + }, + { + "key": "BFnrg761_CR47", + "doi-asserted-by": "crossref", + "first-page": "879", + "DOI": "10.1093/genetics/147.2.879", + "volume": "147", + "author": "SP Otto", + "year": "1997", + "unstructured": "Otto, S. P. & Barton, N. H. The evolution of recombination: removing the limits to natural selection. Genetics 147, 879–906 (1997).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR48", + "doi-asserted-by": "publisher", + "first-page": "119", + "DOI": "10.1017/S001667239800367X", + "volume": "73", + "author": "DD Gessler", + "year": "1999", + "unstructured": "Gessler, D. D. & Xu, S. On the evolution of recombination and meiosis. Genet. Res. 73, 119–131 (1999).", + "journal-title": "Genet. Res." + }, + { + "key": "BFnrg761_CR49", + "doi-asserted-by": "crossref", + "first-page": "597", + "DOI": "10.1093/genetics/137.2.597", + "volume": "137", + "author": "JR Peck", + "year": "1994", + "unstructured": "Peck, J. R. A ruby in the rubbish: beneficial mutations, deleterious mutations and the evolution of sex. Genetics 137, 597–606 (1994).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR50", + "volume-title": "Évolution de la Recombinaison en Populations Subdivisées: Étude par Simulation de l'Influence de la Structure sur la Sélection pour la Recombinaison via l'Effet Hill–Robertson", + "author": "G Martin", + "year": "2001", + "unstructured": "Martin, G. Évolution de la Recombinaison en Populations Subdivisées: Étude par Simulation de l'Influence de la Structure sur la Sélection pour la Recombinaison via l'Effet Hill–Robertson (DEA, Biologié, Université Montpellier II, Montpellier, 2001)." + }, + { + "key": "BFnrg761_CR51", + "volume-title": "The History of Sexuality. I. An Introduction", + "author": "M Foucault", + "year": "1978", + "unstructured": "Foucault, M. The History of Sexuality. I. An Introduction (Vintage Books, New York, 1978)." + }, + { + "key": "BFnrg761_CR52", + "doi-asserted-by": "publisher", + "first-page": "604", + "DOI": "10.1111/j.1558-5646.1998.tb01658.x", + "volume": "52", + "author": "RS Howard", + "year": "1998", + "unstructured": "Howard, R. S. & Lively, C. M. The maintenance of sex by parasitism and mutation accumulation under epistatic fitness functions. Evolution 52, 604–610 (1998).", + "journal-title": "Evolution" + }, + { + "key": "BFnrg761_CR53", + "doi-asserted-by": "crossref", + "first-page": "625", + "DOI": "10.1093/genetics/57.3.625", + "volume": "57", + "author": "M Nei", + "year": "1967", + "unstructured": "Nei, M. Modification of linkage intensity by natural selection. Genetics 57, 625–641 (1967).", + "journal-title": "Genetics" + } + ], + "container-title": "Nature Reviews Genetics", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "http://www.nature.com/articles/nrg761.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "http://www.nature.com/articles/nrg761", + "content-type": "text/html", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "http://www.nature.com/articles/nrg761.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2023, + 5, + 19 + ] + ], + "date-time": "2023-05-19T03:36:04Z", + "timestamp": 1684467364000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.nature.com/articles/nrg761" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2002, + 4 + ] + ] + }, + "references-count": 53, + "journal-issue": { + "issue": "4", + "published-print": { + "date-parts": [ + [ + 2002, + 4 + ] + ] + } + }, + "alternative-id": [ + "BFnrg761" + ], + "URL": "http://dx.doi.org/10.1038/nrg761", + "relation": {}, + "ISSN": [ + "1471-0056", + "1471-0064" + ], + "subject": [], + "container-title-short": "Nat Rev Genet", + "published": { + "date-parts": [ + [ + 2002, + 4 + ] + ] + }, + "id": "ref46", + "note": "Manuscript reference 46" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 7, + 3 + ] + ], + "date-time": "2026-07-03T18:30:18Z", + "timestamp": 1783103418606, + "version": "3.54.6" + }, + "reference-count": 0, + "publisher": "Oxford University Press (OUP)", + "issue": "3", + "license": [ + { + "start": { + "date-parts": [ + [ + 1987, + 11, + 1 + ] + ], + "date-time": "1987-11-01T00:00:00Z", + "timestamp": 562723200000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://academic.oup.com/journals/pages/open_access/funder_policies/chorus/standard_publication_model" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1987, + 11, + 1 + ] + ] + }, + "abstract": "ABSTRACT Modifier gene models are used to explore the evolution of features of organisms, such as the genetic system, that are not directly involved in the determination of fitness. Recent work has shown that a general \"reduction principle\" holds in models of selectively neutral modifiers of recombination, mutation, and migration. Here we present a framework for models of modifier genes that shows these reduction results to be part of a more general theory, for which recombination and mutation are special cases.—The deterministic forces that affect the genetic composition of a population can be partitioned into two categories: selection and transmission. Selection includes differential viabilities, fertilities, and mating success. Imperfect transmission occurs as a result of such phenomena as recombination, mutation and migration, meiosis, gene conversion, and meiotic drive. Selectively neutral modifier genes affect transmission, and a neutral modifier gene can evolve only by generating association with selected genes whose transmission it affects.–We show that, in randomly mating populations at equilibrium, imperfect transmission of selected genes allows a variance in their marginal fitnesses to be maintained. This variance in the marginal fitnesses of selected genes is what drives the evolution of neutral modifier genes. Populations with a variance in marginal fitnesses at equilibrium are always subject to invasion by modifier genes that bring about perfect transmission of the selected genes. It is also found, within certain constraints, that for modifier genes producing what we call \"linear variation\" in the transmission processes, a new modifier allele can invade a population at equilibrium if it reduces the level of imperfect transmission acting on the selected genes, and will be expelled if it increases the level of imperfect transmission. Moreover, the strength of the induced selection on the modifier gene is shown to range up to the order of the departure of the genetic system from perfect transmission.", + "DOI": "10.1093/genetics/117.3.559", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2021, + 1, + 6 + ] + ], + "date-time": "2021-01-06T12:43:57Z", + "timestamp": 1609937037000 + }, + "page": "559-572", + "source": "Crossref", + "is-referenced-by-count": 86, + "title": "Selection, Generalized Transmission and the Evolution of Modifier Genes. I. The Reduction Principle", + "prefix": "10.1093", + "volume": "117", + "author": [ + { + "given": "Lee", + "family": "Altenberg", + "sequence": "first", + "affiliation": [ + { + "name": "Department of Statistics, North Carolina State University, Raleigh, North Carolina 27695-8203" + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Marcus W", + "family": "Feldman", + "sequence": "additional", + "affiliation": [ + { + "name": "Department of Biological Sciences, Stanford University, Stanford, California 94305-5020" + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "286", + "published-online": { + "date-parts": [ + [ + 1987, + 11, + 1 + ] + ] + }, + "container-title": "Genetics", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "http://academic.oup.com/genetics/article-pdf/117/3/559/34454293/genetics0559.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "syndication" + }, + { + "URL": "http://academic.oup.com/genetics/article-pdf/117/3/559/34454293/genetics0559.pdf", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2021, + 4, + 22 + ] + ], + "date-time": "2021-04-22T18:29:28Z", + "timestamp": 1619116168000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://academic.oup.com/genetics/article/117/3/559/5997496" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1987, + 11, + 1 + ] + ] + }, + "references-count": 0, + "journal-issue": { + "issue": "3", + "published-print": { + "date-parts": [ + [ + 1987, + 11, + 1 + ] + ] + } + }, + "URL": "http://dx.doi.org/10.1093/genetics/117.3.559", + "relation": {}, + "ISSN": [ + "1943-2631" + ], + "subject": [], + "published-other": { + "date-parts": [ + [ + 1987, + 11, + 1 + ] + ] + }, + "published": { + "date-parts": [ + [ + 1987, + 11, + 1 + ] + ] + }, + "id": "ref47", + "note": "Manuscript reference 47" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 8, + 26 + ] + ], + "date-time": "2026-08-26T05:12:32Z", + "timestamp": 1787721152572, + "version": "build-2784847793" + }, + "reference-count": 0, + "publisher": "Oxford University Press (OUP)", + "issue": "4", + "license": [ + { + "start": { + "date-parts": [ + [ + 1995, + 4, + 1 + ] + ], + "date-time": "1995-04-01T00:00:00Z", + "timestamp": 796694400000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://academic.oup.com/journals/pages/open_access/funder_policies/chorus/standard_publication_model" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1995, + 4, + 1 + ] + ] + }, + "abstract": "Abstract Speciation often results from the accumulation of \"complementary genes,\" i.e., from genes that, while having no deleterious effect within species, cause inviability or sterility when brought together with genes from another species. Here I model speciation as the accumulation of genic incompatibilities between diverging populations. Several results are obtained. First, and most important, the number of genic incompatibilities between taxa increases much faster than linearly with time. In particular, the probability of speciation increases at least as fast as the square of the time since separation between two taxa. Second, as Muller realized, all hybrid incompatibilities must initially be asymmetric. Third, at loci that have diverged between taxa, evolutionarily derived alleles cause hybrid problems far more often than ancestral alleles. Last, it is \"easier\" to evolve complex hybrid incompatibilities requiring the simultaneous action of three or more loci than to evolve simple incompatibilities between pairs of genes. These results have several important implications for genetic analyses of speciation.", + "DOI": "10.1093/genetics/139.4.1805", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2021, + 1, + 13 + ] + ], + "date-time": "2021-01-13T16:14:22Z", + "timestamp": 1610554462000 + }, + "page": "1805-1813", + "source": "Crossref", + "is-referenced-by-count": 645, + "title": "The population genetics of speciation: the evolution of hybrid incompatibilities.", + "prefix": "10.1093", + "volume": "139", + "author": [ + { + "given": "H A", + "family": "Orr", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "286", + "published-online": { + "date-parts": [ + [ + 1995, + 4, + 1 + ] + ] + }, + "container-title": "Genetics", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "http://academic.oup.com/genetics/article-pdf/139/4/1805/34605085/genetics1805.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "syndication" + }, + { + "URL": "http://academic.oup.com/genetics/article-pdf/139/4/1805/34605085/genetics1805.pdf", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2021, + 4, + 22 + ] + ], + "date-time": "2021-04-22T15:36:52Z", + "timestamp": 1619105812000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://academic.oup.com/genetics/article/139/4/1805/6013266" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1995, + 4, + 1 + ] + ] + }, + "references-count": 0, + "journal-issue": { + "issue": "4", + "published-print": { + "date-parts": [ + [ + 1995, + 4, + 1 + ] + ] + } + }, + "URL": "http://dx.doi.org/10.1093/genetics/139.4.1805", + "relation": {}, + "ISSN": [ + "1943-2631" + ], + "subject": [], + "published-other": { + "date-parts": [ + [ + 1995, + 4, + 1 + ] + ] + }, + "published": { + "date-parts": [ + [ + 1995, + 4, + 1 + ] + ] + }, + "id": "ref48", + "note": "Manuscript reference 48" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 8, + 26 + ] + ], + "date-time": "2026-08-26T04:43:50Z", + "timestamp": 1787719430862, + "version": "build-2784847793" + }, + "reference-count": 52, + "publisher": "Oxford University Press (OUP)", + "issue": "6", + "license": [ + { + "start": { + "date-parts": [ + [ + 2015, + 9, + 1 + ] + ], + "date-time": "2015-09-01T00:00:00Z", + "timestamp": 1441065600000 + }, + "content-version": "tdm", + "delay-in-days": 5205, + "URL": "http://doi.wiley.com/10.1002/tdm_license_1.1" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 2001, + 6 + ] + ] + }, + "DOI": "10.1111/j.0014-3820.2001.tb00628.x", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2007, + 5, + 9 + ] + ], + "date-time": "2007-05-09T13:04:07Z", + "timestamp": 1178715847000 + }, + "page": "1085-1094", + "source": "Crossref", + "is-referenced-by-count": 384, + "title": "THE EVOLUTION OF POSTZYGOTIC ISOLATION: ACCUMULATING DOBZHANSKY-MULLER INCOMPATIBILITIES", + "prefix": "10.1093", + "volume": "55", + "author": [ + { + "given": "H. Allen", + "family": "Orr", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Michael", + "family": "Turelli", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "286", + "reference": [ + { + "key": "b1_1180", + "volume-title": "Handbook of mathematical functions", + "author": "Abramowitz M.", + "year": "1964" + }, + { + "key": "b2_1181", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.287.5461.2185" + }, + { + "key": "b3_1182", + "doi-asserted-by": "publisher", + "DOI": "10.1046/j.1365-294x.2001.01216.x" + }, + { + "key": "b4_1183", + "doi-asserted-by": "publisher", + "DOI": "10.1086/303332" + }, + { + "key": "b5_1184", + "doi-asserted-by": "crossref", + "first-page": "175", + "DOI": "10.1093/genetics/137.1.175", + "volume": "137", + "author": "Cabot E. L.", + "year": "1994", + "journal-title": "Genetics" + }, + { + "key": "b6_1185", + "doi-asserted-by": "crossref", + "first-page": "510", + "DOI": "10.1093/oxfordjournals.jhered.a110004", + "volume": "75", + "author": "Christie P.", + "year": "1984", + "journal-title": "J. Hered." + }, + { + "key": "b7_1186", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2409213" + }, + { + "key": "b8_1187", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2410984" + }, + { + "key": "b9_1188", + "first-page": "1", + "volume-title": "Evolution of biological diversity", + "author": "Coyne J. A.", + "year": "1999" + }, + { + "key": "b10_1189", + "doi-asserted-by": "publisher", + "DOI": "10.1554/0014-3820(2000)054[0306:IWSSBP]2.0.CO;2" + }, + { + "key": "b11_1190", + "doi-asserted-by": "crossref", + "first-page": "1647", + "DOI": "10.1093/oxfordjournals.molbev.a026264", + "volume": "17", + "author": "Cutler D. J.", + "year": "2000", + "journal-title": "Mol. Biol. Evol." + }, + { + "key": "b12_1191", + "doi-asserted-by": "publisher", + "DOI": "10.1038/22521" + }, + { + "key": "b13_1192", + "doi-asserted-by": "crossref", + "first-page": "113", + "DOI": "10.1093/genetics/21.2.113", + "volume": "21", + "author": "Dobzhansky T.", + "year": "1936", + "journal-title": "Genetics" + }, + { + "key": "b14_1193", + "doi-asserted-by": "publisher", + "DOI": "10.1086/303217" + }, + { + "key": "b15_1194", + "volume-title": "The causes of molecular evolution", + "author": "Gillespie J. H.", + "year": "1991" + }, + { + "key": "b16_1195", + "first-page": "804", + "volume": "10", + "author": "Hey J.", + "year": "1993", + "journal-title": "Mol. Biol. Evol." + }, + { + "key": "b17_1196", + "doi-asserted-by": "crossref", + "first-page": "114", + "DOI": "10.1093/genetics/15.2.114", + "volume": "15", + "author": "Hollingshead L.", + "year": "1930", + "journal-title": "Genetics" + }, + { + "key": "b18_1197", + "doi-asserted-by": "crossref", + "first-page": "1243", + "DOI": "10.1093/genetics/143.3.1243", + "volume": "143", + "author": "Hollocher H.", + "year": "1996", + "journal-title": "Genetics" + }, + { + "key": "b19_1198", + "doi-asserted-by": "crossref", + "first-page": "909", + "DOI": "10.1093/genetics/124.4.909", + "volume": "124", + "author": "Hutter P.", + "year": "1990", + "journal-title": "Genetics" + }, + { + "key": "b20_1199", + "volume-title": "Univariate discrete distributions", + "author": "Johnson N. L.", + "year": "1993", + "edition": "2" + }, + { + "key": "b21_1200", + "doi-asserted-by": "crossref", + "first-page": "865", + "DOI": "10.1093/genetics/151.2.865", + "volume": "151", + "author": "Kirkpatrick M.", + "year": "1999", + "journal-title": "Genetics" + }, + { + "key": "b22_1201", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.8503007" + }, + { + "key": "b23_1202", + "doi-asserted-by": "publisher", + "DOI": "10.1038/22514" + }, + { + "key": "b24_1203", + "volume-title": "Molecular evolution", + "author": "Li W.-H.", + "year": "1997" + }, + { + "key": "b25_1204", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2410239" + }, + { + "key": "b26_1205", + "doi-asserted-by": "crossref", + "DOI": "10.4159/harvard.9780674865327", + "volume-title": "Animal species and evolution", + "author": "Mayr E.", + "year": "1963" + }, + { + "key": "b27_1206", + "first-page": "71", + "volume": "6", + "author": "Muller H. J.", + "year": "1942", + "journal-title": "Biol. Symp." + }, + { + "key": "b28_1207", + "doi-asserted-by": "crossref", + "DOI": "10.7312/nei-92038", + "volume-title": "Molecular evolutionary genetics", + "author": "Nei M.", + "year": "1987" + }, + { + "key": "b29_1208", + "doi-asserted-by": "publisher", + "DOI": "10.1046/j.1365-2540.1999.00632.x" + }, + { + "key": "b30_1209", + "doi-asserted-by": "crossref", + "first-page": "1805", + "DOI": "10.1093/genetics/139.4.1805", + "volume": "139", + "author": "Orr H. A.", + "year": "1995", + "journal-title": "Genetics" + }, + { + "key": "b31_1210", + "doi-asserted-by": "publisher", + "DOI": "10.1146/annurev.ecolsys.28.1.195" + }, + { + "key": "b32_1211", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2411226" + }, + { + "key": "b33_1212", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2410732" + }, + { + "key": "b34_1213", + "doi-asserted-by": "publisher", + "DOI": "10.1002/1521-1878(200012)22:12<1085::AID-BIES6>3.3.CO;2-7" + }, + { + "key": "b35_1214", + "doi-asserted-by": "crossref", + "first-page": "1321", + "DOI": "10.1093/genetics/144.3.1321", + "volume": "144", + "author": "Palopoli M. F.", + "year": "1996", + "journal-title": "Genetics" + }, + { + "key": "b36_1215", + "volume-title": "A first course in probability theory", + "author": "Ross S.", + "year": "1994" + }, + { + "key": "b37_1216", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.287.5451.306" + }, + { + "key": "b38_1217", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2411351" + }, + { + "key": "b39_1218", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.96.21.11910" + }, + { + "key": "b40_1219", + "doi-asserted-by": "publisher", + "DOI": "10.1038/368629a0" + }, + { + "key": "b41_1220", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2410999" + }, + { + "key": "b42_1221", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2409660" + }, + { + "key": "b43_1222", + "first-page": "1", + "volume": "8", + "author": "Thompson V.", + "year": "1986", + "journal-title": "Evol. Theory" + }, + { + "key": "b44_1223", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.87.7.2715" + }, + { + "key": "b45_1224", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.282.5393.1501" + }, + { + "key": "b46_1225", + "doi-asserted-by": "crossref", + "first-page": "819", + "DOI": "10.1093/genetics/142.3.819", + "volume": "142", + "author": "True J. R.", + "year": "1996", + "journal-title": "Genetics" + }, + { + "key": "b47_1226", + "doi-asserted-by": "crossref", + "first-page": "1799", + "DOI": "10.1093/genetics/147.4.1799", + "volume": "147", + "author": "Turelli M.", + "year": "1997", + "journal-title": "Genetics" + }, + { + "key": "b48_1227", + "doi-asserted-by": "crossref", + "first-page": "389", + "DOI": "10.1093/genetics/140.1.389", + "volume": "140", + "author": "Turelli M.", + "year": "1995", + "journal-title": "Genetics" + }, + { + "key": "b49_1228", + "doi-asserted-by": "crossref", + "first-page": "1663", + "DOI": "10.1093/genetics/154.4.1663", + "volume": "154", + "author": "Turelli M.", + "year": "2000", + "journal-title": "Genetics" + }, + { + "key": "b50_1229", + "doi-asserted-by": "publisher", + "DOI": "10.1038/341415a0" + }, + { + "key": "b51_1230", + "doi-asserted-by": "publisher", + "DOI": "10.1146/annurev.genet.28.1.283" + }, + { + "key": "b52_1231", + "doi-asserted-by": "publisher", + "DOI": "10.1016/0169-5347(96)10033-1" + } + ], + "container-title": "Evolution", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://api.wiley.com/onlinelibrary/tdm/v1/articles/10.1111%2Fj.0014-3820.2001.tb00628.x", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "http://onlinelibrary.wiley.com/wol1/doi/10.1111/j.0014-3820.2001.tb00628.x/fullpdf", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2025, + 10, + 3 + ] + ], + "date-time": "2025-10-03T20:41:21Z", + "timestamp": 1759524081000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://academic.oup.com/evolut/article/55/6/1085/6757898" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2001, + 6 + ] + ] + }, + "references-count": 52, + "journal-issue": { + "issue": "6", + "published-print": { + "date-parts": [ + [ + 2001, + 6 + ] + ] + } + }, + "alternative-id": [ + "10.1111/j.0014-3820.2001.tb00628.x" + ], + "URL": "http://dx.doi.org/10.1111/j.0014-3820.2001.tb00628.x", + "relation": {}, + "ISSN": [ + "0014-3820", + "1558-5646" + ], + "subject": [], + "container-title-short": "Evolution", + "published": { + "date-parts": [ + [ + 2001, + 6 + ] + ] + }, + "id": "ref49", + "note": "Manuscript reference 49" + }, + { + "type": "article", + "id": "ref50", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Ainsworth", + "given": "Samuel K." + }, + { + "family": "Hayase", + "given": "Jonathan" + }, + { + "family": "Srinivasa", + "given": "Siddhartha" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "The success of deep learning is due in large part to our ability to solve certain massive non-convex optimization problems with relative ease. Though non-convex optimization is NP-hard, simple algorithms -- often variants of stochastic gradient descent -- exhibit surprising effectiveness in fitting large neural networks in practice. We argue that neural network loss landscapes often contain (nearly) a single basin after accounting for all possible permutation symmetries of hidden units a la Entezari et al. 2021. We introduce three algorithms to permute the units of one model to bring them into alignment with a reference model in order to merge the two models in weight space. This transformation produces a functionally equivalent set of weights that lie in an approximately convex basin near the reference model. Experimentally, we demonstrate the single basin phenomenon across a variety of model architectures and datasets, including the first (to our knowledge) demonstration of zero-barrier linear mode connectivity between independently trained ResNet models on CIFAR-10. Additionally, we identify intriguing phenomena relating model width and training time to mode connectivity. Finally, we discuss shortcomings of the linear mode connectivity hypothesis, including a counterexample to the single basin theory.", + "DOI": "10.48550/arXiv.2209.04836", + "publisher": "arXiv", + "title": "Git Re-Basin: Merging Models modulo Permutation Symmetries", + "URL": "https://arxiv.org/abs/2209.04836", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "6", + "note": "Manuscript reference 50", + "container-title": "arXiv", + "number": "arXiv:2209.04836", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref51", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Li", + "given": "Tianyi" + }, + { + "family": "Shen", + "given": "Zhiqiang" + } + ], + "issued": { + "date-parts": [ + [ + 2026 + ] + ] + }, + "abstract": "Linear mode connectivity (LMC) provides a promising foundation for understanding and merging independently trained neural networks, but existing methods typically optimize the interpolation path from only one model endpoint, limiting their scalability and effectiveness for large pretrained transformers. We propose a novel and scalable framework for enabling LMC-based model merging to {\\em billion-parameter pretrained transformers}. Our method applies properly parameterized functionality-preserving weight transformations to align functionally equivalent solutions, and introduces a dual learning procedure in which both models jointly learn their corresponding transformations toward a shared linear interpolation path. This bidirectional optimization substantially reduces interpolation barriers and enables more reliable merging across large-scale architectures. Empirically, we show that our approach achieves near-zero loss barriers on WikiText for language models with medium-sized parameters, representing, to our knowledge, the first demonstration of near-barrier-free linear connectivity at this scale. In the vision domain, ViT-L maintains above 69\\% ImageNet top-1 accuracy throughout the interpolation path, while modern billion-parameter LLMs exhibit only small loss barriers. These results suggest that properly resolving parameter symmetries enables large pretrained Transformers to be connected and merged through simple linear paths with substantially improved interpolation performance. Code: https://github.com/VILA-Lab/Dual-Learned-Matching .", + "DOI": "10.48550/arXiv.2606.23607", + "publisher": "arXiv", + "title": "Scaling Linear Mode Connectivity and Merging to Billion Parameter Pretrained Transformers", + "URL": "https://arxiv.org/abs/2606.23607", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 51", + "container-title": "arXiv", + "number": "arXiv:2606.23607", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref52", + "categories": [ + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Sharma", + "given": "Ekansh" + }, + { + "family": "Roy", + "given": "Daniel M." + }, + { + "family": "Dziugaite", + "given": "Gintare Karolina" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Model merging aims to efficiently combine the weights of multiple expert models, each trained on a specific task, into a single multi-task model, with strong performance across all tasks. When applied to all but the last layer of weights, existing methods -- such as Task Arithmetic, TIES-merging, and TALL mask merging -- work well to combine expert models obtained by fine-tuning a common foundation model, operating within a \"local\" neighborhood of the foundation model. This work explores the more challenging scenario of \"non-local\" merging, which we find arises when an expert model changes significantly during pretraining or where the expert models do not even share a common foundation model. We observe that standard merging techniques often fail to generalize effectively in this non-local setting, even when accounting for permutation symmetries using standard techniques. We identify that this failure is, in part, due to \"variance collapse\", a phenomenon identified also in the setting of linear mode connectivity by Jordan et al. (2023). To address this, we propose a multi-task technique to re-scale and shift the output activations of the merged model for each task, aligning its output statistics with those of the corresponding task-specific expert models. Our experiments demonstrate that this correction significantly improves the performance of various model merging approaches in non-local settings, providing a strong baseline for future research on this problem.", + "DOI": "10.48550/arXiv.2410.12766", + "publisher": "arXiv", + "title": "The Non-Local Model Merging Problem: Permutation Symmetries and Variance Collapse", + "URL": "https://arxiv.org/abs/2410.12766", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "1", + "note": "Manuscript reference 52", + "container-title": "arXiv", + "number": "arXiv:2410.12766", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref53", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (stat.ML)", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Kozodoi", + "given": "Nikita" + }, + { + "family": "Afolabi", + "given": "Zainab" + }, + { + "family": "Butler", + "given": "Jack" + } + ], + "issued": { + "date-parts": [ + [ + 2026 + ] + ] + }, + "abstract": "Multi-task model merging combines separately trained expert models into a single model that handles all tasks without co-training. Standard practice merges experts at their optimal validation loss. We challenge this convention by systematically studying how training duration of domain experts affects the quality of the merged model. We fine-tune experts on five domains (Math, Code, Instruction Following, Multilingual, and Safety) across three model sizes (Qwen 3.5 0.8B, 2B, and 4B), saving checkpoints from 25% to 500% of the optimal training steps and evaluating five merging methods at each duration. Our findings reveal a striking method-dependent pattern: simple averaging degrades sharply with overfitting, while sparsification-based methods achieve their best performance well past the validation optimum. We formalize this through bias-variance decomposition analysis, drawing a parallel to random forests where averaging benefits from high-variance individual learners. These results suggest that training duration and merging method should be chosen jointly rather than independently.", + "DOI": "10.48550/arXiv.2607.11997", + "publisher": "arXiv", + "title": "Are we Merging the Right Models? Impact of Expert Training Duration on Model Merging for LLMs", + "URL": "https://arxiv.org/abs/2607.11997", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 53", + "container-title": "arXiv", + "number": "arXiv:2607.11997", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref54", + "categories": [ + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Zhou", + "given": "Luca" + }, + { + "family": "Zhao", + "given": "Bo" + }, + { + "family": "Yu", + "given": "Rose" + }, + { + "family": "Rodolà", + "given": "Emanuele" + } + ], + "issued": { + "date-parts": [ + [ + 2026 + ] + ] + }, + "abstract": "Model merging combines knowledge from separately fine-tuned models, yet the factors driving its success remain poorly understood. While recent work treats mergeability as an intrinsic property of the models, we show with an architecture-agnostic framework that it fundamentally depends on both the merging method and the partner tasks. Using L1-regularized linear optimization over a set of interpretable pairwise metrics (e.g., gradient L_2 distance), we uncover properties correlating with post-merge normalized accuracy across five merging methods. We find architecture- and method-specific variation in success drivers (64.0% average top-5 metric overlap; 79.3% sign agreement), with certain methods, notably TIES, exhibiting distinct ``fingerprints'' that diverge from the broader consensus. Crucially, however, gradient alignment metrics consistently emerge as the most fundamental signals of compatibility. These findings provide a diagnostic foundation for understanding mergeability and motivate future merge-aware fine-tuning strategies.", + "DOI": "10.48550/arXiv.2601.22285", + "publisher": "arXiv", + "title": "Demystifying Mergeability: Interpretable Properties to Predict Model Merging Success", + "URL": "https://arxiv.org/abs/2601.22285", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "9", + "note": "Manuscript reference 54", + "container-title": "arXiv", + "number": "arXiv:2601.22285", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref55", + "categories": [ + "Computation and Language (cs.CL)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Scialom", + "given": "Thomas" + }, + { + "family": "Chakrabarty", + "given": "Tuhin" + }, + { + "family": "Muresan", + "given": "Smaranda" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "Recent work on large language models relies on the intuition that most natural language processing tasks can be described via natural language instructions. Language models trained on these instructions show strong zero-shot performance on several standard datasets. However, these models even though impressive still perform poorly on a wide range of tasks outside of their respective training and evaluation sets. To address this limitation, we argue that a model should be able to keep extending its knowledge and abilities, without forgetting previous skills. In spite of the limited success of Continual Learning we show that Language Models can be continual learners. We empirically investigate the reason for this success and conclude that Continual Learning emerges from self-supervision pre-training. Our resulting model Continual-T0 (CT0) is able to learn diverse new tasks, while still maintaining good performance on previous tasks, spanning remarkably through 70 datasets in total. Finally, we show that CT0 is able to combine instructions in ways it was never trained for, demonstrating some compositionality.", + "DOI": "10.48550/arXiv.2205.12393", + "publisher": "arXiv", + "title": "Fine-tuned Language Models are Continual Learners", + "URL": "https://arxiv.org/abs/2205.12393", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "4", + "note": "Manuscript reference 55", + "container-title": "arXiv", + "number": "arXiv:2205.12393", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref56", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Computation and Language (cs.CL)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Ibrahim", + "given": "Adam" + }, + { + "family": "Thérien", + "given": "Benjamin" + }, + { + "family": "Gupta", + "given": "Kshitij" + }, + { + "family": "Richter", + "given": "Mats L." + }, + { + "family": "Anthony", + "given": "Quentin" + }, + { + "family": "Lesort", + "given": "Timothée" + }, + { + "family": "Belilovsky", + "given": "Eugene" + }, + { + "family": "Rish", + "given": "Irina" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Large language models (LLMs) are routinely pre-trained on billions of tokens, only to start the process over again once new data becomes available. A much more efficient solution is to continually pre-train these models, saving significant compute compared to re-training. However, the distribution shift induced by new data typically results in degraded performance on previous data or poor adaptation to the new data. In this work, we show that a simple and scalable combination of learning rate (LR) re-warming, LR re-decaying, and replay of previous data is sufficient to match the performance of fully re-training from scratch on all available data, as measured by the final loss and the average score on several language model (LM) evaluation benchmarks. Specifically, we show this for a weak but realistic distribution shift between two commonly used LLM pre-training datasets (English$\\rightarrow$English) and a stronger distribution shift (English$\\rightarrow$German) at the $405$M parameter model scale with large dataset sizes (hundreds of billions of tokens). Selecting the weak but realistic shift for larger-scale experiments, we also find that our continual learning strategies match the re-training baseline for a 10B parameter LLM. Our results demonstrate that LLMs can be successfully updated via simple and scalable continual learning strategies, matching the re-training baseline using only a fraction of the compute. Finally, inspired by previous work, we propose alternatives to the cosine learning rate schedule that help circumvent forgetting induced by LR re-warming and that are not bound to a fixed token budget.", + "DOI": "10.48550/arXiv.2403.08763", + "publisher": "arXiv", + "title": "Simple and Scalable Strategies to Continually Pre-train Large Language Models", + "URL": "https://arxiv.org/abs/2403.08763", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "4", + "note": "Manuscript reference 56", + "container-title": "arXiv", + "number": "arXiv:2403.08763", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 7 + ] + ], + "date-time": "2026-09-07T01:56:53Z", + "timestamp": 1788746213188, + "version": "build-2803163510" + }, + "reference-count": 0, + "publisher": "Informa UK Limited", + "issue": "2", + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1995, + 6 + ] + ] + }, + "DOI": "10.1080/09540099550039318", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2002, + 10, + 7 + ] + ], + "date-time": "2002-10-07T17:12:47Z", + "timestamp": 1034010767000 + }, + "page": "123-146", + "source": "Crossref", + "is-referenced-by-count": 584, + "title": "Catastrophic Forgetting, Rehearsal and Pseudorehearsal", + "prefix": "10.1080", + "volume": "7", + "author": [ + { + "given": "ANTHONY", + "family": "ROBINS", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "301", + "published-online": { + "date-parts": [ + [ + 2010, + 7, + 16 + ] + ] + }, + "container-title": "Connection Science", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://www.tandfonline.com/doi/pdf/10.1080/09540099550039318", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2019, + 3, + 8 + ] + ], + "date-time": "2019-03-08T06:39:13Z", + "timestamp": 1552027153000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.tandfonline.com/doi/full/10.1080/09540099550039318" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1995, + 6 + ] + ] + }, + "references-count": 0, + "journal-issue": { + "issue": "2", + "published-online": { + "date-parts": [ + [ + 2010, + 7, + 16 + ] + ] + }, + "published-print": { + "date-parts": [ + [ + 1995, + 6 + ] + ] + } + }, + "alternative-id": [ + "10.1080/09540099550039318" + ], + "URL": "http://dx.doi.org/10.1080/09540099550039318", + "relation": {}, + "ISSN": [ + "0954-0091", + "1360-0494" + ], + "subject": [], + "container-title-short": "Connection Science", + "published": { + "date-parts": [ + [ + 1995, + 6 + ] + ] + }, + "id": "ref57", + "note": "Manuscript reference 57" + }, + { + "type": "article", + "id": "ref58", + "categories": [ + "Artificial Intelligence (cs.AI)", + "Computer Vision and Pattern Recognition (cs.CV)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Shin", + "given": "Hanul" + }, + { + "family": "Lee", + "given": "Jung Kwon" + }, + { + "family": "Kim", + "given": "Jaehong" + }, + { + "family": "Kim", + "given": "Jiwon" + } + ], + "issued": { + "date-parts": [ + [ + 2017 + ] + ] + }, + "abstract": "Attempts to train a comprehensive artificial intelligence capable of solving multiple tasks have been impeded by a chronic problem called catastrophic forgetting. Although simply replaying all previous data alleviates the problem, it requires large memory and even worse, often infeasible in real world applications where the access to past data is limited. Inspired by the generative nature of hippocampus as a short-term memory system in primate brain, we propose the Deep Generative Replay, a novel framework with a cooperative dual model architecture consisting of a deep generative model (\"generator\") and a task solving model (\"solver\"). With only these two models, training data for previous tasks can easily be sampled and interleaved with those for a new task. We test our methods in several sequential learning settings involving image classification tasks.", + "DOI": "10.48550/arXiv.1705.08690", + "publisher": "arXiv", + "title": "Continual Learning with Deep Generative Replay", + "URL": "https://arxiv.org/abs/1705.08690", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "3", + "note": "Manuscript reference 58", + "container-title": "arXiv", + "number": "arXiv:1705.08690", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref59", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (stat.ML)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Feng", + "given": "Yunzhen" + }, + { + "family": "Dohmatob", + "given": "Elvis" + }, + { + "family": "Yang", + "given": "Pu" + }, + { + "family": "Charton", + "given": "Francois" + }, + { + "family": "Kempe", + "given": "Julia" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Large Language Models (LLM) are increasingly trained on data generated by other LLM, either because generated text and images become part of the pre-training corpus, or because synthetized data is used as a replacement for expensive human-annotation. This raises concerns about \\emph{model collapse}, a drop in model performance when their training sets include generated data. Considering that it is easier for both humans and machines to tell between good and bad examples than to generate high-quality samples, we investigate the use of verification on synthesized data to prevent model collapse. We provide a theoretical characterization using Gaussian mixtures, linear classifiers, and linear verifiers to derive conditions with measurable proxies to assess whether the verifier can effectively select synthesized data that leads to optimal performance. We experiment with two practical tasks -- computing matrix eigenvalues with transformers and news summarization with LLMs -- which both exhibit model collapse when trained on generated data, and show that verifiers, even imperfect ones, can indeed be harnessed to prevent model collapse and that our proposed proxy measure strongly correlates with performance.", + "DOI": "10.48550/arXiv.2406.07515", + "publisher": "arXiv", + "title": "Beyond Model Collapse: Scaling Up with Synthesized Data Requires Verification", + "URL": "https://arxiv.org/abs/2406.07515", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 59", + "container-title": "arXiv", + "number": "arXiv:2406.07515", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref60", + "categories": [ + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Rusu", + "given": "Andrei A." + }, + { + "family": "Rabinowitz", + "given": "Neil C." + }, + { + "family": "Desjardins", + "given": "Guillaume" + }, + { + "family": "Soyer", + "given": "Hubert" + }, + { + "family": "Kirkpatrick", + "given": "James" + }, + { + "family": "Kavukcuoglu", + "given": "Koray" + }, + { + "family": "Pascanu", + "given": "Razvan" + }, + { + "family": "Hadsell", + "given": "Raia" + } + ], + "issued": { + "date-parts": [ + [ + 2016 + ] + ] + }, + "abstract": "Learning to solve complex sequences of tasks--while both leveraging transfer and avoiding catastrophic forgetting--remains a key obstacle to achieving human-level intelligence. The progressive networks approach represents a step forward in this direction: they are immune to forgetting and can leverage prior knowledge via lateral connections to previously learned features. We evaluate this architecture extensively on a wide variety of reinforcement learning tasks (Atari and 3D maze games), and show that it outperforms common baselines based on pretraining and finetuning. Using a novel sensitivity measure, we demonstrate that transfer occurs at both low-level sensory and high-level control layers of the learned policy.", + "DOI": "10.48550/arXiv.1606.04671", + "publisher": "arXiv", + "title": "Progressive Neural Networks", + "URL": "https://arxiv.org/abs/1606.04671", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "4", + "note": "Manuscript reference 60", + "container-title": "arXiv", + "number": "arXiv:1606.04671", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref61", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Computation and Language (cs.CL)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Biderman", + "given": "Dan" + }, + { + "family": "Portes", + "given": "Jacob" + }, + { + "family": "Ortiz", + "given": "Jose Javier Gonzalez" + }, + { + "family": "Paul", + "given": "Mansheej" + }, + { + "family": "Greengard", + "given": "Philip" + }, + { + "family": "Jennings", + "given": "Connor" + }, + { + "family": "King", + "given": "Daniel" + }, + { + "family": "Havens", + "given": "Sam" + }, + { + "family": "Chiley", + "given": "Vitaliy" + }, + { + "family": "Frankle", + "given": "Jonathan" + }, + { + "family": "Blakeney", + "given": "Cody" + }, + { + "family": "Cunningham", + "given": "John P." + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Low-Rank Adaptation (LoRA) is a widely-used parameter-efficient finetuning method for large language models. LoRA saves memory by training only low rank perturbations to selected weight matrices. In this work, we compare the performance of LoRA and full finetuning on two target domains, programming and mathematics. We consider both the instruction finetuning (approximately 100K prompt-response pairs) and continued pretraining (20B unstructured tokens) data regimes. Our results show that, in the standard low-rank settings, LoRA substantially underperforms full finetuning. Nevertheless, LoRA better maintains the base model's performance on tasks outside the target domain. We show that LoRA mitigates forgetting more than common regularization techniques such as weight decay and dropout; it also helps maintain more diverse generations. Finally, we show that full finetuning learns perturbations with a rank that is 10-100X greater than typical LoRA configurations, possibly explaining some of the reported gaps. We conclude by proposing best practices for finetuning with LoRA.", + "DOI": "10.48550/arXiv.2405.09673", + "publisher": "arXiv", + "title": "LoRA Learns Less and Forgets Less", + "URL": "https://arxiv.org/abs/2405.09673", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 61", + "container-title": "arXiv", + "number": "arXiv:2405.09673", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 10 + ] + ], + "date-time": "2026-09-10T08:48:46Z", + "timestamp": 1789030126384, + "version": "build-2803163510" + }, + "reference-count": 0, + "publisher": "American Psychological Association (APA)", + "issue": "3", + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "DOI": "10.1037/0033-295x.102.3.419", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2005, + 9, + 21 + ] + ], + "date-time": "2005-09-21T18:02:45Z", + "timestamp": 1127325765000 + }, + "page": "419-457", + "source": "Crossref", + "is-referenced-by-count": 4064, + "title": "Why there are complementary learning systems in the hippocampus and neocortex: Insights from the successes and failures of connectionist models of learning and memory.", + "prefix": "10.1037", + "volume": "102", + "author": [ + { + "given": "James L.", + "family": "McClelland", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Bruce L.", + "family": "McNaughton", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0003-0322-4600", + "authenticated-orcid": false, + "given": "Randall C.", + "family": "O'Reilly", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "15", + "published-online": { + "date-parts": [ + [ + 1995, + 7 + ] + ] + }, + "container-title": "Psychological Review", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "http://psycnet.apa.org/journals/rev/102/3/419.pdf", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2024, + 2, + 6 + ] + ], + "date-time": "2024-02-06T20:49:03Z", + "timestamp": 1707252543000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://doi.apa.org/doi/10.1037/0033-295X.102.3.419" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1995, + 7 + ] + ] + }, + "references-count": 0, + "aliases": [ + "10.1037//0033-295x.102.3.419", + "10.1037//0033-295x.102.3.419" + ], + "journal-issue": { + "issue": "3", + "published-online": { + "date-parts": [ + [ + 1995, + 7 + ] + ] + } + }, + "alternative-id": [ + "1995-42327-001", + "7624455" + ], + "URL": "http://dx.doi.org/10.1037/0033-295x.102.3.419", + "relation": {}, + "ISSN": [ + "1939-1471", + "0033-295X" + ], + "subject": [], + "container-title-short": "Psychological Review", + "published": { + "date-parts": [ + [ + 1995, + 7 + ] + ] + }, + "id": "ref62", + "note": "Manuscript reference 62" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 7 + ] + ], + "date-time": "2026-09-07T23:50:04Z", + "timestamp": 1788825004435, + "version": "build-2803163510" + }, + "reference-count": 187, + "publisher": "Elsevier BV", + "issue": "7", + "license": [ + { + "start": { + "date-parts": [ + [ + 2016, + 7, + 1 + ] + ], + "date-time": "2016-07-01T00:00:00Z", + "timestamp": 1467331200000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://www.elsevier.com/tdm/userlicense/1.0/" + } + ], + "content-domain": { + "domain": [ + "clinicalkey.jp", + "clinicalkey.com", + "cell.com", + "clinicalkey.es", + "clinicalkey.fr", + "clinicalkey.com.au", + "bmn.com", + "elsevier.com", + "sciencedirect.com" + ], + "crossmark-restriction": true + }, + "published-print": { + "date-parts": [ + [ + 2016, + 7 + ] + ] + }, + "DOI": "10.1016/j.tics.2016.05.004", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2016, + 6, + 14 + ] + ], + "date-time": "2016-06-14T16:07:35Z", + "timestamp": 1465920455000 + }, + "page": "512-534", + "update-policy": "https://doi.org/10.1016/elsevier_cm_policy", + "source": "Crossref", + "is-referenced-by-count": 573, + "title": "What Learning Systems do Intelligent Agents Need? Complementary Learning Systems Theory Updated", + "prefix": "10.1016", + "volume": "20", + "author": [ + { + "given": "Dharshan", + "family": "Kumaran", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Demis", + "family": "Hassabis", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "James L.", + "family": "McClelland", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "78", + "reference": [ + { + "key": "10.1016/j.tics.2016.05.004_bib0005", + "doi-asserted-by": "crossref", + "first-page": "419", + "DOI": "10.1037/0033-295X.102.3.419", + "article-title": "Why there are complementary learning systems in the hippocampus and neocortex: insights from the successes and failures of connectionist models of learning and memory", + "volume": "102", + "author": "McClelland", + "year": "1995", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0010", + "doi-asserted-by": "crossref", + "first-page": "220", + "DOI": "10.1016/j.tins.2010.01.006", + "article-title": "Play it again: reactivation of waking experience and memory", + "volume": "33", + "author": "O’Neill", + "year": "2010", + "journal-title": "Trends Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0015", + "doi-asserted-by": "crossref", + "first-page": "8", + "DOI": "10.1016/j.conb.2014.10.002", + "article-title": "Decoding the cognitive map: ensemble hippocampal sequences and decision making", + "volume": "32", + "author": "Wikenheiser", + "year": "2015", + "journal-title": "Curr. Opin. Neurobiol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0020", + "doi-asserted-by": "crossref", + "first-page": "1", + "DOI": "10.3389/fnhum.2012.00070", + "article-title": "The hippocampus and inferential reasoning: building memories to navigate future decisions", + "volume": "6", + "author": "Zeithamova", + "year": "2012", + "journal-title": "Front. Hum. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0025", + "doi-asserted-by": "crossref", + "first-page": "573", + "DOI": "10.1037/a0028681", + "article-title": "Generalization through the recurrent interaction of episodic memories: A model of the hippocampal system", + "volume": "119", + "author": "Kumaran", + "year": "2012", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0030", + "doi-asserted-by": "crossref", + "first-page": "109", + "DOI": "10.1016/j.neuron.2004.08.028", + "article-title": "Hippocampus: cognitive processes and neural representations that underlie declarative memory", + "volume": "44", + "author": "Eichenbaum", + "year": "2004", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0035", + "doi-asserted-by": "crossref", + "first-page": "76", + "DOI": "10.1126/science.1135935", + "article-title": "Schemas and memory consolidation", + "volume": "316", + "author": "Tse", + "year": "2007", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0040", + "doi-asserted-by": "crossref", + "first-page": "891", + "DOI": "10.1126/science.1205274", + "article-title": "Schema-dependent gene activation and memory encoding in neocortex", + "volume": "333", + "author": "Tse", + "year": "2011", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0045", + "doi-asserted-by": "crossref", + "first-page": "23", + "DOI": "10.1098/rstb.1971.0078", + "article-title": "Simple memory: a theory for archicortex", + "volume": "262", + "author": "Marr", + "year": "1971", + "journal-title": "Philos. Trans. R. Soc. L. B Biol. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0050", + "doi-asserted-by": "crossref", + "first-page": "533", + "DOI": "10.1038/323533a0", + "article-title": "Learning representations by back-propagating errors", + "volume": "323", + "author": "Rumelhart", + "year": "1986", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0055", + "first-page": "145", + "article-title": "Parallel networks that learn to pronounce English text", + "volume": "1", + "author": "Sejnowski", + "year": "1987", + "journal-title": "Complex Syst." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0060", + "doi-asserted-by": "crossref", + "first-page": "487", + "DOI": "10.1016/j.jphysparis.2005.09.004", + "article-title": "Temporal codes and sparse representations: a key to understanding rapid processing in the visual system", + "volume": "98", + "author": "Guyonneau", + "year": "2004", + "journal-title": "J. Physiol. Paris" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0065", + "doi-asserted-by": "crossref", + "first-page": "56", + "DOI": "10.1037/0033-295X.103.1.56", + "article-title": "Understanding normal and impaired word reading: computational principles in quasi-regular domains", + "volume": "103", + "author": "Plaut", + "year": "1996", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0070", + "series-title": "Semantic Cognition: A Parallel Distributed Processing Approach", + "author": "Rogers", + "year": "2004" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0075", + "series-title": "An Introduction to Electronic and Neural Networks", + "first-page": "405", + "article-title": "Brain style computation: learning and generalization", + "author": "Rumelhart", + "year": "1990" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0080", + "doi-asserted-by": "crossref", + "first-page": "436", + "DOI": "10.1038/nature14539", + "article-title": "Deep learning", + "volume": "521", + "author": "LeCun", + "year": "2015", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0085", + "doi-asserted-by": "crossref", + "first-page": "8619", + "DOI": "10.1073/pnas.1403112111", + "article-title": "Performance-optimized hierarchical models predict neural responses in higher visual cortex", + "volume": "111", + "author": "Yamins", + "year": "2014", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0090", + "doi-asserted-by": "crossref", + "first-page": "356", + "DOI": "10.1038/nn.4244", + "article-title": "Using goal-driven deep learning models to understand sensory cortex", + "volume": "19", + "author": "Yamins", + "year": "2016", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0095", + "series-title": "Proceedings of the 35th Annual Conference of the Cognitive Science Society", + "first-page": "1271", + "article-title": "Learning hierarchical categories in deep neural networks", + "author": "Saxe", + "year": "2015" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0100", + "series-title": "Exact solutions to the nonlinear dynamics of learning in deep linear neural networks", + "author": "Saxe", + "year": "2014" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0105", + "series-title": "The Psychology of Learning and Motivation (Vol. 20)", + "doi-asserted-by": "crossref", + "first-page": "109", + "DOI": "10.1016/S0079-7421(08)60536-8", + "article-title": "Catastrophic forgetting in connectionist networks: the problem of sequential learning", + "author": "McCloskey", + "year": "1989" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0110", + "doi-asserted-by": "crossref", + "first-page": "285", + "DOI": "10.1037/0033-295X.97.2.285", + "article-title": "Connectionist models of recognition memory: constraints imposed by learning and forgetting functions", + "volume": "97", + "author": "Ratcliff", + "year": "1990", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0115", + "doi-asserted-by": "crossref", + "first-page": "128", + "DOI": "10.1016/S1364-6613(99)01294-2", + "article-title": "Catastrophic forgetting in connectionist networks", + "volume": "3", + "author": "French", + "year": "1999", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0120", + "doi-asserted-by": "crossref", + "first-page": "54", + "DOI": "10.1016/S0734-189X(87)80014-2", + "article-title": "A massively parallel architecture for a self-organizing neural pattern recognition architecture", + "volume": "37", + "author": "Carpenter", + "year": "1987", + "journal-title": "Comput. Vision, Graph. Image Process." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0125", + "doi-asserted-by": "crossref", + "first-page": "408", + "DOI": "10.1016/0166-2236(87)90011-7", + "article-title": "Hippocampal synaptic enhancement and information storage within a distributed memory system", + "volume": "10", + "author": "McNaughton", + "year": "1987", + "journal-title": "Trends Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0130", + "doi-asserted-by": "crossref", + "first-page": "189", + "DOI": "10.1002/hipo.450020209", + "article-title": "Computational constraints suggest the need for two distinct input systems to the hippocampal CA3 network", + "volume": "2", + "author": "Treves", + "year": "1992", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0135", + "doi-asserted-by": "crossref", + "first-page": "661", + "DOI": "10.1002/hipo.450040605", + "article-title": "Hippocampal conjunctive encoding, storage, and recall: avoiding a trade-off", + "volume": "4", + "author": "O’Reilly", + "year": "1994", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0140", + "doi-asserted-by": "crossref", + "first-page": "755", + "DOI": "10.1002/hipo.20203", + "article-title": "Hippocampal place cells: parallel input streams, subregional processing, and implications for episodic memory", + "volume": "16", + "author": "Knierim", + "year": "2006", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0145", + "series-title": "Memory, Amnesia and the Hippocampal System", + "author": "Cohen", + "year": "1994" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0150", + "doi-asserted-by": "crossref", + "first-page": "311", + "DOI": "10.1037/0033-295X.108.2.311", + "article-title": "Conjunctive representations in learning and memory: principles of cortical and hippocampal function", + "volume": "108", + "author": "O’Reilly", + "year": "2001", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0155", + "doi-asserted-by": "crossref", + "first-page": "611", + "DOI": "10.1037/0033-295X.110.4.611", + "article-title": "Modeling hippocampal and neocortical contributions to recognition memory: a complementary-learning-systems approach", + "volume": "110", + "author": "Norman", + "year": "2003", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0160", + "doi-asserted-by": "crossref", + "first-page": "126", + "DOI": "10.1016/j.tics.2006.12.003", + "article-title": "Associative memory and the medial temporal lobes", + "volume": "11", + "author": "Mayes", + "year": "2007", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0165", + "doi-asserted-by": "crossref", + "first-page": "693", + "DOI": "10.1016/j.conb.2006.10.012", + "article-title": "Item, context and relational episodic encoding in humans", + "volume": "16", + "author": "Davachi", + "year": "2006", + "journal-title": "Curr. Opin. Neurobiol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0170", + "doi-asserted-by": "crossref", + "first-page": "279", + "DOI": "10.1146/annurev.neuro.27.070203.144130", + "article-title": "The medial temporal lobe", + "volume": "27", + "author": "Squire", + "year": "2004", + "journal-title": "Annu. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0175", + "doi-asserted-by": "crossref", + "first-page": "13904", + "DOI": "10.1523/JNEUROSCI.2618-15.2015", + "article-title": "Memory and space: towards an inderstanding of the cognitive map", + "volume": "35", + "author": "Schiller", + "year": "2015", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0180", + "doi-asserted-by": "crossref", + "first-page": "1229", + "DOI": "10.1111/j.1551-6709.2011.01214.x", + "article-title": "Complementary learning systems", + "volume": "38", + "author": "O’Reilly", + "year": "2014", + "journal-title": "Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0185", + "doi-asserted-by": "crossref", + "first-page": "38", + "DOI": "10.1016/j.nlm.2015.10.008", + "article-title": "Tracking the flow of hippocampal computation: pattern separation, pattern completion, and attractor dynamics", + "volume": "129", + "author": "Knierim", + "year": "2016", + "journal-title": "Neurobiol. Learn. Mem." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0190", + "doi-asserted-by": "crossref", + "first-page": "60", + "DOI": "10.1016/j.nlm.2015.10.013", + "article-title": "Paradox of pattern separation and adult neurogenesis: a dual role for new neurons balancing memory resolution and robustness", + "volume": "129", + "author": "Johnston", + "year": "2016", + "journal-title": "Neurobiol. Learn. Mem." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0195", + "doi-asserted-by": "crossref", + "first-page": "1798", + "DOI": "10.1109/TPAMI.2013.50", + "article-title": "Representation learning: a review and new perspectives", + "volume": "35", + "author": "Bengio", + "year": "2013", + "journal-title": "IEEE Trans. Pattern Anal. Mach. Intell." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0200", + "doi-asserted-by": "crossref", + "first-page": "e1003915", + "DOI": "10.1371/journal.pcbi.1003915", + "article-title": "Deep supervised, but not unsupervised, models may explain IT cortical representation", + "volume": "10", + "author": "Khaligh-Razavi", + "year": "2014", + "journal-title": "PLoS Comput. Biol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0205", + "doi-asserted-by": "crossref", + "first-page": "1126", + "DOI": "10.1016/j.neuron.2008.10.043", + "article-title": "Matching categorical object representations in inferior temporal cortex of man and monkey", + "volume": "60", + "author": "Kriegeskorte", + "year": "2008", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0210", + "doi-asserted-by": "crossref", + "first-page": "4766", + "DOI": "10.1523/JNEUROSCI.2828-13.2014", + "article-title": "Object-specific semantic coding in human perirhinal cortex", + "volume": "34", + "author": "Clarke", + "year": "2014", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0215", + "doi-asserted-by": "crossref", + "first-page": "4296", + "DOI": "10.1152/jn.00024.2007", + "article-title": "Object category structure in response patterns of neuronal population in monkey inferior temporal cortex", + "volume": "97", + "author": "Kiani", + "year": "2007", + "journal-title": "J. Neurophysiol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0220", + "doi-asserted-by": "crossref", + "first-page": "205", + "DOI": "10.1016/j.artint.2009.11.013", + "article-title": "Cortical hierarchies, sleep, and the extraction of knowledge from memory", + "volume": "174", + "author": "McNaughton", + "year": "2010", + "journal-title": "Artficial Intell." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0225", + "doi-asserted-by": "crossref", + "first-page": "67", + "DOI": "10.1093/cercor/bhm037", + "article-title": "Sparseness constrains the prolongation of memory lifetime via synaptic metaplasticity", + "volume": "18", + "author": "Leibold", + "year": "2008", + "journal-title": "Cereb. Cortex" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0230", + "doi-asserted-by": "crossref", + "first-page": "149", + "DOI": "10.1007/PL00005615", + "article-title": "The representational capacity of the distributed encoding of information provided by populations of neurons in primate temporal visual cortex", + "volume": "114", + "author": "Rolls", + "year": "1997", + "journal-title": "Exp. Brain Res." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0235", + "doi-asserted-by": "crossref", + "first-page": "287", + "DOI": "10.1016/S0079-6123(08)61257-1", + "article-title": "Comparison of spatial and temporal characteristics of neuronal activity in sequential stages of hippocampal processing", + "volume": "83", + "author": "Barnes", + "year": "1990", + "journal-title": "Prog. Brain Res." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0240", + "article-title": "Representation of memories in the cortical–hippocampal system: results from the application of population similarity analyses", + "author": "McKenzie", + "year": "2015", + "journal-title": "Neurobiol. Learn. Mem." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0245", + "doi-asserted-by": "crossref", + "first-page": "485", + "DOI": "10.1016/S0010-9452(78)80024-0", + "article-title": "A cognitive approach to Korsakoff's syndrome", + "volume": "14", + "author": "Cutting", + "year": "1978", + "journal-title": "Cortex" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0250", + "series-title": "The Memory Process: Neuroscientific and Humanist Perspectives", + "first-page": "99", + "article-title": "Memory as a constructive process: the parallel-distributed processing apporach", + "author": "McClelland", + "year": "2011" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0255", + "doi-asserted-by": "crossref", + "first-page": "119", + "DOI": "10.1038/nrn1607", + "article-title": "The organization of recent and remote memories", + "volume": "6", + "author": "Frankland", + "year": "2005", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0260", + "doi-asserted-by": "crossref", + "first-page": "2339", + "DOI": "10.1016/j.neuropsychologia.2010.04.016", + "article-title": "Memory formation and long-term retention in humans and animals: convergence towards a transformation account of hippocampal–neocortical interactions", + "volume": "48", + "author": "Winocur", + "year": "2010", + "journal-title": "Neuropsychologia" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0265", + "series-title": "Memory Consolidation: Psychobiology of Cognition", + "first-page": "185", + "article-title": "The medial temporal region and memory consolidation: a new hypothesis", + "author": "Squire", + "year": "1984" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0270", + "doi-asserted-by": "crossref", + "first-page": "259", + "DOI": "10.1080/095400996116910", + "article-title": "Consolidation in neural networks and in the sleeping brain", + "volume": "8", + "author": "Robins", + "year": "1996", + "journal-title": "Conn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0275", + "doi-asserted-by": "crossref", + "first-page": "12", + "DOI": "10.1016/j.neuron.2013.12.025", + "article-title": "Sleep and the price of plasticity: from synaptic and cellular homeostasis to memory consolidation and integration", + "volume": "81", + "author": "Tononi", + "year": "2014", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0280", + "doi-asserted-by": "crossref", + "first-page": "1212", + "DOI": "10.1016/j.neunet.2005.08.010", + "article-title": "Methods for reducing interference in the complementary learning systems model: oscillating inhibition and autonomous memory rehearsal", + "volume": "18", + "author": "Norman", + "year": "2005", + "journal-title": "Neural Netw." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0285", + "doi-asserted-by": "crossref", + "first-page": "1870", + "DOI": "10.1126/science.271.5257.1870", + "article-title": "Replay of neuronal firing sequences in rat hippocampus during sleep following spatial experience", + "volume": "271", + "author": "Skaggs", + "year": "1996", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0290", + "doi-asserted-by": "crossref", + "first-page": "676", + "DOI": "10.1126/science.8036517", + "article-title": "Reactivation of hippocampal ensemble memories during sleep", + "volume": "265", + "author": "Wilson", + "year": "1994", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0295", + "doi-asserted-by": "crossref", + "first-page": "147", + "DOI": "10.1038/nn.2732", + "article-title": "Hippocampal replay in the awake state: a potential substrate for memory consolidation and retrieval", + "volume": "14", + "author": "Carr", + "year": "2011", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0300", + "doi-asserted-by": "crossref", + "first-page": "551", + "DOI": "10.1016/0306-4522(89)90423-5", + "article-title": "Two-stage model of memory trace formation: a role for ‘noisy’ brain states", + "volume": "31", + "author": "Buzsaki", + "year": "1989", + "journal-title": "Neuroscience" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0305", + "doi-asserted-by": "crossref", + "first-page": "286", + "DOI": "10.1038/nn1202", + "article-title": "Off-line replay maintains declarative memories in a model of hippocampal-neocortical interactions", + "volume": "7", + "author": "Kali", + "year": "2004", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0310", + "doi-asserted-by": "crossref", + "first-page": "2065", + "DOI": "10.1073/pnas.0437938100", + "article-title": "Communication between neocortex and hippocampus during sleep in rodents", + "volume": "100", + "author": "Sirota", + "year": "2003", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0315", + "doi-asserted-by": "crossref", + "first-page": "697", + "DOI": "10.1101/lm.73504", + "article-title": "Hippocampal sharp wave bursts coincide with neocortical ‘up-state’ transitions", + "volume": "11", + "author": "Battaglia", + "year": "2004", + "journal-title": "Learn. Mem." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0320", + "doi-asserted-by": "crossref", + "DOI": "10.1038/nn.4291", + "article-title": "Coordinated grid and place cell replay during rest", + "author": "Ólafsdóttir", + "year": "2016", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0325", + "doi-asserted-by": "crossref", + "first-page": "100", + "DOI": "10.1038/nn1825", + "article-title": "Coordinated memory replay in the visual cortex and hippocampus during sleep", + "volume": "10", + "author": "Ji", + "year": "2007", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0330", + "doi-asserted-by": "crossref", + "first-page": "e1000173", + "DOI": "10.1371/journal.pbio.1000173", + "article-title": "Hippocampus leads ventral striatum in replay of place–reward information", + "volume": "7", + "author": "Lansink", + "year": "2009", + "journal-title": "PLoS Biol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0335", + "doi-asserted-by": "crossref", + "first-page": "1", + "DOI": "10.1002/hipo.20707", + "article-title": "Disruption of ripple-associated hippocampal activity during rest impairs spatial learning in the rat", + "volume": "20", + "author": "Ego-Stengel", + "year": "2010", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0340", + "doi-asserted-by": "crossref", + "first-page": "1222", + "DOI": "10.1038/nn.2384", + "article-title": "Selective suppression of hippocampal ripples impairs spatial memory", + "volume": "12", + "author": "Girardeau", + "year": "2009", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0345", + "doi-asserted-by": "crossref", + "first-page": "781", + "DOI": "10.1016/j.neuron.2009.05.013", + "article-title": "Hippocampal CA3 output is crucial for ripple-associated reactivation and consolidation of memory", + "volume": "62", + "author": "Nakashiba", + "year": "2009", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0350", + "doi-asserted-by": "crossref", + "first-page": "12176", + "DOI": "10.1523/JNEUROSCI.3761-07.2007", + "article-title": "Neural ensembles in CA3 transiently encode paths forward of the animal at a decision point", + "volume": "27", + "author": "Johnson", + "year": "2007", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0355", + "doi-asserted-by": "crossref", + "first-page": "289", + "DOI": "10.1038/nn.3909", + "article-title": "Hippocampal theta sequences reflect current goals", + "volume": "18", + "author": "Wikenheiser", + "year": "2015", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0360", + "doi-asserted-by": "crossref", + "first-page": "6459", + "DOI": "10.1523/JNEUROSCI.3414-13.2014", + "article-title": "Hippocampal replay captures the unique topological structure of a novel environment", + "volume": "34", + "author": "Wu", + "year": "2014", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0365", + "doi-asserted-by": "crossref", + "first-page": "695", + "DOI": "10.1016/j.neuron.2010.01.034", + "article-title": "Hippocampal replay is not a simple function of experience", + "volume": "65", + "author": "Gupta", + "year": "2010", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0370", + "doi-asserted-by": "crossref", + "first-page": "74", + "DOI": "10.1038/nature12112", + "article-title": "Hippocampal place-cell sequences depict future paths to remembered goals", + "volume": "497", + "author": "Pfeiffer", + "year": "2013", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0375", + "doi-asserted-by": "crossref", + "first-page": "e06063", + "DOI": "10.7554/eLife.06063", + "article-title": "Hippocampal place cells construct reward related sequences through unexplored space", + "volume": "4", + "author": "Ólafsdóttir", + "year": "2015", + "journal-title": "Elife" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0380", + "doi-asserted-by": "crossref", + "first-page": "1439", + "DOI": "10.1038/nn.3203", + "article-title": "Biasing the content of hippocampal replay during sleep", + "volume": "15", + "author": "Bendor", + "year": "2012", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0385", + "doi-asserted-by": "crossref", + "first-page": "773", + "DOI": "10.1098/rstb.2007.2087", + "article-title": "The cognitive neuroscience of constructive memory: remembering the past and imagining the future", + "volume": "362", + "author": "Schacter", + "year": "2007", + "journal-title": "Philos. Trans. R. Soc. B Biol. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0390", + "doi-asserted-by": "crossref", + "first-page": "299", + "DOI": "10.1016/j.tics.2007.05.001", + "article-title": "Deconstructing episodic memory with construction", + "volume": "11", + "author": "Hassabis", + "year": "2007", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0395", + "doi-asserted-by": "crossref", + "first-page": "1726", + "DOI": "10.1073/pnas.0610561104", + "article-title": "Patients with hippocampal amnesia cannot imagine new experiences", + "volume": "104", + "author": "Hassabis", + "year": "2007", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0400", + "article-title": "Hippocampal contributions to control: the third way", + "author": "Lengyel", + "year": "2007", + "journal-title": "Neural Inf. Process. Syst." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0405", + "doi-asserted-by": "crossref", + "first-page": "703", + "DOI": "10.1037/0033-295X.96.4.703", + "article-title": "Human memory: an adaptive perspective", + "volume": "96", + "author": "Anderson", + "year": "1989", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0410", + "doi-asserted-by": "crossref", + "first-page": "703", + "DOI": "10.1016/j.neuron.2005.05.002", + "article-title": "The hippocampal–VTA loop: controlling the entry of information into long-term memory", + "volume": "46", + "author": "Lisman", + "year": "2005", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0415", + "doi-asserted-by": "crossref", + "first-page": "536", + "DOI": "10.1016/j.tins.2011.07.006", + "article-title": "A neoHebbian framework for episodic memory; role of dopamine-dependent late LTP", + "volume": "34", + "author": "Lisman", + "year": "2011", + "journal-title": "Trends Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0420", + "doi-asserted-by": "crossref", + "first-page": "272", + "DOI": "10.1038/nrn2614", + "article-title": "The anatomy of memory: an interactive overview of the parahippocampal-hippocampal network", + "volume": "10", + "author": "van Strien", + "year": "2009", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0425", + "doi-asserted-by": "crossref", + "first-page": "351", + "DOI": "10.1016/S1364-6613(99)01365-0", + "article-title": "Neuromodulation: acetylcholine and memory consolidation", + "volume": "3", + "author": "Hasselmo", + "year": "1999", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0430", + "doi-asserted-by": "crossref", + "first-page": "1658", + "DOI": "10.1038/nn.3843", + "article-title": "Dopaminergic neurons promote hippocampal reactivation and spatial memory persistence", + "volume": "17", + "author": "McNamara", + "year": "2014", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0435", + "doi-asserted-by": "crossref", + "first-page": "211", + "DOI": "10.1038/nrn2573", + "article-title": "The locus coeruleus and noradrenergic modulation of cognition", + "volume": "10", + "author": "Sara", + "year": "2009", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0440", + "doi-asserted-by": "crossref", + "first-page": "1", + "DOI": "10.1146/annurev.neuro.27.070203.144157", + "article-title": "The amybdala modulates the consolidation of memories of emotionally arousing experiences", + "volume": "27", + "author": "McGaugh", + "year": "2004", + "journal-title": "Annu. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0445", + "doi-asserted-by": "crossref", + "first-page": "17", + "DOI": "10.1038/nrn2963", + "article-title": "Making memories last: the synaptic tagging and capture hypothesis", + "volume": "12", + "author": "Redondo", + "year": "2011", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0450", + "doi-asserted-by": "crossref", + "first-page": "157", + "DOI": "10.3389/fnhum.2012.00157", + "article-title": "What representations and computations underpin the contribution of the hippocampus to generalization and inference?", + "volume": "6", + "author": "Kumaran", + "year": "2012", + "journal-title": "Front. Hum. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0455", + "doi-asserted-by": "crossref", + "first-page": "255", + "DOI": "10.1038/379255a0", + "article-title": "Conservation of hippocampal memory function in rats and humans", + "volume": "379", + "author": "Bunsey", + "year": "1996", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0460", + "doi-asserted-by": "crossref", + "first-page": "14676", + "DOI": "10.1523/JNEUROSCI.3250-10.2010", + "article-title": "Flexible memories: differential roles for medial temporal lobe and prefrontal cortex in cross-episode binding", + "volume": "30", + "author": "Zeithamova", + "year": "2010", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0465", + "doi-asserted-by": "crossref", + "first-page": "148", + "DOI": "10.1002/hipo.20009", + "article-title": "Hippocampal contribution to the novel use of relational information in declarative memory", + "volume": "14", + "author": "Preston", + "year": "2004", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0470", + "doi-asserted-by": "crossref", + "first-page": "7109", + "DOI": "10.1073/pnas.94.13.7109", + "article-title": "The hippocampus and memory for orderly stimulus relations", + "volume": "94", + "author": "Dusek", + "year": "1997", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0475", + "doi-asserted-by": "crossref", + "first-page": "378", + "DOI": "10.1016/j.neuron.2008.09.023", + "article-title": "Integrating memories in the human brain: hippocampal-midbrain encoding of overlapping events", + "volume": "60", + "author": "Shohamy", + "year": "2008", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0480", + "doi-asserted-by": "crossref", + "first-page": "168", + "DOI": "10.1016/j.neuron.2012.05.010", + "article-title": "Hippocampal and ventral medial prefrontal activation during retrieval-mediated learning supports novel inference", + "volume": "75", + "author": "Zeithamova", + "year": "2012", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0485", + "doi-asserted-by": "crossref", + "first-page": "821", + "DOI": "10.1016/j.cub.2015.01.033", + "article-title": "Insight reconfigures hippocampal-prefrontal memories", + "volume": "25", + "author": "Milivojevic", + "year": "2015", + "journal-title": "Curr. Biol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0490", + "doi-asserted-by": "crossref", + "first-page": "8151", + "DOI": "10.1038/ncomms9151", + "article-title": "Learning-related representational changes reveal dissociable integration and separation signatures in the hippocampus and prefrontal cortex", + "volume": "6", + "author": "Schlichting", + "year": "2015", + "journal-title": "Nat. Commun." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0495", + "doi-asserted-by": "crossref", + "first-page": "209", + "DOI": "10.1016/S0896-6273(00)80773-4", + "article-title": "The hippocampus, memory, and place cells: is it spatial memory or a memory space?", + "volume": "23", + "author": "Eichenbaum", + "year": "1999", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0500", + "doi-asserted-by": "crossref", + "first-page": "75", + "DOI": "10.1037/0033-295X.112.1.75", + "article-title": "The temporal context model in spatial navigation and relational learning: toward a common explanation of medial temporal lobe function across domains", + "volume": "112", + "author": "Howard", + "year": "2005", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0505", + "doi-asserted-by": "crossref", + "first-page": "1026", + "DOI": "10.1002/hipo.20022", + "article-title": "Two reentrant pathways in the hippocampal–entorhinal system", + "volume": "14", + "author": "Kloosterman", + "year": "2004", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0510", + "doi-asserted-by": "crossref", + "first-page": "764", + "DOI": "10.1016/j.neuron.2014.07.032", + "article-title": "Can we reconcile the declarative memory and spatial navigation views on hippocampal function?", + "volume": "83", + "author": "Eichenbaum", + "year": "2014", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0515", + "series-title": "The Hippocampus", + "first-page": "715", + "article-title": "Computational models of the spatial and mnemonic functions of the hippocampus", + "author": "Burgess", + "year": "2006" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0520", + "doi-asserted-by": "crossref", + "first-page": "20140383", + "DOI": "10.1098/rstb.2014.0383", + "article-title": "Memory, modelling and Marr: a commentary on Marr (1971) ‘Simple memory: a theory of archicortex’", + "volume": "370", + "author": "Willshaw", + "year": "2015", + "journal-title": "Philos. Trans. R. Soc. B Biol. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0525", + "doi-asserted-by": "crossref", + "first-page": "1736", + "DOI": "10.1162/jocn_a_00578", + "article-title": "The necessity of the medial temporal lobe for statistical learning", + "volume": "26", + "author": "Schapiro", + "year": "2014", + "journal-title": "J. Cogn. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0530", + "doi-asserted-by": "crossref", + "first-page": "1747", + "DOI": "10.1126/science.8259522", + "article-title": "The learning of categories: parallel brain systems for item memory and category knowledge", + "volume": "262", + "author": "Knowlton", + "year": "1993", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0535", + "doi-asserted-by": "crossref", + "first-page": "1159", + "DOI": "10.1037/a0034461", + "article-title": "Mechanisms for widespread hippocampal involvement in cognition", + "volume": "142", + "author": "Shohamy", + "year": "2013", + "journal-title": "J. Exp. Psychol. Gen." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0540", + "doi-asserted-by": "crossref", + "first-page": "104", + "DOI": "10.1037/0278-7393.10.1.104", + "article-title": "Choice, similarity, and the context theory of classification", + "volume": "10", + "author": "Nosofsky", + "year": "1984", + "journal-title": "J. Exp. Psychol. Learn. Mem. Cogn." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0545", + "doi-asserted-by": "crossref", + "first-page": "1", + "DOI": "10.1016/j.cogpsych.2015.03.003", + "article-title": "From specific examples to general knowledge in language learning", + "volume": "79", + "author": "Tamminen", + "year": "2015", + "journal-title": "Cogn. Psychol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0550", + "doi-asserted-by": "crossref", + "first-page": "218", + "DOI": "10.1038/nrn2762-c1", + "article-title": "Overnight alchemy: sleep-dependent memory evolution", + "volume": "11", + "author": "Walker", + "year": "2010", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0555", + "doi-asserted-by": "crossref", + "first-page": "613", + "DOI": "10.1038/17605", + "article-title": "The global record of memory in hippocampal neuronal activity", + "volume": "397", + "author": "Wood", + "year": "1999", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0560", + "doi-asserted-by": "crossref", + "first-page": "732", + "DOI": "10.1038/nrn3827", + "article-title": "Time cells in the hippocampus: a new dimension for mapping memories", + "volume": "15", + "author": "Eichenbaum", + "year": "2014", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0565", + "doi-asserted-by": "crossref", + "first-page": "202", + "DOI": "10.1016/j.neuron.2014.05.019", + "article-title": "Hippocampal representation of related and opposing memories develop within distinct, hierarchically organized neural schemas", + "volume": "83", + "author": "McKenzie", + "year": "2014", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0570", + "doi-asserted-by": "crossref", + "first-page": "1102", + "DOI": "10.1038/nature03687", + "article-title": "Invariant visual representation by single neurons in the human brain", + "volume": "435", + "author": "Quiroga", + "year": "2005", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0575", + "doi-asserted-by": "crossref", + "first-page": "1190", + "DOI": "10.1037/a0033812", + "article-title": "Incorporating rapid neocortical learning of new schema-consistent information into complementary learning systems theory", + "volume": "142", + "author": "McClelland", + "year": "2013", + "journal-title": "J. Exp. Psychol. Gen." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0580", + "doi-asserted-by": "crossref", + "first-page": "654", + "DOI": "10.1002/(SICI)1098-1063(1996)6:6<654::AID-HIPO8>3.0.CO;2-G", + "article-title": "Considerations arising from a complementary learning systems perspective on hippocampus and neocortex", + "volume": "6", + "author": "McClelland", + "year": "1996", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0585", + "series-title": "Explorations in the Microstructure of Cognition. Vol. 1: Foundations", + "first-page": "77", + "article-title": "Distributed representations", + "author": "Hinton", + "year": "1986" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0590", + "first-page": "1106", + "article-title": "Imagenet classification with deep convolutional neural networks", + "volume": "25", + "author": "Krizhevsky", + "year": "2012", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0595", + "doi-asserted-by": "crossref", + "first-page": "529", + "DOI": "10.1038/nature14236", + "article-title": "Human-level control through deep reinforcement learning", + "volume": "518", + "author": "Mnih", + "year": "2015", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0600", + "doi-asserted-by": "crossref", + "first-page": "18428", + "DOI": "10.1073/pnas.1421056111", + "article-title": "Place cells in the hippocampus: eleven maps for eleven rooms", + "volume": "111", + "author": "Alme", + "year": "2014", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0605", + "doi-asserted-by": "crossref", + "first-page": "5900", + "DOI": "10.1523/JNEUROSCI.17-15-05900.1997", + "article-title": "Path integration and cognitive mapping in a continuous attractor neural network model", + "volume": "17", + "author": "Samsonovich", + "year": "1997", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0610", + "doi-asserted-by": "crossref", + "first-page": "130", + "DOI": "10.1038/nn.3304", + "article-title": "Memory, navigation and theta rhythm in the hippocampal–entorhinal system", + "volume": "16", + "author": "Buzsaki", + "year": "2013", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0615", + "doi-asserted-by": "crossref", + "first-page": "e1003641", + "DOI": "10.1371/journal.pcbi.1003641", + "article-title": "A signature of attractor dynamics in the CA3 region of the hippocampus", + "volume": "10", + "author": "Renno-Costa", + "year": "2014", + "journal-title": "PLoS Comput. Biol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0620", + "doi-asserted-by": "crossref", + "first-page": "873", + "DOI": "10.1126/science.1108905", + "article-title": "Attractor dynamics in the hippocampal representation of the local environment", + "volume": "308", + "author": "Wills", + "year": "2005", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0625", + "series-title": "Neural Turning machines", + "author": "Graves", + "year": "2014" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0630", + "first-page": "2431", + "article-title": "End-to-end memory networks", + "author": "Sukhbaatar", + "year": "2015", + "journal-title": "NIPS" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0635", + "unstructured": "J. Weston, et al. Memory Networks. Published online October 15, 2014 http://arxiv.org/abs/1410.3916" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0640", + "doi-asserted-by": "crossref", + "first-page": "11", + "DOI": "10.1136/jnnp.20.1.11", + "article-title": "Loss of recent memory after bilateral hippocampal lesions", + "volume": "20", + "author": "Scoville", + "year": "1957", + "journal-title": "J. Neurol. Neurosurg. Psychiatry" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0645", + "doi-asserted-by": "crossref", + "first-page": "217", + "DOI": "10.1016/S0959-4388(97)80010-4", + "article-title": "Memory consolidation, retrograde amnesia and the hippocampal complex", + "volume": "7", + "author": "Nadel", + "year": "1997", + "journal-title": "Curr. Opin. Neurobiol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0650", + "doi-asserted-by": "crossref", + "first-page": "35", + "DOI": "10.1111/j.1469-7580.2005.00421.x", + "article-title": "Functional neuroanatomy of remote episodic, semantic and spatial memory: a unified account based on multiple trace theory", + "volume": "207", + "author": "Moscovitch", + "year": "2005", + "journal-title": "J. Anat." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0655", + "doi-asserted-by": "crossref", + "first-page": "515", + "DOI": "10.1016/j.tins.2011.06.006", + "article-title": "Pattern separation in the hippocampus", + "volume": "34", + "author": "Yassa", + "year": "2011", + "journal-title": "Trends Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0660", + "doi-asserted-by": "crossref", + "first-page": "381", + "DOI": "10.1038/nature11028", + "article-title": "Optogenetic stimulation of a hippocampal engram activates fear memory recall", + "volume": "484", + "author": "Liu", + "year": "2012", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0665", + "doi-asserted-by": "crossref", + "first-page": "961", + "DOI": "10.1126/science.1135801", + "article-title": "Pattern separation in the dentate gyrus and CA3 of the hippocampus", + "volume": "315", + "author": "Leutgeb", + "year": "2007", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0670", + "doi-asserted-by": "crossref", + "first-page": "1295", + "DOI": "10.1126/science.1100265", + "article-title": "Distinct ensemble codes in hippocampal areas CA3 and CA1", + "volume": "305", + "author": "Leutgeb", + "year": "2004", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0675", + "doi-asserted-by": "crossref", + "first-page": "1143", + "DOI": "10.1002/hipo.20960", + "article-title": "Decoding representations of scenes in the medial temporal lobes", + "volume": "22", + "author": "Bonnici", + "year": "2011", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0680", + "doi-asserted-by": "crossref", + "first-page": "94", + "DOI": "10.1126/science.1140263", + "article-title": "Dentate gyrus NMDA receptors mediate rapid pattern separation in the hippocampal network", + "volume": "317", + "author": "McHugh", + "year": "2007", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0685", + "doi-asserted-by": "crossref", + "first-page": "416", + "DOI": "10.1016/j.neuron.2013.11.017", + "article-title": "CA3 retrieves coherent representations from degraded input: direct evidence for CA3 pattern completion and dentate gyrus pattern separation", + "volume": "81", + "author": "Neunuebel", + "year": "2014", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0690", + "doi-asserted-by": "crossref", + "first-page": "211", + "DOI": "10.1126/science.1071795", + "article-title": "Requirement for hippocampal CA3 NMDA receptors in associative memory recall", + "volume": "297", + "author": "Nakazawa", + "year": "2002", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0695", + "doi-asserted-by": "crossref", + "first-page": "246", + "DOI": "10.1038/nature10439", + "article-title": "Theta-paced flickering between place-cell maps in the hippocampus", + "volume": "478", + "author": "Jezek", + "year": "2011", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0700", + "doi-asserted-by": "crossref", + "first-page": "981", + "DOI": "10.1038/nn.3736", + "article-title": "Patterns across multiple memories are identified over time", + "volume": "17", + "author": "Richards", + "year": "2014", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0705", + "doi-asserted-by": "crossref", + "first-page": "e1003067", + "DOI": "10.1371/journal.pcbi.1003067", + "article-title": "Theta coordinated error-driven learning in the hippocampus", + "volume": "9", + "author": "Ketz", + "year": "2013", + "journal-title": "PLoS Comput. Biol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0710", + "doi-asserted-by": "crossref", + "first-page": "47", + "DOI": "10.1016/j.tics.2008.11.004", + "article-title": "Novelty signals: a window into hippocampal information processing", + "volume": "13", + "author": "Kumaran", + "year": "2009", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0715", + "doi-asserted-by": "crossref", + "first-page": "147", + "DOI": "10.1016/S0896-6273(03)00227-7", + "article-title": "One-shot memory in hippocampal CA3 networks", + "volume": "38", + "author": "Moser", + "year": "2003", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0720", + "doi-asserted-by": "crossref", + "first-page": "394", + "DOI": "10.1038/nn.4237", + "article-title": "Computational principles of memory", + "volume": "19", + "author": "Chaudhuri", + "year": "2016", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0725", + "doi-asserted-by": "crossref", + "first-page": "1093", + "DOI": "10.1016/j.neuron.2015.07.012", + "article-title": "Neural population evidence of functional heterogeneity along the CA3 transverse axis: pattern completion versus pattern separation", + "volume": "87", + "author": "Lee", + "year": "2015", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0730", + "doi-asserted-by": "crossref", + "first-page": "1078", + "DOI": "10.1016/j.neuron.2015.07.007", + "article-title": "Topography of place maps along the CA3-to-CA2 axis of the hippocampus", + "volume": "87", + "author": "Lu", + "year": "2015", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0735", + "doi-asserted-by": "crossref", + "first-page": "1562", + "DOI": "10.1038/nn.4138", + "article-title": "Memory hierarchies map onto the hippocampal long axis in humans", + "volume": "18", + "author": "Collin", + "year": "2015", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0740", + "doi-asserted-by": "crossref", + "first-page": "230", + "DOI": "10.1016/j.tics.2013.03.005", + "article-title": "Long-axis specialization of the human hippocampus", + "volume": "17", + "author": "Poppenk", + "year": "2013", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0745", + "doi-asserted-by": "crossref", + "first-page": "655", + "DOI": "10.1038/nrn3785", + "article-title": "Functional organization of the hippocampal longitudinal axis", + "volume": "15", + "author": "Strange", + "year": "2014", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0750", + "doi-asserted-by": "crossref", + "first-page": "713", + "DOI": "10.1038/nrn3338", + "article-title": "Two cortical systems for memory-guided behaviour", + "volume": "13", + "author": "Ranganath", + "year": "2012", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0755", + "doi-asserted-by": "crossref", + "first-page": "3898", + "DOI": "10.1523/JNEUROSCI.14-06-03898.1994", + "article-title": "Laminar selectivity of the cholinergic suppression of synaptic transmission in rat hippocampal region CA1: computational modeling and brain slice physiology", + "volume": "14", + "author": "Hasselmo", + "year": "1994", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0760", + "doi-asserted-by": "crossref", + "first-page": "6489", + "DOI": "10.1523/JNEUROSCI.0350-04.2004", + "article-title": "Differences in hippocampal neuronal population responses to modifications of an environmental context: evidence for distinct, yet complementary, functions of CA3 and CA1 ensembles", + "volume": "24", + "author": "Vazdarjanova", + "year": "2004", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0765", + "doi-asserted-by": "crossref", + "first-page": "481", + "DOI": "10.1016/j.conb.2004.07.007", + "article-title": "Sparse coding of sensory inputs", + "volume": "14", + "author": "Olshausen", + "year": "2004", + "journal-title": "Curr. Opin. Neurobiol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0770", + "doi-asserted-by": "crossref", + "first-page": "87", + "DOI": "10.1016/j.tics.2007.12.003", + "article-title": "Sparse but not ‘grandmother-cell’ coding in the medial temporal lobe", + "volume": "12", + "author": "Quiroga", + "year": "2008", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0775", + "doi-asserted-by": "crossref", + "first-page": "329", + "DOI": "10.1016/j.tins.2009.01.009", + "article-title": "The hippocampal rate code: anatomy, physiology and theory", + "volume": "32", + "author": "Ahmed", + "year": "2009", + "journal-title": "Trends Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0780", + "doi-asserted-by": "crossref", + "first-page": "2355", + "DOI": "10.1523/JNEUROSCI.3869-08.2009", + "article-title": "The sparseness of neuronal responses in ferret primary visual cortex", + "volume": "29", + "author": "Tolhurst", + "year": "2009", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0785", + "doi-asserted-by": "crossref", + "first-page": "1273", + "DOI": "10.1126/science.287.5456.1273", + "article-title": "Sparse coding and decorrelation in primary visual cortex during natural vision", + "volume": "287", + "author": "Vinje", + "year": "2000", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0790", + "doi-asserted-by": "crossref", + "first-page": "1945", + "DOI": "10.1523/JNEUROSCI.12-05-01945.1992", + "article-title": "The positional firing properties of medial entorhinal neurons: description and comparison with hippocampal place cells", + "volume": "12", + "author": "Quirk", + "year": "1992", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0795", + "doi-asserted-by": "crossref", + "first-page": "10170", + "DOI": "10.1523/JNEUROSCI.6125-11.2012", + "article-title": "Balanced increases in selectivity and tolerance produce constant sparseness along the ventral visual stream", + "volume": "32", + "author": "Rust", + "year": "2012", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0800", + "doi-asserted-by": "crossref", + "first-page": "371", + "DOI": "10.1068/p010371", + "article-title": "Single units and sensation: a neuron doctrine for perceptual psychology?", + "volume": "1", + "author": "Barlow", + "year": "1972", + "journal-title": "Perception" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0805", + "doi-asserted-by": "crossref", + "first-page": "23", + "DOI": "10.1111/j.1551-6708.1987.tb00862.x", + "article-title": "Competitive learning: from interactive activation to adaptive resonance", + "volume": "11", + "author": "Grossberg", + "year": "1987", + "journal-title": "Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0810", + "doi-asserted-by": "crossref", + "first-page": "5466", + "DOI": "10.1523/JNEUROSCI.4293-12.2013", + "article-title": "Global similarity and pattern separation in the human medial temporal lobe predict subsequent memory", + "volume": "33", + "author": "LaRocque", + "year": "2013", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0815", + "doi-asserted-by": "crossref", + "first-page": "375", + "DOI": "10.1037/0033-295X.88.5.375", + "article-title": "An interactive activation model of context effects in letter perception. Part 1. An account of the basic findings", + "volume": "88", + "author": "McClelland", + "year": "1981", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0820", + "doi-asserted-by": "crossref", + "first-page": "207", + "DOI": "10.1037/0033-295X.85.3.207", + "article-title": "Context theory of classification", + "volume": "85", + "author": "Medin", + "year": "1978", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0825", + "doi-asserted-by": "crossref", + "first-page": "411", + "DOI": "10.1037/0033-295X.93.4.411", + "article-title": "‘Schema abstraction’ in a multiple-trace memory model", + "volume": "93", + "author": "Hintzman", + "year": "1986", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0830", + "doi-asserted-by": "crossref", + "first-page": "10503", + "DOI": "10.1073/pnas.1423036112", + "article-title": "Specific responses of human hippocampal neurons are associated with better memory", + "volume": "112", + "author": "Suthana", + "year": "2015", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0835", + "doi-asserted-by": "crossref", + "first-page": "623", + "DOI": "10.1016/S0896-6273(00)00071-4", + "article-title": "Hippocampal neurons encode information about different types of memory episodes occurring in the same location", + "volume": "27", + "author": "Wood", + "year": "2000", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0840", + "doi-asserted-by": "crossref", + "first-page": "1227", + "DOI": "10.1016/S0896-6273(03)00752-9", + "article-title": "Prospective and retrospective memory coding in the hippocampus", + "volume": "40", + "author": "Ferbinteanu", + "year": "2003", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0845", + "doi-asserted-by": "crossref", + "first-page": "1313", + "DOI": "10.1523/JNEUROSCI.2901-04.2005", + "article-title": "Sequential-context-dependent hippocampal activity is not necessary to learn sequences with repeated elements", + "volume": "25", + "author": "Bower", + "year": "2005", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0850", + "doi-asserted-by": "crossref", + "first-page": "14607", + "DOI": "10.1523/JNEUROSCI.1537-13.2013", + "article-title": "Distinct hippocampal time cell sequences represent odor memories in immobilized rats", + "volume": "33", + "author": "MacDonald", + "year": "2013", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0855", + "doi-asserted-by": "crossref", + "first-page": "7079", + "DOI": "10.1523/JNEUROSCI.15-11-07079.1995", + "article-title": "Interactions between location and task affect the spatial and directional firing of hippocampal neurons", + "volume": "15", + "author": "Markus", + "year": "1995", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0860", + "doi-asserted-by": "crossref", + "first-page": "8455", + "DOI": "10.1523/JNEUROSCI.18-20-08455.1998", + "article-title": "Spatial firing properties of hippocampal CA1 populations in an environment containing two visually identical regions", + "volume": "18", + "author": "Skaggs", + "year": "1998", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0865", + "first-page": "4", + "article-title": "Representational similarity analysis – connecting the branches of systems neuroscience", + "volume": "2", + "author": "Kriegeskorte", + "year": "2008", + "journal-title": "Front. Syst. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0870", + "doi-asserted-by": "crossref", + "first-page": "9918", + "DOI": "10.1523/JNEUROSCI.1378-09.2009", + "article-title": "Robust conjunctive item-place coding by hippocampal neurons parallels learning what happens where", + "volume": "29", + "author": "Komorowski", + "year": "2009", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0875", + "doi-asserted-by": "crossref", + "first-page": "7723", + "DOI": "10.1073/pnas.0700094104", + "article-title": "Human relational memory requires time and sleep", + "volume": "104", + "author": "Ellenbogen", + "year": "2007", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0880", + "doi-asserted-by": "crossref", + "first-page": "35", + "DOI": "10.1111/j.1467-9280.2007.01845.x", + "article-title": "Sleep-associated changes in the mental representation of spoken words", + "volume": "18", + "author": "Dumay", + "year": "2007", + "journal-title": "Psychol. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0885", + "doi-asserted-by": "crossref", + "first-page": "2296", + "DOI": "10.1037/xge0000020", + "article-title": "Fast mapping rapidly integrates information into existing memory networks", + "volume": "143", + "author": "Coutanche", + "year": "2014", + "journal-title": "J Exp Psychol Gen." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0890", + "doi-asserted-by": "crossref", + "first-page": "1146", + "DOI": "10.1073/pnas.1005238108", + "article-title": "Rapid neocortical acquisition of long-term arbitrary associations independent of the hippocampus", + "volume": "108", + "author": "Sharon", + "year": "2011", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0895", + "doi-asserted-by": "crossref", + "first-page": "1653", + "DOI": "10.1002/hipo.22353", + "article-title": "Neocortical catastrophic interference in healthy and amnesic adults: a paradoxical matter of time", + "volume": "24", + "author": "Merhav", + "year": "2014", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0900", + "doi-asserted-by": "crossref", + "first-page": "475", + "DOI": "10.1073/pnas.1322263111", + "article-title": "Comparison of explicit and incidental learning strategies in memory-impaired patients", + "volume": "111", + "author": "Smith", + "year": "2014", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0905", + "doi-asserted-by": "crossref", + "first-page": "920", + "DOI": "10.1002/hipo.22279", + "article-title": "Not so fast: hippocampal amnesia slows word learning despite successful fast mapping", + "volume": "24", + "author": "Warren", + "year": "2014", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0910", + "doi-asserted-by": "crossref", + "first-page": "52", + "DOI": "10.1016/j.neuropsychologia.2014.05.011", + "article-title": "No evidence that ‘fast-mapping’ benefits novel learning in healthy older adults", + "volume": "60", + "author": "Greve", + "year": "2014", + "journal-title": "Neuropsychologia" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0915", + "series-title": "International Conference on Learning Representations", + "article-title": "Prioritized experience replay", + "author": "Schaul", + "year": "2016" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0920", + "series-title": "The Organization of Learning", + "author": "Gallistel", + "year": "1990" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0925", + "doi-asserted-by": "crossref", + "first-page": "1735", + "DOI": "10.1162/neco.1997.9.8.1735", + "article-title": "Long short-term memory", + "volume": "9", + "author": "Hochreiter", + "year": "1997", + "journal-title": "Neural Comput." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0930", + "series-title": "International Conference in Machine Learning", + "article-title": "Meta-Learning with memory augmented neural networks", + "author": "Santoro", + "year": "2016" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0935", + "doi-asserted-by": "crossref", + "first-page": "374", + "DOI": "10.1002/hipo.450040319", + "article-title": "Computational analysis of the role of the hippocampus in memory", + "volume": "4", + "author": "Treves", + "year": "1994", + "journal-title": "Hippocampus" + } + ], + "container-title": "Trends in Cognitive Sciences", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://api.elsevier.com/content/article/PII:S1364661316300432?httpAccept=text/xml", + "content-type": "text/xml", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://api.elsevier.com/content/article/PII:S1364661316300432?httpAccept=text/plain", + "content-type": "text/plain", + "content-version": "vor", + "intended-application": "text-mining" + } + ], + "deposited": { + "date-parts": [ + [ + 2024, + 6, + 17 + ] + ], + "date-time": "2024-06-17T12:48:16Z", + "timestamp": 1718628496000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://linkinghub.elsevier.com/retrieve/pii/S1364661316300432" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2016, + 7 + ] + ] + }, + "references-count": 187, + "journal-issue": { + "issue": "7", + "published-print": { + "date-parts": [ + [ + 2016, + 7 + ] + ] + } + }, + "alternative-id": [ + "S1364661316300432" + ], + "URL": "http://dx.doi.org/10.1016/j.tics.2016.05.004", + "relation": {}, + "ISSN": [ + "1364-6613" + ], + "subject": [], + "container-title-short": "Trends in Cognitive Sciences", + "published": { + "date-parts": [ + [ + 2016, + 7 + ] + ] + }, + "assertion": [ + { + "value": "Elsevier", + "name": "publisher", + "label": "This article is maintained by" + }, + { + "value": "What Learning Systems do Intelligent Agents Need? Complementary Learning Systems Theory Updated", + "name": "articletitle", + "label": "Article Title" + }, + { + "value": "Trends in Cognitive Sciences", + "name": "journaltitle", + "label": "Journal Title" + }, + { + "value": "https://doi.org/10.1016/j.tics.2016.05.004", + "name": "articlelink", + "label": "CrossRef DOI link to publisher maintained version" + }, + { + "value": "article", + "name": "content_type", + "label": "Content Type" + }, + { + "value": "© 2016 Elsevier Ltd. All rights reserved.", + "name": "copyright", + "label": "Copyright" + } + ], + "id": "ref63", + "note": "Manuscript reference 63" + }, + { + "type": "article", + "id": "ref64", + "categories": [ + "Machine Learning (stat.ML)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Schwarz", + "given": "Jonathan" + }, + { + "family": "Luketina", + "given": "Jelena" + }, + { + "family": "Czarnecki", + "given": "Wojciech M." + }, + { + "family": "Grabska-Barwinska", + "given": "Agnieszka" + }, + { + "family": "Teh", + "given": "Yee Whye" + }, + { + "family": "Pascanu", + "given": "Razvan" + }, + { + "family": "Hadsell", + "given": "Raia" + } + ], + "issued": { + "date-parts": [ + [ + 2018 + ] + ] + }, + "abstract": "We introduce a conceptually simple and scalable framework for continual learning domains where tasks are learned sequentially. Our method is constant in the number of parameters and is designed to preserve performance on previously encountered tasks while accelerating learning progress on subsequent problems. This is achieved by training a network with two components: A knowledge base, capable of solving previously encountered problems, which is connected to an active column that is employed to efficiently learn the current task. After learning a new task, the active column is distilled into the knowledge base, taking care to protect any previously acquired skills. This cycle of active learning (progression) followed by consolidation (compression) requires no architecture growth, no access to or storing of previous data or tasks, and no task-specific parameters. We demonstrate the progress & compress approach on sequential classification of handwritten alphabets as well as two reinforcement learning domains: Atari games and 3D maze navigation.", + "DOI": "10.48550/arXiv.1805.06370", + "publisher": "arXiv", + "title": "Progress & Compress: A scalable framework for continual learning", + "URL": "https://arxiv.org/abs/1805.06370", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 64", + "container-title": "arXiv", + "number": "arXiv:1805.06370", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref65", + "categories": [ + "Machine Learning (cs.LG)", + "Computation and Language (cs.CL)", + "Computer Vision and Pattern Recognition (cs.CV)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Ilharco", + "given": "Gabriel" + }, + { + "family": "Ribeiro", + "given": "Marco Tulio" + }, + { + "family": "Wortsman", + "given": "Mitchell" + }, + { + "family": "Gururangan", + "given": "Suchin" + }, + { + "family": "Schmidt", + "given": "Ludwig" + }, + { + "family": "Hajishirzi", + "given": "Hannaneh" + }, + { + "family": "Farhadi", + "given": "Ali" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "Changing how pre-trained models behave -- e.g., improving their performance on a downstream task or mitigating biases learned during pre-training -- is a common practice when developing machine learning systems. In this work, we propose a new paradigm for steering the behavior of neural networks, centered around \\textit{task vectors}. A task vector specifies a direction in the weight space of a pre-trained model, such that movement in that direction improves performance on the task. We build task vectors by subtracting the weights of a pre-trained model from the weights of the same model after fine-tuning on a task. We show that these task vectors can be modified and combined together through arithmetic operations such as negation and addition, and the behavior of the resulting model is steered accordingly. Negating a task vector decreases performance on the target task, with little change in model behavior on control tasks. Moreover, adding task vectors together can improve performance on multiple tasks at once. Finally, when tasks are linked by an analogy relationship of the form ``A is to B as C is to D\", combining task vectors from three of the tasks can improve performance on the fourth, even when no data from the fourth task is used for training. Overall, our experiments with several models, modalities and tasks show that task arithmetic is a simple, efficient and effective way of editing models.", + "DOI": "10.48550/arXiv.2212.04089", + "publisher": "arXiv", + "title": "Editing Models with Task Arithmetic", + "URL": "https://arxiv.org/abs/2212.04089", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "3", + "note": "Manuscript reference 65", + "container-title": "arXiv", + "number": "arXiv:2212.04089", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref66", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Computer Vision and Pattern Recognition (cs.CV)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Marczak", + "given": "Daniel" + }, + { + "family": "Twardowski", + "given": "Bartłomiej" + }, + { + "family": "Trzciński", + "given": "Tomasz" + }, + { + "family": "Cygert", + "given": "Sebastian" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "This paper introduces a continual learning approach named MagMax, which utilizes model merging to enable large pre-trained models to continuously learn from new data without forgetting previously acquired knowledge. Distinct from traditional continual learning methods that aim to reduce forgetting during task training, MagMax combines sequential fine-tuning with a maximum magnitude weight selection for effective knowledge integration across tasks. Our initial contribution is an extensive examination of model merging techniques, revealing that simple approaches like weight averaging and random weight selection surprisingly hold up well in various continual learning contexts. More importantly, we present MagMax, a novel model-merging strategy that enables continual learning of large pre-trained models for successive tasks. Our thorough evaluation demonstrates the superiority of MagMax in various scenarios, including class- and domain-incremental learning settings. The code is available at this URL: https://github.com/danielm1405/magmax.", + "DOI": "10.48550/arXiv.2407.06322", + "publisher": "arXiv", + "title": "MagMax: Leveraging Model Merging for Seamless Continual Learning", + "URL": "https://arxiv.org/abs/2407.06322", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 66", + "container-title": "arXiv", + "number": "arXiv:2407.06322", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref67", + "categories": [ + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Alexandrov", + "given": "Anton" + }, + { + "family": "Raychev", + "given": "Veselin" + }, + { + "family": "Müller", + "given": "Mark Niklas" + }, + { + "family": "Zhang", + "given": "Ce" + }, + { + "family": "Vechev", + "given": "Martin" + }, + { + "family": "Toutanova", + "given": "Kristina" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "As open-weight large language models (LLMs) achieve ever more impressive performances across a wide range of tasks in English, practitioners aim to adapt these models to different languages. However, such language adaptation is often accompanied by catastrophic forgetting of the base model's capabilities, severely limiting the usefulness of the resulting model. We address this issue by proposing Branch-and-Merge (BaM), a new adaptation method based on iteratively merging multiple models, fine-tuned on a subset of the available training data. BaM is based on the insight that this yields lower magnitude but higher quality weight changes, reducing forgetting of the source domain while maintaining learning on the target domain. We demonstrate in an extensive empirical study on Bulgarian and German that BaM can significantly reduce forgetting while matching or even improving target domain performance compared to both standard continued pretraining and instruction finetuning across different model architectures.", + "DOI": "10.48550/arXiv.2407.08699", + "publisher": "arXiv", + "title": "Mitigating Catastrophic Forgetting in Language Transfer via Model Merging", + "URL": "https://arxiv.org/abs/2407.08699", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 67", + "container-title": "arXiv", + "number": "arXiv:2407.08699", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref68", + "categories": [ + "Machine Learning (cs.LG)", + "Computation and Language (cs.CL)", + "Computer Vision and Pattern Recognition (cs.CV)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Dziadzio", + "given": "Sebastian" + }, + { + "family": "Udandarao", + "given": "Vishaal" + }, + { + "family": "Roth", + "given": "Karsten" + }, + { + "family": "Prabhu", + "given": "Ameya" + }, + { + "family": "Akata", + "given": "Zeynep" + }, + { + "family": "Albanie", + "given": "Samuel" + }, + { + "family": "Bethge", + "given": "Matthias" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Model merging combines multiple expert models - finetuned from a base foundation model on diverse tasks and domains - into a single, more capable model. However, most existing model merging approaches assume that all experts are available simultaneously. In reality, new tasks and domains emerge progressively over time, requiring strategies to integrate the knowledge of expert models as they become available: a process we call temporal model merging. The temporal dimension introduces unique challenges not addressed in prior work, raising new questions such as: when training for a new task, should the expert model start from the merged past experts or from the original base model? Should we merge all models at each time step? Which merging techniques are best suited for temporal merging? Should different strategies be used to initialize the training and deploy the model? To answer these questions, we propose a unified framework called TIME - Temporal Integration of Model Expertise - which defines temporal model merging across three axes: (1) Initialization Phase, (2) Deployment Phase, and (3) Merging Technique. Using TIME, we study temporal model merging across model sizes, compute budgets, and learning horizons on the FoMo-in-Flux benchmark. Our comprehensive suite of experiments across TIME allows us to uncover key insights for temporal model merging, offering a better understanding of current challenges and best practices for effective temporal model merging.", + "DOI": "10.48550/arXiv.2412.06712", + "publisher": "arXiv", + "title": "How to Merge Your Multimodal Models Over Time?", + "URL": "https://arxiv.org/abs/2412.06712", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "1", + "note": "Manuscript reference 68", + "container-title": "arXiv", + "number": "arXiv:2412.06712", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref69", + "categories": [ + "Machine Learning (cs.LG)", + "Machine Learning (stat.ML)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Toneva", + "given": "Mariya" + }, + { + "family": "Sordoni", + "given": "Alessandro" + }, + { + "family": "Combes", + "given": "Remi Tachet des" + }, + { + "family": "Trischler", + "given": "Adam" + }, + { + "family": "Bengio", + "given": "Yoshua" + }, + { + "family": "Gordon", + "given": "Geoffrey J." + } + ], + "issued": { + "date-parts": [ + [ + 2018 + ] + ] + }, + "abstract": "Inspired by the phenomenon of catastrophic forgetting, we investigate the learning dynamics of neural networks as they train on single classification tasks. Our goal is to understand whether a related phenomenon occurs when data does not undergo a clear distributional shift. We define a `forgetting event' to have occurred when an individual training example transitions from being classified correctly to incorrectly over the course of learning. Across several benchmark data sets, we find that: (i) certain examples are forgotten with high frequency, and some not at all; (ii) a data set's (un)forgettable examples generalize across neural architectures; and (iii) based on forgetting dynamics, a significant fraction of examples can be omitted from the training data set while still maintaining state-of-the-art generalization performance.", + "DOI": "10.48550/arXiv.1812.05159", + "publisher": "arXiv", + "title": "An Empirical Study of Example Forgetting during Deep Neural Network Learning", + "URL": "https://arxiv.org/abs/1812.05159", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "3", + "note": "Manuscript reference 69", + "container-title": "arXiv", + "number": "arXiv:1812.05159", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref70", + "categories": [ + "Computation and Language (cs.CL)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Kandpal", + "given": "Nikhil" + }, + { + "family": "Deng", + "given": "Haikang" + }, + { + "family": "Roberts", + "given": "Adam" + }, + { + "family": "Wallace", + "given": "Eric" + }, + { + "family": "Raffel", + "given": "Colin" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "The Internet contains a wealth of knowledge -- from the birthdays of historical figures to tutorials on how to code -- all of which may be learned by language models. However, while certain pieces of information are ubiquitous on the web, others appear extremely rarely. In this paper, we study the relationship between the knowledge memorized by large language models and the information in pre-training datasets scraped from the web. In particular, we show that a language model's ability to answer a fact-based question relates to how many documents associated with that question were seen during pre-training. We identify these relevant documents by entity linking pre-training datasets and counting documents that contain the same entities as a given question-answer pair. Our results demonstrate strong correlational and causal relationships between accuracy and relevant document count for numerous question answering datasets (e.g., TriviaQA), pre-training corpora (e.g., ROOTS), and model sizes (e.g., 176B parameters). Moreover, while larger models are better at learning long-tail knowledge, we estimate that today's models must be scaled by many orders of magnitude to reach competitive QA performance on questions with little support in the pre-training data. Finally, we show that retrieval-augmentation can reduce the dependence on relevant pre-training information, presenting a promising approach for capturing the long-tail.", + "DOI": "10.48550/arXiv.2211.08411", + "publisher": "arXiv", + "title": "Large Language Models Struggle to Learn Long-Tail Knowledge", + "URL": "https://arxiv.org/abs/2211.08411", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 70", + "container-title": "arXiv", + "number": "arXiv:2211.08411", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref71", + "categories": [ + "Computer Vision and Pattern Recognition (cs.CV)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Liu", + "given": "Xialei" + }, + { + "family": "Hu", + "given": "Yu-Song" + }, + { + "family": "Cao", + "given": "Xu-Sheng" + }, + { + "family": "Bagdanov", + "given": "Andrew D." + }, + { + "family": "Li", + "given": "Ke" + }, + { + "family": "Cheng", + "given": "Ming-Ming" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "In class incremental learning (CIL) a model must learn new classes in a sequential manner without forgetting old ones. However, conventional CIL methods consider a balanced distribution for each new task, which ignores the prevalence of long-tailed distributions in the real world. In this work we propose two long-tailed CIL scenarios, which we term ordered and shuffled LT-CIL. Ordered LT-CIL considers the scenario where we learn from head classes collected with more samples than tail classes which have few. Shuffled LT-CIL, on the other hand, assumes a completely random long-tailed distribution for each task. We systematically evaluate existing methods in both LT-CIL scenarios and demonstrate very different behaviors compared to conventional CIL scenarios. Additionally, we propose a two-stage learning baseline with a learnable weight scaling layer for reducing the bias caused by long-tailed distribution in LT-CIL and which in turn also improves the performance of conventional CIL due to the limited exemplars. Our results demonstrate the superior performance (up to 6.44 points in average incremental accuracy) of our approach on CIFAR-100 and ImageNet-Subset. The code is available at https://github.com/xialeiliu/Long-Tailed-CIL", + "DOI": "10.48550/arXiv.2210.00266", + "publisher": "arXiv", + "title": "Long-Tailed Class Incremental Learning", + "URL": "https://arxiv.org/abs/2210.00266", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 71", + "container-title": "arXiv", + "number": "arXiv:2210.00266", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref72", + "categories": [ + "Computation and Language (cs.CL)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Kotha", + "given": "Suhas" + }, + { + "family": "Springer", + "given": "Jacob Mitchell" + }, + { + "family": "Raghunathan", + "given": "Aditi" + } + ], + "issued": { + "date-parts": [ + [ + 2023 + ] + ] + }, + "abstract": "We lack a systematic understanding of the effects of fine-tuning (via methods such as instruction-tuning or reinforcement learning from human feedback), particularly on tasks outside the narrow fine-tuning distribution. In a simplified scenario, we demonstrate that improving performance on tasks within the fine-tuning data distribution comes at the expense of capabilities on other tasks. We hypothesize that language models implicitly infer the task of the prompt and that fine-tuning skews this inference towards tasks in the fine-tuning distribution. To test this, we propose Conjugate Prompting, which artificially makes the task look farther from the fine-tuning distribution while requiring the same capability, and we find that this recovers some of the pretraining capabilities in our synthetic setup. Since real-world fine-tuning distributions are predominantly English, we apply conjugate prompting to recover pretrained capabilities in LLMs by simply translating the prompts to different languages. This allows us to recover in-context learning abilities lost via instruction tuning, natural reasoning capability lost during code fine-tuning, and, more concerningly, harmful content generation suppressed by safety fine-tuning in chatbots like ChatGPT.", + "DOI": "10.48550/arXiv.2309.10105", + "publisher": "arXiv", + "title": "Understanding Catastrophic Forgetting in Language Models via Implicit Inference", + "URL": "https://arxiv.org/abs/2309.10105", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 72", + "container-title": "arXiv", + "number": "arXiv:2309.10105", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref73", + "categories": [ + "Computation and Language (cs.CL)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Yu", + "given": "Le" + }, + { + "family": "Yu", + "given": "Bowen" + }, + { + "family": "Yu", + "given": "Haiyang" + }, + { + "family": "Huang", + "given": "Fei" + }, + { + "family": "Li", + "given": "Yongbin" + } + ], + "issued": { + "date-parts": [ + [ + 2023 + ] + ] + }, + "abstract": "In this paper, we unveil that Language Models (LMs) can acquire new capabilities by assimilating parameters from homologous models without retraining or GPUs. We first introduce DARE to set most delta parameters (i.e., the disparity between fine-tuned and pre-trained parameters) to zeros without affecting the abilities of Supervised Fine-Tuning (SFT) LMs, which randomly Drops delta parameters with a ratio $p$ And REscales the remaining ones by $1 / (1 - p)$ to approximate the original embeddings. Then, we use DARE as a versatile plug-in to sparsify delta parameters of multiple SFT homologous models for mitigating parameter interference and merge them into a single model by parameter fusing. We experiment with encoder- and decoder-based LMs, showing that: (1) SFT delta parameter value ranges are typically small (within 0.002) with extreme redundancy, and DARE can effortlessly eliminate 90% or even 99% of them; (2) DARE can merge multiple task-specific LMs into one LM with diverse capabilities. Notably, this phenomenon is more pronounced in large-scale LMs, where the merged LM reveals the potential to surpass the performance of any source LM, providing a new discovery. We also utilize DARE to create a merged LM that ranks first among models with 7 billion parameters on the Open LLM Leaderboard.", + "DOI": "10.48550/arXiv.2311.03099", + "publisher": "arXiv", + "title": "Language Models are Super Mario: Absorbing Abilities from Homologous Models as a Free Lunch", + "URL": "https://arxiv.org/abs/2311.03099", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "3", + "note": "Manuscript reference 73", + "container-title": "arXiv", + "number": "arXiv:2311.03099", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref74", + "categories": [ + "Machine Learning (cs.LG)", + "Computation and Language (cs.CL)", + "Computer Vision and Pattern Recognition (cs.CV)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Wortsman", + "given": "Mitchell" + }, + { + "family": "Ilharco", + "given": "Gabriel" + }, + { + "family": "Gadre", + "given": "Samir Yitzhak" + }, + { + "family": "Roelofs", + "given": "Rebecca" + }, + { + "family": "Gontijo-Lopes", + "given": "Raphael" + }, + { + "family": "Morcos", + "given": "Ari S." + }, + { + "family": "Namkoong", + "given": "Hongseok" + }, + { + "family": "Farhadi", + "given": "Ali" + }, + { + "family": "Carmon", + "given": "Yair" + }, + { + "family": "Kornblith", + "given": "Simon" + }, + { + "family": "Schmidt", + "given": "Ludwig" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "The conventional recipe for maximizing model accuracy is to (1) train multiple models with various hyperparameters and (2) pick the individual model which performs best on a held-out validation set, discarding the remainder. In this paper, we revisit the second step of this procedure in the context of fine-tuning large pre-trained models, where fine-tuned models often appear to lie in a single low error basin. We show that averaging the weights of multiple models fine-tuned with different hyperparameter configurations often improves accuracy and robustness. Unlike a conventional ensemble, we may average many models without incurring any additional inference or memory costs -- we call the results \"model soups.\" When fine-tuning large pre-trained models such as CLIP, ALIGN, and a ViT-G pre-trained on JFT, our soup recipe provides significant improvements over the best model in a hyperparameter sweep on ImageNet. The resulting ViT-G model, which attains 90.94% top-1 accuracy on ImageNet, achieved a new state of the art. Furthermore, we show that the model soup approach extends to multiple image classification and natural language processing tasks, improves out-of-distribution performance, and improves zero-shot performance on new downstream tasks. Finally, we analytically relate the performance similarity of weight-averaging and logit-ensembling to flatness of the loss and confidence of the predictions, and validate this relation empirically. Code is available at https://github.com/mlfoundations/model-soups.", + "DOI": "10.48550/arXiv.2203.05482", + "publisher": "arXiv", + "title": "Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time", + "URL": "https://arxiv.org/abs/2203.05482", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "3", + "note": "Manuscript reference 74", + "container-title": "arXiv", + "number": "arXiv:2203.05482", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref75", + "categories": [ + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Cao", + "given": "Yuan" + }, + { + "family": "Ran", + "given": "Dezhi" + }, + { + "family": "Guo", + "given": "Yuzhe" + }, + { + "family": "Wu", + "given": "Mengzhou" + }, + { + "family": "Chen", + "given": "Simin" + }, + { + "family": "Li", + "given": "Linyi" + }, + { + "family": "Yang", + "given": "Wei" + }, + { + "family": "Xie", + "given": "Tao" + } + ], + "issued": { + "date-parts": [ + [ + 2026 + ] + ] + }, + "abstract": "Model merging unifies independently fine-tuned LLMs from the same base, enabling reuse and integration of parallel development efforts without retraining. However, in practice we observe that merging does not always succeed: certain combinations of task-specialist models suffer from catastrophic performance degradation after merging. We refer to this failure mode as merging collapse. Intuitively, collapse arises when the learned representations or parameter adjustments for different tasks are fundamentally incompatible, so that merging forces destructive interference rather than synergy. In this paper, we identify and characterize the phenomenon of task-level merging collapse, where certain task combinations consistently trigger huge performance degradation across all merging methods. Through extensive experiments and statistical analysis, we demonstrate that representational incompatibility between tasks is strongly correlated with merging collapse, while parameter-space conflict metrics show minimal correlation, challenging conventional wisdom in model merging literature. We provide a theoretical explanation on this phenomenon through rate-distortion theory with a dimension-dependent bound, establishing fundamental limits on task mergeability regardless of methodology.", + "DOI": "10.48550/arXiv.2603.09463", + "publisher": "arXiv", + "title": "An Empirical Study and Theoretical Explanation on Task-Level Model-Merging Collapse", + "URL": "https://arxiv.org/abs/2603.09463", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 75", + "container-title": "arXiv", + "number": "arXiv:2603.09463", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref76", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Horoi", + "given": "Stefan" + }, + { + "family": "Wolf", + "given": "Guy" + }, + { + "family": "Belilovsky", + "given": "Eugene" + }, + { + "family": "Dziugaite", + "given": "Gintare Karolina" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Modern deep learning is increasingly characterized by the use of open-weight foundation models that can be fine-tuned on specialized datasets. This has led to a proliferation of expert models and adapters, often shared via platforms like HuggingFace and AdapterHub. Model merging has recently emerged as an effective way to leverage these existing resources, enabling the composition of capabilities from different model checkpoints. A natural pipeline has thus formed to harness the benefits of transfer learning and amortize sunk training costs: models are pre-trained on general data, fine-tuned on specific tasks, and then multiple checkpoints are merged to obtain a more capable model. A prevailing assumption is that improvements at one stage of this pipeline propagate downstream, leading to gains at subsequent steps. In this work, we challenge that assumption by examining how expert fine-tuning affects model merging. We show that long fine-tuning of experts that optimizes for their individual performance leads to degraded merging performance across vision and language modalities, multiple model scales, and both fully fine-tuned and LoRA-adapted models. We trace this degradation to the memorization of a small set of difficult examples that dominate late fine-tuning steps. This causes negative parameter interference and encodes knowledge that is forgotten during merging. Finally, we demonstrate that task-dependent aggressive early stopping strategies can significantly improve model merging performance.", + "DOI": "10.48550/arXiv.2506.14126", + "publisher": "arXiv", + "title": "From Memorization to Parameter Interference: How Overtraining Experts Harms Model Merging", + "URL": "https://arxiv.org/abs/2506.14126", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 76", + "container-title": "arXiv", + "number": "arXiv:2506.14126", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 8, + 16 + ] + ], + "date-time": "2026-08-16T21:18:05Z", + "timestamp": 1786915085480, + "version": "build-2736575974" + }, + "reference-count": 40, + "publisher": "Association for Computing Machinery (ACM)", + "issue": "11", + "license": [ + { + "start": { + "date-parts": [ + [ + 2016, + 10, + 28 + ] + ], + "date-time": "2016-10-28T00:00:00Z", + "timestamp": 1477612800000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://www.acm.org/publications/policies/copyright_policy#Background" + } + ], + "content-domain": { + "domain": [ + "dl.acm.org" + ], + "crossmark-restriction": true + }, + "published-print": { + "date-parts": [ + [ + 2016, + 10, + 28 + ] + ] + }, + "abstract": "Looking at the mysteries of evolution from a computer science point of view yields some unexpected insights.", + "DOI": "10.1145/2934662", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2016, + 10, + 31 + ] + ], + "date-time": "2016-10-31T12:29:14Z", + "timestamp": 1477916954000 + }, + "page": "84-93", + "update-policy": "https://doi.org/10.1145/crossmark-policy", + "source": "Crossref", + "is-referenced-by-count": 28, + "title": "Sex as an algorithm", + "prefix": "10.1145", + "volume": "59", + "author": [ + { + "given": "Adi", + "family": "Livnat", + "sequence": "first", + "affiliation": [ + { + "name": "University of Haifa, Israel" + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Christos", + "family": "Papadimitriou", + "sequence": "additional", + "affiliation": [ + { + "name": "University of California at Berkeley" + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "320", + "published-online": { + "date-parts": [ + [ + 2016, + 10, + 28 + ] + ] + }, + "reference": [ + { + "key": "e_1_2_2_1_1", + "doi-asserted-by": "publisher", + "DOI": "10.1109/SFCS.1994.365742" + }, + { + "key": "e_1_2_2_2_1", + "doi-asserted-by": "publisher", + "DOI": "10.4086/toc.2012.v008a006" + }, + { + "key": "e_1_2_2_3_1", + "doi-asserted-by": "publisher", + "DOI": "10.1007/978-3-642-65371-1" + }, + { + "key": "e_1_2_2_4_1", + "volume-title": "The Ninth Bridgewater Treatise", + "author": "Babbage C.", + "year": "1838", + "unstructured": "Babbage , C. The Ninth Bridgewater Treatise . 2 nd edn. John Murray , London , 1838 . Babbage, C. The Ninth Bridgewater Treatise. 2nd edn. John Murray, London, 1838.", + "edition": "2" + }, + { + "key": "e_1_2_2_5_1", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.1410107111" + }, + { + "key": "e_1_2_2_6_1", + "volume-title": "The Masterpiece of Nature: The Evolution and Genetics of Sexuality", + "author": "Bell G.", + "year": "1982", + "unstructured": "Bell , G. The Masterpiece of Nature: The Evolution and Genetics of Sexuality . University of California Press , Berkeley, CA , 1982 . Bell, G. The Masterpiece of Nature: The Evolution and Genetics of Sexuality. University of California Press, Berkeley, CA, 1982." + }, + { + "key": "e_1_2_2_7_1", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.1406556111" + }, + { + "key": "e_1_2_2_8_1", + "doi-asserted-by": "crossref", + "DOI": "10.5962/bhl.title.82303", + "volume-title": "On the Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life", + "author": "Darwin C.", + "year": "1859", + "unstructured": "Darwin , C. On the Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life . Murray , London , 1859 . Darwin, C. On the Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life. Murray, London, 1859." + }, + { + "key": "e_1_2_2_9_1", + "doi-asserted-by": "publisher", + "DOI": "10.1146/annurev.genet.30.1.261" + }, + { + "key": "e_1_2_2_10_1", + "doi-asserted-by": "crossref", + "DOI": "10.5962/bhl.title.27468", + "volume-title": "The Genetical Theory of Natural Selection", + "author": "Fisher R.A.", + "year": "1930", + "unstructured": "Fisher , R.A. The Genetical Theory of Natural Selection . The Clarendon Press , Oxford, U.K. , 1930 . Fisher, R.A. The Genetical Theory of Natural Selection. The Clarendon Press, Oxford, U.K., 1930." + }, + { + "key": "e_1_2_2_11_1", + "doi-asserted-by": "publisher", + "DOI": "10.1093/molbev/msi043" + }, + { + "key": "e_1_2_2_12_1", + "volume-title": "Genetic Algorithms in Search, Optimization and Machine Learning", + "author": "Goldberg D.", + "year": "1989", + "unstructured": "Goldberg , D. Genetic Algorithms in Search, Optimization and Machine Learning . Addison-Wesley , Reading, MA , 1989 . Goldberg, D. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, Reading, MA, 1989." + }, + { + "key": "e_1_2_2_13_1", + "volume-title": "-H. Fundamentals of Molecular Evolution", + "author": "Graur D.", + "year": "2000", + "unstructured": "Graur , D. and Li , W . -H. Fundamentals of Molecular Evolution . Sinauer Associates , Sunderland, MA , 2000 . Graur, D. and Li, W.-H. Fundamentals of Molecular Evolution. Sinauer Associates, Sunderland, MA, 2000." + }, + { + "key": "e_1_2_2_14_1", + "volume-title": "Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence", + "author": "Holland J.H.", + "year": "1975", + "unstructured": "Holland , J.H. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence . U Michigan Press , 1975 . Holland, J.H. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence. U Michigan Press, 1975." + }, + { + "key": "e_1_2_2_15_1", + "doi-asserted-by": "publisher", + "DOI": "10.1016/0022-0000(88)90046-3" + }, + { + "key": "e_1_2_2_16_1", + "volume-title": "Evolutionary Computation: A Unified Approach", + "author": "Jong K.A.D.", + "year": "2006", + "unstructured": "Jong , K.A.D. Evolutionary Computation: A Unified Approach . MIT Press , Cambridge MA , 2006 . Jong, K.A.D. Evolutionary Computation: A Unified Approach. MIT Press, Cambridge MA, 2006." + }, + { + "key": "e_1_2_2_17_1", + "doi-asserted-by": "publisher", + "DOI": "10.1109/FOCS.2011.24" + }, + { + "key": "e_1_2_2_18_1", + "doi-asserted-by": "publisher", + "DOI": "10.1145/293347.293351" + }, + { + "key": "e_1_2_2_19_1", + "doi-asserted-by": "crossref", + "first-page": "3", + "DOI": "10.1093/genetics/61.3.763", + "article-title": "The average number of generations until fixation of a mutant gene in a finite population", + "volume": "61", + "author": "Kimura M.", + "year": "1969", + "unstructured": "Kimura , M. and Ohta , T . The average number of generations until fixation of a mutant gene in a finite population . Genetics 61 , 3 ( 1969 ), 763. Kimura, M. and Ohta, T. The average number of generations until fixation of a mutant gene in a finite population. Genetics 61, 3 (1969), 763.", + "journal-title": "Genetics" + }, + { + "key": "e_1_2_2_20_1", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.220.4598.671" + }, + { + "key": "e_1_2_2_21_1", + "doi-asserted-by": "crossref", + "first-page": "595", + "DOI": "10.1093/genetics/54.2.595", + "article-title": "A molecular approach to the study of genic heterozygosity in natural populations; amount of variation and degree of heterozygosity in natural populations of Drosophila pseudoobscura", + "volume": "54", + "author": "Lewontin R.C.", + "year": "1966", + "unstructured": "Lewontin , R.C. and Hubby , J.L . A molecular approach to the study of genic heterozygosity in natural populations; amount of variation and degree of heterozygosity in natural populations of Drosophila pseudoobscura . Genetics 54 ( 1966 ), 595 -- 609 . Lewontin, R.C. and Hubby, J.L. A molecular approach to the study of genic heterozygosity in natural populations; amount of variation and degree of heterozygosity in natural populations of Drosophila pseudoobscura. Genetics 54 (1966), 595--609.", + "journal-title": "Genetics" + }, + { + "key": "e_1_2_2_22_1", + "doi-asserted-by": "publisher", + "DOI": "10.1186/1745-6150-8-24" + }, + { + "key": "e_1_2_2_23_1", + "unstructured": "Livnat A. Feldman M.W. Papadimitriou C. and Pippenger N. On the advantage to sexual species in diversification rates. Unpublished manuscript. Livnat A. Feldman M.W. Papadimitriou C. and Pippenger N. On the advantage to sexual species in diversification rates. Unpublished manuscript." + }, + { + "key": "e_1_2_2_24_1", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.0803596105" + }, + { + "key": "e_1_2_2_25_1", + "doi-asserted-by": "publisher", + "DOI": "10.1016/j.jtbi.2010.11.039" + }, + { + "key": "e_1_2_2_26_1", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.0910734106" + }, + { + "key": "e_1_2_2_27_1", + "doi-asserted-by": "publisher", + "DOI": "10.1038/ng.917" + }, + { + "key": "e_1_2_2_28_1", + "doi-asserted-by": "crossref", + "DOI": "10.7551/mitpress/3927.001.0001", + "volume-title": "An Introduction to Genetic Algorithms", + "author": "Mitchell M.", + "year": "1996", + "unstructured": "Mitchell , M. An Introduction to Genetic Algorithms . MIT Press , Cambridge, MA , 1996 . Mitchell, M. An Introduction to Genetic Algorithms. MIT Press, Cambridge, MA, 1996." + }, + { + "key": "e_1_2_2_29_1", + "doi-asserted-by": "publisher", + "DOI": "10.5555/211390" + }, + { + "key": "e_1_2_2_30_1", + "doi-asserted-by": "publisher", + "DOI": "10.1007/s002850050143" + }, + { + "key": "e_1_2_2_31_1", + "doi-asserted-by": "publisher", + "DOI": "10.1007/978-3-642-51588-0_2" + }, + { + "key": "e_1_2_2_32_1", + "volume-title": "Combinatorial Optimization: Algorithms and Complexity", + "author": "Papadimitriou C.", + "year": "1998", + "unstructured": "Papadimitriou , C. and Steiglitz , K . Combinatorial Optimization: Algorithms and Complexity . Dover , 1998 . Papadimitriou, C. and Steiglitz, K. Combinatorial Optimization: Algorithms and Complexity. Dover, 1998." + }, + { + "key": "e_1_2_2_33_1", + "doi-asserted-by": "publisher", + "DOI": "10.1145/225058.225088" + }, + { + "key": "e_1_2_2_34_1", + "volume-title": "Evolution: An Introduction", + "author": "Stearns S.C.", + "year": "2005", + "unstructured": "Stearns , S.C. and Hoekstra , R.F . Evolution: An Introduction . Oxford University Press , New York , 2005 . Stearns, S.C. and Hoekstra, R.F. Evolution: An Introduction. Oxford University Press, New York, 2005." + }, + { + "key": "e_1_2_2_35_1", + "volume-title": "Probably Approximately Correct: Nature's Algorithms for Learning and Prospering in a Complex World", + "author": "Valiant L.", + "year": "2013", + "unstructured": "Valiant , L. Probably Approximately Correct: Nature's Algorithms for Learning and Prospering in a Complex World . Basic Books , 2013 . Valiant, L. Probably Approximately Correct: Nature's Algorithms for Learning and Prospering in a Complex World. Basic Books, 2013." + }, + { + "key": "e_1_2_2_36_1", + "doi-asserted-by": "publisher", + "DOI": "10.1145/1462153.1462156" + }, + { + "key": "e_1_2_2_37_1", + "first-page": "1", + "article-title": "Theory of self-reproducing automata", + "volume": "5", + "author": "Von Neumann J.", + "year": "1966", + "unstructured": "Von Neumann , J. and A. W. Burks , A.W. Theory of self-reproducing automata . IEEE Transactions on Neural Networks 5 , 1 ( 1966 ), 3--14. Von Neumann, J. and A. W. Burks, A.W. Theory of self-reproducing automata. IEEE Transactions on Neural Networks 5, 1 (1966), 3--14.", + "journal-title": "IEEE Transactions on Neural Networks" + }, + { + "key": "e_1_2_2_38_1", + "volume-title": "Adaptation and Natural Selection", + "author": "Williams G.C.", + "year": "1996", + "unstructured": "Williams , G.C. Adaptation and Natural Selection , 8 th edition. Princeton University Press , 1996 . Williams, G.C. Adaptation and Natural Selection, 8th edition. Princeton University Press, 1996.", + "edition": "8" + }, + { + "key": "e_1_2_2_39_1", + "doi-asserted-by": "publisher", + "DOI": "10.1093/genetics/16.2.97" + }, + { + "key": "e_1_2_2_40_1", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.23.6.307" + } + ], + "container-title": "Communications of the ACM", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://dl.acm.org/doi/10.1145/2934662", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://dl.acm.org/doi/pdf/10.1145/2934662", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2025, + 6, + 18 + ] + ], + "date-time": "2025-06-18T03:39:47Z", + "timestamp": 1750217987000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://dl.acm.org/doi/10.1145/2934662" + } + }, + "subtitle": [ + "the theory of evolution under the lens of computation" + ], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2016, + 10, + 28 + ] + ] + }, + "references-count": 40, + "journal-issue": { + "issue": "11", + "published-print": { + "date-parts": [ + [ + 2016, + 10, + 28 + ] + ] + } + }, + "alternative-id": [ + "10.1145/2934662" + ], + "URL": "http://dx.doi.org/10.1145/2934662", + "relation": {}, + "ISSN": [ + "0001-0782", + "1557-7317" + ], + "subject": [], + "container-title-short": "Commun. ACM", + "published": { + "date-parts": [ + [ + 2016, + 10, + 28 + ] + ] + }, + "assertion": [ + { + "value": "2016-10-28", + "order": 2, + "name": "published", + "label": "Published", + "group": { + "name": "publication_history", + "label": "Publication History" + } + } + ], + "id": "ref77", + "note": "Manuscript reference 77" + }, + { + "type": "article", + "id": "ref78", + "categories": [ + "Computation and Language (cs.CL)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Guo", + "given": "Yanzhu" + }, + { + "family": "Shang", + "given": "Guokan" + }, + { + "family": "Vazirgiannis", + "given": "Michalis" + }, + { + "family": "Clavel", + "given": "Chloé" + } + ], + "issued": { + "date-parts": [ + [ + 2023 + ] + ] + }, + "abstract": "This study investigates the consequences of training language models on synthetic data generated by their predecessors, an increasingly prevalent practice given the prominence of powerful generative models. Diverging from the usual emphasis on performance metrics, we focus on the impact of this training methodology on linguistic diversity, especially when conducted recursively over time. To assess this, we adapt and develop a set of novel metrics targeting lexical, syntactic, and semantic diversity, applying them in recursive finetuning experiments across various natural language generation tasks in English. Our findings reveal a consistent decrease in the diversity of the model outputs through successive iterations, especially remarkable for tasks demanding high levels of creativity. This trend underscores the potential risks of training language models on synthetic text, particularly concerning the preservation of linguistic richness. Our study highlights the need for careful consideration of the long-term effects of such training approaches on the linguistic capabilities of language models.", + "DOI": "10.48550/arXiv.2311.09807", + "publisher": "arXiv", + "title": "The Curious Decline of Linguistic Diversity: Training Language Models on Synthetic Text", + "URL": "https://arxiv.org/abs/2311.09807", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 78", + "container-title": "arXiv", + "number": "arXiv:2311.09807", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref79", + "categories": [ + "Computation and Language (cs.CL)", + "Computers and Society (cs.CY)", + "Human-Computer Interaction (cs.HC)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Padmakumar", + "given": "Vishakh" + }, + { + "family": "He", + "given": "He" + } + ], + "issued": { + "date-parts": [ + [ + 2023 + ] + ] + }, + "abstract": "Large language models (LLMs) have led to a surge in collaborative writing with model assistance. As different users incorporate suggestions from the same model, there is a risk of decreased diversity in the produced content, potentially limiting diverse perspectives in public discourse. In this work, we measure the impact of co-writing on diversity via a controlled experiment, where users write argumentative essays in three setups -- using a base LLM (GPT3), a feedback-tuned LLM (InstructGPT), and writing without model help. We develop a set of diversity metrics and find that writing with InstructGPT (but not the GPT3) results in a statistically significant reduction in diversity. Specifically, it increases the similarity between the writings of different authors and reduces the overall lexical and content diversity. We additionally find that this effect is mainly attributable to InstructGPT contributing less diverse text to co-written essays. In contrast, the user-contributed text remains unaffected by model collaboration. This suggests that the recent improvement in generation quality from adapting models to human feedback might come at the cost of more homogeneous and less diverse content.", + "DOI": "10.48550/arXiv.2309.05196", + "publisher": "arXiv", + "title": "Does Writing with Language Models Reduce Content Diversity?", + "URL": "https://arxiv.org/abs/2309.05196", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "3", + "note": "Manuscript reference 79", + "container-title": "arXiv", + "number": "arXiv:2309.05196", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 9 + ] + ], + "date-time": "2026-09-09T15:54:13Z", + "timestamp": 1788969253863, + "version": "build-2803163510" + }, + "reference-count": 42, + "publisher": "American Association for the Advancement of Science (AAAS)", + "issue": "28", + "content-domain": { + "domain": [ + "www.science.org" + ], + "crossmark-restriction": true + }, + "published-print": { + "date-parts": [ + [ + 2024, + 7, + 12 + ] + ] + }, + "abstract": "Creativity is core to being human. Generative artificial intelligence (AI)—including powerful large language models (LLMs)—holds promise for humans to be more creative by offering new ideas, or less creative by anchoring on generative AI ideas. We study the causal impact of generative AI ideas on the production of short stories in an online experiment where some writers obtained story ideas from an LLM. We find that access to generative AI ideas causes stories to be evaluated as more creative, better written, and more enjoyable, especially among less creative writers. However, generative AI–enabled stories are more similar to each other than stories by humans alone. These results point to an increase in individual creativity at the risk of losing collective novelty. This dynamic resembles a social dilemma: With generative AI, writers are individually better off, but collectively a narrower scope of novel content is produced. Our results have implications for researchers, policy-makers, and practitioners interested in bolstering creativity.", + "DOI": "10.1126/sciadv.adn5290", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2024, + 7, + 12 + ] + ], + "date-time": "2024-07-12T13:59:05Z", + "timestamp": 1720792745000 + }, + "update-policy": "https://doi.org/10.34133/aaas_crossmark", + "source": "Crossref", + "is-referenced-by-count": 701, + "title": "Generative AI enhances individual creativity but reduces the collective diversity of novel content", + "prefix": "10.1126", + "volume": "10", + "author": [ + { + "ORCID": "https://orcid.org/0000-0002-8489-3373", + "authenticated-orcid": true, + "given": "Anil R.", + "family": "Doshi", + "sequence": "first", + "affiliation": [ + { + "name": "Department of Strategy and Entrepreneurship, UCL School of Management, London, UK." + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-9282-0801", + "authenticated-orcid": true, + "given": "Oliver P.", + "family": "Hauser", + "sequence": "additional", + "affiliation": [ + { + "name": "Department of Economics, University of Exeter, Exeter, UK." + }, + { + "name": "Institute for Data Science and Artificial Intelligence, University of Exeter, Exeter, UK." + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "221", + "reference": [ + { + "key": "e_1_3_2_2_2", + "doi-asserted-by": "crossref", + "unstructured": "R. J. Sternberg Handbook of Creativity (Cambridge Univ. Press 1999).", + "DOI": "10.1017/CBO9780511807916" + }, + { + "key": "e_1_3_2_3_2", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.adh4451" + }, + { + "key": "e_1_3_2_4_2", + "doi-asserted-by": "crossref", + "unstructured": "P. Yanardag M. Cebrian I. Rahwan Shelley: A crowd-sourced collaborative horror writer in Proceedings of the 13th Conference on Creativity and Cognition (Association for Computing Machinery 2021) pp. 1–8.", + "DOI": "10.1145/3450741.3465251" + }, + { + "key": "e_1_3_2_5_2", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.adh2586" + }, + { + "key": "e_1_3_2_6_2", + "doi-asserted-by": "crossref", + "unstructured": "E. Brynjolfsson D. Li L. R. Raymond Generative AI at Work (National Bureau of Economic Research 2023).", + "DOI": "10.3386/w31161" + }, + { + "key": "e_1_3_2_7_2", + "doi-asserted-by": "publisher", + "DOI": "10.5465/amj.2022.0426" + }, + { + "key": "e_1_3_2_8_2", + "unstructured": "S. Peng E. Kalliamvakou P. Cihon M. Demirer M. The impact of AI on developer productivity: Evidence from github copilot. arXiv:2302.06590 [cs.SE] (2023)." + }, + { + "key": "e_1_3_2_9_2", + "doi-asserted-by": "publisher", + "DOI": "10.1038/s41598-024-53755-0" + }, + { + "key": "e_1_3_2_10_2", + "doi-asserted-by": "publisher", + "DOI": "10.1002/per.409" + }, + { + "key": "e_1_3_2_11_2", + "doi-asserted-by": "publisher", + "DOI": "10.1093/jeea/jvx055" + }, + { + "key": "e_1_3_2_12_2", + "doi-asserted-by": "publisher", + "DOI": "10.1037/0022-3514.43.5.997" + }, + { + "key": "e_1_3_2_13_2", + "doi-asserted-by": "publisher", + "DOI": "10.5465/amr.2020.0110" + }, + { + "key": "e_1_3_2_14_2", + "doi-asserted-by": "publisher", + "DOI": "10.1037/0022-3514.43.6.1214" + }, + { + "key": "e_1_3_2_15_2", + "doi-asserted-by": "crossref", + "unstructured": "R. S. Nickerson Enhancing creativity in Handbook of Creativity (Cambridge Univ. Press 1998) pp. 392–430.", + "DOI": "10.1017/CBO9780511807916.022" + }, + { + "key": "e_1_3_2_16_2", + "unstructured": "W. Kenower W. The cold open: Facing the blank page. Writer's Digest (2020); https://writersdigest.com/be-inspired/the-cold-open-facing-the-blank-page." + }, + { + "key": "e_1_3_2_17_2", + "doi-asserted-by": "crossref", + "unstructured": "G. Charness B. Jabarian J. A. List “Generation next: Experimentation with AI ” NBER Working Paper Series (2023).", + "DOI": "10.3386/w31679" + }, + { + "key": "e_1_3_2_18_2", + "doi-asserted-by": "publisher", + "DOI": "10.1353/nar.2012.0002" + }, + { + "key": "e_1_3_2_19_2", + "doi-asserted-by": "crossref", + "unstructured": "M. Redi N. O'Hare R. Schifanella M. Trevisiol A. Jaimes 6 Seconds of sound and vision: Creativity in micro-videos in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (IEEE 2014) pp. 4272–4279.", + "DOI": "10.1109/CVPR.2014.544" + }, + { + "key": "e_1_3_2_20_2", + "doi-asserted-by": "publisher", + "DOI": "10.1353/nar.2019.0001" + }, + { + "key": "e_1_3_2_21_2", + "doi-asserted-by": "crossref", + "unstructured": "M. Raj J. Berg R. Seamans Art-ificial intelligence: The effect of AI disclosure on evaluations of creative content. arXiv:2303.06217 [cs.CY] (2023).", + "DOI": "10.2139/ssrn.4369818" + }, + { + "key": "e_1_3_2_22_2", + "doi-asserted-by": "publisher", + "DOI": "10.1038/s42256-020-0161-x" + }, + { + "key": "e_1_3_2_23_2", + "doi-asserted-by": "publisher", + "DOI": "10.1016/j.isci.2020.101515" + }, + { + "key": "e_1_3_2_24_2", + "doi-asserted-by": "crossref", + "unstructured": "Z. Epstein A. A. Arechar D. Rand What label should be applied to content produced by generative AI? PsyArXiv 10.31234 [Preprint] (2023). https://doi.org/10.31234/osf.io/v4mfz.", + "DOI": "10.31234/osf.io/v4mfz" + }, + { + "key": "e_1_3_2_25_2", + "unstructured": "R. Jauss Literary history as a challenge to literary theory in Toward an Aesthetic of Reception (Routledge 1974) pp. 3–45." + }, + { + "key": "e_1_3_2_26_2", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.2022340118" + }, + { + "key": "e_1_3_2_27_2", + "doi-asserted-by": "publisher", + "DOI": "10.1146/annurev-economics-082222-074352" + }, + { + "key": "e_1_3_2_28_2", + "doi-asserted-by": "crossref", + "unstructured": "E. Felten M. Raj R. Seamans How will language modelers like ChatGPT affect occupations and industries? arXiv:2303.01157 [econ.GN] (2023).", + "DOI": "10.2139/ssrn.4375268" + }, + { + "key": "e_1_3_2_29_2", + "doi-asserted-by": "crossref", + "unstructured": "T. Eloundou S. Manning P. Mishkin D. Rock GPTs are GPTs: An early look at the labor market impact potential of large language models. arXiv:2303.10130 [econ.GN] (2023).", + "DOI": "10.1126/science.adj0998" + }, + { + "key": "e_1_3_2_30_2", + "doi-asserted-by": "crossref", + "unstructured": "E. van Inwegen Z. T. Munyikwa J. J. Horton Algorithmic Writing Assistance on Jobseekers’ Resumes Increases Hires (No. w30886) (National Bureau of Economic Research 2023).", + "DOI": "10.2139/ssrn.4356195" + }, + { + "key": "e_1_3_2_31_2", + "doi-asserted-by": "crossref", + "unstructured": "N. Agarwal A. Moehring P. Rajpurkar T. Salz Combining Human Expertise with Artificial Intelligence: Experimental Evidence from Radiology (No. w31422) (National Bureau of Economic Research 2023).", + "DOI": "10.3386/w31422" + }, + { + "key": "e_1_3_2_32_2", + "doi-asserted-by": "publisher", + "DOI": "10.1038/s41586-023-06221-2" + }, + { + "key": "e_1_3_2_33_2", + "doi-asserted-by": "publisher", + "DOI": "10.1038/s41562-022-01383-x" + }, + { + "key": "e_1_3_2_34_2", + "unstructured": "R. Koster M. Pislar A. Tacchetti J. Balaguer L. Liu O. P. Hauser R. Elie K. Tuyls M. Botvinick C. Summerfield Using deep reinforcement-learning to discover a dynamic resource allocation policy that promotes sustainable human exchange. arXiv:2404.15059 [cs.AI] (2024)." + }, + { + "key": "e_1_3_2_35_2", + "doi-asserted-by": "publisher", + "DOI": "10.1016/j.leaqua.2020.101426" + }, + { + "key": "e_1_3_2_36_2", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.adh9429" + }, + { + "key": "e_1_3_2_37_2", + "doi-asserted-by": "crossref", + "unstructured": "A. Korinek Language Models and Cognitive Automation for Economic Research (No. w30957) (National Bureau of Economic Research 2023).", + "DOI": "10.3386/w30957" + }, + { + "key": "e_1_3_2_38_2", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.1900949116" + }, + { + "key": "e_1_3_2_39_2", + "doi-asserted-by": "publisher", + "DOI": "10.1287/isre.2022.1184" + }, + { + "key": "e_1_3_2_40_2", + "doi-asserted-by": "crossref", + "unstructured": "K. Girotra L. Meincke C. Terwiesch K. T. Ulrich Ideas are dimes a dozen: Large language models for idea generation in innovation (2023); http://dx.doi.org/10.2139/ssrn.4526071.", + "DOI": "10.2139/ssrn.4526071" + }, + { + "key": "e_1_3_2_41_2", + "doi-asserted-by": "crossref", + "unstructured": "A. R. Doshi J. J. Bell E. Mirzayev B. Vanneste Generative artificial intelligence and evaluating strategic decisions (2024); http://dx.doi.org/10.2139/ssrn.4714776.", + "DOI": "10.2139/ssrn.4714776" + }, + { + "key": "e_1_3_2_42_2", + "doi-asserted-by": "publisher", + "DOI": "10.1016/j.jbef.2017.12.004" + }, + { + "key": "e_1_3_2_43_2", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.162.3859.1243" + } + ], + "container-title": "Science Advances", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://www.science.org/doi/pdf/10.1126/sciadv.adn5290", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2024, + 7, + 12 + ] + ], + "date-time": "2024-07-12T13:59:58Z", + "timestamp": 1720792798000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.science.org/doi/10.1126/sciadv.adn5290" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2024, + 7, + 12 + ] + ] + }, + "references-count": 42, + "journal-issue": { + "issue": "28", + "published-print": { + "date-parts": [ + [ + 2024, + 7, + 12 + ] + ] + } + }, + "alternative-id": [ + "10.1126/sciadv.adn5290" + ], + "URL": "http://dx.doi.org/10.1126/sciadv.adn5290", + "relation": { + "has-preprint": [ + { + "id-type": "doi", + "id": "10.2139/ssrn.4535536", + "asserted-by": "object" + } + ] + }, + "ISSN": [ + "2375-2548" + ], + "subject": [], + "container-title-short": "Sci. Adv.", + "published": { + "date-parts": [ + [ + 2024, + 7, + 12 + ] + ] + }, + "assertion": [ + { + "value": "2023-12-14", + "order": 0, + "name": "received", + "label": "Received", + "group": { + "name": "publication_history", + "label": "Publication History" + } + }, + { + "value": "2024-06-07", + "order": 2, + "name": "accepted", + "label": "Accepted", + "group": { + "name": "publication_history", + "label": "Publication History" + } + }, + { + "value": "2024-07-12", + "order": 3, + "name": "published", + "label": "Published", + "group": { + "name": "publication_history", + "label": "Publication History" + } + } + ], + "article-number": "eadn5290", + "id": "ref80", + "note": "Manuscript reference 80" + } +] \ No newline at end of file diff --git a/paper/pnas/refs/references.json b/paper/pnas/refs/references.json new file mode 100644 index 0000000..7b68856 --- /dev/null +++ b/paper/pnas/refs/references.json @@ -0,0 +1,15308 @@ +[ + { + "type": "article", + "id": "ref1", + "categories": [ + "Social and Information Networks (cs.SI)", + "Artificial Intelligence (cs.AI)", + "Computers and Society (cs.CY)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Laufer", + "given": "Benjamin" + }, + { + "family": "Oderinwale", + "given": "Hamidah" + }, + { + "family": "Kleinberg", + "given": "Jon" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Many have observed that the development and deployment of generative machine learning (ML) and artificial intelligence (AI) models follow a distinctive pattern in which pre-trained models are adapted and fine-tuned for specific downstream tasks. However, there is limited empirical work that examines the structure of these interactions. This paper analyzes 1.86 million models on Hugging Face, a leading peer production platform for model development. Our study of model family trees -- networks that connect fine-tuned models to their base or parent -- reveals sprawling fine-tuning lineages that vary widely in size and structure. Using an evolutionary biology lens to study ML models, we use model metadata and model cards to measure the genetic similarity and mutation of traits over model families. We find that models tend to exhibit a family resemblance, meaning their genetic markers and traits exhibit more overlap when they belong to the same model family. However, these similarities depart in certain ways from standard models of asexual reproduction, because mutations are fast and directed, such that two `sibling' models tend to exhibit more similarity than parent/child pairs. Further analysis of the directional drifts of these mutations reveals qualitative insights about the open machine learning ecosystem: Licenses counter-intuitively drift from restrictive, commercial licenses towards permissive or copyleft licenses, often in violation of upstream license's terms; models evolve from multi-lingual compatibility towards english-only compatibility; and model cards reduce in length and standardize by turning, more often, to templates and automatically generated text. Overall, this work takes a step toward an empirically grounded understanding of model fine-tuning and suggests that ecological models and methods can yield novel scientific insights.", + "DOI": "10.48550/arXiv.2508.06811", + "publisher": "arXiv", + "title": "Anatomy of a Machine Learning Ecosystem: 2 Million Models on Hugging Face", + "URL": "https://arxiv.org/abs/2508.06811", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 1", + "container-title": "arXiv", + "number": "arXiv:2508.06811", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref2", + "categories": [ + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Horwitz", + "given": "Eliahu" + }, + { + "family": "Shul", + "given": "Asaf" + }, + { + "family": "Hoshen", + "given": "Yedid" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "The number of models shared online has recently skyrocketed, with over one million public models available on Hugging Face. Sharing models allows other users to build on existing models, using them as initialization for fine-tuning, improving accuracy, and saving compute and energy. However, it also raises important intellectual property issues, as fine-tuning may violate the license terms of the original model or that of its training data. A Model Tree, i.e., a tree data structure rooted at a foundation model and having directed edges between a parent model and other models directly fine-tuned from it (children), would settle such disputes by making the model heritage explicit. Unfortunately, current models are not well documented, with most model metadata (e.g., \"model cards\") not providing accurate information about heritage. In this paper, we introduce the task of Unsupervised Model Tree Heritage Recovery (Unsupervised MoTHer Recovery) for collections of neural networks. For each pair of models, this task requires: i) determining if they are directly related, and ii) establishing the direction of the relationship. Our hypothesis is that model weights encode this information, the challenge is to decode the underlying tree structure given the weights. We discover several properties of model weights that allow us to perform this task. By using these properties, we formulate the MoTHer Recovery task as finding a directed minimal spanning tree. In extensive experiments we demonstrate that our method successfully reconstructs complex Model Trees.", + "DOI": "10.48550/arXiv.2405.18432", + "publisher": "arXiv", + "title": "Unsupervised Model Tree Heritage Recovery", + "URL": "https://arxiv.org/abs/2405.18432", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 2", + "container-title": "arXiv", + "number": "arXiv:2405.18432", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref3", + "categories": [ + "Software Engineering (cs.SE)", + "Artificial Intelligence (cs.AI)", + "Databases (cs.DB)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Jiang", + "given": "Wenxin" + }, + { + "family": "Yasmin", + "given": "Jerin" + }, + { + "family": "Jones", + "given": "Jason" + }, + { + "family": "Synovic", + "given": "Nicholas" + }, + { + "family": "Kuo", + "given": "Jiashen" + }, + { + "family": "Bielanski", + "given": "Nathaniel" + }, + { + "family": "Tian", + "given": "Yuan" + }, + { + "family": "Thiruvathukal", + "given": "George K." + }, + { + "family": "Davis", + "given": "James C." + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "The development and training of deep learning models have become increasingly costly and complex. Consequently, software engineers are adopting pre-trained models (PTMs) for their downstream applications. The dynamics of the PTM supply chain remain largely unexplored, signaling a clear need for structured datasets that document not only the metadata but also the subsequent applications of these models. Without such data, the MSR community cannot comprehensively understand the impact of PTM adoption and reuse. This paper presents the PeaTMOSS dataset, which comprises metadata for 281,638 PTMs and detailed snapshots for all PTMs with over 50 monthly downloads (14,296 PTMs), along with 28,575 open-source software repositories from GitHub that utilize these models. Additionally, the dataset includes 44,337 mappings from 15,129 downstream GitHub repositories to the 2,530 PTMs they use. To enhance the dataset's comprehensiveness, we developed prompts for a large language model to automatically extract model metadata, including the model's training datasets, parameters, and evaluation metrics. Our analysis of this dataset provides the first summary statistics for the PTM supply chain, showing the trend of PTM development and common shortcomings of PTM package documentation. Our example application reveals inconsistencies in software licenses across PTMs and their dependent projects. PeaTMOSS lays the foundation for future research, offering rich opportunities to investigate the PTM supply chain. We outline mining opportunities on PTMs, their downstream usage, and cross-cutting questions.", + "DOI": "10.48550/arXiv.2402.00699", + "publisher": "arXiv", + "title": "PeaTMOSS: A Dataset and Initial Analysis of Pre-Trained Models in Open-Source Software", + "URL": "https://arxiv.org/abs/2402.00699", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 3", + "container-title": "arXiv", + "number": "arXiv:2402.00699", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref4", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Computation and Language (cs.CL)", + "Computer Vision and Pattern Recognition (cs.CV)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Yadav", + "given": "Prateek" + }, + { + "family": "Tam", + "given": "Derek" + }, + { + "family": "Choshen", + "given": "Leshem" + }, + { + "family": "Raffel", + "given": "Colin" + }, + { + "family": "Bansal", + "given": "Mohit" + } + ], + "issued": { + "date-parts": [ + [ + 2023 + ] + ] + }, + "abstract": "Transfer learning - i.e., further fine-tuning a pre-trained model on a downstream task - can confer significant advantages, including improved downstream performance, faster convergence, and better sample efficiency. These advantages have led to a proliferation of task-specific fine-tuned models, which typically can only perform a single task and do not benefit from one another. Recently, model merging techniques have emerged as a solution to combine multiple task-specific models into a single multitask model without performing additional training. However, existing merging methods often ignore the interference between parameters of different models, resulting in large performance drops when merging multiple models. In this paper, we demonstrate that prior merging techniques inadvertently lose valuable information due to two major sources of interference: (a) interference due to redundant parameter values and (b) disagreement on the sign of a given parameter's values across models. To address this, we propose our method, TRIM, ELECT SIGN & MERGE (TIES-Merging), which introduces three novel steps when merging models: (1) resetting parameters that only changed a small amount during fine-tuning, (2) resolving sign conflicts, and (3) merging only the parameters that are in alignment with the final agreed-upon sign. We find that TIES-Merging outperforms several existing methods in diverse settings covering a range of modalities, domains, number of tasks, model sizes, architectures, and fine-tuning settings. We further analyze the impact of different types of interference on model parameters, and highlight the importance of resolving sign interference. Our code is available at https://github.com/prateeky2806/ties-merging", + "DOI": "10.48550/arXiv.2306.01708", + "publisher": "arXiv", + "title": "TIES-Merging: Resolving Interference When Merging Models", + "URL": "https://arxiv.org/abs/2306.01708", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 4", + "container-title": "arXiv", + "number": "arXiv:2306.01708", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 5 + ] + ], + "date-time": "2026-09-05T03:55:40Z", + "timestamp": 1788580540666, + "version": "build-2803163510" + }, + "reference-count": 47, + "publisher": "Springer Science and Business Media LLC", + "issue": "2", + "license": [ + { + "start": { + "date-parts": [ + [ + 2025, + 1, + 27 + ] + ], + "date-time": "2025-01-27T00:00:00Z", + "timestamp": 1737936000000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://creativecommons.org/licenses/by/4.0" + }, + { + "start": { + "date-parts": [ + [ + 2025, + 1, + 27 + ] + ], + "date-time": "2025-01-27T00:00:00Z", + "timestamp": 1737936000000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://creativecommons.org/licenses/by/4.0" + } + ], + "content-domain": { + "domain": [ + "link.springer.com" + ], + "crossmark-restriction": false + }, + "abstract": "Abstract Large language models (LLMs) have become increasingly capable, but their development often requires substantial computational resources. Although model merging has emerged as a cost-effective promising approach for creating new models by combining existing ones, it currently relies on human intuition and domain knowledge, limiting its potential. Here we propose an evolutionary approach that overcomes this limitation by automatically discovering effective combinations of diverse open-source models, harnessing their collective intelligence without requiring extensive additional training data or compute. Our approach operates in both parameter space and data flow space, allowing optimization beyond just the weights of the individual models. This approach even facilitates cross-domain merging, generating models such as a Japanese LLM with math reasoning capabilities. Surprisingly, our Japanese math LLM achieved state-of-the-art performance on a variety of established Japanese LLM benchmarks, even surpassing models with substantially more parameters, despite not being explicitly trained for such tasks. Furthermore, a culturally aware Japanese vision–language model generated through our approach demonstrates its effectiveness in describing Japanese culture-specific content, outperforming previous Japanese vision–language models. This work not only contributes new state-of-the-art models back to the open-source community but also introduces a new paradigm for automated model composition, paving the way for exploring alternative, efficient approaches to foundation model development.", + "DOI": "10.1038/s42256-024-00975-8", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2025, + 1, + 27 + ] + ], + "date-time": "2025-01-27T05:12:30Z", + "timestamp": 1737954750000 + }, + "page": "195-204", + "update-policy": "https://doi.org/10.1007/springer_crossmark_policy", + "source": "Crossref", + "is-referenced-by-count": 50, + "title": "Evolutionary optimization of model merging recipes", + "prefix": "10.1038", + "volume": "7", + "author": [ + { + "given": "Takuya", + "family": "Akiba", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Makoto", + "family": "Shing", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Yujin", + "family": "Tang", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0009-0004-9875-0906", + "authenticated-orcid": false, + "given": "Qi", + "family": "Sun", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0001-8765-8574", + "authenticated-orcid": false, + "given": "David", + "family": "Ha", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "297", + "published-online": { + "date-parts": [ + [ + 2025, + 1, + 27 + ] + ] + }, + "reference": [ + { + "key": "975_CR1", + "unstructured": "Goddard, C. O. mergekit. GitHub https://github.com/arcee-ai/mergekit (2024)." + }, + { + "key": "975_CR2", + "unstructured": "Labonne, M. Merge large language models with mergekit. Hugging Face Blog https://huggingface.co/blog/mlabonne/merge-models (2024)." + }, + { + "key": "975_CR3", + "unstructured": "HuggingFace. Open llm leaderboard. Hugging Face Blog https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard (2023)." + }, + { + "key": "975_CR4", + "unstructured": "Wortsman, M. et al. Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time. In International Conference on Machine Learning Vol. 162 (eds Chaudhuri, K. et al.) 23965–23998 (PMLR, 2022); https://proceedings.mlr.press/v162/wortsman22a.html" + }, + { + "key": "975_CR5", + "unstructured": "Ilharco, G. et al. Editing models with task arithmetic. In The Eleventh International Conference on Learning Representations (OpenReview.net, 2023); https://openreview.net/forum?id=6t0Kwf8-jrj" + }, + { + "key": "975_CR6", + "unstructured": "Yadav, P., Tam, D., Choshen, L., Raffel, C. A. & Bansal, M. Ties-merging: resolving interference when merging models. In Advances in Neural Information Processing Systems Vol. 36 (eds Oh, A. et al.) 7093–7115 (Curran Associates, 2023)." + }, + { + "key": "975_CR7", + "unstructured": "Yu, L., Yu, B., Yu, H., Huang, F. & Li, Y. Language models are Super Mario: absorbing abilities from homologous models as a free lunch. In International Conference on Machine Learning Vol. 235 (eds Salakhutdinov, R. et al.) 57755–57775 (PMLR, 2024); https://proceedings.mlr.press/v235/yu24p.html" + }, + { + "key": "975_CR8", + "unstructured": "Ainsworth, S. K., Hayase, J. & Srinivasa, S. S.Git re-basin: merging models modulo permutation symmetries. In The Eleventh International Conference on Learning Representations (OpenReview.net, 2023)." + }, + { + "key": "975_CR9", + "first-page": "17703", + "volume": "35", + "author": "MS Matena", + "year": "2022", + "unstructured": "Matena, M. S. & Raffel, C. A. Merging models with fisher-weighted averaging. Adv. Neural Inf. Process. Syst. 35, 17703–17716 (2022).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "975_CR10", + "unstructured": "Hansen, N. in Towards a New Evolutionary Computation: Advances In the Estimation of Distribution Algorithms (eds Lozano, J. A. et al.) 75–102 (Springer, 2006)." + }, + { + "key": "975_CR11", + "doi-asserted-by": "crossref", + "unstructured": "Geva, M., Caciularu, A., Wang, K. R. & Goldberg, Y. Transformer feed-forward layers build predictions by promoting concepts in the vocabulary space. In Proc. 2021 Conference on Empirical Methods in Natural Language Processing (eds Goldberg, Y., Kozareva, Z., Zhang, Y.) 30–45 (Association for Computational Linguistics, 2022).", + "DOI": "10.18653/v1/2022.emnlp-main.3" + }, + { + "key": "975_CR12", + "unstructured": "nostalgebraist. Interpreting gpt: the logit lens. LessWrong https://www.lesswrong.com/posts/AcKRB8wDpdaN6v6ru/interpreting-gpt-the-logit-lens (2021)." + }, + { + "key": "975_CR13", + "first-page": "17359", + "volume": "35", + "author": "K Meng", + "year": "2022", + "unstructured": "Meng, K., Bau, D., Andonian, A. & Belinkov, Y. Locating and editing factual associations in gpt. Adv. Neural Inf. Process. Syst. 35, 17359–17372 (2022).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "975_CR14", + "unstructured": "Sun, Q., Pickett, M., Nain, A. K. & Jones, L. Transformer layers as painters. Preprint at https://arxiv.org/abs/2407.09298 (2024)." + }, + { + "key": "975_CR15", + "doi-asserted-by": "publisher", + "first-page": "131", + "DOI": "10.1162/neco.1992.4.1.131", + "volume": "4", + "author": "J Schmidhuber", + "year": "1992", + "unstructured": "Schmidhuber, J. Learning to control fast-weight memories: an alternative to dynamic recurrent networks. Neural Comput. 4, 131–139 (1992).", + "journal-title": "Neural Comput." + }, + { + "key": "975_CR16", + "unstructured": "Ha, D., Dai, A. & Le, Q. V. Hypernetworks. In International Conference on Learning Representations (OpenReview.net, 2017); https://openreview.net/forum?id=rkpACe1lx" + }, + { + "key": "975_CR17", + "doi-asserted-by": "publisher", + "first-page": "182", + "DOI": "10.1109/4235.996017", + "volume": "6", + "author": "K Deb", + "year": "2002", + "unstructured": "Deb, K., Pratap, A., Agarwal, S. & Meyarivan, T. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comp. 6, 182–197 (2002).", + "journal-title": "IEEE Trans. Evol. Comp." + }, + { + "key": "975_CR18", + "unstructured": "Shi, F. et al. Language models are multilingual chain-of-thought reasoners. In The Eleventh International Conference on Learning Representations (OpenReview.net, 2023); https://openreview.net/pdf?id=fR3wGCk-IXp" + }, + { + "key": "975_CR19", + "unstructured": "Cobbe, K. et al. Training verifiers to solve math word problems. Preprint at https://arxiv.org/abs/2110.14168 (2021)." + }, + { + "key": "975_CR20", + "unstructured": "Li, J., Li, D., Savarese, S. & Hoi, S. Blip-2: bootstrapping language-image pre-training with frozen image encoders and large language models. In International Conference on Machine Learning Vol. 202 (eds Krause, A. et al.) 19730–19742 (PMLR, 2023); https://proceedings.mlr.press/v202/li23q.html" + }, + { + "key": "975_CR21", + "unstructured": "Dai, W. et al. Instructblip: towards general-purpose vision–language models with instruction tuning. In Advances in Neural Information Processing Systems Vol. 36 (eds Oh, A. et al.) 49250–49267 (Curran Associates, 2023)." + }, + { + "key": "975_CR22", + "unstructured": "Liu, H., Li, C., Wu, Q. & Lee, Y. J. Visual instruction tuning. In Advances in Neural Information Processing Systems Vol. 36 (eds Oh, A. et al.) 34891–34916 (Curran Associates, 2023)." + }, + { + "key": "975_CR23", + "doi-asserted-by": "crossref", + "unstructured": "Liu, H., Li, C., Li, Y. & Lee, Y. J. Improved baselines with visual instruction tuning. In Proc. IEEE/CVF Conference on Computer Vision and Pattern Recognition 26296–26306 (2024).", + "DOI": "10.1109/CVPR52733.2024.02484" + }, + { + "key": "975_CR24", + "unstructured": "Bai, J. et al. Qwen-vl: a versatile vision–language model for understanding, localization, text reading, and beyond. Preprint at https://arxiv.org/abs/2308.12966 (2023)." + }, + { + "key": "975_CR25", + "unstructured": "Labonne, M. Automerger experiment. Twitter https://twitter.com/maximelabonne/status/1767124527551549860 (2024)." + }, + { + "key": "975_CR26", + "unstructured": "White, T. Sampling generative networks. Preprint at https://arxiv.org/abs/1609.04468 (2016)." + }, + { + "key": "975_CR27", + "unstructured": "AI, S. Evosdxl-jp-v1. sakana.ai https://sakana.ai/evosdxl-jp/ (2024)." + }, + { + "key": "975_CR28", + "unstructured": "Lin, S., Wang, A. & Yang, X. Sdxl-lightning: progressive adversarial diffusion distillation. Preprint at https://arxiv.org/abs/2402.13929 (2024)." + }, + { + "key": "975_CR29", + "unstructured": "AI, S. Evovlm-jp-v2. sakana.ai https://sakana.ai/evovlm-jp/ (2024)." + }, + { + "key": "975_CR30", + "unstructured": "AI, S. Evoukiyoe. sakana.ai https://sakana.ai/evo-ukiyoe/ (2024)." + }, + { + "key": "975_CR31", + "doi-asserted-by": "publisher", + "unstructured": "Akiba, T., Sano, S., Yanase, T., Ohta, T. & Koyama, M. Optuna: a next-generation hyperparameter optimization framework. In Proc. 25th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining 2623–2631 (Association for Computing Machinery, 2019); https://doi.org/10.1145/3292500.3330701", + "DOI": "10.1145/3292500.3330701" + }, + { + "key": "975_CR32", + "unstructured": "augmxnt. shisa-gamma-7b. Hugging Face https://hf.co/augmxnt/shisa-gamma-7b-v1 (2023)." + }, + { + "key": "975_CR33", + "unstructured": "Luo, H. et al. Wizardmath: empowering mathematical reasoning for large language models via reinforced evol-instruct. Preprint at https://arxiv.org/abs/2308.09583 (2023)." + }, + { + "key": "975_CR34", + "unstructured": "Chern, E. et al. Generative ai for math: Abel. GitHub https://github.com/GAIR-NLP/abel (2023)." + }, + { + "key": "975_CR35", + "unstructured": "Jiang, A. Q. et al. Mistral 7b. Preprint at https://arxiv.org/abs/2310.06825 (2023)." + }, + { + "key": "975_CR36", + "doi-asserted-by": "crossref", + "unstructured": "Joulin, A., Grave, E., Bojanowski, P. & Mikolov, T. Bag of tricks for efficient text classification. In Proc. 15th Conference of the European Chapter of the Association for Computational Linguistics (eds Lapata, M., Blunsom, P. & Koller, A.) 427–431 (Association for Computational Linguistics, 2017).", + "DOI": "10.18653/v1/E17-2068" + }, + { + "key": "975_CR37", + "unstructured": "Joulin, A. et al. Fasttext.zip: compressing text classification models. Preprint at https://arxiv.org/abs/1612.03651 (2016)." + }, + { + "key": "975_CR38", + "unstructured": "AI, S. Jp language model evaluation harness. GitHub https://github.com/Stability-AI/lm-evaluation-harness/tree/jp-stable (2024)." + }, + { + "key": "975_CR39", + "doi-asserted-by": "publisher", + "unstructured": "Gao, L. et al. A framework for few-shot language model evaluation. Zenodo https://doi.org/10.5281/zenodo.14506035 (2023).", + "DOI": "10.5281/zenodo.14506035" + }, + { + "key": "975_CR40", + "unstructured": "AI, S. Japanese stable lm beta. stability.ai https://ja.stability.ai/blog/japanese-stable-lm-beta (2024)." + }, + { + "key": "975_CR41", + "unstructured": "rinna. Lm benchmark. GitHub https://rinnakk.github.io/research/benchmarks/lm/index.html (2024)." + }, + { + "key": "975_CR42", + "doi-asserted-by": "crossref", + "unstructured": "Tang, Y., Tian, Y., Ha, Da. EvoJAX: hardware-accelerated neuroevolution. In Proc. the Genetic and Evolutionary Computation Conference Companion 308–311 (Association for Computing Machinery, 2022).", + "DOI": "10.1145/3520304.3528770" + }, + { + "key": "975_CR43", + "unstructured": "Liu, H. et al. Llava-next: improved reasoning, ocr, and world knowledge. LLaVA https://llava-vl.github.io/blog/2024-01-30-llava-next/ (2024)." + }, + { + "key": "975_CR44", + "unstructured": "Shimizu, N., Rong, N. & Miyazaki, T. Visual question answering dataset for bilingual image understanding: a study of cross-lingual transfer using attention maps. In Proc. 27th International Conference on Computational Linguistics, 1918–1928 (Association for Computational Linguistics, 2018); http://aclweb.org/anthology/C18-1163" + }, + { + "key": "975_CR45", + "unstructured": "OpenAI. Gpt-4v(ision) system card. https://cdn.openai.com/papers/GPTV_System_Card.pdf (OpenAI, 2023)." + }, + { + "key": "975_CR46", + "unstructured": "Shing, M. & Akiba, T. Japanese stable vlm. Hugging Face https://huggingface.co/stabilityai/japanese-stable-vlm (2023)." + }, + { + "key": "975_CR47", + "doi-asserted-by": "publisher", + "unstructured": "Akiba, T., Shing, M., Tang, Y., Sun, Q. & Ha, D. Sakanaai/evolutionary-model-merge: v0.1.0 Zenodo https://doi.org/10.5281/zenodo.14241914 (2024).", + "DOI": "10.5281/zenodo.14241914" + } + ], + "container-title": "Nature Machine Intelligence", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://www.nature.com/articles/s42256-024-00975-8.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://www.nature.com/articles/s42256-024-00975-8", + "content-type": "text/html", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://www.nature.com/articles/s42256-024-00975-8.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2025, + 2, + 23 + ] + ], + "date-time": "2025-02-23T18:03:40Z", + "timestamp": 1740333820000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.nature.com/articles/s42256-024-00975-8" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2025, + 1, + 27 + ] + ] + }, + "references-count": 47, + "journal-issue": { + "issue": "2", + "published-online": { + "date-parts": [ + [ + 2025, + 2 + ] + ] + } + }, + "alternative-id": [ + "975" + ], + "URL": "http://dx.doi.org/10.1038/s42256-024-00975-8", + "relation": {}, + "ISSN": [ + "2522-5839" + ], + "subject": [], + "container-title-short": "Nat Mach Intell", + "published": { + "date-parts": [ + [ + 2025, + 1, + 27 + ] + ] + }, + "assertion": [ + { + "value": "22 April 2024", + "order": 1, + "name": "received", + "label": "Received", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "16 December 2024", + "order": 2, + "name": "accepted", + "label": "Accepted", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "27 January 2025", + "order": 3, + "name": "first_online", + "label": "First Online", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "The authors declare no competing interests.", + "order": 1, + "name": "Ethics", + "group": { + "name": "EthicsHeading", + "label": "Competing interests" + } + } + ], + "id": "ref5", + "note": "Manuscript reference 5" + }, + { + "type": "article", + "id": "ref6", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Goddard", + "given": "Charles" + }, + { + "family": "Siriwardhana", + "given": "Shamane" + }, + { + "family": "Ehghaghi", + "given": "Malikeh" + }, + { + "family": "Meyers", + "given": "Luke" + }, + { + "family": "Karpukhin", + "given": "Vlad" + }, + { + "family": "Benedict", + "given": "Brian" + }, + { + "family": "McQuade", + "given": "Mark" + }, + { + "family": "Solawetz", + "given": "Jacob" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "The rapid expansion of the open-source language model landscape presents an opportunity to merge the competencies of these model checkpoints by combining their parameters. Advances in transfer learning, the process of fine-tuning pretrained models for specific tasks, has resulted in the development of vast amounts of task-specific models, typically specialized in individual tasks and unable to utilize each other's strengths. Model merging facilitates the creation of multitask models without the need for additional training, offering a promising avenue for enhancing model performance and versatility. By preserving the intrinsic capabilities of the original models, model merging addresses complex challenges in AI - including the difficulties of catastrophic forgetting and multitask learning. To support this expanding area of research, we introduce MergeKit, a comprehensive, open-source library designed to facilitate the application of model merging strategies. MergeKit offers an extensible framework to efficiently merge models on any hardware, providing utility to researchers and practitioners. To date, thousands of models have been merged by the open-source community, leading to the creation of some of the worlds most powerful open-source model checkpoints, as assessed by the Open LLM Leaderboard. The library is accessible at https://github.com/arcee-ai/MergeKit.", + "DOI": "10.48550/arXiv.2403.13257", + "publisher": "arXiv", + "title": "Arcee's MergeKit: A Toolkit for Merging Large Language Models", + "URL": "https://arxiv.org/abs/2403.13257", + "copyright": "Creative Commons Attribution Share Alike 4.0 International", + "version": "3", + "note": "Manuscript reference 6", + "container-title": "arXiv", + "number": "arXiv:2403.13257", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref7", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Computation and Language (cs.CL)", + "Computer Vision and Pattern Recognition (cs.CV)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Yang", + "given": "Enneng" + }, + { + "family": "Shen", + "given": "Li" + }, + { + "family": "Guo", + "given": "Guibing" + }, + { + "family": "Wang", + "given": "Xingwei" + }, + { + "family": "Cao", + "given": "Xiaochun" + }, + { + "family": "Zhang", + "given": "Jie" + }, + { + "family": "Tao", + "given": "Dacheng" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Model merging is an efficient empowerment technique in the machine learning community that does not require the collection of raw training data and does not require expensive computation. As model merging becomes increasingly prevalent across various fields, it is crucial to understand the available model merging techniques comprehensively. However, there is a significant gap in the literature regarding a systematic and thorough review of these techniques. This survey provides a comprehensive overview of model merging methods and theories, their applications in various domains and settings, and future research directions. Specifically, we first propose a new taxonomic approach that exhaustively discusses existing model merging methods. Secondly, we discuss the application of model merging techniques in large language models, multimodal large language models, and more than ten machine learning subfields, including continual learning, multi-task learning, few-shot learning, etc. Finally, we highlight the remaining challenges of model merging and discuss future research directions. A comprehensive list of papers about model merging is available at https://github.com/EnnengYang/Awesome-Model-Merging-Methods-Theories-Applications.", + "DOI": "10.48550/arXiv.2408.07666", + "publisher": "arXiv", + "title": "Model Merging in LLMs, MLLMs, and Beyond: Methods, Theories, Applications and Opportunities", + "URL": "https://arxiv.org/abs/2408.07666", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "5", + "note": "Manuscript reference 7", + "container-title": "arXiv", + "number": "arXiv:2408.07666", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref8", + "categories": [ + "Computation and Language (cs.CL)", + "Multiagent Systems (cs.MA)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Zhang", + "given": "Yiqun" + }, + { + "family": "Ye", + "given": "Peng" + }, + { + "family": "Yang", + "given": "Xiaocui" + }, + { + "family": "Feng", + "given": "Shi" + }, + { + "family": "Zhang", + "given": "Shufei" + }, + { + "family": "Bai", + "given": "Lei" + }, + { + "family": "Ouyang", + "given": "Wanli" + }, + { + "family": "Hu", + "given": "Shuyue" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Evolution, the engine behind the survival and growth of life on Earth, operates through the population-based process of reproduction. Inspired by this principle, this paper formally defines a newly emerging problem -- the population-based evolution of large language models (LLMs) -- and introduces a novel framework. Starting with a population of parent LLMs, our framework enables the population to evolve through four key operations: (i) crossover, merging the weights of different parents to create offspring LLMs, (ii) mutation, introducing small, random changes to model weights to foster diversity, (iii) selection, prioritizing high-performing models, and (iv) succession, transferring the learned experience from parent to offspring LLMs. With only 200 samples per new task, the LLM population evolves rapidly to adapt to the task at hand, without any gradients. Experiments on 12 datasets show that our framework consistently outperforms existing multi-LLM merging and adaptation methods, achieving accuracy gains of up to 54.8% over the best LLM in the initial population. Moreover, our framework allows for the evolution of LLMs across multiple new tasks simultaneously, scaling effectively with populations of up to 40 LLMs, and even zero-shot generalization to unseen held-out tasks. We have open-sourced the code on GitHub and released the weights of 10 parent LLMs, fine-tuned from gemma-2-2b-it, on HuggingFace$, enabling reproduction of our proposed framework using just a single 4090 GPU with 24GB memory, without any performance degradation.", + "DOI": "10.48550/arXiv.2503.01155", + "publisher": "arXiv", + "title": "Nature-Inspired Population-Based Evolution of Large Language Models", + "URL": "https://arxiv.org/abs/2503.01155", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "1", + "note": "Manuscript reference 8", + "container-title": "arXiv", + "number": "arXiv:2503.01155", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref9", + "categories": [ + "Artificial Intelligence (cs.AI)", + "Neural and Evolutionary Computing (cs.NE)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Abrantes", + "given": "João" + }, + { + "family": "Lange", + "given": "Robert Tjarko" + }, + { + "family": "Tang", + "given": "Yujin" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Model merging is a powerful technique for integrating the specialized knowledge of multiple machine learning models into a single model. However, existing methods require manually partitioning model parameters into fixed groups for merging, which restricts the exploration of potential combinations and limits performance. To overcome these limitations, we propose Model Merging of Natural Niches (M2N2), an evolutionary algorithm with three key features: (1) dynamic adjustment of merging boundaries to progressively explore a broader range of parameter combinations; (2) a diversity preservation mechanism inspired by the competition for resources in nature, to maintain a population of diverse, high-performing models that are particularly well-suited for merging; and (3) a heuristicbased attraction metric to identify the most promising pairs of models for fusion. Our experimental results demonstrate, for the first time, that model merging can be used to evolve models entirely from scratch. Specifically, we apply M2N2 to evolve MNIST classifiers from scratch and achieve performance comparable to CMA-ES, while being computationally more efficient. Furthermore, M2N2 scales to merge specialized language and image generation models, achieving state-of-the-art performance. Notably, it preserves crucial model capabilities beyond those explicitly optimized by the fitness function, highlighting its robustness and versatility. Our code is available at https://github.com/SakanaAI/natural_niches", + "DOI": "10.48550/arXiv.2508.16204", + "publisher": "arXiv", + "title": "Competition and Attraction Improve Model Fusion", + "URL": "https://arxiv.org/abs/2508.16204", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 9", + "container-title": "arXiv", + "number": "arXiv:2508.16204", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref10", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Subramaniam", + "given": "Vighnesh" + }, + { + "family": "Du", + "given": "Yilun" + }, + { + "family": "Tenenbaum", + "given": "Joshua B." + }, + { + "family": "Torralba", + "given": "Antonio" + }, + { + "family": "Li", + "given": "Shuang" + }, + { + "family": "Mordatch", + "given": "Igor" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Large language models (LLMs) have achieved remarkable performance in recent years but are fundamentally limited by the underlying training data. To improve models beyond the training data, recent works have explored how LLMs can be used to generate synthetic data for autonomous self-improvement. However, successive steps of self-improvement can reach a point of diminishing returns. In this work, we propose a complementary approach towards self-improvement where finetuning is applied to a multiagent society of language models. A group of language models, all starting from the same base model, are independently specialized by updating each one using data generated through multiagent interactions among the models. By training each model on independent sets of data, we illustrate how this approach enables specialization across models and diversification over the set of models. As a result, our overall system is able to preserve diverse reasoning chains and autonomously improve over many more rounds of fine-tuning than single-agent self-improvement methods. We quantitatively illustrate the efficacy of the approach across a wide suite of reasoning tasks.", + "DOI": "10.48550/arXiv.2501.05707", + "publisher": "arXiv", + "title": "Multiagent Finetuning: Self Improvement with Diverse Reasoning Chains", + "URL": "https://arxiv.org/abs/2501.05707", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 10", + "container-title": "arXiv", + "number": "arXiv:2501.05707", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref11", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "literal": "Nvidia" + }, + { + "literal": ":" + }, + { + "family": "Adler", + "given": "Bo" + }, + { + "family": "Agarwal", + "given": "Niket" + }, + { + "family": "Aithal", + "given": "Ashwath" + }, + { + "family": "Anh", + "given": "Dong H." + }, + { + "family": "Bhattacharya", + "given": "Pallab" + }, + { + "family": "Brundyn", + "given": "Annika" + }, + { + "family": "Casper", + "given": "Jared" + }, + { + "family": "Catanzaro", + "given": "Bryan" + }, + { + "family": "Clay", + "given": "Sharon" + }, + { + "family": "Cohen", + "given": "Jonathan" + }, + { + "family": "Das", + "given": "Sirshak" + }, + { + "family": "Dattagupta", + "given": "Ayush" + }, + { + "family": "Delalleau", + "given": "Olivier" + }, + { + "family": "Derczynski", + "given": "Leon" + }, + { + "family": "Dong", + "given": "Yi" + }, + { + "family": "Egert", + "given": "Daniel" + }, + { + "family": "Evans", + "given": "Ellie" + }, + { + "family": "Ficek", + "given": "Aleksander" + }, + { + "family": "Fridman", + "given": "Denys" + }, + { + "family": "Ghosh", + "given": "Shaona" + }, + { + "family": "Ginsburg", + "given": "Boris" + }, + { + "family": "Gitman", + "given": "Igor" + }, + { + "family": "Grzegorzek", + "given": "Tomasz" + }, + { + "family": "Hero", + "given": "Robert" + }, + { + "family": "Huang", + "given": "Jining" + }, + { + "family": "Jawa", + "given": "Vibhu" + }, + { + "family": "Jennings", + "given": "Joseph" + }, + { + "family": "Jhunjhunwala", + "given": "Aastha" + }, + { + "family": "Kamalu", + "given": "John" + }, + { + "family": "Khan", + "given": "Sadaf" + }, + { + "family": "Kuchaiev", + "given": "Oleksii" + }, + { + "family": "LeGresley", + "given": "Patrick" + }, + { + "family": "Li", + "given": "Hui" + }, + { + "family": "Liu", + "given": "Jiwei" + }, + { + "family": "Liu", + "given": "Zihan" + }, + { + "family": "Long", + "given": "Eileen" + }, + { + "family": "Mahabaleshwarkar", + "given": "Ameya Sunil" + }, + { + "family": "Majumdar", + "given": "Somshubra" + }, + { + "family": "Maki", + "given": "James" + }, + { + "family": "Martinez", + "given": "Miguel" + }, + { + "family": "de Melo", + "given": "Maer Rodrigues" + }, + { + "family": "Moshkov", + "given": "Ivan" + }, + { + "family": "Narayanan", + "given": "Deepak" + }, + { + "family": "Narenthiran", + "given": "Sean" + }, + { + "family": "Navarro", + "given": "Jesus" + }, + { + "family": "Nguyen", + "given": "Phong" + }, + { + "family": "Nitski", + "given": "Osvald" + }, + { + "family": "Noroozi", + "given": "Vahid" + }, + { + "family": "Nutheti", + "given": "Guruprasad" + }, + { + "family": "Parisien", + "given": "Christopher" + }, + { + "family": "Parmar", + "given": "Jupinder" + }, + { + "family": "Patwary", + "given": "Mostofa" + }, + { + "family": "Pawelec", + "given": "Krzysztof" + }, + { + "family": "Ping", + "given": "Wei" + }, + { + "family": "Prabhumoye", + "given": "Shrimai" + }, + { + "family": "Roy", + "given": "Rajarshi" + }, + { + "family": "Saar", + "given": "Trisha" + }, + { + "family": "Sabavat", + "given": "Vasanth Rao Naik" + }, + { + "family": "Satheesh", + "given": "Sanjeev" + }, + { + "family": "Scowcroft", + "given": "Jane Polak" + }, + { + "family": "Sewall", + "given": "Jason" + }, + { + "family": "Shamis", + "given": "Pavel" + }, + { + "family": "Shen", + "given": "Gerald" + }, + { + "family": "Shoeybi", + "given": "Mohammad" + }, + { + "family": "Sizer", + "given": "Dave" + }, + { + "family": "Smelyanskiy", + "given": "Misha" + }, + { + "family": "Soares", + "given": "Felipe" + }, + { + "family": "Sreedhar", + "given": "Makesh Narsimhan" + }, + { + "family": "Su", + "given": "Dan" + }, + { + "family": "Subramanian", + "given": "Sandeep" + }, + { + "family": "Sun", + "given": "Shengyang" + }, + { + "family": "Toshniwal", + "given": "Shubham" + }, + { + "family": "Wang", + "given": "Hao" + }, + { + "family": "Wang", + "given": "Zhilin" + }, + { + "family": "You", + "given": "Jiaxuan" + }, + { + "family": "Zeng", + "given": "Jiaqi" + }, + { + "family": "Zhang", + "given": "Jimmy" + }, + { + "family": "Zhang", + "given": "Jing" + }, + { + "family": "Zhang", + "given": "Vivienne" + }, + { + "family": "Zhang", + "given": "Yian" + }, + { + "family": "Zhu", + "given": "Chen" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "We release the Nemotron-4 340B model family, including Nemotron-4-340B-Base, Nemotron-4-340B-Instruct, and Nemotron-4-340B-Reward. Our models are open access under the NVIDIA Open Model License Agreement, a permissive model license that allows distribution, modification, and use of the models and its outputs. These models perform competitively to open access models on a wide range of evaluation benchmarks, and were sized to fit on a single DGX H100 with 8 GPUs when deployed in FP8 precision. We believe that the community can benefit from these models in various research studies and commercial applications, especially for generating synthetic data to train smaller language models. Notably, over 98% of data used in our model alignment process is synthetically generated, showcasing the effectiveness of these models in generating synthetic data. To further support open research and facilitate model development, we are also open-sourcing the synthetic data generation pipeline used in our model alignment process.", + "DOI": "10.48550/arXiv.2406.11704", + "publisher": "arXiv", + "title": "Nemotron-4 340B Technical Report", + "URL": "https://arxiv.org/abs/2406.11704", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 11", + "container-title": "arXiv", + "number": "arXiv:2406.11704", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref12", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Abdin", + "given": "Marah" + }, + { + "family": "Aneja", + "given": "Jyoti" + }, + { + "family": "Behl", + "given": "Harkirat" + }, + { + "family": "Bubeck", + "given": "Sébastien" + }, + { + "family": "Eldan", + "given": "Ronen" + }, + { + "family": "Gunasekar", + "given": "Suriya" + }, + { + "family": "Harrison", + "given": "Michael" + }, + { + "family": "Hewett", + "given": "Russell J." + }, + { + "family": "Javaheripi", + "given": "Mojan" + }, + { + "family": "Kauffmann", + "given": "Piero" + }, + { + "family": "Lee", + "given": "James R." + }, + { + "family": "Lee", + "given": "Yin Tat" + }, + { + "family": "Li", + "given": "Yuanzhi" + }, + { + "family": "Liu", + "given": "Weishung" + }, + { + "family": "Mendes", + "given": "Caio C. T." + }, + { + "family": "Nguyen", + "given": "Anh" + }, + { + "family": "Price", + "given": "Eric" + }, + { + "family": "de Rosa", + "given": "Gustavo" + }, + { + "family": "Saarikivi", + "given": "Olli" + }, + { + "family": "Salim", + "given": "Adil" + }, + { + "family": "Shah", + "given": "Shital" + }, + { + "family": "Wang", + "given": "Xin" + }, + { + "family": "Ward", + "given": "Rachel" + }, + { + "family": "Wu", + "given": "Yue" + }, + { + "family": "Yu", + "given": "Dingli" + }, + { + "family": "Zhang", + "given": "Cyril" + }, + { + "family": "Zhang", + "given": "Yi" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "We present phi-4, a 14-billion parameter language model developed with a training recipe that is centrally focused on data quality. Unlike most language models, where pre-training is based primarily on organic data sources such as web content or code, phi-4 strategically incorporates synthetic data throughout the training process. While previous models in the Phi family largely distill the capabilities of a teacher model (specifically GPT-4), phi-4 substantially surpasses its teacher model on STEM-focused QA capabilities, giving evidence that our data-generation and post-training techniques go beyond distillation. Despite minimal changes to the phi-3 architecture, phi-4 achieves strong performance relative to its size -- especially on reasoning-focused benchmarks -- due to improved data, training curriculum, and innovations in the post-training scheme.", + "DOI": "10.48550/arXiv.2412.08905", + "publisher": "arXiv", + "title": "Phi-4 Technical Report", + "URL": "https://arxiv.org/abs/2412.08905", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 12", + "container-title": "arXiv", + "number": "arXiv:2412.08905", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref13", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Wang", + "given": "Yizhong" + }, + { + "family": "Kordi", + "given": "Yeganeh" + }, + { + "family": "Mishra", + "given": "Swaroop" + }, + { + "family": "Liu", + "given": "Alisa" + }, + { + "family": "Smith", + "given": "Noah A." + }, + { + "family": "Khashabi", + "given": "Daniel" + }, + { + "family": "Hajishirzi", + "given": "Hannaneh" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "Large \"instruction-tuned\" language models (i.e., finetuned to respond to instructions) have demonstrated a remarkable ability to generalize zero-shot to new tasks. Nevertheless, they depend heavily on human-written instruction data that is often limited in quantity, diversity, and creativity, therefore hindering the generality of the tuned model. We introduce Self-Instruct, a framework for improving the instruction-following capabilities of pretrained language models by bootstrapping off their own generations. Our pipeline generates instructions, input, and output samples from a language model, then filters invalid or similar ones before using them to finetune the original model. Applying our method to the vanilla GPT3, we demonstrate a 33% absolute improvement over the original model on Super-NaturalInstructions, on par with the performance of InstructGPT-001, which was trained with private user data and human annotations. For further evaluation, we curate a set of expert-written instructions for novel tasks, and show through human evaluation that tuning GPT3 with Self-Instruct outperforms using existing public instruction datasets by a large margin, leaving only a 5% absolute gap behind InstructGPT-001. Self-Instruct provides an almost annotation-free method for aligning pre-trained language models with instructions, and we release our large synthetic dataset to facilitate future studies on instruction tuning. Our code and data are available at https://github.com/yizhongw/self-instruct.", + "DOI": "10.48550/arXiv.2212.10560", + "publisher": "arXiv", + "title": "Self-Instruct: Aligning Language Models with Self-Generated Instructions", + "URL": "https://arxiv.org/abs/2212.10560", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 13", + "container-title": "arXiv", + "number": "arXiv:2212.10560", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref14", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Thompson", + "given": "Brian" + }, + { + "family": "Dhaliwal", + "given": "Mehak Preet" + }, + { + "family": "Frisch", + "given": "Peter" + }, + { + "family": "Domhan", + "given": "Tobias" + }, + { + "family": "Federico", + "given": "Marcello" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "We show that content on the web is often translated into many languages, and the low quality of these multi-way translations indicates they were likely created using Machine Translation (MT). Multi-way parallel, machine generated content not only dominates the translations in lower resource languages; it also constitutes a large fraction of the total web content in those languages. We also find evidence of a selection bias in the type of content which is translated into many languages, consistent with low quality English content being translated en masse into many lower resource languages, via MT. Our work raises serious concerns about training models such as multilingual large language models on both monolingual and bilingual data scraped from the web.", + "DOI": "10.48550/arXiv.2401.05749", + "publisher": "arXiv", + "title": "A Shocking Amount of the Web is Machine Translated: Insights from Multi-Way Parallelism", + "URL": "https://arxiv.org/abs/2401.05749", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 14", + "container-title": "arXiv", + "number": "arXiv:2401.05749", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref15", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (cs.LG)", + "Social and Information Networks (cs.SI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences", + "I.2.7" + ], + "author": [ + { + "family": "Liang", + "given": "Weixin" + }, + { + "family": "Izzo", + "given": "Zachary" + }, + { + "family": "Zhang", + "given": "Yaohui" + }, + { + "family": "Lepp", + "given": "Haley" + }, + { + "family": "Cao", + "given": "Hancheng" + }, + { + "family": "Zhao", + "given": "Xuandong" + }, + { + "family": "Chen", + "given": "Lingjiao" + }, + { + "family": "Ye", + "given": "Haotian" + }, + { + "family": "Liu", + "given": "Sheng" + }, + { + "family": "Huang", + "given": "Zhi" + }, + { + "family": "McFarland", + "given": "Daniel A." + }, + { + "family": "Zou", + "given": "James Y." + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "We present an approach for estimating the fraction of text in a large corpus which is likely to be substantially modified or produced by a large language model (LLM). Our maximum likelihood model leverages expert-written and AI-generated reference texts to accurately and efficiently examine real-world LLM-use at the corpus level. We apply this approach to a case study of scientific peer review in AI conferences that took place after the release of ChatGPT: ICLR 2024, NeurIPS 2023, CoRL 2023 and EMNLP 2023. Our results suggest that between 6.5% and 16.9% of text submitted as peer reviews to these conferences could have been substantially modified by LLMs, i.e. beyond spell-checking or minor writing updates. The circumstances in which generated text occurs offer insight into user behavior: the estimated fraction of LLM-generated text is higher in reviews which report lower confidence, were submitted close to the deadline, and from reviewers who are less likely to respond to author rebuttals. We also observe corpus-level trends in generated text which may be too subtle to detect at the individual level, and discuss the implications of such trends on peer review. We call for future interdisciplinary work to examine how LLM use is changing our information and knowledge practices.", + "DOI": "10.48550/arXiv.2403.07183", + "publisher": "arXiv", + "title": "Monitoring AI-Modified Content at Scale: A Case Study on the Impact of ChatGPT on AI Conference Peer Reviews", + "URL": "https://arxiv.org/abs/2403.07183", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "4", + "note": "Manuscript reference 15", + "container-title": "arXiv", + "number": "arXiv:2403.07183", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref16", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Computation and Language (cs.CL)", + "Computer Vision and Pattern Recognition (cs.CV)", + "Computers and Society (cs.CY)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Villalobos", + "given": "Pablo" + }, + { + "family": "Ho", + "given": "Anson" + }, + { + "family": "Sevilla", + "given": "Jaime" + }, + { + "family": "Besiroglu", + "given": "Tamay" + }, + { + "family": "Heim", + "given": "Lennart" + }, + { + "family": "Hobbhahn", + "given": "Marius" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "We investigate the potential constraints on LLM scaling posed by the availability of public human-generated text data. We forecast the growing demand for training data based on current trends and estimate the total stock of public human text data. Our findings indicate that if current LLM development trends continue, models will be trained on datasets roughly equal in size to the available stock of public human text data between 2026 and 2032, or slightly earlier if models are overtrained. We explore how progress in language modeling can continue when human-generated text datasets cannot be scaled any further. We argue that synthetic data generation, transfer learning from data-rich domains, and data efficiency improvements might support further progress.", + "DOI": "10.48550/arXiv.2211.04325", + "publisher": "arXiv", + "title": "Will we run out of data? Limits of LLM scaling based on human-generated data", + "URL": "https://arxiv.org/abs/2211.04325", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 16", + "container-title": "arXiv", + "number": "arXiv:2211.04325", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 8 + ] + ], + "date-time": "2026-09-08T14:18:08Z", + "timestamp": 1788877088403, + "version": "build-2803163510" + }, + "reference-count": 195, + "publisher": "Springer Science and Business Media LLC", + "issue": "11", + "license": [ + { + "start": { + "date-parts": [ + [ + 2023, + 11, + 20 + ] + ], + "date-time": "2023-11-20T00:00:00Z", + "timestamp": 1700438400000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://www.springernature.com/gp/researchers/text-and-data-mining" + }, + { + "start": { + "date-parts": [ + [ + 2023, + 11, + 20 + ] + ], + "date-time": "2023-11-20T00:00:00Z", + "timestamp": 1700438400000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://www.springernature.com/gp/researchers/text-and-data-mining" + } + ], + "content-domain": { + "domain": [ + "link.springer.com" + ], + "crossmark-restriction": false + }, + "DOI": "10.1038/s41562-023-01742-2", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2023, + 11, + 20 + ] + ], + "date-time": "2023-11-20T12:02:56Z", + "timestamp": 1700481776000 + }, + "page": "1855-1868", + "update-policy": "https://doi.org/10.1007/springer_crossmark_policy", + "source": "Crossref", + "is-referenced-by-count": 119, + "title": "Machine culture", + "prefix": "10.1038", + "volume": "7", + "author": [ + { + "ORCID": "https://orcid.org/0000-0002-1642-8744", + "authenticated-orcid": false, + "given": "Levin", + "family": "Brinkmann", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Fabian", + "family": "Baumann", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Jean-François", + "family": "Bonnefon", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-1512-6496", + "authenticated-orcid": false, + "given": "Maxime", + "family": "Derex", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Thomas F.", + "family": "Müller", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-1805-9399", + "authenticated-orcid": false, + "given": "Anne-Marie", + "family": "Nussberger", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Agnieszka", + "family": "Czaplicka", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Alberto", + "family": "Acerbi", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-5138-7255", + "authenticated-orcid": false, + "given": "Thomas L.", + "family": "Griffiths", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-5012-0065", + "authenticated-orcid": false, + "given": "Joseph", + "family": "Henrich", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-3153-916X", + "authenticated-orcid": false, + "given": "Joel Z.", + "family": "Leibo", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-0387-5377", + "authenticated-orcid": false, + "given": "Richard", + "family": "McElreath", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Pierre-Yves", + "family": "Oudeyer", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Jonathan", + "family": "Stray", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-1796-4303", + "authenticated-orcid": false, + "given": "Iyad", + "family": "Rahwan", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "297", + "published-online": { + "date-parts": [ + [ + 2023, + 11, + 20 + ] + ] + }, + "reference": [ + { + "key": "1742_CR1", + "doi-asserted-by": "crossref", + "unstructured": "Henrich, J. The Secret of Our Success: How Culture Is Driving Human Evolution, Domesticating Our Species, and Making Us Smarter (Princeton Univ. Press, 2016).", + "DOI": "10.1515/9781400873296" + }, + { + "key": "1742_CR2", + "doi-asserted-by": "crossref", + "unstructured": "Heyes, C. Cognitive Gadgets: The Cultural Evolution of Thinking (Harvard Univ. Press, 2018).", + "DOI": "10.4159/9780674985155" + }, + { + "key": "1742_CR3", + "doi-asserted-by": "publisher", + "first-page": "95", + "DOI": "10.1126/science.abn0915", + "volume": "376", + "author": "B Thompson", + "year": "2022", + "unstructured": "Thompson, B., van Opheusden, B., Sumers, T. & Griffiths, T. L. Complex cognitive algorithms preserved by selective social learning in experimental populations. Science 376, 95–98 (2022).", + "journal-title": "Science" + }, + { + "key": "1742_CR4", + "doi-asserted-by": "publisher", + "first-page": "27", + "DOI": "10.1146/annurev-ecolsys-110218-025040", + "volume": "50", + "author": "A Whiten", + "year": "2019", + "unstructured": "Whiten, A. Cultural evolution in animals. Annu. Rev. Ecol. Evol. Syst. 50, 27–48 (2019).", + "journal-title": "Annu. Rev. Ecol. Evol. Syst." + }, + { + "key": "1742_CR5", + "doi-asserted-by": "publisher", + "first-page": "435", + "DOI": "10.1038/nature02029", + "volume": "426", + "author": "RD Gray", + "year": "2003", + "unstructured": "Gray, R. D. & Atkinson, Q. D. Language-tree divergence times support the Anatolian theory of Indo-European origin. Nature 426, 435–439 (2003).", + "journal-title": "Nature" + }, + { + "key": "1742_CR6", + "doi-asserted-by": "publisher", + "first-page": "10681", + "DOI": "10.1073/pnas.0707835105", + "volume": "105", + "author": "S Kirby", + "year": "2008", + "unstructured": "Kirby, S., Cornish, H. & Smith, K. Cumulative cultural evolution in the laboratory: an experimental approach to the origins of structure in human language. Proc. Natl Acad. Sci. USA 105, 10681–10686 (2008).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR7", + "unstructured": "Shennan, S. Genes, Memes, and Human History: Darwinian Archaeology and Cultural Evolution (Thames & Hudson, 2002)." + }, + { + "key": "1742_CR8", + "doi-asserted-by": "publisher", + "first-page": "477", + "DOI": "10.1177/0003122420921538", + "volume": "85", + "author": "K Kiley", + "year": "2020", + "unstructured": "Kiley, K. & Vaisey, S. Measuring stability and change in personal culture using panel data. Am. Sociol. Rev. 85, 477–506 (2020).", + "journal-title": "Am. Sociol. Rev." + }, + { + "key": "1742_CR9", + "doi-asserted-by": "crossref", + "unstructured": "Mokyr, J. A Culture of Growth: The Origins of the Modern Economy (Princeton Univ. Press, 2017).", + "DOI": "10.1515/9781400882915" + }, + { + "key": "1742_CR10", + "first-page": "1", + "volume": "58", + "author": "A Mesoudi", + "year": "2004", + "unstructured": "Mesoudi, A., Whiten, A. & Laland, K. N. Perspective: is human cultural evolution Darwinian? Evidence reviewed from the perspective of the origin of species. Evolution 58, 1–11 (2004).", + "journal-title": "Evolution" + }, + { + "key": "1742_CR11", + "unstructured": "Needham, J. in Chemistry and Chemical Technology, Pt. 7: Military Technology—the Gunpowder Epic Vol. 5 (Cambridge Univ. Press, 1986)." + }, + { + "key": "1742_CR12", + "doi-asserted-by": "crossref", + "unstructured": "Eisenstein, E. L. The Printing Press as an Agent of Change Vol. 1 (Cambridge Univ. Press, 1980).", + "DOI": "10.1017/CBO9781107049963" + }, + { + "key": "1742_CR13", + "doi-asserted-by": "publisher", + "first-page": "109", + "DOI": "10.1556/JEP.9.2011.29.1", + "volume": "9", + "author": "A Mesoudi", + "year": "2011", + "unstructured": "Mesoudi, A. Culture and the Darwinian Renaissance in the social sciences and humanities: for a special issue of the Journal of Evolutionary Psychology, “The Darwinian Renaissance in the Social Sciences and Humanities”. J. Evol. Psychol. 9, 109–124 (2011).", + "journal-title": "J. Evol. Psychol." + }, + { + "key": "1742_CR14", + "doi-asserted-by": "crossref", + "unstructured": "Acerbi, A. Cultural Evolution in the Digital Age (Oxford Univ. Press, 2019).", + "DOI": "10.1093/oso/9780198835943.001.0001" + }, + { + "key": "1742_CR15", + "unstructured": "Russell, S. & Norvig, P. Artificial Intelligence: A Modern Approach (Prentice Hall, 2009)." + }, + { + "key": "1742_CR16", + "unstructured": "Kurzweil, R., Richter, R., Kurzweil, R. & Schneider, M. L. The Age of Intelligent Machines (MIT Press, 1990)." + }, + { + "key": "1742_CR17", + "doi-asserted-by": "publisher", + "first-page": "139", + "DOI": "10.1145/3422622", + "volume": "63", + "author": "I Goodfellow", + "year": "2020", + "unstructured": "Goodfellow, I. et al. Generative adversarial networks. Commun. ACM 63, 139–144 (2020).", + "journal-title": "Commun. ACM" + }, + { + "key": "1742_CR18", + "doi-asserted-by": "publisher", + "unstructured": "Epstein, Z., Boulais, O., Gordon, S. & Groh, M. Interpolating GANs to scaffold autotelic creativity. Preprint at arXiv https://doi.org/10.48550/arXiv.2007.11119 (2020).", + "DOI": "10.48550/arXiv.2007.11119" + }, + { + "key": "1742_CR19", + "unstructured": "Ramesh, A. et al. Zero-shot text-to-image generation. In International Conf. on Machine Learning 8821–8831 (PMLR, 2021)." + }, + { + "key": "1742_CR20", + "doi-asserted-by": "publisher", + "unstructured": "Ramesh, A., Dhariwal, P., Nichol, A., Chu, C. & Chen, M. Hierarchical text-conditional image generation with CLIP latents. Preprint at arXiv https://doi.org/10.48550/arXiv.2204.06125 (2022).", + "DOI": "10.48550/arXiv.2204.06125" + }, + { + "key": "1742_CR21", + "doi-asserted-by": "crossref", + "unstructured": "Rombach, R. et al. High-resolution image synthesis with latent diffusion models. In Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recogn. 10684–10695 (2022).", + "DOI": "10.1109/CVPR52688.2022.01042" + }, + { + "key": "1742_CR22", + "doi-asserted-by": "publisher", + "first-page": "101515", + "DOI": "10.1016/j.isci.2020.101515", + "volume": "23", + "author": "Z Epstein", + "year": "2020", + "unstructured": "Epstein, Z., Levine, S., Rand, D. G. & Rahwan, I. Who gets credit for AI-generated art? iScience 23, 101515 (2020).", + "journal-title": "iScience" + }, + { + "key": "1742_CR23", + "doi-asserted-by": "publisher", + "first-page": "1", + "DOI": "10.1111/j.1551-6709.2010.01142.x", + "volume": "35", + "author": "P Thagard", + "year": "2011", + "unstructured": "Thagard, P. & Stewart, T. C. The AHA! experience: creativity through emergent binding in neural networks. Cogn. Sci. 35, 1–33 (2011).", + "journal-title": "Cogn. Sci." + }, + { + "key": "1742_CR24", + "unstructured": "Mikolov, T., Yih, W. & Zweig, G. Linguistic regularities in continuous space word representations. In Proc. 2013 Conf. of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies 746–751 (Association for Computational Linguistics, 2013)." + }, + { + "key": "1742_CR25", + "doi-asserted-by": "publisher", + "first-page": "1068", + "DOI": "10.1038/s42256-022-00591-4", + "volume": "4", + "author": "C Colas", + "year": "2022", + "unstructured": "Colas, C., Karch, T., Moulin-Frier, C. & Oudeyer, P.-Y. Language and culture internalization for human-like autotelic AI. Nat. Mach. Intell. 4, 1068–1076 (2022).", + "journal-title": "Nat. Mach. Intell." + }, + { + "key": "1742_CR26", + "doi-asserted-by": "publisher", + "first-page": "191569", + "DOI": "10.1098/rsos.191569", + "volume": "7", + "author": "E Lisi", + "year": "2020", + "unstructured": "Lisi, E., Malekzadeh, M., Haddadi, H., Lau, F.D.-H. & Flaxman, S. Modelling and forecasting art movements with CGANs. R. Soc. Open Sci. 7, 191569 (2020).", + "journal-title": "R. Soc. Open Sci." + }, + { + "key": "1742_CR27", + "doi-asserted-by": "publisher", + "unstructured": "Elgammal, A., Liu, B., Elhoseiny, M. & Mazzone, M. CAN: Creative Adversarial Networks, generating ‘art’ by learning about styles and deviating from style norms. Preprint at arXiv https://doi.org/10.48550/arXiv.1706.07068 (2017).", + "DOI": "10.48550/arXiv.1706.07068" + }, + { + "key": "1742_CR28", + "first-page": "1350", + "volume": "10", + "author": "Y Wang", + "year": "2023", + "unstructured": "Wang, Y., Shimada, K. & Barati Farimani, A. Airfoil GAN: encoding and synthesizing airfoils for aerodynamic shape optimization. J. Comput. Des. Eng. 10, 1350–1362 (2023).", + "journal-title": "J. Comput. Des. Eng." + }, + { + "key": "1742_CR29", + "unstructured": "Metz, C. In two moves, AlphaGo and Lee Sedol redefined the future. Wired (16 March 2016)." + }, + { + "key": "1742_CR30", + "doi-asserted-by": "publisher", + "first-page": "354", + "DOI": "10.1038/nature24270", + "volume": "550", + "author": "D Silver", + "year": "2017", + "unstructured": "Silver, D. et al. Mastering the game of Go without human knowledge. Nature 550, 354–359 (2017).", + "journal-title": "Nature" + }, + { + "key": "1742_CR31", + "doi-asserted-by": "publisher", + "first-page": "e2214840120", + "DOI": "10.1073/pnas.2214840120", + "volume": "120", + "author": "M Shin", + "year": "2023", + "unstructured": "Shin, M., Kim, J., van Opheusden, B. & Griffiths, T. L. Superhuman artificial intelligence can improve human decision-making by increasing novelty. Proc. Natl Acad. Sci. USA 120, e2214840120 (2023).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR32", + "doi-asserted-by": "publisher", + "unstructured": "Choi, S., Kim, N., Kim, J. & Kang, H. How does AI improve human decision-making? Evidence from the AI-powered Go program. Preprint at SSRN https://doi.org/10.2139/ssrn.3893835 (2022).", + "DOI": "10.2139/ssrn.3893835" + }, + { + "key": "1742_CR33", + "first-page": "43", + "volume": "43", + "author": "M Shin", + "year": "2021", + "unstructured": "Shin, M., Kim, J. & Kim, M. Human learning from artificial intelligence: evidence from human Go players’ decisions after AlphaGo. Proc. Annu. Meet. Cogn. Sci. Soc. 43, 43 (2021).", + "journal-title": "Proc. Annu. Meet. Cogn. Sci. Soc." + }, + { + "key": "1742_CR34", + "doi-asserted-by": "publisher", + "first-page": "604", + "DOI": "10.1038/s41586-020-03051-4", + "volume": "588", + "author": "J Schrittwieser", + "year": "2020", + "unstructured": "Schrittwieser, J. et al. Mastering Atari, Go, chess and shogi by planning with a learned model. Nature 588, 604–609 (2020).", + "journal-title": "Nature" + }, + { + "key": "1742_CR35", + "doi-asserted-by": "publisher", + "first-page": "47", + "DOI": "10.1038/s41586-022-05172-4", + "volume": "610", + "author": "A Fawzi", + "year": "2022", + "unstructured": "Fawzi, A. et al. Discovering faster matrix multiplication algorithms with reinforcement learning. Nature 610, 47–53 (2022).", + "journal-title": "Nature" + }, + { + "key": "1742_CR36", + "doi-asserted-by": "publisher", + "first-page": "102274", + "DOI": "10.1016/j.lindif.2023.102274", + "volume": "103", + "author": "E Kasneci", + "year": "2023", + "unstructured": "Kasneci, E. et al. ChatGPT for good? On opportunities and challenges of large language models for education. Learn. Individ. Differ. 103, 102274 (2023).", + "journal-title": "Learn. Individ. Differ." + }, + { + "key": "1742_CR37", + "doi-asserted-by": "publisher", + "first-page": "209", + "DOI": "10.1177/02683962211048201", + "volume": "37", + "author": "G Wagner", + "year": "2022", + "unstructured": "Wagner, G., Lukyanenko, R. & Paré, G. Artificial intelligence and the conduct of literature reviews. J. Inf. Technol. 37, 209–226 (2022).", + "journal-title": "J. Inf. Technol." + }, + { + "key": "1742_CR38", + "doi-asserted-by": "publisher", + "unstructured": "Chen, M. et al. Evaluating large language models trained on code. Preprint at arXiv https://doi.org/10.48550/arXiv.2107.03374 (2021).", + "DOI": "10.48550/arXiv.2107.03374" + }, + { + "key": "1742_CR39", + "doi-asserted-by": "publisher", + "unstructured": "Eloundou, T., Manning, S., Mishkin, P. & Rock, D. GPTs are GPTs: an early look at the labor market impact potential of large language models. Preprint at arXiv https://doi.org/10.48550/arXiv.2303.10130 (2023).", + "DOI": "10.48550/arXiv.2303.10130" + }, + { + "key": "1742_CR40", + "doi-asserted-by": "publisher", + "unstructured": "Stevenson, C., Smal, I., Baas, M., Grasman, R. & van der Maas, H. Putting GPT-3’s creativity to the (alternative uses) test. Preprint at arXiv https://doi.org/10.48550/arXiv.2206.08932 (2022).", + "DOI": "10.48550/arXiv.2206.08932" + }, + { + "key": "1742_CR41", + "unstructured": "Popli, N. How to get a six-figure job as an AI prompt engineer. Time https://time.com/6272103/ai-prompt-engineer-job/ (14 April 2023)." + }, + { + "key": "1742_CR42", + "doi-asserted-by": "publisher", + "first-page": "1110", + "DOI": "10.1126/science.adh4451", + "volume": "380", + "author": "Z Epstein", + "year": "2023", + "unstructured": "Epstein, Z., Hertzmann, A. & the Investigators of Human Creativity. Art and the science of generative AI. Science 380, 1110–1111 (2023).", + "journal-title": "Science" + }, + { + "key": "1742_CR43", + "doi-asserted-by": "publisher", + "unstructured": "Oppenlaender, J. The creativity of text-to-image generation. In Proc. 25th International Academic Mindtrek Conference 192–202 (Association for Computing Machinery, 2022); https://doi.org/10.1145/3569219.3569352", + "DOI": "10.1145/3569219.3569352" + }, + { + "key": "1742_CR44", + "doi-asserted-by": "crossref", + "unstructured": "Li, Z. (L.), Fang, X. & Sheng, O. R. L. A survey of link recommendation for social networks: methods, theoretical foundations, and future research directions. ACM Trans. Manage. Inf. Syst. 9, 1–26 (2018).", + "DOI": "10.1145/3131782" + }, + { + "key": "1742_CR45", + "doi-asserted-by": "publisher", + "unstructured": "Lops, P., de Gemmis, M. & Semeraro, G. in Recommender Systems Handbook (eds Ricci, F. et al.) 73–105 (Springer US, 2011); https://doi.org/10.1007/978-0-387-85820-3_3", + "DOI": "10.1007/978-0-387-85820-3_3" + }, + { + "key": "1742_CR46", + "doi-asserted-by": "publisher", + "first-page": "421425", + "DOI": "10.1155/2009/421425", + "volume": "2009", + "author": "X Su", + "year": "2009", + "unstructured": "Su, X. & Khoshgoftaar, T. M. A survey of collaborative filtering techniques. Adv. Artif. Intell. 2009, 421425 (2009).", + "journal-title": "Adv. Artif. Intell." + }, + { + "key": "1742_CR47", + "doi-asserted-by": "crossref", + "unstructured": "Anderson, A., Maystre, L., Anderson, I., Mehrotra, R. & Lalmas, M. Algorithmic effects on the diversity of consumption on Spotify. In Proc. Web Conference 2020 2155–2165 (Association for Computing Machinery, 2020).", + "DOI": "10.1145/3366423.3380281" + }, + { + "key": "1742_CR48", + "doi-asserted-by": "publisher", + "first-page": "e33785", + "DOI": "10.1371/journal.pone.0033785", + "volume": "7", + "author": "C Krumme", + "year": "2012", + "unstructured": "Krumme, C., Cebrian, M., Pickard, G. & Pentland, S. Quantifying social influence in an online cultural market. PLoS ONE 7, e33785 (2012).", + "journal-title": "PLoS ONE" + }, + { + "key": "1742_CR49", + "doi-asserted-by": "publisher", + "first-page": "854", + "DOI": "10.1126/science.1121066", + "volume": "311", + "author": "MJ Salganik", + "year": "2006", + "unstructured": "Salganik, M. J., Dodds, P. S. & Watts, D. J. Experimental study of inequality and unpredictability in an artificial cultural market. Science 311, 854–856 (2006).", + "journal-title": "Science" + }, + { + "key": "1742_CR50", + "doi-asserted-by": "crossref", + "unstructured": "Richerson, P. J. & Boyd, R. Not by Genes Alone: How Culture Transformed Human Evolution (Univ. of Chicago Press, 2005).", + "DOI": "10.7208/chicago/9780226712130.001.0001" + }, + { + "key": "1742_CR51", + "doi-asserted-by": "crossref", + "unstructured": "Cavalli-Sforza, L. L. & Feldman, M. W. Cultural Transmission and Evolution: A Quantitative Approach (Princeton Univ. Press, 1981).", + "DOI": "10.1515/9780691209357" + }, + { + "key": "1742_CR52", + "doi-asserted-by": "publisher", + "first-page": "7853", + "DOI": "10.1073/pnas.1620741114", + "volume": "114", + "author": "A Mesoudi", + "year": "2017", + "unstructured": "Mesoudi, A. Pursuing Darwin’s curious parallel: prospects for a science of cultural evolution. Proc. Natl Acad. Sci. USA 114, 7853–7860 (2017).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR53", + "doi-asserted-by": "publisher", + "first-page": "129", + "DOI": "10.1016/j.jtbi.2006.12.022", + "volume": "246", + "author": "M Enquist", + "year": "2007", + "unstructured": "Enquist, M. & Ghirlanda, S. Evolution of social learning does not explain the origin of human cumulative culture. J. Theor. Biol. 246, 129–135 (2007).", + "journal-title": "J. Theor. Biol." + }, + { + "key": "1742_CR54", + "doi-asserted-by": "publisher", + "first-page": "481", + "DOI": "10.1007/s10539-015-9490-2", + "volume": "30", + "author": "A Acerbi", + "year": "2015", + "unstructured": "Acerbi, A. & Mesoudi, A. If we are all cultural Darwinians what’s the fuss about? Clarifying recent disagreements in the field of cultural evolution. Biol. Phil. 30, 481–503 (2015).", + "journal-title": "Biol. Phil." + }, + { + "key": "1742_CR55", + "doi-asserted-by": "publisher", + "first-page": "447", + "DOI": "10.1007/s10539-016-9516-4", + "volume": "31", + "author": "O Morin", + "year": "2016", + "unstructured": "Morin, O. Reasons to be fussy about cultural evolution. Biol. Phil. 31, 447–458 (2016).", + "journal-title": "Biol. Phil." + }, + { + "key": "1742_CR56", + "doi-asserted-by": "publisher", + "first-page": "331", + "DOI": "10.1162/003355398555595", + "volume": "113", + "author": "ML Weitzman", + "year": "1998", + "unstructured": "Weitzman, M. L. Recombinant growth. Q. J. Econ. 113, 331–360 (1998).", + "journal-title": "Q. J. Econ." + }, + { + "key": "1742_CR57", + "doi-asserted-by": "publisher", + "first-page": "873", + "DOI": "10.1016/j.tics.2020.09.001", + "volume": "24", + "author": "TL Griffiths", + "year": "2020", + "unstructured": "Griffiths, T. L. Understanding human intelligence through human limitations. Trends Cogn. Sci. 24, 873–883 (2020).", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "1742_CR58", + "unstructured": "Boyd, R. & Richerson, P. J. Culture and the Evolutionary Process (Univ. of Chicago Press, 1985)." + }, + { + "key": "1742_CR59", + "doi-asserted-by": "crossref", + "unstructured": "Mesoudi, A. Cultural Evolution: How Darwinian Theory Can Explain Human Culture and Synthesize the Social Sciences (Univ. of Chicago Press, 2011).", + "DOI": "10.7208/chicago/9780226520452.001.0001" + }, + { + "key": "1742_CR60", + "doi-asserted-by": "publisher", + "unstructured": "Leibo, J. Z., Hughes, E., Lanctot, M. & Graepel, T. Autocurricula and the emergence of innovation from social interaction: a manifesto for multi-agent intelligence research. Preprint at arXiv https://doi.org/10.48550/arXiv.1903.00742 (2019).", + "DOI": "10.48550/arXiv.1903.00742" + }, + { + "key": "1742_CR61", + "unstructured": "Aveni, A. F. Skywatchers: A Revised and Updated Version of Skywatchers of Ancient Mexico (Univ. of Texas Press, 2001)." + }, + { + "key": "1742_CR62", + "doi-asserted-by": "publisher", + "first-page": "251", + "DOI": "10.1016/0893-6080(91)90009-T", + "volume": "4", + "author": "K Hornik", + "year": "1991", + "unstructured": "Hornik, K. Approximation capabilities of multilayer feedforward networks. Neural Netw. 4, 251–257 (1991).", + "journal-title": "Neural Netw." + }, + { + "key": "1742_CR63", + "doi-asserted-by": "publisher", + "first-page": "436", + "DOI": "10.1038/nature14539", + "volume": "521", + "author": "Y LeCun", + "year": "2015", + "unstructured": "LeCun, Y., Bengio, Y. & Hinton, G. Deep learning. Nature 521, 436–444 (2015).", + "journal-title": "Nature" + }, + { + "key": "1742_CR64", + "doi-asserted-by": "publisher", + "unstructured": "Zenil, H. et al. The future of fundamental science led by generative closed-loop artificial intelligence. Preprint at arXiv https://doi.org/10.48550/arXiv.2307.07522 (2023).", + "DOI": "10.48550/arXiv.2307.07522" + }, + { + "key": "1742_CR65", + "doi-asserted-by": "publisher", + "first-page": "706", + "DOI": "10.1038/s41586-019-1923-7", + "volume": "577", + "author": "AW Senior", + "year": "2020", + "unstructured": "Senior, A. W. et al. Improved protein structure prediction using potentials from deep learning. Nature 577, 706–710 (2020).", + "journal-title": "Nature" + }, + { + "key": "1742_CR66", + "doi-asserted-by": "publisher", + "first-page": "756", + "DOI": "10.1038/nature09304", + "volume": "466", + "author": "S Cooper", + "year": "2010", + "unstructured": "Cooper, S. et al. Predicting protein structures with a multiplayer online game. Nature 466, 756–760 (2010).", + "journal-title": "Nature" + }, + { + "key": "1742_CR67", + "doi-asserted-by": "publisher", + "unstructured": "Bommasani, R. et al. On the opportunities and risks of foundation models. Preprint at arXiv https://doi.org/10.48550/arXiv.2108.07258 (2022).", + "DOI": "10.48550/arXiv.2108.07258" + }, + { + "key": "1742_CR68", + "doi-asserted-by": "publisher", + "unstructured": "Hoffmann, J. et al. Training compute-optimal large language models. Preprint at arXiv https://doi.org/10.48550/arXiv.2203.15556 (2022).", + "DOI": "10.48550/arXiv.2203.15556" + }, + { + "key": "1742_CR69", + "doi-asserted-by": "crossref", + "unstructured": "Bender, E. M., Gebru, T., McMillan-Major, A. & Shmitchell, S. On the dangers of stochastic parrots: can language models be too big? In Proc. 2021 ACM Conference on Fairness, Accountability, and Transparency 610–623 (Association for Computing Machinery, 2021).", + "DOI": "10.1145/3442188.3445922" + }, + { + "key": "1742_CR70", + "first-page": "1877", + "volume": "33", + "author": "T Brown", + "year": "2020", + "unstructured": "Brown, T. et al. Language models are few-shot learners. Adv. Neural Inf. Process. Syst. 33, 1877–1901 (2020).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "1742_CR71", + "doi-asserted-by": "publisher", + "first-page": "e2215907120", + "DOI": "10.1073/pnas.2215907120", + "volume": "120", + "author": "M Mitchell", + "year": "2023", + "unstructured": "Mitchell, M. & Krakauer, D. C. The debate over understanding in AI’s large language models. Proc. Natl Acad. Sci. USA 120, e2215907120 (2023).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR72", + "doi-asserted-by": "publisher", + "first-page": "373", + "DOI": "10.1007/s13347-016-0228-0", + "volume": "29", + "author": "M Charbonneau", + "year": "2016", + "unstructured": "Charbonneau, M. Modularity and recombination in technological evolution. Phil. Technol. 29, 373–392 (2016).", + "journal-title": "Phil. Technol." + }, + { + "key": "1742_CR73", + "doi-asserted-by": "publisher", + "first-page": "197", + "DOI": "10.2307/4128416", + "volume": "69", + "author": "J Henrich", + "year": "2004", + "unstructured": "Henrich, J. Demography and cultural evolution: how adaptive cultural processes can produce maladaptive losses—the Tasmanian case. Am. Antiq. 69, 197–214 (2004).", + "journal-title": "Am. Antiq." + }, + { + "key": "1742_CR74", + "doi-asserted-by": "publisher", + "unstructured": "Henrich, J. & Muthukrishna, M. What makes us smart? Top. Cogn. Sci. https://doi.org/10.1111/tops.12656 (2023).", + "DOI": "10.1111/tops.12656" + }, + { + "key": "1742_CR75", + "doi-asserted-by": "publisher", + "first-page": "20150272", + "DOI": "10.1098/rsif.2015.0272", + "volume": "12", + "author": "H Youn", + "year": "2015", + "unstructured": "Youn, H., Strumsky, D., Bettencourt, L. M. A. & Lobo, J. Invention as a combinatorial process: evidence from US patents. J. R. Soc. Interface 12, 20150272 (2015).", + "journal-title": "J. R. Soc. Interface" + }, + { + "key": "1742_CR76", + "doi-asserted-by": "publisher", + "unstructured": "Sourati, J. & Evans, J. A. Accelerating science with human-aware artificial intelligence. Nat. Hum. Behav. https://doi.org/10.1038/s41562-023-01648-z (2023).", + "DOI": "10.1038/s41562-023-01648-z" + }, + { + "key": "1742_CR77", + "doi-asserted-by": "publisher", + "first-page": "e26", + "DOI": "10.1017/ehs.2020.21", + "volume": "2", + "author": "P Tinits", + "year": "2020", + "unstructured": "Tinits, P. & Sobchuk, O. Open-ended cumulative cultural evolution of Hollywood film crews. Evol. Hum. Sci. 2, e26 (2020).", + "journal-title": "Evol. Hum. Sci." + }, + { + "key": "1742_CR78", + "doi-asserted-by": "publisher", + "first-page": "eaay4237", + "DOI": "10.1126/sciadv.aay4237", + "volume": "6", + "author": "J Grizou", + "year": "2020", + "unstructured": "Grizou, J., Points, L. J., Sharma, A. & Cronin, L. A curious formulation robot enables the discovery of a novel protocell behavior. Sci. Adv. 6, eaay4237 (2020).", + "journal-title": "Sci. Adv." + }, + { + "key": "1742_CR79", + "doi-asserted-by": "publisher", + "unstructured": "Kramer, S., Cerrato, M., Džeroski, S. & King, R. Automated scientific discovery: from equation discovery to autonomous discovery systems. Preprint at arXiv https://doi.org/10.48550/arXiv.2305.02251 (2023).", + "DOI": "10.48550/arXiv.2305.02251" + }, + { + "key": "1742_CR80", + "doi-asserted-by": "publisher", + "first-page": "20201885", + "DOI": "10.1098/rspb.2020.1885", + "volume": "287", + "author": "AJ Lucas", + "year": "2020", + "unstructured": "Lucas, A. J. et al. The value of teaching increases with tool complexity in cumulative cultural evolution. Proc. R. Soc. B 287, 20201885 (2020).", + "journal-title": "Proc. R. Soc. B" + }, + { + "key": "1742_CR81", + "doi-asserted-by": "publisher", + "unstructured": "Borsa, D., Piot, B., Munos, R. & Pietquin, O. Observational learning by reinforcement learning. Preprint at arXiv https://doi.org/10.48550/arXiv.1706.06617 (2017).", + "DOI": "10.48550/arXiv.1706.06617" + }, + { + "key": "1742_CR82", + "doi-asserted-by": "publisher", + "first-page": "537", + "DOI": "10.1177/00336882231162868", + "volume": "54", + "author": "L Kohnke", + "year": "2023", + "unstructured": "Kohnke, L., Moorhouse, B. L. & Zou, D. ChatGPT for language teaching and learning. RELC J. 54, 537–550 (2023).", + "journal-title": "RELC J." + }, + { + "key": "1742_CR83", + "doi-asserted-by": "crossref", + "unstructured": "Haller, E. & Rebedea, T. Designing a chat-bot that simulates an historical figure. In 2013 19th International Conference on Control Systems and Computer Science 582–589 (IEEE, 2013).", + "DOI": "10.1109/CSCS.2013.85" + }, + { + "key": "1742_CR84", + "doi-asserted-by": "publisher", + "unstructured": "Zhang, S., Frey, B. & Bansal, M. How can NLP help revitalize endangered languages? A case study and roadmap for the Cherokee language. Preprint at arXiv https://doi.org/10.48550/arXiv.2204.11909 (2022).", + "DOI": "10.48550/arXiv.2204.11909" + }, + { + "key": "1742_CR85", + "doi-asserted-by": "publisher", + "first-page": "904", + "DOI": "10.1080/10494820.2016.1225099", + "volume": "25", + "author": "K Ijaz", + "year": "2017", + "unstructured": "Ijaz, K., Bogdanovych, A. & Trescak, T. Virtual worlds vs books and videos in history education. Interact. Learn. Environ. 25, 904–929 (2017).", + "journal-title": "Interact. Learn. Environ." + }, + { + "key": "1742_CR86", + "unstructured": "Buolamwini, J. & Gebru, T. Gender shades: intersectional accuracy disparities in commercial gender classification. In Proc. 1st Conference on Fairness, Accountability and Transparency 77–91 (PMLR, 2018)." + }, + { + "key": "1742_CR87", + "doi-asserted-by": "publisher", + "first-page": "183", + "DOI": "10.1126/science.aal4230", + "volume": "356", + "author": "A Caliskan", + "year": "2017", + "unstructured": "Caliskan, A., Bryson, J. J. & Narayanan, A. Semantics derived automatically from language corpora contain human-like biases. Science 356, 183–186 (2017).", + "journal-title": "Science" + }, + { + "key": "1742_CR88", + "unstructured": "O’Neil, C. Weapons of Math Destruction: How Big Data Increases Inequality and Threatens Democracy (Crown, 2016)." + }, + { + "key": "1742_CR89", + "doi-asserted-by": "publisher", + "first-page": "6363", + "DOI": "10.1007/s00521-019-04144-6", + "volume": "32", + "author": "MO Prates", + "year": "2020", + "unstructured": "Prates, M. O., Avelar, P. H. & Lamb, L. C. Assessing gender bias in machine translation: a case study with google translate. Neural Comput. Appl. 32, 6363–6381 (2020).", + "journal-title": "Neural Comput. Appl." + }, + { + "key": "1742_CR90", + "doi-asserted-by": "publisher", + "unstructured": "Acerbi, A. & Stubbersfield, J. Large language models show human-like content biases in transmission chain experiments. Preprint at OSF https://doi.org/10.31219/osf.io/8zg4d (2023).", + "DOI": "10.31219/osf.io/8zg4d" + }, + { + "key": "1742_CR91", + "first-page": "12388", + "volume": "33", + "author": "J Vig", + "year": "2020", + "unstructured": "Vig, J. et al. Investigating gender bias in language models using causal mediation analysis. Adv. Neural Inf. Process. Syst. 33, 12388–12401 (2020).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "1742_CR92", + "doi-asserted-by": "publisher", + "first-page": "1", + "DOI": "10.1145/3494672", + "volume": "55", + "author": "D Pessach", + "year": "2022", + "unstructured": "Pessach, D. & Shmueli, E. A review on fairness in machine learning. ACM Comput. Surv. 55, 1–51 (2022). 44.", + "journal-title": "ACM Comput. Surv." + }, + { + "key": "1742_CR93", + "doi-asserted-by": "publisher", + "first-page": "337", + "DOI": "10.1017/pan.2023.2", + "volume": "31", + "author": "LP Argyle", + "year": "2023", + "unstructured": "Argyle, L. P. et al. Out of one, many: using language models to simulate human samples. Political Anal. 31, 337–351 (2023).", + "journal-title": "Political Anal." + }, + { + "key": "1742_CR94", + "doi-asserted-by": "publisher", + "unstructured": "Hendy, A. et al. How good are GPT models at machine translation? A comprehensive evaluation. Preprint at arXiv https://doi.org/10.48550/arXiv.2302.09210 (2023).", + "DOI": "10.48550/arXiv.2302.09210" + }, + { + "key": "1742_CR95", + "unstructured": "Bartlett, F. C. Remembering: A Study in Experimental and Social Psychology xix, 317 (Cambridge Univ. Press, 1932)." + }, + { + "key": "1742_CR96", + "doi-asserted-by": "publisher", + "first-page": "594", + "DOI": "10.1177/0146167200267007", + "volume": "26", + "author": "Y Kashima", + "year": "2000", + "unstructured": "Kashima, Y. Maintaining cultural stereotypes in the serial reproduction of narratives. Pers. Soc. Psychol. Bull. 26, 594–604 (2000).", + "journal-title": "Pers. Soc. Psychol. Bull." + }, + { + "key": "1742_CR97", + "doi-asserted-by": "publisher", + "first-page": "68", + "DOI": "10.1080/03640210701801974", + "volume": "32", + "author": "TL Griffiths", + "year": "2008", + "unstructured": "Griffiths, T. L., Christian, B. R. & Kalish, M. L. Using category structures to test iterated learning as a method for identifying inductive biases. Cogn. Sci. 32, 68–107 (2008).", + "journal-title": "Cogn. Sci." + }, + { + "key": "1742_CR98", + "doi-asserted-by": "publisher", + "first-page": "e1", + "DOI": "10.1017/S0140525X1900061X", + "volume": "43", + "author": "F Lieder", + "year": "2020", + "unstructured": "Lieder, F. & Griffiths, T. L. Resource-rational analysis: understanding human cognition as the optimal use of limited computational resources. Behav. Brain Sci. 43, e1 (2020).", + "journal-title": "Behav. Brain Sci." + }, + { + "key": "1742_CR99", + "doi-asserted-by": "crossref", + "unstructured": "Simon, H. A. in Utility and Probability (eds Eatwell, J. et al.) 15–18 (Palgrave Macmillan UK, 1990).", + "DOI": "10.1007/978-1-349-20568-4_5" + }, + { + "key": "1742_CR100", + "doi-asserted-by": "publisher", + "first-page": "167", + "DOI": "10.1111/j.1467-8721.2007.00497.x", + "volume": "16", + "author": "PM Todd", + "year": "2007", + "unstructured": "Todd, P. M. & Gigerenzer, G. Environments that make us smart: ecological rationality. Curr. Dir. Psychol. Sci. 16, 167–171 (2007).", + "journal-title": "Curr. Dir. Psychol. Sci." + }, + { + "key": "1742_CR101", + "doi-asserted-by": "publisher", + "first-page": "1124", + "DOI": "10.1126/science.185.4157.1124", + "volume": "185", + "author": "A Tversky", + "year": "1974", + "unstructured": "Tversky, A. & Kahneman, D. Judgment under uncertainty: heuristics and biases. Science 185, 1124–1131 (1974).", + "journal-title": "Science" + }, + { + "key": "1742_CR102", + "doi-asserted-by": "publisher", + "first-page": "273", + "DOI": "10.1126/science.aac6076", + "volume": "349", + "author": "SJ Gershman", + "year": "2015", + "unstructured": "Gershman, S. J., Horvitz, E. J. & Tenenbaum, J. B. Computational rationality: a converging paradigm for intelligence in brains, minds, and machines. Science 349, 273–278 (2015).", + "journal-title": "Science" + }, + { + "key": "1742_CR103", + "doi-asserted-by": "crossref", + "unstructured": "Malle, B. F., Scheutz, M., Arnold, T., Voiklis, J. & Cusimano, C. Sacrifice one for the good of many? People apply different moral norms to human and robot agents. In Proc. Tenth Annual ACM/IEEE International Conference on Human-Robot Interaction 117–124 (Association for Computing Machinery, 2015).", + "DOI": "10.1145/2696454.2696458" + }, + { + "key": "1742_CR104", + "doi-asserted-by": "publisher", + "first-page": "3503", + "DOI": "10.1098/rstb.2008.0146", + "volume": "363", + "author": "TL Griffiths", + "year": "2008", + "unstructured": "Griffiths, T. L., Kalish, M. L. & Lewandowsky, S. Theoretical and empirical evidence for the impact of inductive biases on cultural evolution. Phil. Trans. R. Soc. B 363, 3503–3514 (2008).", + "journal-title": "Phil. Trans. R. Soc. B" + }, + { + "key": "1742_CR105", + "doi-asserted-by": "publisher", + "first-page": "5241", + "DOI": "10.1073/pnas.0608222104", + "volume": "104", + "author": "S Kirby", + "year": "2007", + "unstructured": "Kirby, S., Dowman, M. & Griffiths, T. L. Innateness and culture in the evolution of language. Proc. Natl Acad. Sci. USA 104, 5241–5245 (2007).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR106", + "doi-asserted-by": "publisher", + "first-page": "20202752", + "DOI": "10.1098/rspb.2020.2752", + "volume": "288", + "author": "B Thompson", + "year": "2021", + "unstructured": "Thompson, B. & Griffiths, T. L. Human biases limit cumulative innovation. Proc. R. Soc. B 288, 20202752 (2021).", + "journal-title": "Proc. R. Soc. B" + }, + { + "key": "1742_CR107", + "doi-asserted-by": "publisher", + "first-page": "20200426", + "DOI": "10.1098/rsta.2020.0426", + "volume": "380", + "author": "L Brinkmann", + "year": "2022", + "unstructured": "Brinkmann, L. et al. Hybrid social learning in human-algorithm cultural transmission. Phil. Trans. R. Soc. A 380, 20200426 (2022).", + "journal-title": "Phil. Trans. R. Soc. A" + }, + { + "key": "1742_CR108", + "doi-asserted-by": "publisher", + "first-page": "171", + "DOI": "10.1111/cogs.12144", + "volume": "39", + "author": "M Tamariz", + "year": "2015", + "unstructured": "Tamariz, M. & Kirby, S. Culture: copying, compression, and conventionality. Cogn. Sci. 39, 171–183 (2015).", + "journal-title": "Cogn. Sci." + }, + { + "key": "1742_CR109", + "doi-asserted-by": "publisher", + "first-page": "19", + "DOI": "10.1016/S1364-6613(02)00005-0", + "volume": "7", + "author": "N Chater", + "year": "2003", + "unstructured": "Chater, N. & Vitányi, P. Simplicity: a unifying principle in cognitive science? Trends Cogn. Sci. 7, 19–22 (2003).", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "1742_CR110", + "doi-asserted-by": "publisher", + "first-page": "87", + "DOI": "10.1016/j.cognition.2015.03.016", + "volume": "141", + "author": "S Kirby", + "year": "2015", + "unstructured": "Kirby, S., Tamariz, M., Cornish, H. & Smith, K. Compression and communication in the cultural evolution of linguistic structure. Cognition 141, 87–102 (2015).", + "journal-title": "Cognition" + }, + { + "key": "1742_CR111", + "unstructured": "Anderson, C. The end of theory: the data deluge makes the scientific method obsolete. Wired (23 June 2018)." + }, + { + "key": "1742_CR112", + "unstructured": "Spinney, L. Are we witnessing the dawn of post-theory science? Guardian (9 January 2022)." + }, + { + "key": "1742_CR113", + "doi-asserted-by": "publisher", + "first-page": "045307", + "DOI": "10.1103/PhysRevE.106.045307", + "volume": "106", + "author": "Z Liu", + "year": "2022", + "unstructured": "Liu, Z., Madhavan, V. & Tegmark, M. AI Poincaré 2.0: machine learning conservation laws from differential equations. Phys. Rev. E 106, 045307 (2022).", + "journal-title": "Phys. Rev. E" + }, + { + "key": "1742_CR114", + "doi-asserted-by": "publisher", + "first-page": "651", + "DOI": "10.1016/j.tics.2018.04.003", + "volume": "22", + "author": "RL Kendal", + "year": "2018", + "unstructured": "Kendal, R. L. et al. Social learning strategies: bridge-building between fields. Trends Cogn. Sci. 22, 651–665 (2018).", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "1742_CR115", + "doi-asserted-by": "publisher", + "first-page": "123", + "DOI": "10.1002/evan.10110", + "volume": "12", + "author": "J Henrich", + "year": "2003", + "unstructured": "Henrich, J. & McElreath, R. The evolution of cultural evolution. Evol. Anthropol. 12, 123–135 (2003).", + "journal-title": "Evol. Anthropol." + }, + { + "key": "1742_CR116", + "doi-asserted-by": "publisher", + "first-page": "405", + "DOI": "10.1348/000712605X85871", + "volume": "97", + "author": "A Mesoudi", + "year": "2006", + "unstructured": "Mesoudi, A., Whiten, A. & Dunbar, R. A bias for social information in human cultural transmission. Br. J. Psychol. 97, 405–423 (2006).", + "journal-title": "Br. J. Psychol." + }, + { + "key": "1742_CR117", + "first-page": "2670", + "volume": "2", + "author": "DK Sharma", + "year": "2010", + "unstructured": "Sharma, D. K. & Sharma, A. A comparative analysis of web page ranking algorithms. Int. J. Comput. Sci. Eng. 2, 2670–2676 (2010).", + "journal-title": "Int. J. Comput. Sci. Eng." + }, + { + "key": "1742_CR118", + "doi-asserted-by": "crossref", + "unstructured": "Duhan, N., Sharma, A. K. & Bhatia, K. K. Page ranking algorithms: a survey. In 2009 IEEE International Advance Computing Conference 1530–1537 (IEEE, 2009).", + "DOI": "10.1109/IADCC.2009.4809246" + }, + { + "key": "1742_CR119", + "doi-asserted-by": "crossref", + "unstructured": "Koren, Y., Rendle, S. & Bell, R. Advances in collaborative filtering. In Recommender Systems Handbook (eds Ricci, F., Rokach, L. & Shapira, B.) 91–142 (Springer US, Boston, MA, 2021).", + "DOI": "10.1007/978-1-0716-2197-4_3" + }, + { + "key": "1742_CR120", + "doi-asserted-by": "publisher", + "unstructured": "Banihashemi, S. & Abhari, A. Effects of different recommendation algorithms on structure of social networks. In 2021 International Conference on Computational Science and Computational Intelligence (CSCI) 1395–1400 (IEEE, 2021); https://doi.org/10.1109/CSCI54926.2021.00279", + "DOI": "10.1109/CSCI54926.2021.00279" + }, + { + "key": "1742_CR121", + "doi-asserted-by": "publisher", + "unstructured": "Ferrara, A., Espín-Noboa, L., Karimi, F. & Wagner, C. Link recommendations: their impact on network structure and minorities. In 14th ACM Web Science Conference 2022. 228–238 (Association for Computing Machinery, 2022); https://doi.org/10.1145/3501247.3531583", + "DOI": "10.1145/3501247.3531583" + }, + { + "key": "1742_CR122", + "doi-asserted-by": "crossref", + "unstructured": "Su, J., Sharma, A. & Goel, S. The effect of recommendations on network structure. In Proc. 25th International Conference on World Wide Web 1157–1167 (International World Wide Web Conferences Steering Committee, 2016).", + "DOI": "10.1145/2872427.2883040" + }, + { + "key": "1742_CR123", + "doi-asserted-by": "publisher", + "first-page": "667", + "DOI": "10.2189/asqu.52.4.667", + "volume": "52", + "author": "D Lazer", + "year": "2007", + "unstructured": "Lazer, D. & Friedman, A. The network structure of exploration and exploitation. Adm. Sci. Q. 52, 667–694 (2007).", + "journal-title": "Adm. Sci. Q." + }, + { + "key": "1742_CR124", + "doi-asserted-by": "publisher", + "first-page": "764", + "DOI": "10.1073/pnas.1110069108", + "volume": "109", + "author": "W Mason", + "year": "2012", + "unstructured": "Mason, W. & Watts, D. J. Collaborative learning in networks. Proc. Natl Acad. Sci. USA 109, 764–769 (2012).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR125", + "doi-asserted-by": "publisher", + "first-page": "420", + "DOI": "10.1177/0963721415599543", + "volume": "24", + "author": "AW Woolley", + "year": "2015", + "unstructured": "Woolley, A. W., Aggarwal, I. & Malone, T. W. Collective intelligence and group performance. Curr. Dir. Psychol. Sci. 24, 420–424 (2015).", + "journal-title": "Curr. Dir. Psychol. Sci." + }, + { + "key": "1742_CR126", + "doi-asserted-by": "publisher", + "first-page": "2982", + "DOI": "10.1073/pnas.1518798113", + "volume": "113", + "author": "M Derex", + "year": "2016", + "unstructured": "Derex, M. & Boyd, R. Partial connectivity increases cultural accumulation within groups. Proc. Natl Acad. Sci. USA 113, 2982–2987 (2016).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR127", + "doi-asserted-by": "publisher", + "first-page": "12935", + "DOI": "10.1007/s11042-017-4924-2", + "volume": "77", + "author": "V Kant", + "year": "2018", + "unstructured": "Kant, V., Jhalani, T. & Dwivedi, P. Enhanced multi-criteria recommender system based on fuzzy Bayesian approach. Multimed. Tools Appl. 77, 12935–12953 (2018).", + "journal-title": "Multimed. Tools Appl." + }, + { + "key": "1742_CR128", + "doi-asserted-by": "crossref", + "unstructured": "Bollen, D., Knijnenburg, B. P., Willemsen, M. C. & Graus, M. Understanding choice overload in recommender systems. In Proc. Fourth ACM Conference on Recommender Systems 63–70 (Association for Computing Machinery, 2010).", + "DOI": "10.1145/1864708.1864724" + }, + { + "key": "#cr-split#-1742_CR129.1", + "unstructured": "Tkalcic, M., Kosir, A. & Tasic, J. Affective recommender systems: the role of emotions in recommender systems. In The RecSys 2011 Workshops-Decisions@ RecSys 2011 and UCERSTI-2: Human Decision Making in Recommender Systems" + }, + { + "key": "#cr-split#-1742_CR129.2", + "unstructured": "User-Centric Evaluation of Recommender Systems and Their Interfaces-2 Vol. 811, 9-13 (CEUR-WS.org, 2011)." + }, + { + "key": "1742_CR130", + "doi-asserted-by": "crossref", + "unstructured": "Gonzalez, G., de la Rosa, J. L., Montaner, M. & Delfin, S. Embedding emotional context in recommender systems. In 2007 IEEE 23rd International Conference on Data Engineering Workshop 845–852 (IEEE, 2007).", + "DOI": "10.1109/ICDEW.2007.4401075" + }, + { + "key": "1742_CR131", + "doi-asserted-by": "publisher", + "first-page": "e0248695", + "DOI": "10.1371/journal.pone.0248695", + "volume": "16", + "author": "NA Osman", + "year": "2021", + "unstructured": "Osman, N. A., Mohd Noah, S. A., Darwich, M. & Mohd, M. Integrating contextual sentiment analysis in collaborative recommender systems. PLoS ONE 16, e0248695 (2021).", + "journal-title": "PLoS ONE" + }, + { + "key": "1742_CR132", + "first-page": "21", + "volume": "2013", + "author": "Y Zheng", + "year": "2013", + "unstructured": "Zheng, Y., Mobasher, B. & Burke, R. D. The role of emotions in context-aware recommendation. Decis. RecSys 2013, 21–28 (2013).", + "journal-title": "Decis. RecSys" + }, + { + "key": "1742_CR133", + "doi-asserted-by": "publisher", + "first-page": "1", + "DOI": "10.25300/MISQ/2021/14971", + "volume": "45", + "author": "X Zhang", + "year": "2021", + "unstructured": "Zhang, X., Ferreira, P., Godinho De Matos, M. & Belo, R. Welfare properties of profit maximizing recommender systems: theory and results from a randomized experiment. MIS Q. 45, 1 (2021).", + "journal-title": "MIS Q." + }, + { + "key": "1742_CR134", + "doi-asserted-by": "publisher", + "first-page": "831", + "DOI": "10.1257/aer.20191777", + "volume": "111", + "author": "R Levy", + "year": "2021", + "unstructured": "Levy, R. Social media, news consumption, and polarization: evidence from a field experiment. Am. Econ. Rev. 111, 831–870 (2021).", + "journal-title": "Am. Econ. Rev." + }, + { + "key": "1742_CR135", + "doi-asserted-by": "publisher", + "first-page": "746", + "DOI": "10.1037/xge0000673", + "volume": "149", + "author": "WJ Brady", + "year": "2020", + "unstructured": "Brady, W. J., Gantman, A. P. & Van Bavel, J. J. Attentional capture helps explain why moral and emotional content go viral. J. Exp. Psychol. Gen. 149, 746–756 (2020).", + "journal-title": "J. Exp. Psychol. Gen." + }, + { + "key": "1742_CR136", + "unstructured": "Brady, W. J., Jackson, J. C., Lindström, B. & Crockett, M. J. Algorithm-mediated social learning in online social networks. Trends Cogn. Sci. (in the press)." + }, + { + "key": "1742_CR137", + "doi-asserted-by": "publisher", + "first-page": "1", + "DOI": "10.1057/s41599-019-0224-y", + "volume": "5", + "author": "A Acerbi", + "year": "2019", + "unstructured": "Acerbi, A. Cognitive attraction and online misinformation. Palgrave Commun. 5, 1–7 (2019).", + "journal-title": "Palgrave Commun." + }, + { + "key": "1742_CR138", + "doi-asserted-by": "publisher", + "unstructured": "Brady, W. J. et al. Overperception of moral outrage in online social networks inflates beliefs about intergroup hostility. Nat. Hum. Behav. https://doi.org/10.1038/s41562-023-01582-0 (2023).", + "DOI": "10.1038/s41562-023-01582-0" + }, + { + "key": "1742_CR139", + "doi-asserted-by": "publisher", + "unstructured": "Brady, W. J. & Crockett, M. J. Norm psychology in the digital age: how social media shapes the cultural evolution of normativity. Perspect. Psychol. Sci. https://doi.org/10.1177/17456916231187395 (2023).", + "DOI": "10.1177/17456916231187395" + }, + { + "key": "1742_CR140", + "doi-asserted-by": "publisher", + "unstructured": "Milli, S., Carroll, M., Pandey, S., Wang, Y. & Dragan, A. D. Engagement, user satisfaction, and the amplification of divisive content on social media. Preprint at arXiv https://doi.org/10.48550/arXiv.2305.16941 (2023).", + "DOI": "10.48550/arXiv.2305.16941" + }, + { + "key": "1742_CR141", + "doi-asserted-by": "publisher", + "first-page": "e2023301118", + "DOI": "10.1073/pnas.2023301118", + "volume": "118", + "author": "M Cinelli", + "year": "2021", + "unstructured": "Cinelli, M., De Francisci Morales, G., Galeazzi, A., Quattrociocchi, W. & Starnini, M. The echo chamber effect on social media. Proc. Natl Acad. Sci. USA 118, e2023301118 (2021).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR142", + "doi-asserted-by": "crossref", + "unstructured": "Pariser, E. The Filter Bubble: What the Internet Is Hiding from You (Penguin, 2011).", + "DOI": "10.3139/9783446431164" + }, + { + "key": "1742_CR143", + "unstructured": "Sunstein, C. R. Republic.com 2.0 (Princeton Univ. Press, 2007)." + }, + { + "key": "1742_CR144", + "doi-asserted-by": "crossref", + "unstructured": "Jiang, R., Chiappa, S., Lattimore, T., György, A. & Kohli, P. Degenerate feedback loops in recommender systems. In Proc. 2019 AAAI/ACM Conference on AI, Ethics, and Society 383–390 (ACM, 2019).", + "DOI": "10.1145/3306618.3314288" + }, + { + "key": "1742_CR145", + "doi-asserted-by": "publisher", + "unstructured": "Pagan, N. et al. A classification of feedback loops and their relation to biases in automated decision-making systems. Preprint at arXiv https://doi.org/10.48550/arXiv.2305.06055 (2023).", + "DOI": "10.48550/arXiv.2305.06055" + }, + { + "key": "1742_CR146", + "doi-asserted-by": "publisher", + "unstructured": "Stray, J. et al. Building human values into recommender systems: an interdisciplinary synthesis. Preprint at arXiv https://doi.org/10.48550/arXiv.2207.10192 (2022).", + "DOI": "10.48550/arXiv.2207.10192" + }, + { + "key": "1742_CR147", + "doi-asserted-by": "publisher", + "unstructured": "Kleinberg, J., Mullainathan, S. & Raghavan, M. The challenge of understanding what users want: inconsistent preferences and engagement optimization. Preprint at arXiv https://doi.org/10.48550/arXiv.2202.11776 (2022).", + "DOI": "10.48550/arXiv.2202.11776" + }, + { + "key": "1742_CR148", + "doi-asserted-by": "publisher", + "unstructured": "Ovadya, A. & Thorburn, L. Bridging systems: open problems for countering destructive divisiveness across ranking, recommenders, and governance. Preprint at arXiv https://doi.org/10.48550/arXiv.2301.09976 (2023).", + "DOI": "10.48550/arXiv.2301.09976" + }, + { + "key": "1742_CR149", + "doi-asserted-by": "publisher", + "unstructured": "Yao, B., Jiang, M., Yang, D. & Hu, J. Empowering LLM-based machine translation with cultural awareness. Preprint at arXiv https://doi.org/10.48550/arXiv.2305.14328 (2023).", + "DOI": "10.48550/arXiv.2305.14328" + }, + { + "key": "1742_CR150", + "doi-asserted-by": "crossref", + "unstructured": "Garimella, K., De Francisci Morales, G., Gionis, A. & Mathioudakis, M. Reducing controversy by connecting opposing views. In Proc. Tenth ACM International Conference on Web Search and Data Mining 81–90 (Association for Computing Machinery, 2017).", + "DOI": "10.1145/3018661.3018703" + }, + { + "key": "1742_CR151", + "doi-asserted-by": "publisher", + "first-page": "e2102141118", + "DOI": "10.1073/pnas.2102141118", + "volume": "118", + "author": "FP Santos", + "year": "2021", + "unstructured": "Santos, F. P., Lelkes, Y. & Levin, S. A. Link recommendation algorithms and dynamics of polarization in online social networks. Proc. Natl Acad. Sci. USA 118, e2102141118 (2021).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR152", + "doi-asserted-by": "publisher", + "first-page": "959", + "DOI": "10.1080/1369118X.2018.1444076", + "volume": "21", + "author": "J Möller", + "year": "2018", + "unstructured": "Möller, J., Trilling, D., Helberger, N. & Van Es, B. Do not blame it on the algorithm: an empirical assessment of multiple recommender systems and their impact on content diversity. Inf. Commun. Soc. 21, 959–977 (2018).", + "journal-title": "Inf. Commun. Soc." + }, + { + "key": "1742_CR153", + "first-page": "38176", + "volume": "35", + "author": "M Bakker", + "year": "2022", + "unstructured": "Bakker, M. et al. Fine-tuning language models to find agreement among humans with diverse preferences. Adv. Neural Inf. Process. Syst. 35, 38176–38189 (2022).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "1742_CR154", + "unstructured": "Christiano, P. F. et al. Deep reinforcement learning from human preferences. Adv. Neural Inf. Process. Syst. 30 (2017)." + }, + { + "key": "1742_CR155", + "first-page": "27730", + "volume": "35", + "author": "L Ouyang", + "year": "2022", + "unstructured": "Ouyang, L. et al. Training language models to follow instructions with human feedback. Adv. Neural Inf. Process. Syst. 35, 27730–27744 (2022).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "1742_CR156", + "doi-asserted-by": "publisher", + "unstructured": "Perez, E. et al. Discovering language model behaviors with model-written evaluations. Preprint at arXiv https://doi.org/10.48550/arXiv.2212.09251 (2022).", + "DOI": "10.48550/arXiv.2212.09251" + }, + { + "key": "1742_CR157", + "doi-asserted-by": "publisher", + "first-page": "20130368", + "DOI": "10.1098/rstb.2013.0368", + "volume": "369", + "author": "N Claidière", + "year": "2014", + "unstructured": "Claidière, N., Scott-Phillips, T. C. & Sperber, D. How Darwinian is cultural evolution? Phil. Trans. R. Soc. B 369, 20130368 (2014).", + "journal-title": "Phil. Trans. R. Soc. B" + }, + { + "key": "1742_CR158", + "doi-asserted-by": "publisher", + "first-page": "414", + "DOI": "10.1016/j.tplants.2015.03.011", + "volume": "20", + "author": "S Blancke", + "year": "2015", + "unstructured": "Blancke, S., Van Breusegem, F., De Jaeger, G., Braeckman, J. & Van Montagu, M. Fatal attraction: the intuitive appeal of GMO opposition. Trends Plant Sci. 20, 414–418 (2015).", + "journal-title": "Trends Plant Sci." + }, + { + "key": "1742_CR159", + "doi-asserted-by": "publisher", + "first-page": "633", + "DOI": "10.1016/j.tics.2015.08.007", + "volume": "19", + "author": "H Miton", + "year": "2015", + "unstructured": "Miton, H. & Mercier, H. Cognitive obstacles to pro-vaccination beliefs. Trends Cogn. Sci. 19, 633–636 (2015).", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "1742_CR160", + "doi-asserted-by": "crossref", + "unstructured": "Poulsen, V. & DeDeo, S. Cognitive attractors and the cultural evolution of religion. In Proc. of the Annual Meeting of the Cognitive Science Society 45, 45 (2023).", + "DOI": "10.31234/osf.io/daxyu" + }, + { + "key": "1742_CR161", + "doi-asserted-by": "publisher", + "unstructured": "Kirchenbauer, J. et al. A watermark for large language models. Preprint at arXiv https://doi.org/10.48550/arXiv.2301.10226 (2023).", + "DOI": "10.48550/arXiv.2301.10226" + }, + { + "key": "1742_CR162", + "doi-asserted-by": "publisher", + "unstructured": "Shumailov, I. et al. The curse of recursion: training on generated data makes models forget. Preprint at arXiv https://doi.org/10.48550/arXiv.2305.17493 (2023).", + "DOI": "10.48550/arXiv.2305.17493" + }, + { + "key": "1742_CR163", + "doi-asserted-by": "publisher", + "unstructured": "Veselovsky, V., Ribeiro, M. H. & West, R. Artificial artificial artificial intelligence: crowd workers widely use large language models for text production tasks. Preprint at arXiv https://doi.org/10.48550/arXiv.2306.07899 (2023).", + "DOI": "10.48550/arXiv.2306.07899" + }, + { + "key": "1742_CR164", + "doi-asserted-by": "publisher", + "first-page": "429", + "DOI": "10.3233/IDA-2002-6504", + "volume": "6", + "author": "N Japkowicz", + "year": "2002", + "unstructured": "Japkowicz, N. & Stephen, S. The class imbalance problem: a systematic study. Intell. Data Anal. 6, 429–449 (2002).", + "journal-title": "Intell. Data Anal." + }, + { + "key": "1742_CR165", + "doi-asserted-by": "publisher", + "first-page": "288", + "DOI": "10.3758/BF03194066", + "volume": "14", + "author": "ML Kalish", + "year": "2007", + "unstructured": "Kalish, M. L., Griffiths, T. L. & Lewandowsky, S. Iterated learning: intergenerational knowledge transmission reveals inductive biases. Psychon. Bull. Rev. 14, 288–294 (2007).", + "journal-title": "Psychon. Bull. Rev." + }, + { + "key": "1742_CR166", + "doi-asserted-by": "publisher", + "first-page": "203", + "DOI": "10.1177/0022002797041002001", + "volume": "41", + "author": "R Axelrod", + "year": "1997", + "unstructured": "Axelrod, R. The dissemination of culture: a model with local convergence and global polarization. J. Confl. Resolut. 41, 203–226 (1997).", + "journal-title": "J. Confl. Resolut." + }, + { + "key": "1742_CR167", + "doi-asserted-by": "publisher", + "unstructured": "Touvron, H. et al. LLaMA: open and efficient foundation language models. Preprint at arXiv https://doi.org/10.48550/arXiv.2302.13971 (2023).", + "DOI": "10.48550/arXiv.2302.13971" + }, + { + "key": "1742_CR168", + "unstructured": "West, S. M., Whittaker, M. & Crawford, K. Discriminating Systems: Gender, Race and Power in AI (AI Now Institute, 2019)." + }, + { + "key": "1742_CR169", + "doi-asserted-by": "publisher", + "first-page": "3", + "DOI": "10.1257/jep.29.3.3", + "volume": "29", + "author": "DH Autor", + "year": "2015", + "unstructured": "Autor, D. H. Why are there still so many jobs? The history and future of workplace automation. J. Econ. Perspect. 29, 3–30 (2015).", + "journal-title": "J. Econ. Perspect." + }, + { + "key": "1742_CR170", + "doi-asserted-by": "publisher", + "first-page": "589", + "DOI": "10.1001/jamainternmed.2023.1838", + "volume": "183", + "author": "JW Ayers", + "year": "2023", + "unstructured": "Ayers, J. W. et al. Comparing physician and artificial intelligence chatbot responses to patient questions posted to a public social media forum. JAMA Intern. Med. 183, 589–596 (2023).", + "journal-title": "JAMA Intern. Med." + }, + { + "key": "1742_CR171", + "doi-asserted-by": "publisher", + "first-page": "46", + "DOI": "10.1038/s42256-022-00593-2", + "volume": "5", + "author": "A Sharma", + "year": "2023", + "unstructured": "Sharma, A., Lin, I. W., Miner, A. S., Atkins, D. C. & Althoff, T. Human–AI collaboration enables more empathic conversations in text-based peer-to-peer mental health support. Nat. Mach. Intell. 5, 46–57 (2023).", + "journal-title": "Nat. Mach. Intell." + }, + { + "key": "1742_CR172", + "doi-asserted-by": "publisher", + "unstructured": "Perry, A. AI will never convey the essence of human empathy. Nat. Hum. Behav. https://doi.org/10.1038/s41562-023-01675-w (2023).", + "DOI": "10.1038/s41562-023-01675-w" + }, + { + "key": "1742_CR173", + "doi-asserted-by": "publisher", + "first-page": "67", + "DOI": "10.1016/j.copsyc.2018.05.005", + "volume": "24", + "author": "E Weisz", + "year": "2018", + "unstructured": "Weisz, E. & Zaki, J. Motivated empathy: a social neuroscience perspective. Curr. Opin. Psychol. 24, 67–71 (2018).", + "journal-title": "Curr. Opin. Psychol." + }, + { + "key": "1742_CR174", + "doi-asserted-by": "crossref", + "unstructured": "Carroll, M., Hadfield-Menell, D., Russell, S. & Dragan, A. Estimating and penalizing preference shift in recommender systems. In Proc. 15th ACM Conference on Recommender Systems 661–667 (Association for Computing Machinery, 2021).", + "DOI": "10.1145/3460231.3478849" + }, + { + "key": "1742_CR175", + "doi-asserted-by": "publisher", + "first-page": "1130", + "DOI": "10.1126/science.aaa1160", + "volume": "348", + "author": "E Bakshy", + "year": "2015", + "unstructured": "Bakshy, E., Messing, S. & Adamic, L. A. Exposure to ideologically diverse news and opinion on Facebook. Science 348, 1130–1132 (2015).", + "journal-title": "Science" + }, + { + "key": "1742_CR176", + "doi-asserted-by": "publisher", + "first-page": "342", + "DOI": "10.1038/s41586-023-06078-5", + "volume": "618", + "author": "RE Robertson", + "year": "2023", + "unstructured": "Robertson, R. E. et al. Users choose to engage with more partisan news than they are exposed to on Google Search. Nature 618, 342–348 (2023).", + "journal-title": "Nature" + }, + { + "key": "1742_CR177", + "unstructured": "Art made by artificial intelligence is developing a style of its own. Economist (24 May 2023)." + }, + { + "key": "1742_CR178", + "doi-asserted-by": "publisher", + "first-page": "20220085", + "DOI": "10.1098/rsif.2022.0085", + "volume": "19", + "author": "N Obradovich", + "year": "2022", + "unstructured": "Obradovich, N. et al. Expanding the measurement of culture with a sample of two billion humans. J. R. Soc. Interface 19, 20220085 (2022).", + "journal-title": "J. R. Soc. Interface" + }, + { + "key": "1742_CR179", + "doi-asserted-by": "publisher", + "first-page": "E3635", + "DOI": "10.1073/pnas.1720347115", + "volume": "115", + "author": "N Garg", + "year": "2018", + "unstructured": "Garg, N., Schiebinger, L., Jurafsky, D. & Zou, J. Word embeddings quantify 100 years of gender and ethnic stereotypes. Proc. Natl Acad. Sci. USA 115, E3635–E3644 (2018).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR180", + "doi-asserted-by": "publisher", + "first-page": "21", + "DOI": "10.1140/epjds/s13688-023-00397-3", + "volume": "12", + "author": "A Karjus", + "year": "2023", + "unstructured": "Karjus, A., Solà, M. C., Ohm, T., Ahnert, S. E. & Schich, M. Compression ensembles quantify aesthetic complexity and the evolution of visual art. EPJ Data Sci. 12, 21 (2023).", + "journal-title": "EPJ Data Sci." + }, + { + "key": "1742_CR181", + "doi-asserted-by": "publisher", + "unstructured": "Santy, S., Liang, J. T., Bras, R. L., Reinecke, K. & Sap, M. NLPositionality: characterizing design biases of datasets and models. Preprint at arXiv https://doi.org/10.48550/arXiv.2306.01943 (2023).", + "DOI": "10.48550/arXiv.2306.01943" + }, + { + "key": "1742_CR182", + "doi-asserted-by": "publisher", + "first-page": "59", + "DOI": "10.1038/s41586-018-0637-6", + "volume": "563", + "author": "E Awad", + "year": "2018", + "unstructured": "Awad, E. et al. The Moral Machine experiment. Nature 563, 59–64 (2018).", + "journal-title": "Nature" + }, + { + "key": "1742_CR183", + "unstructured": "Brandt, F., Conitzer, V. & Endriss, U. in Multiagent Systems (ed. Weiss, G.) 213–284 (MIT Press, 2012)." + }, + { + "key": "1742_CR184", + "doi-asserted-by": "publisher", + "first-page": "1398", + "DOI": "10.1038/s41562-022-01383-x", + "volume": "6", + "author": "R Koster", + "year": "2022", + "unstructured": "Koster, R. et al. Human-centred mechanism design with Democratic AI. Nat. Hum. Behav. 6, 1398–1407 (2022).", + "journal-title": "Nat. Hum. Behav." + }, + { + "key": "1742_CR185", + "doi-asserted-by": "publisher", + "unstructured": "Small, C. T. et al. Opportunities and risks of LLMs for scalable deliberation with Polis. Preprint at arXiv https://doi.org/10.48550/arXiv.2306.11932 (2023).", + "DOI": "10.48550/arXiv.2306.11932" + }, + { + "key": "1742_CR186", + "doi-asserted-by": "publisher", + "first-page": "5", + "DOI": "10.1007/s10676-017-9430-8", + "volume": "20", + "author": "I Rahwan", + "year": "2018", + "unstructured": "Rahwan, I. Society-in-the-loop: programming the algorithmic social contract. Ethics Inf. Technol. 20, 5–14 (2018).", + "journal-title": "Ethics Inf. Technol." + }, + { + "key": "1742_CR187", + "doi-asserted-by": "publisher", + "unstructured": "Jernite, Y. et al. Data governance in the age of large-scale data-driven language technology. In 2022 ACM Conference on Fairness, Accountability, and Transparency 2206–2222 (Association for Computing Machinery, 2022); https://doi.org/10.1145/3531146.3534637", + "DOI": "10.1145/3531146.3534637" + }, + { + "key": "1742_CR188", + "first-page": "31809", + "volume": "35", + "author": "H Laurençon", + "year": "2022", + "unstructured": "Laurençon, H. et al. The bigscience roots corpus: a 1.6 tb composite multilingual dataset. Adv. Neural Inf. Process. Syst. 35, 31809–31826 (2022).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "1742_CR189", + "doi-asserted-by": "publisher", + "unstructured": "Ziegler, D. M. et al. Fine-tuning language models from human preferences. Preprint at arXiv https://doi.org/10.48550/arXiv.1909.08593 (2020).", + "DOI": "10.48550/arXiv.1909.08593" + }, + { + "key": "1742_CR190", + "doi-asserted-by": "publisher", + "unstructured": "Bai, Y. et al. Constitutional AI: harmlessness from AI feedback. Preprint at arXiv https://doi.org/10.48550/arXiv.2212.08073 (2022).", + "DOI": "10.48550/arXiv.2212.08073" + }, + { + "key": "1742_CR191", + "doi-asserted-by": "publisher", + "first-page": "593", + "DOI": "10.1073/pnas.0134966100", + "volume": "100", + "author": "CT Bergstrom", + "year": "2003", + "unstructured": "Bergstrom, C. T. & Lachmann, M. The Red King effect: when the slowest runner wins the coevolutionary race. Proc. Natl Acad. Sci. USA 100, 593–598 (2003).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR192", + "unstructured": "Bostrom, N. Superintelligence: Paths, Dangers, Strategies (Oxford Univ. Press, 2014)." + }, + { + "key": "1742_CR193", + "doi-asserted-by": "publisher", + "first-page": "e2218222120", + "DOI": "10.1073/pnas.2218222120", + "volume": "120", + "author": "DS Wilson", + "year": "2023", + "unstructured": "Wilson, D. S. et al. Multilevel cultural evolution: from new theory to practical applications. Proc. Natl Acad. Sci. USA 120, e2218222120 (2023).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "1742_CR194", + "unstructured": "DALL·E: Creating Images from Text, https://openai.com/research/dall-e (OpenAI, 2021)." + } + ], + "container-title": "Nature Human Behaviour", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://www.nature.com/articles/s41562-023-01742-2.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://www.nature.com/articles/s41562-023-01742-2", + "content-type": "text/html", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://www.nature.com/articles/s41562-023-01742-2.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2023, + 11, + 21 + ] + ], + "date-time": "2023-11-21T15:17:37Z", + "timestamp": 1700579857000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.nature.com/articles/s41562-023-01742-2" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2023, + 11, + 20 + ] + ] + }, + "references-count": 195, + "journal-issue": { + "issue": "11", + "published-online": { + "date-parts": [ + [ + 2023, + 11 + ] + ] + } + }, + "alternative-id": [ + "1742" + ], + "URL": "http://dx.doi.org/10.1038/s41562-023-01742-2", + "relation": {}, + "ISSN": [ + "2397-3374" + ], + "subject": [], + "container-title-short": "Nat Hum Behav", + "published": { + "date-parts": [ + [ + 2023, + 11, + 20 + ] + ] + }, + "assertion": [ + { + "value": "22 August 2023", + "order": 1, + "name": "received", + "label": "Received", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "3 October 2023", + "order": 2, + "name": "accepted", + "label": "Accepted", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "20 November 2023", + "order": 3, + "name": "first_online", + "label": "First Online", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "The authors declare no competing interests.", + "order": 1, + "name": "Ethics", + "group": { + "name": "EthicsHeading", + "label": "Competing interests" + } + } + ], + "id": "ref17", + "note": "Manuscript reference 17" + }, + { + "type": "article", + "id": "ref18", + "categories": [ + "Human-Computer Interaction (cs.HC)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Park", + "given": "Joon Sung" + }, + { + "family": "O'Brien", + "given": "Joseph C." + }, + { + "family": "Cai", + "given": "Carrie J." + }, + { + "family": "Morris", + "given": "Meredith Ringel" + }, + { + "family": "Liang", + "given": "Percy" + }, + { + "family": "Bernstein", + "given": "Michael S." + } + ], + "issued": { + "date-parts": [ + [ + 2023 + ] + ] + }, + "abstract": "Believable proxies of human behavior can empower interactive applications ranging from immersive environments to rehearsal spaces for interpersonal communication to prototyping tools. In this paper, we introduce generative agents--computational software agents that simulate believable human behavior. Generative agents wake up, cook breakfast, and head to work; artists paint, while authors write; they form opinions, notice each other, and initiate conversations; they remember and reflect on days past as they plan the next day. To enable generative agents, we describe an architecture that extends a large language model to store a complete record of the agent's experiences using natural language, synthesize those memories over time into higher-level reflections, and retrieve them dynamically to plan behavior. We instantiate generative agents to populate an interactive sandbox environment inspired by The Sims, where end users can interact with a small town of twenty five agents using natural language. In an evaluation, these generative agents produce believable individual and emergent social behaviors: for example, starting with only a single user-specified notion that one agent wants to throw a Valentine's Day party, the agents autonomously spread invitations to the party over the next two days, make new acquaintances, ask each other out on dates to the party, and coordinate to show up for the party together at the right time. We demonstrate through ablation that the components of our agent architecture--observation, planning, and reflection--each contribute critically to the believability of agent behavior. By fusing large language models with computational, interactive agents, this work introduces architectural and interaction patterns for enabling believable simulations of human behavior.", + "DOI": "10.48550/arXiv.2304.03442", + "publisher": "arXiv", + "title": "Generative Agents: Interactive Simulacra of Human Behavior", + "URL": "https://arxiv.org/abs/2304.03442", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 18", + "container-title": "arXiv", + "number": "arXiv:2304.03442", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref19", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "Multiagent Systems (cs.MA)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Guo", + "given": "Taicheng" + }, + { + "family": "Chen", + "given": "Xiuying" + }, + { + "family": "Wang", + "given": "Yaqi" + }, + { + "family": "Chang", + "given": "Ruidi" + }, + { + "family": "Pei", + "given": "Shichao" + }, + { + "family": "Chawla", + "given": "Nitesh V." + }, + { + "family": "Wiest", + "given": "Olaf" + }, + { + "family": "Zhang", + "given": "Xiangliang" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Large Language Models (LLMs) have achieved remarkable success across a wide array of tasks. Due to the impressive planning and reasoning abilities of LLMs, they have been used as autonomous agents to do many tasks automatically. Recently, based on the development of using one LLM as a single planning or decision-making agent, LLM-based multi-agent systems have achieved considerable progress in complex problem-solving and world simulation. To provide the community with an overview of this dynamic field, we present this survey to offer an in-depth discussion on the essential aspects of multi-agent systems based on LLMs, as well as the challenges. Our goal is for readers to gain substantial insights on the following questions: What domains and environments do LLM-based multi-agents simulate? How are these agents profiled and how do they communicate? What mechanisms contribute to the growth of agents' capacities? For those interested in delving into this field of study, we also summarize the commonly used datasets or benchmarks for them to have convenient access. To keep researchers updated on the latest studies, we maintain an open-source GitHub repository, dedicated to outlining the research on LLM-based multi-agent systems.", + "DOI": "10.48550/arXiv.2402.01680", + "publisher": "arXiv", + "title": "Large Language Model based Multi-Agents: A Survey of Progress and Challenges", + "URL": "https://arxiv.org/abs/2402.01680", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 19", + "container-title": "arXiv", + "number": "arXiv:2402.01680", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref20", + "categories": [ + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Tomasev", + "given": "Nenad" + }, + { + "family": "Franklin", + "given": "Matija" + }, + { + "family": "Leibo", + "given": "Joel Z." + }, + { + "family": "Jacobs", + "given": "Julian" + }, + { + "family": "Cunningham", + "given": "William A." + }, + { + "family": "Gabriel", + "given": "Iason" + }, + { + "family": "Osindero", + "given": "Simon" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "The rapid adoption of autonomous AI agents is giving rise to a new economic layer where agents transact and coordinate at scales and speeds beyond direct human oversight. We propose the \"sandbox economy\" as a framework for analyzing this emergent system, characterizing it along two key dimensions: its origins (emergent vs. intentional) and its degree of separateness from the established human economy (permeable vs. impermeable). Our current trajectory points toward a spontaneous emergence of a vast and highly permeable AI agent economy, presenting us with opportunities for an unprecedented degree of coordination as well as significant challenges, including systemic economic risk and exacerbated inequality. Here we discuss a number of possible design choices that may lead to safely steerable AI agent markets. In particular, we consider auction mechanisms for fair resource allocation and preference resolution, the design of AI \"mission economies\" to coordinate around achieving collective goals, and socio-technical infrastructure needed to ensure trust, safety, and accountability. By doing this, we argue for the proactive design of steerable agent markets to ensure the coming technological shift aligns with humanity's long-term collective flourishing.", + "DOI": "10.48550/arXiv.2509.10147", + "publisher": "arXiv", + "title": "Virtual Agent Economies", + "URL": "https://arxiv.org/abs/2509.10147", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 20", + "container-title": "arXiv", + "number": "arXiv:2509.10147", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 9 + ] + ], + "date-time": "2026-09-09T21:25:44Z", + "timestamp": 1788989144266, + "version": "build-2803163510" + }, + "reference-count": 22, + "publisher": "Springer Science and Business Media LLC", + "issue": "8022", + "license": [ + { + "start": { + "date-parts": [ + [ + 2024, + 7, + 24 + ] + ], + "date-time": "2024-07-24T00:00:00Z", + "timestamp": 1721779200000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://creativecommons.org/licenses/by/4.0" + }, + { + "start": { + "date-parts": [ + [ + 2024, + 7, + 24 + ] + ], + "date-time": "2024-07-24T00:00:00Z", + "timestamp": 1721779200000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://creativecommons.org/licenses/by/4.0" + } + ], + "content-domain": { + "domain": [ + "link.springer.com" + ], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 2024, + 7, + 25 + ] + ] + }, + "abstract": "Abstract Stable diffusion revolutionized image creation from descriptive text. GPT-2 (ref. 1 ), GPT-3(.5) (ref. 2 ) and GPT-4 (ref. 3 ) demonstrated high performance across a variety of language tasks. ChatGPT introduced such language models to the public. It is now clear that generative artificial intelligence (AI) such as large language models (LLMs) is here to stay and will substantially change the ecosystem of online text and images. Here we consider what may happen to GPT-{ n } once LLMs contribute much of the text found online. We find that indiscriminate use of model-generated content in training causes irreversible defects in the resulting models, in which tails of the original content distribution disappear. We refer to this effect as ‘model collapse’ and show that it can occur in LLMs as well as in variational autoencoders (VAEs) and Gaussian mixture models (GMMs). We build theoretical intuition behind the phenomenon and portray its ubiquity among all learned generative models. We demonstrate that it must be taken seriously if we are to sustain the benefits of training from large-scale data scraped from the web. Indeed, the value of data collected about genuine human interactions with systems will be increasingly valuable in the presence of LLM-generated content in data crawled from the Internet.", + "DOI": "10.1038/s41586-024-07566-y", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2024, + 7, + 24 + ] + ], + "date-time": "2024-07-24T11:01:51Z", + "timestamp": 1721818911000 + }, + "page": "755-759", + "update-policy": "https://doi.org/10.1007/springer_crossmark_policy", + "source": "Crossref", + "is-referenced-by-count": 697, + "title": "AI models collapse when trained on recursively generated data", + "prefix": "10.1038", + "volume": "631", + "author": [ + { + "given": "Ilia", + "family": "Shumailov", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Zakhar", + "family": "Shumaylov", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-3727-7463", + "authenticated-orcid": false, + "given": "Yiren", + "family": "Zhao", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Nicolas", + "family": "Papernot", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0001-8697-5682", + "authenticated-orcid": false, + "given": "Ross", + "family": "Anderson", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-2733-2078", + "authenticated-orcid": false, + "given": "Yarin", + "family": "Gal", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "297", + "published-online": { + "date-parts": [ + [ + 2024, + 7, + 24 + ] + ] + }, + "reference": [ + { + "key": "7566_CR1", + "first-page": "9", + "volume": "1", + "author": "A Radford", + "year": "2019", + "unstructured": "Radford, A. et al. Language models are unsupervised multitask learners. OpenAI blog 1, 9 (2019).", + "journal-title": "OpenAI blog" + }, + { + "key": "7566_CR2", + "first-page": "1877", + "volume": "33", + "author": "T Brown", + "year": "2020", + "unstructured": "Brown, T. et al. Language models are few-shot learners. Adv. Neural Inf. Process. Syst. 33, 1877–1901 (2020).", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "7566_CR3", + "unstructured": "OpenAI. GPT-4 Technical Report. https://cdn.openai.com/papers/gpt-4.pdf (2023)." + }, + { + "key": "7566_CR4", + "unstructured": "Devlin, J., Chang, M.-W., Lee, K. & Toutanova, K. in Proc. 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers) (eds Burstein, J., Doran, C. & Solorio, T.) 4171–4186 (Association for Computational Linguistics, 2019)." + }, + { + "key": "7566_CR5", + "unstructured": "Liu, Y. et al. RoBERTa: a Robustly Optimized BERT Pretraining Approach. Preprint at https://arxiv.org/abs/1907.11692 (2019)." + }, + { + "key": "7566_CR6", + "unstructured": "Zhang, S. et al. Opt: open pre-trained transformer language models. Preprint at https://arxiv.org/abs/2205.01068 (2022)." + }, + { + "key": "7566_CR7", + "doi-asserted-by": "crossref", + "unstructured": "Aljundi, R., Kelchtermans, K. & Tuytelaars, T. Task-free continual learning. in: Proc. 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) 11254–11263 (IEEE, 2019).", + "DOI": "10.1109/CVPR.2019.01151" + }, + { + "key": "7566_CR8", + "unstructured": "Carlini, N. & Terzis, A. in Proc. Tenth International Conference on Learning Representations (ICLR, 2022)." + }, + { + "key": "7566_CR9", + "unstructured": "Carlini, N. et al. in Proc. 2024 IEEE Symposium on Security and Privacy (SP) 179 (IEEE, 2024)." + }, + { + "key": "7566_CR10", + "unstructured": "Mousavi-Hosseini, A., Park, S., Girotti, M., Mitliagkas, I. & Erdogdu, M. A. in Proc. Eleventh International Conference on Learning Representations (ICLR, 2023)." + }, + { + "key": "7566_CR11", + "first-page": "1", + "volume": "19", + "author": "D Soudry", + "year": "2018", + "unstructured": "Soudry, D., Hoffer, E., Nacson, M. S., Gunasekar, S. & Srebro, N. The implicit bias of gradient descent on separable data. J. Mach. Learn. Res. 19, 1–57 (2018).", + "journal-title": "J. Mach. Learn. Res." + }, + { + "key": "7566_CR12", + "unstructured": "Gu, Y., Dong, L., Wei, F. & Huang, M. in Proc. Twelfth International Conference on Learning Representations (ICLR, 2024)." + }, + { + "key": "7566_CR13", + "doi-asserted-by": "publisher", + "unstructured": "Shumailov, I. & Shumaylov, Z. Public code for Model Collapse (0.1). Zenodo https://doi.org/10.5281/zenodo.10866595 (2024).", + "DOI": "10.5281/zenodo.10866595" + }, + { + "key": "7566_CR14", + "unstructured": "Bommasani, R. et al. On the opportunities and risks of foundation models. Preprint at https://arxiv.org/abs/2108.07258 (2022)." + }, + { + "key": "7566_CR15", + "unstructured": "Strubell, E., Ganesh, A. & McCallum, A. in Proc. 57th Annual Meeting of the Association for Computational Linguistics (eds Korhonen, A., Traum, D. & Màrquez, L.) 3645–3650 (Association for Computational Linguistics, 2019)." + }, + { + "key": "7566_CR16", + "unstructured": "Merity, S., Xiong, C., Bradbury, J. & Socher, R. in Proc. 5th International Conference on Learning Representations (ICLR, 2017)." + }, + { + "key": "7566_CR17", + "unstructured": "Keskar, N. S., McCann, B., Varshney, L. R., Xiong, C. & Socher, R. CTRL: a conditional transformer language model for controllable generation. Preprint at https://arxiv.org/abs/1909.05858 (2019)." + }, + { + "key": "7566_CR18", + "doi-asserted-by": "crossref", + "unstructured": "Shumailov, I. et al. in Proc. 2021 IEEE European Symposium on Security and Privacy (EuroS&P) 212–231 (IEEE, 2021).", + "DOI": "10.1109/EuroSP51992.2021.00024" + }, + { + "key": "7566_CR19", + "unstructured": "Google. Finding more high-quality sites in search. Google https://googleblog.blogspot.com/2011/02/finding-more-high-quality-sites-in.html (2011)." + }, + { + "key": "7566_CR20", + "unstructured": "Mims, C. The search engine backlash against ‘content mills’. MIT Technology Review https://www.technologyreview.com/2010/07/26/26327/the-search-engine-backlash-against-content-mills/ (2010)." + }, + { + "key": "7566_CR21", + "doi-asserted-by": "publisher", + "first-page": "198", + "DOI": "10.1198/000313007X219996", + "volume": "61", + "author": "NN Taleb", + "year": "2007", + "unstructured": "Taleb, N. N. Black swans and the domains of statistics. Am. Stat. 61, 198–200 (2007).", + "journal-title": "Am. Stat." + }, + { + "key": "7566_CR22", + "unstructured": "LeCun, Y., Cortes, C. & Burges, C. J. C. The MNIST database of handwritten digits. http://yann.lecun.com/exdb/mnist/ (1998)." + } + ], + "updated-by": [ + { + "DOI": "10.1038/s41586-025-08905-3", + "type": "correction", + "label": "Correction", + "source": "publisher", + "updated": { + "date-parts": [ + [ + 2025, + 3, + 21 + ] + ], + "date-time": "2025-03-21T00:00:00Z", + "timestamp": 1742515200000 + } + } + ], + "container-title": "Nature", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://www.nature.com/articles/s41586-024-07566-y.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://www.nature.com/articles/s41586-024-07566-y", + "content-type": "text/html", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://www.nature.com/articles/s41586-024-07566-y.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2025, + 3, + 22 + ] + ], + "date-time": "2025-03-22T03:00:21Z", + "timestamp": 1742612421000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.nature.com/articles/s41586-024-07566-y" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2024, + 7, + 24 + ] + ] + }, + "references-count": 22, + "journal-issue": { + "issue": "8022", + "published-print": { + "date-parts": [ + [ + 2024, + 7, + 25 + ] + ] + } + }, + "alternative-id": [ + "7566" + ], + "URL": "http://dx.doi.org/10.1038/s41586-024-07566-y", + "relation": {}, + "ISSN": [ + "0028-0836", + "1476-4687" + ], + "subject": [], + "container-title-short": "Nature", + "published": { + "date-parts": [ + [ + 2024, + 7, + 24 + ] + ] + }, + "assertion": [ + { + "value": "20 October 2023", + "order": 1, + "name": "received", + "label": "Received", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "14 May 2024", + "order": 2, + "name": "accepted", + "label": "Accepted", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "24 July 2024", + "order": 3, + "name": "first_online", + "label": "First Online", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "21 March 2025", + "order": 4, + "name": "change_date", + "label": "Change Date", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "Correction", + "order": 5, + "name": "change_type", + "label": "Change Type", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "A Correction to this paper has been published:", + "order": 6, + "name": "change_details", + "label": "Change Details", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "https://doi.org/10.1038/s41586-025-08905-3", + "URL": "https://doi.org/10.1038/s41586-025-08905-3", + "order": 7, + "name": "change_details", + "label": "Change Details", + "group": { + "name": "ArticleHistory", + "label": "Article History" + } + }, + { + "value": "The authors declare no competing interests.", + "order": 1, + "name": "Ethics", + "group": { + "name": "EthicsHeading", + "label": "Competing interests" + } + } + ], + "id": "ref21", + "note": "Manuscript reference 21" + }, + { + "indexed": { + "date-parts": [ + [ + 2024, + 6, + 6 + ] + ], + "date-time": "2024-06-06T14:35:42Z", + "timestamp": 1717684542721 + }, + "reference-count": 52, + "publisher": "Public Library of Science (PLoS)", + "issue": "6", + "license": [ + { + "start": { + "date-parts": [ + [ + 2012, + 6, + 7 + ] + ], + "date-time": "2012-06-07T00:00:00Z", + "timestamp": 1339027200000 + }, + "content-version": "unspecified", + "delay-in-days": 0, + "URL": "http://creativecommons.org/licenses/by/4.0/" + } + ], + "content-domain": { + "domain": [ + "www.ploscompbiol.org" + ], + "crossmark-restriction": false + }, + "DOI": "10.1371/journal.pcbi.1002510", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2012, + 6, + 7 + ] + ], + "date-time": "2012-06-07T21:13:18Z", + "timestamp": 1339103598000 + }, + "page": "e1002510", + "update-policy": "http://dx.doi.org/10.1371/journal.pcbi.corrections_policy", + "source": "Crossref", + "is-referenced-by-count": 4, + "title": "Structural Drift: The Population Dynamics of Sequential Learning", + "prefix": "10.1371", + "volume": "8", + "author": [ + { + "given": "James P.", + "family": "Crutchfield", + "sequence": "first", + "affiliation": [], + "role": [ + { + "role": "author", + "vocabulary": "crossref" + } + ] + }, + { + "given": "Sean", + "family": "Whalen", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "role": "author", + "vocabulary": "crossref" + } + ] + } + ], + "member": "340", + "published-online": { + "date-parts": [ + [ + 2012, + 6, + 7 + ] + ] + }, + "reference": [ + { + "key": "ref1", + "doi-asserted-by": "crossref", + "first-page": "214", + "DOI": "10.1007/BF00141002", + "article-title": "Send reinforcements we're going to advance.", + "volume": "3", + "author": "CUM Smith", + "year": "1988", + "journal-title": "Bio Phil" + }, + { + "key": "ref2", + "doi-asserted-by": "crossref", + "first-page": "105", + "DOI": "10.1103/PhysRevLett.63.105", + "article-title": "Inferring Statistical Complexity.", + "volume": "63", + "author": "JP Crutchfield", + "year": "1989", + "journal-title": "Phys Rev Lett" + }, + { + "key": "ref3", + "first-page": "317", + "article-title": "Semantics and Thermodynamics.", + "author": "JP Crutchfield", + "year": "1992" + }, + { + "key": "ref4", + "doi-asserted-by": "crossref", + "first-page": "817", + "DOI": "10.1023/A:1010388907793", + "article-title": "Computational Mechanics: Pattern and Prediction, Structure and Simplicity.", + "volume": "104", + "author": "CR Shalizi", + "year": "2001", + "journal-title": "J Stat Phys" + }, + { + "key": "ref5", + "doi-asserted-by": "crossref", + "first-page": "763", + "DOI": "10.1093/genetics/61.3.763", + "article-title": "The Average Number of Generations until Fixation of a Mutant Gene in a Finite Population.", + "volume": "61", + "author": "M Kimura", + "year": "1969", + "journal-title": "Genetics" + }, + { + "key": "ref6", + "doi-asserted-by": "crossref", + "first-page": "9716", + "DOI": "10.1073/pnas.96.17.9716", + "article-title": "Neutral evolution of mutational robustness.", + "volume": "96", + "author": "E van Nimwegen", + "year": "1999", + "journal-title": "Proc Natl Acad Sci U S A" + }, + { + "key": "ref7", + "doi-asserted-by": "crossref", + "first-page": "5869", + "DOI": "10.1073/pnas.0510098103", + "article-title": "Protein stability promotes evolvability.", + "volume": "103", + "author": "JD Bloom", + "year": "2006", + "journal-title": "Proc Natl Acad Sci U S A" + }, + { + "key": "ref8", + "doi-asserted-by": "crossref", + "first-page": "138104", + "DOI": "10.1103/PhysRevLett.99.138104", + "article-title": "Molecular Clock on a Neutral Network.", + "volume": "99", + "author": "A Raval", + "year": "2007", + "journal-title": "Phys Rev Lett" + }, + { + "key": "ref9", + "article-title": "Evolutionary Dynamics: Exploring the Interplay of Selection, Accident, Neutrality, and Function. Santa Fe Institute Series in the Sciences of Complexity", + "author": "JP Crutchfield", + "year": "2003" + }, + { + "key": "ref10", + "doi-asserted-by": "crossref", + "first-page": "1898", + "DOI": "10.1126/science.1132745", + "article-title": "Epochal evolution shapes the phylodynamics of interpandemic inuenza A (H3N2) in humans.", + "volume": "314", + "author": "K Koelle", + "year": "2006", + "journal-title": "Science" + }, + { + "key": "ref11", + "doi-asserted-by": "crossref", + "DOI": "10.1017/CBO9780511623486", + "article-title": "The Neutral Theory of Molecular Evolution", + "author": "M Kimura", + "year": "1983" + }, + { + "key": "ref12", + "doi-asserted-by": "crossref", + "first-page": "97", + "DOI": "10.1093/genetics/16.2.97", + "article-title": "Evolution in Mendelian Populations.", + "volume": "16", + "author": "S Wright", + "year": "1931", + "journal-title": "Genetics" + }, + { + "key": "ref13", + "doi-asserted-by": "crossref", + "DOI": "10.5962/bhl.title.27468", + "article-title": "The Genetical Theory of Natural Selection", + "author": "RA Fisher", + "year": "1930" + }, + { + "key": "ref14", + "doi-asserted-by": "crossref", + "first-page": "639", + "DOI": "10.1038/nrg2611", + "article-title": "Genetics in geographically structured populations: Defining, estimating and interpreting F ST.", + "volume": "10", + "author": "KE Holsinger", + "year": "2009", + "journal-title": "Nat Rev Gen" + }, + { + "key": "ref15", + "doi-asserted-by": "crossref", + "first-page": "909", + "DOI": "10.1093/genetics/155.2.909", + "article-title": "Genetic Drift in an Infinite Population: The Pseudohitchhiking Model.", + "volume": "155", + "author": "JH Gillespie", + "year": "2000", + "journal-title": "Genetics" + }, + { + "key": "ref16", + "article-title": "Experiments in Plant Hybridisation", + "author": "G Mendel", + "year": "1925" + }, + { + "key": "ref17", + "article-title": "An Introduction to Probability Theory and Its Applications, Volume 1", + "author": "W Feller", + "year": "1968" + }, + { + "key": "ref18", + "article-title": "Population Genetics: A Concise Guide", + "author": "JH Gillespie", + "year": "2004" + }, + { + "key": "ref19", + "doi-asserted-by": "crossref", + "first-page": "13183", + "DOI": "10.1073/pnas.0912538107", + "article-title": "Individual histories and selection in heterogeneous populations.", + "volume": "107", + "author": "S Leibler", + "year": "2010", + "journal-title": "Proc Natl Acad Sci U S A" + }, + { + "key": "ref20", + "article-title": "Pattern Discovery in Time Series, Part I: Theory, Algorithm, Analysis, and Convergence.", + "author": "CR Shalizi", + "year": "2002" + }, + { + "key": "ref21", + "doi-asserted-by": "crossref", + "first-page": "174110", + "DOI": "10.1103/PhysRevB.66.174110", + "article-title": "Discovering planar disorder in close-packed structures from x-ray diffraction: Beyond the fault model.", + "volume": "66", + "author": "DP Varn", + "year": "2002", + "journal-title": "Phys Rev B Condens Matter" + }, + { + "key": "ref22", + "article-title": "Information Theory and Statistics", + "author": "S Kullback", + "year": "1959" + }, + { + "key": "ref23", + "first-page": "163", + "article-title": "The use of information theory in the study of the diversity of biological populations.", + "author": "EC Pielou", + "year": "1967" + }, + { + "key": "ref24", + "doi-asserted-by": "crossref", + "first-page": "25", + "DOI": "10.1063/1.1530990", + "article-title": "Regularities unseen, randomness observed: Levels of entropy convergence.", + "volume": "13", + "author": "JP Crutchfield", + "year": "2003", + "journal-title": "CHAOS" + }, + { + "key": "ref25", + "article-title": "Enumerating finitary processes.", + "author": "BD Johnson", + "year": "2010" + }, + { + "key": "ref26", + "doi-asserted-by": "crossref", + "first-page": "59", + "DOI": "10.1063/1.2991106", + "article-title": "The organization of intrinsic computation: Complexity-entropy diagrams and the diversity of natural information processing.", + "volume": "18", + "author": "DP Feldman", + "year": "2008", + "journal-title": "CHAOS" + }, + { + "key": "ref27", + "doi-asserted-by": "crossref", + "first-page": "522", + "DOI": "10.1073/pnas.77.1.522", + "article-title": "Average Time until Fixation of a Mutant Allele in a Finite Population under Continued Mutation Pressure: Studies by Analytical, Numerical, and Pseudo-Sampling Methods.", + "volume": "77", + "author": "M Kimura", + "year": "1980", + "journal-title": "Proc Natl Acad Sci U S A" + }, + { + "key": "ref28", + "doi-asserted-by": "crossref", + "first-page": "716", + "DOI": "10.1109/TAC.1974.1100705", + "article-title": "A new look at the statistical model identification.", + "volume": "19", + "author": "H Akaike", + "year": "1974", + "journal-title": "IEEE Trans Automat Contr" + }, + { + "key": "ref29", + "article-title": "Model Selection and Multi-Model Inference", + "author": "KP Burnham", + "year": "2002" + }, + { + "key": "ref30", + "doi-asserted-by": "crossref", + "first-page": "445", + "DOI": "10.1006/jtbi.2003.3199", + "article-title": "Language Dynamics in Finite Populations.", + "volume": "221", + "author": "N Komarova", + "year": "2003", + "journal-title": "J Theor Biol" + }, + { + "key": "ref31", + "doi-asserted-by": "crossref", + "first-page": "1647", + "DOI": "10.1098/rsif.2010.0110", + "article-title": "Diversity, competition, extinction: The ecophysics of language change.", + "volume": "7", + "author": "RV Solé", + "year": "2010", + "journal-title": "J R Soc Interface" + }, + { + "key": "ref32", + "doi-asserted-by": "crossref", + "first-page": "334", + "DOI": "10.1016/S0019-9958(58)90219-5", + "article-title": "Systematic error on the part of human links in communication systems.", + "volume": "1", + "author": "DT Campbell", + "year": "1958", + "journal-title": "Info Control" + }, + { + "key": "ref33", + "doi-asserted-by": "crossref", + "first-page": "3503", + "DOI": "10.1098/rstb.2008.0146", + "article-title": "Theoretical and empirical evidence for the impact of inductive biases on cultural evolution.", + "volume": "363", + "author": "TL Grifiths", + "year": "2008", + "journal-title": "Philos Trans R Soc Lond B Biol Sci" + }, + { + "key": "ref34", + "doi-asserted-by": "crossref", + "first-page": "1131", + "DOI": "10.1111/j.1551-6709.2009.01049.x", + "article-title": "Language Acquisition Meets Language Evolution.", + "volume": "34", + "author": "N Chater", + "year": "2009", + "journal-title": "Cogn Sci" + }, + { + "key": "ref35", + "doi-asserted-by": "crossref", + "first-page": "370", + "DOI": "10.1016/S0019-9958(58)90229-8", + "article-title": "Length-Frequency Statistics for Written English.", + "volume": "1", + "author": "GA Miller", + "year": "1958", + "journal-title": "Info Control" + }, + { + "key": "ref36", + "first-page": "486", + "article-title": "An informational theory of the statistical structure of languages.", + "author": "B Mandelbrot", + "year": "1953" + }, + { + "key": "ref37", + "article-title": "The Psycho-Biology of Language: An Introduction to Dynamic Philology", + "author": "GK Zipf", + "year": "1965" + }, + { + "key": "ref38", + "doi-asserted-by": "crossref", + "first-page": "371", + "DOI": "10.1162/106454603322694825", + "article-title": "Iterated learning: A framework for the emergence of language.", + "volume": "9", + "author": "K Smith", + "year": "2003", + "journal-title": "Artif Life" + }, + { + "key": "ref39", + "doi-asserted-by": "crossref", + "first-page": "5241", + "DOI": "10.1073/pnas.0608222104", + "article-title": "Innateness and culture in the evolution of language.", + "volume": "104", + "author": "S Kirby", + "year": "2007", + "journal-title": "Proc Natl Acad Sci U S A" + }, + { + "key": "ref40", + "doi-asserted-by": "crossref", + "first-page": "213", + "DOI": "10.1177/1059712309105818", + "article-title": "The Iterated Classification Game: A New Model of the Cultural Transmission of Language.", + "volume": "17", + "author": "S Swarup", + "year": "2009", + "journal-title": "Adapt Behav" + }, + { + "key": "ref41", + "article-title": "Niche Construction: The Neglected Process in Evolution", + "author": "FJ Odling-Smee", + "year": "2003" + }, + { + "key": "ref42", + "doi-asserted-by": "crossref", + "first-page": "2105", + "DOI": "10.1016/j.chemosphere.2006.12.024", + "article-title": "Micro-evolution due to pollution: Possible consequences for ecosystem responses to toxic stress.", + "volume": "67", + "author": "MH Medina", + "year": "2007", + "journal-title": "Chemosphere" + }, + { + "key": "ref43", + "doi-asserted-by": "crossref", + "first-page": "264", + "DOI": "10.1002/ieam.5630040218", + "article-title": "Genetic Structure and Phenotypic Plasticity of Yellow Perch (Perca Flavescens) Populations Inuenced by Habitat, Predation, and Contamination Gradients.", + "volume": "4", + "author": "A Tremblay", + "year": "2008", + "journal-title": "Integr Environ Assess Manag" + }, + { + "key": "ref44", + "doi-asserted-by": "crossref", + "first-page": "428", + "DOI": "10.1007/s00439-005-1333-9", + "article-title": "Significant genetic differentiation between Poland and Germany follows present-day political borders, as revealed by Y-chromosome analysis.", + "volume": "117", + "author": "M Kayser", + "year": "2005", + "journal-title": "Hum Genet" + }, + { + "key": "ref45", + "doi-asserted-by": "crossref", + "first-page": "115", + "DOI": "10.1017/S0094837300005224", + "article-title": "Punctuated equilibria: The tempo and mode of evolution reconsidered.", + "volume": "3", + "author": "SJ Gould", + "year": "1977", + "journal-title": "Paleobiology" + }, + { + "key": "ref46", + "doi-asserted-by": "crossref", + "first-page": "41", + "DOI": "10.1016/S0304-3975(99)00119-X", + "article-title": "Statistical Dynamics of the Royal Road Genetic Algorithm.", + "volume": "229", + "author": "E van Nimwegen", + "year": "1999", + "journal-title": "Theor Comput Sci" + }, + { + "key": "ref47", + "first-page": "101", + "article-title": "When Evolution is Revolution—Origins of Innovation.", + "author": "JP Crutchfield", + "year": "2003" + }, + { + "key": "ref48", + "first-page": "355", + "article-title": "The roles of mutation, inbreeding, crossbreeding, and selection in evolution.", + "author": "S Wright", + "year": "1932" + }, + { + "key": "ref49", + "doi-asserted-by": "crossref", + "first-page": "169", + "DOI": "10.1016/S0167-2789(96)00259-X", + "article-title": "Computational Mechanics of Cellular Automata: An Example.", + "volume": "103", + "author": "JE Hanson", + "year": "1997", + "journal-title": "Physica D" + }, + { + "key": "ref50", + "doi-asserted-by": "crossref", + "first-page": "299", + "DOI": "10.1016/j.physleta.2004.02.077", + "article-title": "From Finite to Infinite Range Order via Annealing: The Causal Architecture of Deformation Faulting in Annealed Close-Packed Crystals.", + "volume": "324", + "author": "DP Varn", + "year": "2004", + "journal-title": "Phys Lett A" + }, + { + "key": "ref51", + "doi-asserted-by": "crossref", + "first-page": "312", + "DOI": "10.1038/nature03204", + "article-title": "Evolutionary dynamics on graphs.", + "volume": "433", + "author": "E Lieberman", + "year": "2005", + "journal-title": "Nature" + }, + { + "key": "ref52", + "first-page": "355", + "article-title": "Graph theory and the evolution of autocatalytic networks.", + "author": "S Jain", + "year": "2002" + } + ], + "container-title": "PLoS Computational Biology", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "http://dx.plos.org/10.1371/journal.pcbi.1002510", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2022, + 1, + 17 + ] + ], + "date-time": "2022-01-17T01:54:37Z", + "timestamp": 1642384477000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://dx.plos.org/10.1371/journal.pcbi.1002510" + } + }, + "subtitle": [], + "editor": [ + { + "given": "Carl T.", + "family": "Bergstrom", + "sequence": "first", + "affiliation": [], + "role": [ + { + "role": "editor", + "vocabulary": "crossref" + } + ] + } + ], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2012, + 6, + 7 + ] + ] + }, + "references-count": 52, + "journal-issue": { + "issue": "6", + "published-online": { + "date-parts": [ + [ + 2012, + 6, + 7 + ] + ] + } + }, + "URL": "http://dx.doi.org/10.1371/journal.pcbi.1002510", + "relation": {}, + "ISSN": [ + "1553-7358" + ], + "subject": [], + "container-title-short": "PLoS Comput Biol", + "published": { + "date-parts": [ + [ + 2012, + 6, + 7 + ] + ] + }, + "id": "ref22", + "note": "Manuscript reference 22" + }, + { + "type": "article", + "id": "ref23", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences", + "I.2.7; I.2.6; G.2.2; G.3; F.2.2", + "68T05, 68T50, 60J10" + ], + "author": [ + { + "family": "Riis", + "given": "Søren" + } + ], + "issued": { + "date-parts": [ + [ + 2026 + ] + ] + }, + "abstract": "The public text record -- the material from which both people and AI systems now learn -- is increasingly shaped by its own outputs. Generated text enters the public record, later agents learn from it, and the cycle repeats. Here we develop an exactly solvable mathematical framework for this recursive process, based on variable-order $n$-gram agents, and separate two forces acting on the public corpus. The first is drift: unfiltered reuse progressively removes rare forms, and in the infinite-corpus limit we characterise the stable distributions exactly. The second is selection: publication, ranking and verification filter what enters the record, and the outcome depends on what is selected. When publication merely reflects the statistical status quo, the corpus converges to a shallow state in which further lookahead brings no benefit. When publication is normative -- rewarding quality, correctness or novelty -- deeper structure persists, and we establish an optimal upper bound on the resulting divergence from shallow equilibria. The framework therefore identifies when recursive publication compresses public text and when selective filtering sustains richer structure, with implications for the design of AI training corpora.", + "DOI": "10.48550/arXiv.2604.08554", + "publisher": "arXiv", + "title": "Drift and selection in LLM text ecosystems", + "URL": "https://arxiv.org/abs/2604.08554", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "1", + "note": "Manuscript reference 23", + "container-title": "arXiv", + "number": "arXiv:2604.08554", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref24", + "categories": [ + "Machine Learning (stat.ML)", + "Information Theory (cs.IT)", + "Machine Learning (cs.LG)", + "Statistics Theory (math.ST)", + "Data Analysis, Statistics and Probability (physics.data-an)", + "Populations and Evolution (q-bio.PE)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences", + "FOS: Mathematics", + "FOS: Mathematics", + "FOS: Physical sciences", + "FOS: Physical sciences", + "FOS: Biological sciences", + "FOS: Biological sciences" + ], + "author": [ + { + "family": "Benati", + "given": "Matteo" + }, + { + "family": "Londei", + "given": "Alessandro" + }, + { + "family": "Lanzieri", + "given": "Denise" + }, + { + "family": "Loreto", + "given": "Vittorio" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Extinction times in resampling processes are fundamental yet often intractable, as previous formulas scale as $2^M$ with the number of states $M$ present in the initial probability distribution. We solve this by treating multinomial updates as independent square-root diffusions of zero drift, yielding a closed-form law for the first-extinction time. We prove that the mean coincides exactly with the Wright-Fisher result of Baxter et al., thereby replacing exponential-cost evaluations with a linear-cost expression, and we validate this result through extensive simulations. Finally, we demonstrate predictive power for model collapse in a simple self-training setup: the onset of collapse coincides with the resampling-driven first-extinction time computed from the model's initial stationary distribution. These results hint to a unified view of resampling extinction dynamics.", + "DOI": "10.48550/arXiv.2509.20101", + "publisher": "arXiv", + "title": "First-Extinction Law for Resampling Processes", + "URL": "https://arxiv.org/abs/2509.20101", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "1", + "note": "Manuscript reference 24", + "container-title": "arXiv", + "number": "arXiv:2509.20101", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref25", + "categories": [ + "Computer Vision and Pattern Recognition (cs.CV)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Yoon", + "given": "Youngseok" + }, + { + "family": "Hu", + "given": "Dainong" + }, + { + "family": "Weissburg", + "given": "Iain" + }, + { + "family": "Qin", + "given": "Yao" + }, + { + "family": "Jeong", + "given": "Haewon" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Model collapse, the severe degradation of generative models when iteratively trained on their own outputs, has gained significant attention in recent years. This paper examines Chain of Diffusion, where a pretrained text-to-image diffusion model is finetuned on its own generated images. We demonstrate that severe image quality degradation was universal and identify CFG scale as the key factor impacting this model collapse. Drawing on an analogy between the Chain of Diffusion and biological evolution, we then introduce a novel theoretical analysis based on quantitative trait modeling from statistical genetics. Our theoretical analysis aligns with empirical observations of the generated images in the Chain of Diffusion. Finally, we propose Reusable Diffusion Finetuning (ReDiFine), a simple yet effective strategy inspired by genetic mutations. It operates robustly across various scenarios without requiring any hyperparameter tuning, making it a plug-and-play solution for reusable image generation.", + "DOI": "10.48550/arXiv.2407.17493", + "publisher": "arXiv", + "title": "Model Collapse in the Self-Consuming Chain of Diffusion Finetuning: A Novel Perspective from Quantitative Trait Modeling", + "URL": "https://arxiv.org/abs/2407.17493", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "3", + "note": "Manuscript reference 25", + "container-title": "arXiv", + "number": "arXiv:2407.17493", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 9 + ] + ], + "date-time": "2026-09-09T16:50:52Z", + "timestamp": 1788972652482, + "version": "build-2803163510" + }, + "reference-count": 22, + "publisher": "Elsevier", + "isbn-type": [ + { + "value": "9780125433242", + "type": "print" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1989 + ] + ] + }, + "DOI": "10.1016/s0079-7421(08)60536-8", + "type": "book-chapter", + "created": { + "date-parts": [ + [ + 2008, + 4, + 11 + ] + ], + "date-time": "2008-04-11T14:13:02Z", + "timestamp": 1207923182000 + }, + "page": "109-165", + "source": "Crossref", + "is-referenced-by-count": 2427, + "title": "Catastrophic Interference in Connectionist Networks: The Sequential Learning Problem", + "prefix": "10.1016", + "author": [ + { + "given": "Michael", + "family": "McCloskey", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Neal J.", + "family": "Cohen", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "78", + "reference": [ + { + "key": "10.1016/S0079-7421(08)60536-8_bib1", + "doi-asserted-by": "crossref", + "first-page": "147", + "DOI": "10.1207/s15516709cog0901_7", + "article-title": "A learning algorithm for Boltz-mann machines", + "volume": "9", + "author": "Ackley", + "year": "1985", + "journal-title": "Cognitive Science" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib2", + "series-title": "The architecture of cognition.", + "author": "Anderson", + "year": "1983" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib3", + "series-title": "Human associative memory.", + "author": "Anderson", + "year": "1973" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib4", + "doi-asserted-by": "crossref", + "first-page": "97", + "DOI": "10.1037/h0047507", + "article-title": "“Fate” of first-list associations in transfer theory", + "volume": "58", + "author": "Barnes", + "year": "1959", + "journal-title": "Journal of Experimental Psychology" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib5", + "series-title": "Adaptive resonance theory: Stable self-organization of neural recognition codes in response to arbitrary lists of input patterns", + "author": "Carpenter", + "year": "1986" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib6", + "doi-asserted-by": "crossref", + "first-page": "3", + "DOI": "10.1016/0010-0277(88)90031-5", + "article-title": "Connectionism and cognitive architecture: A critical analysis", + "volume": "28", + "author": "Fodor", + "year": "1988", + "journal-title": "Cognition" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib7", + "series-title": "Parallel distributed processing: Explorations in the microstructure of cognition: Vol. 1. Foundations", + "first-page": "77", + "article-title": "Distributed representations", + "author": "Hinton", + "year": "1986" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib8", + "series-title": "Using fast weights to deblur old memories", + "author": "Hinton", + "year": "1987" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib9", + "series-title": "Parallel distributed processing: Explorations in the microstructure of cognition: Vol. 1. Foundations", + "first-page": "282", + "article-title": "Learning and relearning in Boltzmann machines", + "author": "Hinton", + "year": "1986" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib10", + "doi-asserted-by": "crossref", + "first-page": "195", + "DOI": "10.1016/0010-0277(88)90033-9", + "article-title": "The relation between linguistic structure and associative theories of language learning—A constructive critique of some connectionist learning models", + "volume": "28", + "author": "Lachter", + "year": "1988", + "journal-title": "Cognition" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib11", + "series-title": "Parallel distributed processing: Explorations in the microstructure of cognition: Vol. 1. Foundations", + "first-page": "3", + "article-title": "The appeal of parallel distributed processing", + "author": "McClelland", + "year": "1986" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib12", + "series-title": "Parallel distributed processing: Explorations in the microstructure of cognition: Vol. 2. Psychological and biological models.", + "author": "McClelland", + "year": "1986" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib13", + "series-title": "Perceptrons: An introduction to computational geometry (Expanded edition).", + "author": "Minsky", + "year": "1988" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib14", + "doi-asserted-by": "crossref", + "first-page": "109", + "DOI": "10.1016/S0022-5371(62)80007-3", + "article-title": "Transfer of training as a function of experimental paradigm and degree of first-list learning", + "volume": "1", + "author": "Postman", + "year": "1962", + "journal-title": "Journal of Verbal Learning and Verbal Behavior" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib15", + "doi-asserted-by": "crossref", + "first-page": "19", + "DOI": "10.3758/BF03198064", + "article-title": "Critical issues in interference theory", + "volume": "1", + "author": "Postman", + "year": "1973", + "journal-title": "Memory & Cognition" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib16", + "doi-asserted-by": "crossref", + "first-page": "73", + "DOI": "10.1016/0010-0277(88)90032-7", + "article-title": "On language and connectionism: Analysis of a parallel distributed processing model of language acquisition", + "volume": "28", + "author": "Prince", + "year": "1988", + "journal-title": "Cognition" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib17", + "unstructured": "R. Ratcliff (in press). Connectionist models of memory: Constraints imposed by learning and forgetting functions. Psychological Review." + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib18", + "series-title": "Parallel distributed processing: Explorations in the microstructure of cognition: Vol. 1. Foundations", + "first-page": "318", + "article-title": "Learning internal representations by error propagation", + "author": "Rumelhart", + "year": "1986" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib19", + "series-title": "Parallel distributed processing: Explorations in the microstructure of cognition: Vol. 1. Foundations.", + "author": "Rumelhart", + "year": "1986" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib20", + "unstructured": "M.S. Seidenberg J.L. McClelland (in press). A distributed, developmental model of word recognition and naming. Psychological Review." + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib21", + "series-title": "Perspectives in memory research and training.", + "article-title": "Learning and representation in connectionist models", + "author": "Sejnowski", + "year": "1987" + }, + { + "key": "10.1016/S0079-7421(08)60536-8_bib22", + "series-title": "Two problems with backpropagation and other steepest-descent learning procedures for networks", + "author": "Sutton", + "year": "1986" + } + ], + "container-title": "Psychology of Learning and Motivation", + "original-title": [], + "language": "en", + "deposited": { + "date-parts": [ + [ + 2018, + 12, + 30 + ] + ], + "date-time": "2018-12-30T04:58:09Z", + "timestamp": 1546145889000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://linkinghub.elsevier.com/retrieve/pii/S0079742108605368" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1989 + ] + ] + }, + "ISBN": [ + "9780125433242" + ], + "references-count": 22, + "URL": "http://dx.doi.org/10.1016/s0079-7421(08)60536-8", + "relation": {}, + "ISSN": [ + "0079-7421" + ], + "subject": [], + "published": { + "date-parts": [ + [ + 1989 + ] + ] + }, + "id": "ref26", + "note": "Manuscript reference 26" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 9 + ] + ], + "date-time": "2026-09-09T15:37:35Z", + "timestamp": 1788968255872, + "version": "build-2803163510" + }, + "reference-count": 0, + "publisher": "Elsevier BV", + "issue": "4", + "license": [ + { + "start": { + "date-parts": [ + [ + 1999, + 4, + 1 + ] + ], + "date-time": "1999-04-01T00:00:00Z", + "timestamp": 922924800000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://www.elsevier.com/tdm/userlicense/1.0/" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1999, + 4, + 1 + ] + ] + }, + "DOI": "10.1016/s1364-6613(99)01294-2", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2002, + 7, + 25 + ] + ], + "date-time": "2002-07-25T21:13:02Z", + "timestamp": 1027631582000 + }, + "page": "128-135", + "source": "Crossref", + "is-referenced-by-count": 1756, + "title": "Catastrophic forgetting in connectionist networks", + "prefix": "10.1016", + "volume": "3", + "author": [ + { + "given": "R", + "family": "French", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "78", + "container-title": "Trends in Cognitive Sciences", + "original-title": [], + "link": [ + { + "URL": "https://api.elsevier.com/content/article/PII:S1364-6613(99)01294-2?httpAccept=text/xml", + "content-type": "text/xml", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://api.elsevier.com/content/article/PII:S1364-6613(99)01294-2?httpAccept=text/plain", + "content-type": "text/plain", + "content-version": "vor", + "intended-application": "text-mining" + } + ], + "deposited": { + "date-parts": [ + [ + 2019, + 4, + 15 + ] + ], + "date-time": "2019-04-15T21:52:31Z", + "timestamp": 1555365151000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://linkinghub.elsevier.com/retrieve/pii/S1364661399012942" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1999, + 4, + 1 + ] + ] + }, + "references-count": 0, + "journal-issue": { + "issue": "4" + }, + "alternative-id": [ + "S1364-6613(99)01294-2" + ], + "URL": "http://dx.doi.org/10.1016/s1364-6613(99)01294-2", + "relation": {}, + "ISSN": [ + "1364-6613" + ], + "subject": [], + "published": { + "date-parts": [ + [ + 1999, + 4, + 1 + ] + ] + }, + "id": "ref27", + "note": "Manuscript reference 27" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 9 + ] + ], + "date-time": "2026-09-09T21:20:18Z", + "timestamp": 1788988818226, + "version": "build-2803163510" + }, + "reference-count": 7, + "publisher": "Elsevier BV", + "issue": "1", + "license": [ + { + "start": { + "date-parts": [ + [ + 1964, + 5, + 1 + ] + ], + "date-time": "1964-05-01T00:00:00Z", + "timestamp": -178934400000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://www.elsevier.com/tdm/userlicense/1.0/" + }, + { + "start": { + "date-parts": [ + [ + 1964, + 5, + 1 + ] + ], + "date-time": "1964-05-01T00:00:00Z", + "timestamp": -178934400000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://www.elsevier.com/legal/tdmrep-license" + } + ], + "content-domain": { + "domain": [ + "elsevier.com", + "sciencedirect.com" + ], + "crossmark-restriction": true + }, + "published-print": { + "date-parts": [ + [ + 1964, + 5 + ] + ] + }, + "DOI": "10.1016/0027-5107(64)90047-8", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2003, + 2, + 12 + ] + ], + "date-time": "2003-02-12T06:53:31Z", + "timestamp": 1045032811000 + }, + "page": "2-9", + "update-policy": "https://doi.org/10.1016/elsevier_cm_policy", + "source": "Crossref", + "is-referenced-by-count": 2158, + "title": "The relation of recombination to mutational advance", + "prefix": "10.1016", + "volume": "1", + "author": [ + { + "given": "H.J.", + "family": "Muller", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "78", + "reference": [ + { + "key": "10.1016/0027-5107(64)90047-8_BIB1", + "series-title": "Cytologia Suppl. vol., Proc. Int. Genetics Symp.", + "first-page": "408", + "article-title": "Genetics of DDT resistance in Drosophila", + "author": "Crow", + "year": "1957" + }, + { + "key": "10.1016/0027-5107(64)90047-8_BIB2", + "author": "Crow", + "year": "1959", + "journal-title": "Lecture at Indiana University" + }, + { + "key": "10.1016/0027-5107(64)90047-8_BIB3", + "doi-asserted-by": "crossref", + "first-page": "118", + "DOI": "10.1086/280418", + "article-title": "Some genetic aspects of sex", + "volume": "64", + "author": "Muller", + "year": "1932", + "journal-title": "Am. Naturalist" + }, + { + "key": "10.1016/0027-5107(64)90047-8_BIB4", + "first-page": "111", + "article-title": "Our load of mutations", + "volume": "2", + "author": "Muller", + "year": "1950", + "journal-title": "Am. J. Human Genet." + }, + { + "key": "10.1016/0027-5107(64)90047-8_BIB5", + "doi-asserted-by": "crossref", + "first-page": "137", + "DOI": "10.1090/S0002-9904-1958-10191-3", + "article-title": "Evolution by mutation", + "volume": "64", + "author": "Muller", + "year": "1958", + "journal-title": "Bull. Am. Math. Soc." + }, + { + "key": "10.1016/0027-5107(64)90047-8_BIB6", + "first-page": "480", + "article-title": "How much is evolution accelerated by sexual reproduction?", + "volume": "132", + "author": "Muller", + "year": "1958", + "journal-title": "Anat. Record" + }, + { + "key": "10.1016/0027-5107(64)90047-8_BIB7", + "first-page": "903", + "article-title": "The need for recombination to prevent genetic deterioration", + "volume": "48", + "author": "Muller", + "year": "1963", + "journal-title": "Genetics" + } + ], + "container-title": "Mutation Research", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://api.elsevier.com/content/article/PII:0027510764900478?httpAccept=text/xml", + "content-type": "text/xml", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://api.elsevier.com/content/article/PII:0027510764900478?httpAccept=text/plain", + "content-type": "text/plain", + "content-version": "vor", + "intended-application": "text-mining" + } + ], + "deposited": { + "date-parts": [ + [ + 2025, + 12, + 19 + ] + ], + "date-time": "2025-12-19T12:25:35Z", + "timestamp": 1766147135000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://linkinghub.elsevier.com/retrieve/pii/0027510764900478" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1964, + 5 + ] + ] + }, + "references-count": 7, + "journal-issue": { + "issue": "1", + "published-print": { + "date-parts": [ + [ + 1964, + 5 + ] + ] + } + }, + "alternative-id": [ + "0027510764900478" + ], + "URL": "http://dx.doi.org/10.1016/0027-5107(64)90047-8", + "relation": {}, + "ISSN": [ + "0027-5107" + ], + "subject": [], + "container-title-short": "Mutation Research", + "published": { + "date-parts": [ + [ + 1964, + 5 + ] + ] + }, + "assertion": [ + { + "value": "Elsevier", + "name": "publisher", + "label": "This article is maintained by" + }, + { + "value": "The relation of recombination to mutational advance", + "name": "articletitle", + "label": "Article Title" + }, + { + "value": "Mutation Research", + "name": "journaltitle", + "label": "Journal Title" + }, + { + "value": "https://doi.org/10.1016/0027-5107(64)90047-8", + "name": "articlelink", + "label": "CrossRef DOI link to publisher maintained version" + }, + { + "value": "converted-article", + "name": "content_type", + "label": "Content Type" + }, + { + "value": "Copyright © 1964 Published by Elsevier B.V.", + "name": "copyright", + "label": "Copyright" + } + ], + "id": "ref28", + "note": "Manuscript reference 28" + }, + { + "type": "article", + "id": "ref29", + "categories": [ + "Machine Learning (stat.ML)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Yi", + "given": "Bingji" + }, + { + "family": "Liu", + "given": "Qiyuan" + }, + { + "family": "Cheng", + "given": "Yuwei" + }, + { + "family": "Xu", + "given": "Haifeng" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Synthetic data has been increasingly used to train frontier generative models. However, recent studies raise key concerns that iteratively retraining a generative model on its self-generated synthetic data may keep deteriorating model performance, a phenomenon often coined model collapse. In this paper, we investigate ways to modify the synthetic retraining process to avoid model collapse, and even possibly help reverse the trend from collapse to improvement. Our key finding is that by injecting information through an external synthetic data verifier, whether a human or a better model, synthetic retraining will not cause model collapse. Specifically, we situate our theoretical analysis in the fundamental linear regression setting, showing that verifier-guided retraining can yield near-term improvements, but ultimately drives the parameter estimate to the verifier's \"knowledge center\" in the long run. Our theory further predicts that, unless the verifier is perfectly reliable, these early gains will plateau and may even reverse. Indeed, our experiments across linear regression, Variational Autoencoders (VAEs) trained on MNIST, and fining-tuning SmolLM2-135M on the XSUM task confirm these theoretical insights.", + "DOI": "10.48550/arXiv.2510.16657", + "publisher": "arXiv", + "title": "Escaping Model Collapse via Synthetic Data Verification: Near-term Improvements and Long-term Convergence", + "URL": "https://arxiv.org/abs/2510.16657", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "3", + "note": "Manuscript reference 29", + "container-title": "arXiv", + "number": "arXiv:2510.16657", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref30", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Computation and Language (cs.CL)", + "Emerging Technologies (cs.ET)", + "Machine Learning (stat.ML)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Gerstgrasser", + "given": "Matthias" + }, + { + "family": "Schaeffer", + "given": "Rylan" + }, + { + "family": "Dey", + "given": "Apratim" + }, + { + "family": "Rafailov", + "given": "Rafael" + }, + { + "family": "Sleight", + "given": "Henry" + }, + { + "family": "Hughes", + "given": "John" + }, + { + "family": "Korbak", + "given": "Tomasz" + }, + { + "family": "Agrawal", + "given": "Rajashree" + }, + { + "family": "Pai", + "given": "Dhruv" + }, + { + "family": "Gromov", + "given": "Andrey" + }, + { + "family": "Roberts", + "given": "Daniel A." + }, + { + "family": "Yang", + "given": "Diyi" + }, + { + "family": "Donoho", + "given": "David L." + }, + { + "family": "Koyejo", + "given": "Sanmi" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "The proliferation of generative models, combined with pretraining on web-scale data, raises a timely question: what happens when these models are trained on their own generated outputs? Recent investigations into model-data feedback loops proposed that such loops would lead to a phenomenon termed model collapse, under which performance progressively degrades with each model-data feedback iteration until fitted models become useless. However, those studies largely assumed that new data replace old data over time, where an arguably more realistic assumption is that data accumulate over time. In this paper, we ask: what effect does accumulating data have on model collapse? We empirically study this question by pretraining sequences of language models on text corpora. We confirm that replacing the original real data by each generation's synthetic data does indeed tend towards model collapse, then demonstrate that accumulating the successive generations of synthetic data alongside the original real data avoids model collapse; these results hold across a range of model sizes, architectures, and hyperparameters. We obtain similar results for deep generative models on other types of real data: diffusion models for molecule conformation generation and variational autoencoders for image generation. To understand why accumulating data can avoid model collapse, we use an analytically tractable framework introduced by prior work in which a sequence of linear models are fit to the previous models' outputs. Previous work used this framework to show that if data are replaced, the test error increases with the number of model-fitting iterations; we extend this argument to prove that if data instead accumulate, the test error has a finite upper bound independent of the number of iterations, meaning model collapse no longer occurs.", + "DOI": "10.48550/arXiv.2404.01413", + "publisher": "arXiv", + "title": "Is Model Collapse Inevitable? Breaking the Curse of Recursion by Accumulating Real and Synthetic Data", + "URL": "https://arxiv.org/abs/2404.01413", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 30", + "container-title": "arXiv", + "number": "arXiv:2404.01413", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 10 + ] + ], + "date-time": "2026-09-10T04:16:48Z", + "timestamp": 1789013808401, + "version": "build-2803163510" + }, + "reference-count": 0, + "publisher": "Oxford University Press (OUP)", + "issue": "2", + "license": [ + { + "start": { + "date-parts": [ + [ + 1931, + 3, + 1 + ] + ], + "date-time": "1931-03-01T00:00:00Z", + "timestamp": -1225670400000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://academic.oup.com/journals/pages/open_access/funder_policies/chorus/standard_publication_model" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1931, + 3, + 1 + ] + ] + }, + "DOI": "10.1093/genetics/16.2.97", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2021, + 1, + 13 + ] + ], + "date-time": "2021-01-13T20:43:25Z", + "timestamp": 1610570605000 + }, + "page": "97-159", + "source": "Crossref", + "is-referenced-by-count": 5916, + "title": "EVOLUTION IN MENDELIAN POPULATIONS", + "prefix": "10.1093", + "volume": "16", + "author": [ + { + "given": "Sewall", + "family": "Wright", + "sequence": "first", + "affiliation": [ + { + "name": "University of Chicago, Chicago, Illinois" + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "286", + "published-online": { + "date-parts": [ + [ + 1931, + 3, + 1 + ] + ] + }, + "container-title": "Genetics", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "http://academic.oup.com/genetics/article-pdf/16/2/97/35081059/genetics0097.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "syndication" + }, + { + "URL": "http://academic.oup.com/genetics/article-pdf/16/2/97/35081059/genetics0097.pdf", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2021, + 4, + 21 + ] + ], + "date-time": "2021-04-21T04:40:07Z", + "timestamp": 1618980007000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://academic.oup.com/genetics/article/16/2/97/6045152" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1931, + 3, + 1 + ] + ] + }, + "references-count": 0, + "journal-issue": { + "issue": "2", + "published-print": { + "date-parts": [ + [ + 1931, + 3, + 1 + ] + ] + } + }, + "URL": "http://dx.doi.org/10.1093/genetics/16.2.97", + "relation": {}, + "ISSN": [ + "1943-2631" + ], + "subject": [], + "published-other": { + "date-parts": [ + [ + 1931, + 3, + 1 + ] + ] + }, + "published": { + "date-parts": [ + [ + 1931, + 3, + 1 + ] + ] + }, + "id": "ref31", + "note": "Manuscript reference 31" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 4 + ] + ], + "date-time": "2026-09-04T03:35:10Z", + "timestamp": 1788492910424, + "version": "build-2803163510" + }, + "reference-count": 0, + "publisher": "Wiley", + "issue": "6", + "license": [ + { + "start": { + "date-parts": [ + [ + 2002, + 1, + 19 + ] + ], + "date-time": "2002-01-19T00:00:00Z", + "timestamp": 1011398400000 + }, + "content-version": "vor", + "delay-in-days": 1875, + "URL": "http://onlinelibrary.wiley.com/termsAndConditions#vor" + } + ], + "content-domain": { + "domain": [ + "conbio.onlinelibrary.wiley.com" + ], + "crossmark-restriction": true + }, + "published-print": { + "date-parts": [ + [ + 1996, + 12 + ] + ] + }, + "abstract": "In the face of continuing habitat fragmentation and isolation, the optimal level of connectivity between populations has become a central issue in conservation biology. A common rule of thumb holds that one migrant per generation into a subpopulation is sufficient to minimize the loss of polymorphism and heterozygosity within subpopulations while allowing for divergence in allele frequencies among subpopulations. The one‐migrant‐per‐generation rule is based on numerous simplifying assumptions that may not hold in natural populations. We examine the conceptual and theoretical basis of the rule and consider both genetic and nongenetic factors that influence the desired level of connectivity among subpopulations. We conclude that one migrant per generation is a desirable minimum, but it may be inadequate for many natural populations. We suggest that a minimum of 1 and a maximum of 10 migrants per generation would be an appropriate general rule of thumb for genetic purposes, bearing in mind that factors other than genetics may further influence the ideal level of connectivity.", + "DOI": "10.1046/j.1523-1739.1996.10061509.x", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2003, + 3, + 11 + ] + ], + "date-time": "2003-03-11T03:45:07Z", + "timestamp": 1047354307000 + }, + "page": "1509-1518", + "update-policy": "https://doi.org/10.1002/crossmark_policy", + "source": "Crossref", + "is-referenced-by-count": 642, + "title": "The One‐Migrant‐per‐Generation Rule in Conservation and Management", + "prefix": "10.1111", + "volume": "10", + "author": [ + { + "given": "L. Scott", + "family": "Mills", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Fred W.", + "family": "Allendorf", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "311", + "published-online": { + "date-parts": [ + [ + 2002, + 1, + 19 + ] + ] + }, + "container-title": "Conservation Biology", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://api.wiley.com/onlinelibrary/tdm/v1/articles/10.1046%2Fj.1523-1739.1996.10061509.x", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://conbio.onlinelibrary.wiley.com/doi/pdf/10.1046/j.1523-1739.1996.10061509.x", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2025, + 10, + 29 + ] + ], + "date-time": "2025-10-29T09:58:01Z", + "timestamp": 1761731881000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://conbio.onlinelibrary.wiley.com/doi/10.1046/j.1523-1739.1996.10061509.x" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1996, + 12 + ] + ] + }, + "references-count": 0, + "journal-issue": { + "issue": "6", + "published-print": { + "date-parts": [ + [ + 1996, + 12 + ] + ] + } + }, + "alternative-id": [ + "10.1046/j.1523-1739.1996.10061509.x" + ], + "URL": "http://dx.doi.org/10.1046/j.1523-1739.1996.10061509.x", + "relation": {}, + "ISSN": [ + "0888-8892", + "1523-1739" + ], + "subject": [], + "container-title-short": "Conservation Biology", + "published": { + "date-parts": [ + [ + 1996, + 12 + ] + ] + }, + "assertion": [ + { + "value": "2002-01-19", + "order": 3, + "name": "published", + "label": "Published", + "group": { + "name": "publication_history", + "label": "Publication History" + } + } + ], + "id": "ref32", + "note": "Manuscript reference 32" + }, + { + "type": "article-journal", + "title": "[Review of] The Origin of Species", + "author": [ + { + "given": "Fleeming", + "family": "Jenkin" + } + ], + "container-title": "The North British Review", + "volume": "46", + "page": "277-318", + "issued": { + "date-parts": [ + [ + 1867 + ] + ] + }, + "id": "ref33", + "note": "Manuscript reference 33; predates DOIs" + }, + { + "type": "article", + "id": "ref34", + "categories": [ + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Pari", + "given": "Jyothish" + }, + { + "family": "Jelassi", + "given": "Samy" + }, + { + "family": "Agrawal", + "given": "Pulkit" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "In this work, we explore the limitations of combining models by averaging intermediate features, referred to as model merging, and propose a new direction for achieving collective model intelligence through what we call compatible specialization. Current methods for model merging, such as parameter and feature averaging, struggle to effectively combine specialized models due to representational divergence during fine-tuning. As models specialize to their individual domains, their internal feature representations become increasingly incompatible, leading to poor performance when attempting to merge them for new tasks. We analyze this phenomenon using centered kernel alignment (CKA) and show that as models specialize, the similarity in their feature space structure diminishes, hindering their capacity for collective use. To address these challenges, we investigate routing-based merging strategies, which offer more flexible methods for combining specialized models by dynamically routing across different layers. This allows us to improve on existing methods by combining features from multiple layers rather than relying on fixed, layer-wise combinations. However, we find that these approaches still face limitations when layers within models are representationally incompatible. Our findings highlight the importance of designing new approaches for model merging that operate on well-defined input and output spaces, similar to how humans communicate through language rather than intermediate neural activations.", + "DOI": "10.48550/arXiv.2411.02207", + "publisher": "arXiv", + "title": "Collective Model Intelligence Requires Compatible Specialization", + "URL": "https://arxiv.org/abs/2411.02207", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 34", + "container-title": "arXiv", + "number": "arXiv:2411.02207", + "genre": "preprint" + }, + { + "type": "book", + "title": "The Genetical Theory of Natural Selection", + "author": [ + { + "given": "Ronald A.", + "family": "Fisher" + } + ], + "publisher": "Clarendon Press", + "publisher-place": "Oxford", + "issued": { + "date-parts": [ + [ + 1930 + ] + ] + }, + "id": "ref35", + "note": "Manuscript reference 35; predates DOIs" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 9 + ] + ], + "date-time": "2026-09-09T21:20:16Z", + "timestamp": 1788988816504, + "version": "build-2803163510" + }, + "reference-count": 0, + "publisher": "University of Chicago Press", + "issue": "703", + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1932, + 3 + ] + ] + }, + "DOI": "10.1086/280418", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2002, + 7, + 26 + ] + ], + "date-time": "2002-07-26T17:21:47Z", + "timestamp": 1027704107000 + }, + "page": "118-138", + "source": "Crossref", + "is-referenced-by-count": 998, + "title": "Some Genetic Aspects of Sex", + "prefix": "10.1086", + "volume": "66", + "author": [ + { + "given": "H. J.", + "family": "Muller", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "200", + "container-title": "The American Naturalist", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "http://www.journals.uchicago.edu/doi/pdf/10.1086/280418", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2018, + 4, + 6 + ] + ], + "date-time": "2018-04-06T23:45:13Z", + "timestamp": 1523058313000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.journals.uchicago.edu/doi/10.1086/280418" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1932, + 3 + ] + ] + }, + "references-count": 0, + "journal-issue": { + "issue": "703", + "published-print": { + "date-parts": [ + [ + 1932, + 3 + ] + ] + } + }, + "alternative-id": [ + "10.1086/280418" + ], + "URL": "http://dx.doi.org/10.1086/280418", + "relation": {}, + "ISSN": [ + "0003-0147", + "1537-5323" + ], + "subject": [], + "container-title-short": "The American Naturalist", + "published": { + "date-parts": [ + [ + 1932, + 3 + ] + ] + }, + "id": "ref36", + "note": "Manuscript reference 36" + }, + { + "type": "article", + "id": "ref37", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Hu", + "given": "Edward J." + }, + { + "family": "Shen", + "given": "Yelong" + }, + { + "family": "Wallis", + "given": "Phillip" + }, + { + "family": "Allen-Zhu", + "given": "Zeyuan" + }, + { + "family": "Li", + "given": "Yuanzhi" + }, + { + "family": "Wang", + "given": "Shean" + }, + { + "family": "Wang", + "given": "Lu" + }, + { + "family": "Chen", + "given": "Weizhu" + } + ], + "issued": { + "date-parts": [ + [ + 2021 + ] + ] + }, + "abstract": "An important paradigm of natural language processing consists of large-scale pre-training on general domain data and adaptation to particular tasks or domains. As we pre-train larger models, full fine-tuning, which retrains all model parameters, becomes less feasible. Using GPT-3 175B as an example -- deploying independent instances of fine-tuned models, each with 175B parameters, is prohibitively expensive. We propose Low-Rank Adaptation, or LoRA, which freezes the pre-trained model weights and injects trainable rank decomposition matrices into each layer of the Transformer architecture, greatly reducing the number of trainable parameters for downstream tasks. Compared to GPT-3 175B fine-tuned with Adam, LoRA can reduce the number of trainable parameters by 10,000 times and the GPU memory requirement by 3 times. LoRA performs on-par or better than fine-tuning in model quality on RoBERTa, DeBERTa, GPT-2, and GPT-3, despite having fewer trainable parameters, a higher training throughput, and, unlike adapters, no additional inference latency. We also provide an empirical investigation into rank-deficiency in language model adaptation, which sheds light on the efficacy of LoRA. We release a package that facilitates the integration of LoRA with PyTorch models and provide our implementations and model checkpoints for RoBERTa, DeBERTa, and GPT-2 at https://github.com/microsoft/LoRA.", + "DOI": "10.48550/arXiv.2106.09685", + "publisher": "arXiv", + "title": "LoRA: Low-Rank Adaptation of Large Language Models", + "URL": "https://arxiv.org/abs/2106.09685", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 37", + "container-title": "arXiv", + "number": "arXiv:2106.09685", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 8 + ] + ], + "date-time": "2026-09-08T02:52:43Z", + "timestamp": 1788835963220, + "version": "build-2803163510" + }, + "reference-count": 35, + "publisher": "Elsevier BV", + "issue": "1", + "license": [ + { + "start": { + "date-parts": [ + [ + 1987, + 9, + 1 + ] + ], + "date-time": "1987-09-01T00:00:00Z", + "timestamp": 557452800000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://www.elsevier.com/tdm/userlicense/1.0/" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1987, + 9 + ] + ] + }, + "DOI": "10.1016/s0022-5193(87)80029-2", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2008, + 4, + 23 + ] + ], + "date-time": "2008-04-23T02:36:15Z", + "timestamp": 1208918175000 + }, + "page": "11-45", + "source": "Crossref", + "is-referenced-by-count": 1109, + "title": "Towards a general theory of adaptive walks on rugged landscapes", + "prefix": "10.1016", + "volume": "128", + "author": [ + { + "given": "Stuart", + "family": "Kauffman", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Simon", + "family": "Levin", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "78", + "reference": [ + { + "key": "10.1016/S0022-5193(87)80029-2_bib1", + "doi-asserted-by": "crossref", + "DOI": "10.1086/284680", + "article-title": "The emergence of phenotypic novelties through progressive genetic change", + "author": "Agur", + "year": "1987", + "journal-title": "Am. Nat." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib2", + "doi-asserted-by": "crossref", + "first-page": "412", + "DOI": "10.1038/316412a0", + "article-title": "Molecular events during maturation of the immune response to oxazolone", + "volume": "316", + "author": "Berek", + "year": "1985", + "journal-title": "Nature" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib3", + "doi-asserted-by": "crossref", + "first-page": "380", + "DOI": "10.1038/298380a0", + "article-title": "Somatic variants of murine immunoglobulin lambda light chains", + "volume": "298", + "author": "Bothwell", + "year": "1982", + "journal-title": "Nature" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib4", + "doi-asserted-by": "crossref", + "first-page": "804", + "DOI": "10.1038/317804a0", + "article-title": "Optimization strategies gleaned from biological evolution", + "volume": "314", + "author": "Brady", + "year": "1985", + "journal-title": "Nature" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib5", + "doi-asserted-by": "crossref", + "first-page": "687", + "DOI": "10.1084/jem.161.4.687", + "article-title": "Inter-and intraclonal diversity in the antibody response to influenza hemagglutinin", + "volume": "161", + "author": "Clark", + "year": "1985", + "journal-title": "J. Exp. Med." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib6", + "doi-asserted-by": "crossref", + "first-page": "59", + "DOI": "10.1016/0092-8674(81)90231-2", + "article-title": "A single V gene segment encodes the immune response to phosphorylcholine: somatic mutation is correlated with the class of the antibody", + "volume": "25", + "author": "Crews", + "year": "1981", + "journal-title": "Cell" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib7", + "doi-asserted-by": "crossref", + "first-page": "1297", + "DOI": "10.1051/jphys:019860047080129700", + "article-title": "Evolution of overlaps between configurations in random Boolean networks", + "volume": "47", + "author": "Derrida", + "year": "1986", + "journal-title": "J. Physique" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib8", + "series-title": "Emerging Synthesis in Science", + "first-page": "25", + "article-title": "Macromolecular evolution: dynamical ordering in sequence space", + "author": "Eigen", + "year": "1985" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib9", + "series-title": "The Hypercycle", + "author": "Eigen", + "year": "1979" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib10", + "series-title": "Mathematical Population Genetics", + "author": "Ewens", + "year": "1979" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib11", + "volume": "Vol. 2", + "author": "Feller", + "year": "1971" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib12", + "doi-asserted-by": "crossref", + "first-page": "715", + "DOI": "10.1007/BF02462279", + "article-title": "Specific roles of the different Boolean mappings in random networks", + "volume": "44", + "author": "Fogelman-Soulie", + "year": "1982", + "journal-title": "Bull. Math. Biol." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib13", + "series-title": "Ensemble Modeling", + "author": "Gelfand", + "year": "1984" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib14", + "doi-asserted-by": "crossref", + "first-page": "202", + "DOI": "10.1016/0040-5809(83)90014-X", + "article-title": "A simple stochastic gene substitution model", + "volume": "23", + "author": "Gillespie", + "year": "1983", + "journal-title": "Theor. Pop. Biol." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib15", + "doi-asserted-by": "crossref", + "first-page": "1116", + "DOI": "10.2307/2408444", + "article-title": "Molecular evolution over the mutational landscape", + "volume": "38", + "author": "Gillespie", + "year": "1984", + "journal-title": "Evolution" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib16", + "doi-asserted-by": "crossref", + "first-page": "417", + "DOI": "10.1084/jem.159.2.417", + "article-title": "Somatic mutation creates diversity in the major group of mouse immunoglobulin k light chains", + "volume": "159", + "author": "Heinrich", + "year": "1984", + "journal-title": "J. Exp. Med." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib17", + "series-title": "The Possible and the Actual", + "author": "Jacob", + "year": "1982" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib18", + "series-title": "The Traveling Salesman Problem", + "first-page": "37", + "article-title": "Computational complexity", + "author": "Johnson", + "year": "1985" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib19", + "doi-asserted-by": "crossref", + "first-page": "437", + "DOI": "10.1016/0022-5193(69)90015-0", + "article-title": "Metabolic stability and epigenesis in randomly constructed genetic nets", + "volume": "22", + "author": "Kauffman", + "year": "1969", + "journal-title": "J. theor. Biol." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib20", + "doi-asserted-by": "crossref", + "first-page": "167", + "DOI": "10.1016/S0022-5193(74)80037-8", + "article-title": "The large scale structure and dynamics of gene control circuits: an ensemble approach", + "volume": "44", + "author": "Kauffman", + "year": "1974", + "journal-title": "J. theor. Biol." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib21", + "first-page": "145", + "article-title": "Emergent properties in random complex automata", + "volume": "10D", + "author": "Kauffman", + "year": "1984", + "journal-title": "Physica" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib22", + "series-title": "Evolution at a Crossroads", + "first-page": "169", + "article-title": "Self organization, selective adaptation, and its limits: a new pattern of inference in evolution and development", + "author": "Kauffman", + "year": "1985" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib23", + "first-page": "68", + "article-title": "Adaptive automata based on Darwinian selection", + "volume": "22D", + "author": "Kauffman", + "year": "1986", + "journal-title": "Physica" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib24", + "doi-asserted-by": "crossref", + "first-page": "671", + "DOI": "10.1126/science.220.4598.671", + "article-title": "Optimization by simulated annealing", + "volume": "220", + "author": "Kirkpatrick", + "year": "1983", + "journal-title": "Science" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib25", + "series-title": "Ecological Genetics: The Interface", + "first-page": "3", + "article-title": "On the evolution of ecological parameters", + "author": "Levin", + "year": "1978" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib26", + "doi-asserted-by": "crossref", + "first-page": "498", + "DOI": "10.1287/opre.21.2.498", + "article-title": "An effective heuristic algorithm for the traveling salesman problem", + "volume": "21", + "author": "Lin", + "year": "1973", + "journal-title": "Oper. Res." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib27", + "series-title": "Approaches Moleculaires de l'Evolution", + "author": "Nino", + "year": "1979" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib28", + "series-title": "Sewall Wright and Evolutionary Biology", + "author": "Provine", + "year": "1986" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib29", + "doi-asserted-by": "crossref", + "first-page": "107", + "DOI": "10.1017/S0094837300007491", + "article-title": "On the early origins of major biologic groups", + "volume": "9", + "author": "Raup", + "year": "1983", + "journal-title": "Paleobiology" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib30", + "doi-asserted-by": "crossref", + "first-page": "1792", + "DOI": "10.1103/PhysRevLett.35.1792", + "volume": "35", + "author": "Sherrington", + "year": "1975", + "journal-title": "Phys. Rev. Lett." + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib31", + "doi-asserted-by": "crossref", + "first-page": "563", + "DOI": "10.1038/225563a0", + "article-title": "Natural selection and the concept of a protein space", + "volume": "225", + "author": "Smith", + "year": "1970", + "journal-title": "Nature" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib32", + "doi-asserted-by": "crossref", + "first-page": "575", + "DOI": "10.1038/302575a0", + "article-title": "Somatic generation of antibody diversity", + "volume": "302", + "author": "Tonegawa", + "year": "1983", + "journal-title": "Nature" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib33", + "doi-asserted-by": "crossref", + "first-page": "444", + "DOI": "10.1017/S0094837300003614", + "article-title": "Determinants of diversity in higher taxonomic categories", + "volume": "6", + "author": "Valentine", + "year": "1980", + "journal-title": "Paleobiology" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib34", + "first-page": "356", + "article-title": "The roles of mutation, inbreeding, crossbreeding and selection in evolution", + "volume": "1", + "author": "Wright", + "year": "1932" + }, + { + "key": "10.1016/S0022-5193(87)80029-2_bib35", + "first-page": "1847", + "article-title": "Somatic evolution of variable region structures during an immune response", + "volume": "83", + "author": "Wysocki", + "year": "1986" + } + ], + "container-title": "Journal of Theoretical Biology", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://api.elsevier.com/content/article/PII:S0022519387800292?httpAccept=text/xml", + "content-type": "text/xml", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://api.elsevier.com/content/article/PII:S0022519387800292?httpAccept=text/plain", + "content-type": "text/plain", + "content-version": "vor", + "intended-application": "text-mining" + } + ], + "deposited": { + "date-parts": [ + [ + 2018, + 12, + 29 + ] + ], + "date-time": "2018-12-29T11:29:41Z", + "timestamp": 1546082981000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://linkinghub.elsevier.com/retrieve/pii/S0022519387800292" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1987, + 9 + ] + ] + }, + "references-count": 35, + "journal-issue": { + "issue": "1", + "published-print": { + "date-parts": [ + [ + 1987, + 9 + ] + ] + } + }, + "alternative-id": [ + "S0022519387800292" + ], + "URL": "http://dx.doi.org/10.1016/s0022-5193(87)80029-2", + "relation": {}, + "ISSN": [ + "0022-5193" + ], + "subject": [], + "container-title-short": "Journal of Theoretical Biology", + "published": { + "date-parts": [ + [ + 1987, + 9 + ] + ] + }, + "id": "ref38", + "note": "Manuscript reference 38" + }, + { + "type": "chapter", + "title": "Coadaptation and outbreeding depression", + "author": [ + { + "given": "Alan R.", + "family": "Templeton" + } + ], + "editor": [ + { + "given": "Michael E.", + "family": "Soulé" + } + ], + "container-title": "Conservation Biology: The Science of Scarcity and Diversity", + "publisher": "Sinauer Associates", + "publisher-place": "Sunderland, MA", + "page": "105-116", + "issued": { + "date-parts": [ + [ + 1986 + ] + ] + }, + "id": "ref39", + "note": "Manuscript reference 39; predates DOIs" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 3 + ] + ], + "date-time": "2026-09-03T04:27:40Z", + "timestamp": 1788409660716, + "version": "build-2803163510" + }, + "reference-count": 44, + "publisher": "MIT Press - Journals", + "issue": "2", + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 2011, + 6 + ] + ] + }, + "abstract": "In evolutionary computation, the fitness function normally measures progress toward an objective in the search space, effectively acting as an objective function. Through deception, such objective functions may actually prevent the objective from being reached. While methods exist to mitigate deception, they leave the underlying pathology untreated: Objective functions themselves may actively misdirect search toward dead ends. This paper proposes an approach to circumventing deception that also yields a new perspective on open-ended evolution. Instead of either explicitly seeking an objective or modeling natural evolution to capture open-endedness, the idea is to simply search for behavioral novelty. Even in an objective-based problem, such novelty search ignores the objective. Because many points in the search space collapse to a single behavior, the search for novelty is often feasible. Furthermore, because there are only so many simple behaviors, the search for novelty leads to increasing complexity. By decoupling open-ended search from artificial life worlds, the search for novelty is applicable to real world problems. Counterintuitively, in the maze navigation and biped walking tasks in this paper, novelty search significantly outperforms objective-based search, suggesting the strange conclusion that some problems are best solved by methods that ignore the objective. The main lesson is the inherent limitation of the objective-based paradigm and the unexploited opportunity to guide search through other means.", + "DOI": "10.1162/evco_a_00025", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2010, + 9, + 24 + ] + ], + "date-time": "2010-09-24T16:54:16Z", + "timestamp": 1285347256000 + }, + "page": "189-223", + "source": "Crossref", + "is-referenced-by-count": 683, + "title": "Abandoning Objectives: Evolution Through the Search for Novelty Alone", + "prefix": "10.1162", + "volume": "19", + "author": [ + { + "given": "Joel", + "family": "Lehman", + "sequence": "first", + "affiliation": [ + { + "name": "School of Electrical Engineering and Computer Science, University of Central Florida, Orlando, Florida 32816, USA." + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Kenneth O.", + "family": "Stanley", + "sequence": "additional", + "affiliation": [ + { + "name": "School of Electrical Engineering and Computer Science, University of Central Florida, Orlando, Florida 32816, USA." + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "281", + "reference": [ + { + "key": "p_1", + "doi-asserted-by": "publisher", + "DOI": "10.1103/PhysRevD.79.072005" + }, + { + "key": "p_2", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.97.9.4463" + }, + { + "key": "p_3", + "first-page": "4457", + "author": "Allen B.", + "year": "2009", + "journal-title": "IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)" + }, + { + "key": "p_6", + "doi-asserted-by": "publisher", + "DOI": "10.1162/106454698568486" + }, + { + "key": "p_11", + "doi-asserted-by": "publisher", + "DOI": "10.1162/106365604773955148" + }, + { + "key": "p_12", + "doi-asserted-by": "publisher", + "DOI": "10.1177/105971230401200201" + }, + { + "key": "p_14", + "doi-asserted-by": "publisher", + "DOI": "10.1080/002077200406570" + }, + { + "key": "p_15", + "doi-asserted-by": "publisher", + "DOI": "10.1109/72.809083" + }, + { + "key": "p_19", + "doi-asserted-by": "publisher", + "DOI": "10.1023/A:1025122906870" + }, + { + "key": "p_21", + "doi-asserted-by": "publisher", + "DOI": "10.1162/evco.1999.7.3.205" + }, + { + "key": "p_23", + "doi-asserted-by": "publisher", + "DOI": "10.1098/rstb.1988.0062" + }, + { + "key": "p_26", + "doi-asserted-by": "publisher", + "DOI": "10.1287/ijoc.1.3.190" + }, + { + "key": "p_31", + "doi-asserted-by": "publisher", + "DOI": "10.1177/105971239700500305" + }, + { + "key": "p_42", + "doi-asserted-by": "publisher", + "DOI": "10.1162/evco.1996.4.4.335" + }, + { + "key": "p_44", + "doi-asserted-by": "publisher", + "DOI": "10.1162/1063656054088530" + }, + { + "key": "p_45", + "doi-asserted-by": "publisher", + "DOI": "10.1006/anbe.1999.1225" + }, + { + "key": "p_46", + "doi-asserted-by": "publisher", + "DOI": "10.1109/TEVC.2005.863127" + }, + { + "key": "p_48", + "doi-asserted-by": "publisher", + "DOI": "10.1177/10597123030111001" + }, + { + "key": "p_50", + "doi-asserted-by": "publisher", + "DOI": "10.1162/artl.2008.14.3.14310" + }, + { + "key": "p_51", + "doi-asserted-by": "publisher", + "DOI": "10.1163/156855306778522514" + }, + { + "key": "p_52", + "doi-asserted-by": "publisher", + "DOI": "10.1023/A:1024172417914" + }, + { + "key": "p_55", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.220.4598.671" + }, + { + "key": "p_61", + "doi-asserted-by": "publisher", + "DOI": "10.1038/nrg2192" + }, + { + "key": "p_62", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.0702207104" + }, + { + "key": "p_66", + "doi-asserted-by": "publisher", + "DOI": "10.1086/303231" + }, + { + "key": "p_67", + "first-page": "163", + "author": "McHale G.", + "year": "2004", + "journal-title": "Proceedings of the Eighth International Conference on the Simulation of Adaptive Behavior" + }, + { + "key": "p_68", + "doi-asserted-by": "publisher", + "DOI": "10.1007/BF00132234" + }, + { + "issue": "3", + "key": "p_69", + "doi-asserted-by": "crossref", + "first-page": "325", + "DOI": "10.1162/artl.2008.14.3.14307", + "volume": "14", + "author": "Miconi T.", + "year": "2007", + "journal-title": "Artificial Life: Special Issue on the Evolution of Complexity" + }, + { + "key": "p_70", + "first-page": "245", + "author": "Mitchell M.", + "year": "1992", + "journal-title": "Proceedings of the First European Conference on Artificial Life" + }, + { + "key": "p_75", + "doi-asserted-by": "publisher", + "DOI": "10.1109/TEVC.2006.890271" + }, + { + "key": "p_81", + "doi-asserted-by": "publisher", + "DOI": "10.1109/4235.996015" + }, + { + "key": "p_82", + "doi-asserted-by": "publisher", + "DOI": "10.1090/S0002-9947-1953-0053041-6" + }, + { + "key": "p_86", + "doi-asserted-by": "publisher", + "DOI": "10.1080/09540090600768658" + }, + { + "key": "p_90", + "doi-asserted-by": "publisher", + "DOI": "10.1142/S1469026803000914" + }, + { + "key": "p_91", + "doi-asserted-by": "publisher", + "DOI": "10.1109/TEVC.2005.856210" + }, + { + "key": "p_92", + "doi-asserted-by": "publisher", + "DOI": "10.1162/106365602320169811" + }, + { + "key": "p_93", + "doi-asserted-by": "publisher", + "DOI": "10.1162/106454603322221487" + }, + { + "key": "p_94", + "doi-asserted-by": "publisher", + "DOI": "10.1613/jair.1338" + }, + { + "key": "p_98", + "doi-asserted-by": "publisher", + "DOI": "10.1162/106365600568158" + }, + { + "key": "p_101", + "doi-asserted-by": "publisher", + "DOI": "10.1007/BF00202749" + }, + { + "key": "p_102", + "first-page": "877", + "volume": "7", + "author": "Whiteson S.", + "year": "2006", + "journal-title": "Journal of Machine Learning Research" + }, + { + "key": "p_104", + "first-page": "263", + "author": "Yaeger L.", + "year": "1994", + "journal-title": "Proceedings of Artificial Life III" + }, + { + "key": "p_105", + "doi-asserted-by": "publisher", + "DOI": "10.1016/0165-6074(93)90215-7" + }, + { + "key": "p_106", + "first-page": "635", + "author": "Zaera N.", + "year": "1996", + "journal-title": "Proceedings of the Fourth International Conference on Simulation of Adaptive Behavior" + } + ], + "container-title": "Evolutionary Computation", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://www.mitpressjournals.org/doi/pdf/10.1162/EVCO_a_00025", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2021, + 3, + 12 + ] + ], + "date-time": "2021-03-12T21:57:58Z", + "timestamp": 1615586278000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://direct.mit.edu/evco/article/19/2/189-223/1365" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2011, + 6 + ] + ] + }, + "references-count": 44, + "journal-issue": { + "issue": "2", + "published-print": { + "date-parts": [ + [ + 2011, + 6 + ] + ] + } + }, + "alternative-id": [ + "10.1162/EVCO_a_00025" + ], + "URL": "http://dx.doi.org/10.1162/evco_a_00025", + "relation": {}, + "ISSN": [ + "1063-6560", + "1530-9304" + ], + "subject": [], + "container-title-short": "Evolutionary Computation", + "published": { + "date-parts": [ + [ + 2011, + 6 + ] + ] + }, + "id": "ref40", + "note": "Manuscript reference 40" + }, + { + "type": "article", + "id": "ref41", + "categories": [ + "Computation and Language (cs.CL)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Thede", + "given": "Lukas" + }, + { + "family": "Roth", + "given": "Karsten" + }, + { + "family": "Bethge", + "given": "Matthias" + }, + { + "family": "Akata", + "given": "Zeynep" + }, + { + "family": "Hartvigsen", + "given": "Tom" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Keeping large language models factually up-to-date is crucial for deployment, yet costly retraining remains a challenge. Knowledge editing offers a promising alternative, but methods are only tested on small-scale or synthetic edit benchmarks. In this work, we aim to bridge research into lifelong knowledge editing to real-world edits at a practically relevant scale. We first introduce WikiBigEdit; a large-scale benchmark of real-world Wikidata edits, built to automatically extend lifelong for future-proof benchmarking. In its first instance, it includes over 500K question-answer pairs for knowledge editing alongside a comprehensive evaluation pipeline. Finally, we use WikiBigEdit to study existing knowledge editing techniques' ability to incorporate large volumes of real-world facts and contrast their capabilities to generic modification techniques such as retrieval augmentation and continual finetuning to acquire a complete picture of the practical extent of current lifelong knowledge editing.", + "DOI": "10.48550/arXiv.2503.05683", + "publisher": "arXiv", + "title": "WikiBigEdit: Understanding the Limits of Lifelong Knowledge Editing in LLMs", + "URL": "https://arxiv.org/abs/2503.05683", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 41", + "container-title": "arXiv", + "number": "arXiv:2503.05683", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref42", + "categories": [ + "Computation and Language (cs.CL)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (cs.LG)", + "Neurons and Cognition (q-bio.NC)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences", + "FOS: Biological sciences", + "FOS: Biological sciences" + ], + "author": [ + { + "family": "Clemente", + "given": "Simone" + }, + { + "family": "Houidi", + "given": "Zied Ben" + }, + { + "family": "Huet", + "given": "Alexis" + }, + { + "family": "Rossi", + "given": "Dario" + }, + { + "family": "Franzese", + "given": "Giulio" + }, + { + "family": "Michiardi", + "given": "Pietro" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Through systematic empirical investigation, we uncover a fundamental and concerning property of Large Language Models: while they can safely learn facts that don't contradict their knowledge, attempting to update facts with contradictory information triggers catastrophic corruption of unrelated knowledge. Unlike humans, who naturally resist contradictory information, these models indiscriminately accept contradictions, leading to devastating interference, destroying up to 80% of unrelated knowledge even when learning as few as 10-100 contradicting facts. To understand whether this interference could be mitigated through selective plasticity, we experiment with targeted network updates, distinguishing between previously used (stubborn) and rarely used (plastic) neurons. We uncover another asymmetry: while sparing frequently-used neurons significantly improves retention of existing knowledge for non-contradictory updates (98% vs 93% with standard updates), contradictory updates trigger catastrophic interference regardless of targeting strategy. This effect which persists across tested model scales (GPT-2 to GPT-J-6B), suggests a fundamental limitation in how neural networks handle contradictions. Finally, we demonstrate that contradictory information can be reliably detected (95%+ accuracy) using simple model features, offering a potential protective mechanism. These findings motivate new architectures that can, like humans, naturally resist contradictions rather than allowing destructive overwrites.", + "DOI": "10.48550/arXiv.2502.04390", + "publisher": "arXiv", + "title": "In Praise of Stubbornness: An Empirical Case for Cognitive-Dissonance Aware Continual Update of Knowledge in LLMs", + "URL": "https://arxiv.org/abs/2502.04390", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 42", + "container-title": "arXiv", + "number": "arXiv:2502.04390", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref43", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Neural and Evolutionary Computing (cs.NE)", + "FOS: Computer and information sciences", + "I.2.6", + "68T05, 68T07" + ], + "author": [ + { + "family": "Störk", + "given": "Julius" + } + ], + "issued": { + "date-parts": [ + [ + 2026 + ] + ] + }, + "abstract": "Continual learning commonly relies on post-hoc mechanisms such as replay, elastic regularization, or distillation. This work argues that forgetting should instead be modeled directly as interference between tasks. In the frozen-feature regime, forgetting from learning a new task is exactly the interference energy induced on the old task. In deep networks, the same quantity is recovered through path-averaged curvature with minimal additional forward passes. When task supports are disjoint, forgetting can be eliminated structurally and when task supports overlap in conflicting directions, a non-zero distortion floor is unavoidable. The same geometry optimally merges models through task-aware orthogonalization. From this analysis we derive Interference-Gated Functional Allocation (IGFA), a replay-free, Fisher-free method that shares directions when tasks align and protects them when they conflict. Across benchmarks, IGFA achieves lossless retention when tasks are structurally separable and moves unavoidable cost from irreversible forgetting into deferred but recoverable plasticity when they are not. It matches the strongest replay-free structural baselines on dissimilar-task streams and improves on unconditional projection when similarity makes transfer worth preserving.", + "DOI": "10.48550/arXiv.2607.09202", + "publisher": "arXiv", + "title": "Interference and Retention in Continual Learning", + "URL": "https://arxiv.org/abs/2607.09202", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 43", + "container-title": "arXiv", + "number": "arXiv:2607.09202", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 8, + 27 + ] + ], + "date-time": "2026-08-27T03:05:34Z", + "timestamp": 1787799934256, + "version": "build-2784847793" + }, + "reference-count": 55, + "publisher": "Wiley", + "issue": "2", + "license": [ + { + "start": { + "date-parts": [ + [ + 2009, + 4, + 14 + ] + ], + "date-time": "2009-04-14T00:00:00Z", + "timestamp": 1239667200000 + }, + "content-version": "unspecified", + "delay-in-days": 5127, + "URL": "https://www.cambridge.org/core/terms" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1995, + 4 + ] + ] + }, + "abstract": "Summary A general representation of multilocus selection is extended to allow recombination to depend on genotype. The equations simplify if modifier alleles have small effects on recombination. The evolution of such modifiers only depends on how they alter recombination between the selected loci, and does not involve dominance in modifier effects. The net selection on modifiers can be found explicitly if epistasis is weak relative to recombination. This analysis shows that recombination can be favoured in two ways: because it impedes the response to epistasis which fluctuates in sign, or because it facilitates the response to directional selection. The first mechanism is implausible, because epistasis must change sign over periods of a few generations: faster or slower fluctuations favour reduced recombination. The second mechanism requires weak negative epistasis between favourable alleles, which may either be increasing, or held in check by mutation. The selection ( s i ) on recombination modifiers depends on the reduction in additive variance of log (fitness) due to linkage disequilibria (υ 1 < 0), and on non-additive variance in log (fitness) ( V ′ 2 , V ′ 3 ,.. epistasis between 2, 3.. loci). For unlinked loci and pairwise epistasis, s i = − (υ 1 + 4 V 2 /3)δ r , where δ r is the average increase in recombination caused by the modifier. The approximations are checked against exact calculations for three loci, and against Charlesworth's analyses of mutation/selection balance (1990), and directional selection (1993). The analysis demonstrates a general relation between selection on recombination and observable components of fitness variation, which is open to experimental test.", + "DOI": "10.1017/s0016672300033140", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2009, + 9, + 17 + ] + ], + "date-time": "2009-09-17T03:25:04Z", + "timestamp": 1253157904000 + }, + "page": "123-144", + "source": "Crossref", + "is-referenced-by-count": 384, + "title": "A general model for the evolution of recombination", + "prefix": "10.1155", + "volume": "65", + "author": [ + { + "given": "N. H.", + "family": "Barton", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "311", + "published-online": { + "date-parts": [ + [ + 2009, + 4, + 14 + ] + ] + }, + "reference": [ + { + "key": "S0016672300033140_ref055", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.91.3.1079" + }, + { + "key": "S0016672300033140_ref054", + "volume-title": "Mathematica", + "author": "Wolfram", + "year": "1991" + }, + { + "key": "S0016672300033140_ref053", + "doi-asserted-by": "crossref", + "first-page": "403", + "DOI": "10.1093/genetics/89.2.403", + "article-title": "Rank-order selection is capable of maintaining all genetic polymorphisms", + "volume": "89", + "author": "Wills", + "year": "1978", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref051", + "doi-asserted-by": "crossref", + "unstructured": "Turelli M. , & Barton N. H. , (1994). Genetic and statistical analyses of strong selection on polygenic traits: what, me normal? Genetics", + "DOI": "10.1093/genetics/138.3.913" + }, + { + "key": "S0016672300033140_ref046", + "doi-asserted-by": "crossref", + "first-page": "469", + "DOI": "10.1093/genetics/55.3.469", + "article-title": "The number of balanced polymorphisms that can be maintained by natural selection", + "volume": "55", + "author": "Sved", + "year": "1967", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref044", + "doi-asserted-by": "publisher", + "DOI": "10.1016/S0022-5193(89)80111-0" + }, + { + "key": "S0016672300033140_ref042", + "doi-asserted-by": "publisher", + "DOI": "10.1007/978-3-642-93071-3_6" + }, + { + "key": "S0016672300033140_ref041", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S0016672300023958" + }, + { + "key": "S0016672300033140_ref040", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S0016672300014130" + }, + { + "key": "S0016672300033140_ref037", + "doi-asserted-by": "publisher", + "DOI": "10.1111/j.1469-185X.1943.tb00287.x" + }, + { + "key": "S0016672300033140_ref036", + "doi-asserted-by": "publisher", + "DOI": "10.1038/336435a0" + }, + { + "key": "S0016672300033140_ref035", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S0016672300026392" + }, + { + "key": "S0016672300033140_ref031", + "doi-asserted-by": "publisher", + "DOI": "10.2307/3544435" + }, + { + "key": "S0016672300033140_ref030", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S0016672300032730" + }, + { + "key": "S0016672300033140_ref029", + "doi-asserted-by": "publisher", + "DOI": "10.5962/bhl.title.27468" + }, + { + "key": "S0016672300033140_ref028", + "first-page": "74", + "volume-title": "The Evolution of Sex", + "author": "Felsenstein", + "year": "1988" + }, + { + "key": "S0016672300033140_ref027", + "doi-asserted-by": "crossref", + "first-page": "349", + "DOI": "10.1093/genetics/52.2.349", + "article-title": "The effect of linkage on directional selection", + "volume": "42", + "author": "Felsenstein", + "year": "1965", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref026", + "doi-asserted-by": "publisher", + "DOI": "10.1016/0040-5809(89)90018-X" + }, + { + "key": "S0016672300033140_ref025", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.83.13.4824" + }, + { + "key": "S0016672300033140_ref024", + "first-page": "547", + "volume-title": "Population Genetics and Ecology", + "author": "Feldman", + "year": "1976" + }, + { + "key": "S0016672300033140_ref023", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.77.8.4838" + }, + { + "key": "S0016672300033140_ref048", + "first-page": "446", + "article-title": "Population genetics of modifiers of meiotic drive. 1. The solution of a special case and some general implications", + "volume": "4", + "author": "Thomson", + "year": "1974", + "journal-title": "Theoretical Populations Biology" + }, + { + "key": "S0016672300033140_ref022", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S0016672300022825" + }, + { + "key": "S0016672300033140_ref021", + "doi-asserted-by": "publisher", + "DOI": "10.1016/0040-5809(89)90028-2" + }, + { + "key": "S0016672300033140_ref020", + "doi-asserted-by": "publisher", + "DOI": "10.1016/0040-5809(70)90043-2" + }, + { + "key": "S0016672300033140_ref019", + "doi-asserted-by": "crossref", + "first-page": "487", + "DOI": "10.1093/genetics/108.2.487", + "article-title": "Additive by additive variance with inbreeding and linkage", + "volume": "108", + "author": "Cockerham", + "year": "1984", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref016", + "doi-asserted-by": "publisher", + "DOI": "10.1038/hdy.1985.11" + }, + { + "key": "S0016672300033140_ref013", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S0016672300031372" + }, + { + "key": "S0016672300033140_ref038", + "doi-asserted-by": "publisher", + "DOI": "10.1086/283071" + }, + { + "key": "S0016672300033140_ref033", + "first-page": "191", + "article-title": "An hypothesis to account for the maintenance of sex within populations", + "volume": "3", + "author": "Jaenike", + "year": "1978", + "journal-title": "Evolutionary Theory" + }, + { + "key": "S0016672300033140_ref009", + "volume-title": "The Mathematical Theory of Quantitative Genetics", + "author": "Bulmer", + "year": "1980" + }, + { + "key": "S0016672300033140_ref014", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S001667230001569X" + }, + { + "key": "S0016672300033140_ref050", + "doi-asserted-by": "publisher", + "DOI": "10.1016/0040-5809(90)90002-D" + }, + { + "key": "S0016672300033140_ref043", + "doi-asserted-by": "crossref", + "first-page": "627", + "DOI": "10.1093/genetics/134.2.627", + "article-title": "The evolution of multilocus systems under weak selection", + "volume": "134", + "author": "Nagylaki", + "year": "1993", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref015", + "doi-asserted-by": "publisher", + "DOI": "10.1038/hdy.1985.10" + }, + { + "key": "S0016672300033140_ref005", + "unstructured": "Bergman A. , Otto S. P. , & Feldman M. W. , (1994). On the evolution of recombination in haploids and diploids. Complexity, in press." + }, + { + "key": "S0016672300033140_ref047", + "doi-asserted-by": "crossref", + "first-page": "753", + "DOI": "10.1093/genetics/85.4.753", + "article-title": "The effect of a selected locus on linked neutral loci", + "volume": "85", + "author": "Thomson", + "year": "1977", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref007", + "first-page": "87", + "volume-title": "The Evolution of Sex", + "author": "Brooks", + "year": "1988" + }, + { + "key": "S0016672300033140_ref039", + "volume-title": "The Evolution of Sex", + "author": "Smith", + "year": "1978" + }, + { + "key": "S0016672300033140_ref018", + "doi-asserted-by": "crossref", + "first-page": "71", + "DOI": "10.1093/genetics/69.1.71", + "article-title": "Modification of recombination frequency in Drosophila. I. Selection for increased and decreased crossing over", + "volume": "69", + "author": "Chinnici", + "year": "1971", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref049", + "first-page": "270", + "volume-title": "The Evolution of Sex", + "author": "Trivers", + "year": "1988" + }, + { + "key": "S0016672300033140_ref002", + "doi-asserted-by": "publisher", + "DOI": "10.1038/hdy.1986.142" + }, + { + "key": "S0016672300033140_ref045", + "doi-asserted-by": "publisher", + "DOI": "10.1086/280797" + }, + { + "key": "S0016672300033140_ref052", + "first-page": "247", + "volume-title": "Proceedings of the International Conference on Quantitative Genetics", + "author": "Weir", + "year": "1977" + }, + { + "key": "S0016672300033140_ref017", + "doi-asserted-by": "publisher", + "DOI": "10.1111/j.1558-5646.1990.tb03839.x" + }, + { + "key": "S0016672300033140_ref012", + "doi-asserted-by": "publisher", + "DOI": "10.1017/S0016672300025532" + }, + { + "key": "S0016672300033140_ref032", + "doi-asserted-by": "publisher", + "DOI": "10.1093/oxfordjournals.jhered.a111353" + }, + { + "key": "S0016672300033140_ref008", + "doi-asserted-by": "crossref", + "first-page": "525", + "DOI": "10.1093/genetics/114.2.525", + "article-title": "The organization of genetic variation for recombination in Drosophila melanogaster", + "volume": "114", + "author": "Brooks", + "year": "1986", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref006", + "first-page": "139", + "volume-title": "The Evolution of Sex", + "author": "Bernstein", + "year": "1988" + }, + { + "key": "S0016672300033140_ref034", + "doi-asserted-by": "crossref", + "first-page": "639", + "DOI": "10.1093/genetics/97.3-4.639", + "article-title": "The molecular basis of dominance", + "volume": "97", + "author": "Kacser", + "year": "1981", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref001", + "doi-asserted-by": "crossref", + "first-page": "559", + "DOI": "10.1093/genetics/117.3.559", + "article-title": "Selection, generalized transmission and the evolution of modifier genes. I. The reduction principle", + "volume": "117", + "author": "Altenberg", + "year": "1987", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref003", + "doi-asserted-by": "crossref", + "first-page": "229", + "DOI": "10.1093/genetics/127.1.229", + "article-title": "Natural and sexual selection on many loci", + "volume": "127", + "author": "Barton", + "year": "1991", + "journal-title": "Genetics" + }, + { + "key": "S0016672300033140_ref004", + "doi-asserted-by": "publisher", + "DOI": "10.1038/328066a0" + }, + { + "key": "S0016672300033140_ref010", + "doi-asserted-by": "crossref", + "first-page": "803", + "DOI": "10.1038/326803a0", + "article-title": "Mammalian chiasma frequencies as a test of two theories of recombination", + "volume": "326", + "author": "Burt", + "year": "1987", + "journal-title": "Nature" + }, + { + "key": "S0016672300033140_ref011", + "doi-asserted-by": "crossref", + "first-page": "181", + "DOI": "10.1093/genetics/83.1.181", + "article-title": "Recombination modification in a fluctuating environment", + "volume": "83", + "author": "Charlesworth", + "year": "1976", + "journal-title": "Genetics" + } + ], + "container-title": "Genetical Research", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://www.cambridge.org/core/services/aop-cambridge-core/content/view/S0016672300033140", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2021, + 10, + 10 + ] + ], + "date-time": "2021-10-10T18:42:42Z", + "timestamp": 1633891362000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.cambridge.org/core/product/identifier/S0016672300033140/type/journal_article" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1995, + 4 + ] + ] + }, + "references-count": 55, + "journal-issue": { + "issue": "2", + "published-print": { + "date-parts": [ + [ + 1995, + 4 + ] + ] + } + }, + "alternative-id": [ + "S0016672300033140" + ], + "URL": "http://dx.doi.org/10.1017/s0016672300033140", + "relation": {}, + "ISSN": [ + "0016-6723", + "1469-5073" + ], + "subject": [], + "container-title-short": "Genet. Res.", + "published": { + "date-parts": [ + [ + 1995, + 4 + ] + ] + }, + "id": "ref44", + "note": "Manuscript reference 44" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 8, + 20 + ] + ], + "date-time": "2026-08-20T14:24:52Z", + "timestamp": 1787235892730, + "version": "build-2736575974" + }, + "reference-count": 37, + "publisher": "Elsevier BV", + "issue": "2", + "license": [ + { + "start": { + "date-parts": [ + [ + 1997, + 4, + 1 + ] + ], + "date-time": "1997-04-01T00:00:00Z", + "timestamp": 859852800000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://www.elsevier.com/tdm/userlicense/1.0/" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1997, + 4 + ] + ] + }, + "DOI": "10.1006/tpbi.1997.1301", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2002, + 9, + 18 + ] + ], + "date-time": "2002-09-18T18:01:25Z", + "timestamp": 1032372085000 + }, + "page": "134-147", + "source": "Crossref", + "is-referenced-by-count": 156, + "title": "Deleterious Mutations, Variable Epistatic Interactions, and the Evolution of Recombination", + "prefix": "10.1006", + "volume": "51", + "author": [ + { + "given": "Sarah Perin", + "family": "Otto", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Marcus W.", + "family": "Feldman", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "78", + "reference": [ + { + "key": "10.1006/tpbi.1997.1301_TP971301RF1", + "doi-asserted-by": "crossref", + "first-page": "123", + "DOI": "10.1017/S0016672300033140", + "article-title": "A general model for the evolution of recombination", + "volume": "65", + "author": "Barton", + "year": "1995", + "journal-title": "Genet. Res. Cambridge" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF2", + "doi-asserted-by": "crossref", + "first-page": "49", + "DOI": "10.1002/cplx.6130010213", + "article-title": "On the evolution of recombination in haploids and diploids. I. Deterministic models", + "volume": "1", + "author": "Bergman", + "year": "1995", + "journal-title": "Complexity" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF3", + "series-title": "The Evolution of Sex: An Examination of Current Ideas", + "article-title": "The evolution of recombination rates", + "author": "Brooks", + "year": "1988" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF4", + "first-page": "181", + "article-title": "Recombination modification in a fluctuating environment", + "volume": "83", + "author": "Charlesworth", + "year": "1976", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF5", + "doi-asserted-by": "crossref", + "first-page": "199", + "DOI": "10.1017/S0016672300025532", + "article-title": "Mutation selection balance and the evolutionary advantage of sex and recombination", + "volume": "55", + "author": "Charlesworth", + "year": "1990", + "journal-title": "Genet. Res. Cambridge" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF6", + "doi-asserted-by": "crossref", + "first-page": "345", + "DOI": "10.1093/oxfordjournals.jhered.a111355", + "article-title": "The evolution of sex and recombination in a varying environment", + "volume": "84", + "author": "Charlesworth", + "year": "1993", + "journal-title": "J. Heredity" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF7", + "doi-asserted-by": "crossref", + "first-page": "27", + "DOI": "10.1017/S0016672300033450", + "article-title": "Recombination load associated with selection for increased recombination", + "volume": "67", + "author": "Charlesworth", + "year": "1996", + "journal-title": "Genet. Res. Cambridge" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF8", + "doi-asserted-by": "crossref", + "first-page": "380", + "DOI": "10.1038/347380a0", + "article-title": "Genetic loads and estimates of mutation rates in highly inbred plant populations", + "volume": "347", + "author": "Charlesworth", + "year": "1990", + "journal-title": "Nature" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF9", + "series-title": "Mathematical Topics in Population Genetics", + "article-title": "Genetic loads and the cost of natural selection", + "author": "Crow", + "year": "1970" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF10", + "doi-asserted-by": "crossref", + "first-page": "88", + "DOI": "10.1016/0040-5809(70)90043-2", + "article-title": "On the evolutionary effect of recombination", + "volume": "1", + "author": "Eshel", + "year": "1970", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF11", + "doi-asserted-by": "crossref", + "first-page": "324", + "DOI": "10.1016/0040-5809(72)90007-X", + "article-title": "Selection for linkage modification. I. Random mating populations", + "volume": "3", + "author": "Feldman", + "year": "1972", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF12", + "doi-asserted-by": "crossref", + "first-page": "4838", + "DOI": "10.1073/pnas.77.8.4838", + "article-title": "Evolution of recombination in a constant environment", + "volume": "77", + "author": "Feldman", + "year": "1980", + "journal-title": "Proc. Nat. Acad. Sci. USA" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF13", + "doi-asserted-by": "crossref", + "first-page": "261", + "DOI": "10.1146/annurev.genet.30.1.261", + "article-title": "Population genetic perspectives on the evolution of recombination", + "volume": "30", + "author": "Feldman", + "year": "1997", + "journal-title": "Ann. Rev. Genet." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF14", + "series-title": "The Genetical Theory of Natural Selection", + "author": "Fisher", + "year": "1930" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF15", + "series-title": "The Theory of Matrices", + "author": "Gantmacher", + "year": "1989" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF16", + "doi-asserted-by": "crossref", + "first-page": "282", + "DOI": "10.2307/3544435", + "article-title": "Sex versus non-sex versus parasite", + "volume": "35", + "author": "Hamilton", + "year": "1980", + "journal-title": "OIKOS" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF17", + "doi-asserted-by": "crossref", + "first-page": "773", + "DOI": "10.1093/genetics/138.3.773", + "article-title": "The effects of spontaneous mutation on quantitative traits. I. Variances and covariances of life history traits", + "volume": "138", + "author": "Houle", + "year": "1994", + "journal-title": "Genetics" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF18", + "doi-asserted-by": "crossref", + "first-page": "186", + "DOI": "10.1016/0040-5809(72)90026-3", + "article-title": "Application of method of small parameters to multi-niche population genetic models", + "volume": "3", + "author": "Karlin", + "year": "1972", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF19", + "doi-asserted-by": "crossref", + "first-page": "1315", + "DOI": "10.1093/genetics/138.4.1315", + "article-title": "The distribution of mutation effects inDrosophila melanogaster", + "volume": "138", + "author": "Keightley", + "year": "1994", + "journal-title": "Genetics" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF20", + "doi-asserted-by": "crossref", + "first-page": "694", + "DOI": "10.1038/381694a0", + "article-title": "Estimate of the genomic mutation rate deleterious to overall fitness in E. coli", + "volume": "381", + "author": "Kibota", + "year": "1996", + "journal-title": "Nature" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF21", + "doi-asserted-by": "crossref", + "first-page": "1303", + "DOI": "10.1093/genetics/54.6.1337", + "article-title": "The mutational load with epistatic gene interactions in fitness", + "volume": "54", + "author": "Kimura", + "year": "1966", + "journal-title": "Genetics" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF22", + "doi-asserted-by": "crossref", + "first-page": "325", + "DOI": "10.1017/S0016672300019194", + "article-title": "Selection against harmful mutations in large sexual and asexual populations", + "volume": "40", + "author": "Kondrashov", + "year": "1982", + "journal-title": "Genet. Res. Cambridge" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF23", + "doi-asserted-by": "crossref", + "first-page": "199", + "DOI": "10.1017/S0016672300026392", + "article-title": "Deleterious mutations as an evolutionary factor. I. The advantage of recombination", + "volume": "44", + "author": "Kondrashov", + "year": "1984", + "journal-title": "Genet. Res. Cambridge" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF24", + "doi-asserted-by": "crossref", + "first-page": "435", + "DOI": "10.1038/336435a0", + "article-title": "Deleterious mutations and the evolution of sexual reproduction", + "volume": "336", + "author": "Kondrashov", + "year": "1988", + "journal-title": "Nature" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF25", + "doi-asserted-by": "crossref", + "first-page": "372", + "DOI": "10.1093/oxfordjournals.jhered.a111358", + "article-title": "Classification of hypotheses on the advantage of amphimixis", + "volume": "84", + "author": "Kondrashov", + "year": "1993", + "journal-title": "J. Heredity" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF26", + "doi-asserted-by": "crossref", + "first-page": "229", + "DOI": "10.1002/humu.1380020312", + "article-title": "A molecular approach to estimating the human deleterious mutation rate", + "volume": "2", + "author": "Kondrashov", + "year": "1993", + "journal-title": "Hum. Mutat." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF27", + "doi-asserted-by": "crossref", + "first-page": "469", + "DOI": "10.1086/282559", + "article-title": "Evolution in sexual and asexual populations", + "volume": "102", + "author": "Maynard–Smith", + "year": "1968", + "journal-title": "Am. Nat." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF28", + "series-title": "The Evolution of Sex: An Examination of Current Ideas", + "author": "Michod", + "year": "1988" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF29", + "doi-asserted-by": "crossref", + "first-page": "1", + "DOI": "10.1093/genetics/50.1.1", + "article-title": "The genetic structure of natural populations ofDrosophila melanogaster", + "volume": "50", + "author": "Mukai", + "year": "1964", + "journal-title": "Genetics" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF30", + "doi-asserted-by": "crossref", + "first-page": "749", + "DOI": "10.1093/genetics/61.3.749", + "article-title": "The genetic structure of natural populations ofDrosophila melanogaster", + "volume": "61", + "author": "Mukai", + "year": "1969", + "journal-title": "Genetics" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF31", + "doi-asserted-by": "crossref", + "first-page": "335", + "DOI": "10.1093/genetics/72.2.335", + "article-title": "Mutation rate and dominance of genes affecting viability inDrosophila melanogaster", + "volume": "72", + "author": "Mukai", + "year": "1972", + "journal-title": "Genetics" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF32", + "doi-asserted-by": "crossref", + "first-page": "118", + "DOI": "10.1086/280418", + "article-title": "Some genetic aspects of sex", + "volume": "66", + "author": "Muller", + "year": "1932", + "journal-title": "Am. Nat." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF33", + "doi-asserted-by": "crossref", + "first-page": "2", + "DOI": "10.1016/0027-5107(64)90047-8", + "article-title": "The relation of recombination to mutational advance", + "volume": "1", + "author": "Muller", + "year": "1964", + "journal-title": "Mutat. Res." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF34", + "doi-asserted-by": "crossref", + "first-page": "625", + "DOI": "10.1093/genetics/57.3.625", + "article-title": "Modification of linkage intensity by natural selection", + "volume": "57", + "author": "Nei", + "year": "1967", + "journal-title": "Genetics" + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF35", + "doi-asserted-by": "crossref", + "first-page": "365", + "DOI": "10.1006/tpbi.1995.1017", + "article-title": "Effects of cis–trans viability selection on some two-locus models", + "volume": "47", + "author": "Nordborg", + "year": "1995", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF36", + "doi-asserted-by": "crossref", + "first-page": "447", + "DOI": "10.1086/280797", + "article-title": "The interrelations of inversions, heterosis, and recombination", + "volume": "72", + "author": "Sturtevant", + "year": "1938", + "journal-title": "Am. Nat." + }, + { + "key": "10.1006/tpbi.1997.1301_TP971301RF37", + "doi-asserted-by": "crossref", + "first-page": "601", + "DOI": "10.1146/annurev.es.26.110195.003125", + "article-title": "Multiple fitness peaks and epistasis", + "volume": "26", + "author": "Whitlock", + "year": "1995", + "journal-title": "Annu. Rev. Ecol. Syst." + } + ], + "container-title": "Theoretical Population Biology", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://api.elsevier.com/content/article/PII:S0040580997913010?httpAccept=text/xml", + "content-type": "text/xml", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://api.elsevier.com/content/article/PII:S0040580997913010?httpAccept=text/plain", + "content-type": "text/plain", + "content-version": "vor", + "intended-application": "text-mining" + } + ], + "deposited": { + "date-parts": [ + [ + 2021, + 5, + 2 + ] + ], + "date-time": "2021-05-02T23:58:18Z", + "timestamp": 1619999898000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://linkinghub.elsevier.com/retrieve/pii/S0040580997913010" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1997, + 4 + ] + ] + }, + "references-count": 37, + "journal-issue": { + "issue": "2", + "published-print": { + "date-parts": [ + [ + 1997, + 4 + ] + ] + } + }, + "alternative-id": [ + "S0040580997913010" + ], + "URL": "http://dx.doi.org/10.1006/tpbi.1997.1301", + "relation": {}, + "ISSN": [ + "0040-5809" + ], + "subject": [], + "container-title-short": "Theoretical Population Biology", + "published": { + "date-parts": [ + [ + 1997, + 4 + ] + ] + }, + "id": "ref45", + "note": "Manuscript reference 45" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 8, + 27 + ] + ], + "date-time": "2026-08-27T00:47:55Z", + "timestamp": 1787791675331, + "version": "build-2784847793" + }, + "reference-count": 53, + "publisher": "Springer Science and Business Media LLC", + "issue": "4", + "license": [ + { + "start": { + "date-parts": [ + [ + 2002, + 4, + 1 + ] + ], + "date-time": "2002-04-01T00:00:00Z", + "timestamp": 1017619200000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "http://www.springer.com/tdm" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 2002, + 4 + ] + ] + }, + "DOI": "10.1038/nrg761", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2002, + 7, + 26 + ] + ], + "date-time": "2002-07-26T08:56:51Z", + "timestamp": 1027673811000 + }, + "page": "252-261", + "source": "Crossref", + "is-referenced-by-count": 710, + "title": "Resolving the paradox of sex and recombination", + "prefix": "10.1038", + "volume": "3", + "author": [ + { + "given": "Sarah P.", + "family": "Otto", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Thomas", + "family": "Lenormand", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "297", + "reference": [ + { + "key": "BFnrg761_CR1", + "doi-asserted-by": "publisher", + "first-page": "241", + "DOI": "10.1038/373241a0", + "volume": "373", + "author": "T Chapman", + "year": "1995", + "unstructured": "Chapman, T., Liddle, L. F., Kalb, J. M., Wolfner, M. F. & Partridge, L. Cost of mating in Drosophila melanogaster females is mediated by male accessory gland products. Nature 373, 241–244 (1995).", + "journal-title": "Nature" + }, + { + "key": "BFnrg761_CR2", + "doi-asserted-by": "publisher", + "first-page": "634", + "DOI": "10.1038/35084593", + "volume": "2", + "author": "RJ Redfield", + "year": "2001", + "unstructured": "Redfield, R. J. Do bacteria have sex? Nature Rev. Genet. 2, 634–639 (2001).", + "journal-title": "Nature Rev. Genet." + }, + { + "key": "BFnrg761_CR3", + "doi-asserted-by": "publisher", + "first-page": "335", + "DOI": "10.1016/S0966-842X(01)02079-0", + "volume": "9", + "author": "S Karlin", + "year": "2001", + "unstructured": "Karlin, S. Detecting anomalous gene clusters and pathogenicity islands in diverse bacterial genomes. Trends Microbiol. 9, 335–343 (2001).", + "journal-title": "Trends Microbiol." + }, + { + "key": "BFnrg761_CR4", + "doi-asserted-by": "publisher", + "first-page": "235", + "DOI": "10.1146/annurev.ge.27.120193.001315", + "volume": "27", + "author": "MG Kidwell", + "year": "1993", + "unstructured": "Kidwell, M. G. Lateral transfer in natural populations of eukaryotes. Annu. Rev. Genet. 27, 235–256 (1993).", + "journal-title": "Annu. Rev. Genet." + }, + { + "key": "BFnrg761_CR5", + "doi-asserted-by": "publisher", + "first-page": "1769", + "DOI": "10.1093/oxfordjournals.molbev.a026275", + "volume": "17", + "author": "AP de Koning", + "year": "2000", + "unstructured": "de Koning, A. P., Brinkman, F. S., Jones, S. J. & Keeling, P. J. Lateral gene transfer and metabolic adaptation in the human parasite Trichomonas vaginalis. Mol. Biol. Evol. 17, 1769–1773 (2000).", + "journal-title": "Mol. Biol. Evol." + }, + { + "key": "BFnrg761_CR6", + "doi-asserted-by": "publisher", + "first-page": "research0013.1", + "DOI": "10.1186/gb-2000-1-6-research0013", + "volume": "1", + "author": "YI Wolf", + "year": "2000", + "unstructured": "Wolf, Y. I., Kondrashov, A. S. & Koonin, E. V. Interkingdom gene fusions. Genome Biol. 1, research0013.1–0013.13 (2000).", + "journal-title": "Genome Biol." + }, + { + "key": "BFnrg761_CR7", + "volume-title": "The Masterpiece of Nature: The Evolution and Genetics of Sexuality", + "author": "G Bell", + "year": "1982", + "unstructured": "Bell, G. The Masterpiece of Nature: The Evolution and Genetics of Sexuality (Univ. California Press, Berkeley, 1982).A classic text that explores the vast array of ways in which organisms reproduce and the reasons for this diversity." + }, + { + "key": "BFnrg761_CR8", + "first-page": "19", + "volume-title": "Evolution and Cytology of Unisexual Vertebrates", + "author": "R Vrijenhoek", + "year": "1989", + "unstructured": "Vrijenhoek, R., Dawley, R., Cole, C. & Bogart, J. in Evolution and Cytology of Unisexual Vertebrates (eds Dawley, R. & Bogart, J.) 19–23 (Univ. State New York, New York, 1989)." + }, + { + "key": "BFnrg761_CR9", + "volume-title": "The Diversity of Life", + "author": "EO Wilson", + "year": "1992", + "unstructured": "Wilson, E. O. The Diversity of Life (W. W. Norton, New York, 1992)." + }, + { + "key": "BFnrg761_CR10", + "doi-asserted-by": "publisher", + "first-page": "41", + "DOI": "10.1016/0169-5347(96)81040-8", + "volume": "11", + "author": "OP Judson", + "year": "1996", + "unstructured": "Judson, O. P. & Normark, B. B. Ancient asexual scandals. Trends Ecol. Evol. 11, 41–46 (1996).", + "journal-title": "Trends Ecol. Evol." + }, + { + "key": "BFnrg761_CR11", + "doi-asserted-by": "publisher", + "first-page": "1211", + "DOI": "10.1126/science.288.5469.1211", + "volume": "288", + "author": "D Mark Welch", + "year": "2000", + "unstructured": "Mark Welch, D. & Meselson, M. Evidence for the evolution of bdelloid rotifers without sexual reproduction or genetic exchange. Science 288, 1211–1215 (2000).", + "journal-title": "Science" + }, + { + "key": "BFnrg761_CR12", + "doi-asserted-by": "publisher", + "first-page": "11", + "DOI": "10.1016/S0020-7519(97)00181-1", + "volume": "28", + "author": "ML Sogin", + "year": "1998", + "unstructured": "Sogin, M. L. & Silberman, J. D. Evolution of the protists and protistan parasites from the perspective of molecular systematics. Int. J. Parasitol. 28, 11–20 (1998).", + "journal-title": "Int. J. Parasitol." + }, + { + "key": "BFnrg761_CR13", + "doi-asserted-by": "publisher", + "first-page": "167", + "DOI": "10.1111/j.1550-7408.2000.tb00028.x", + "volume": "47", + "author": "L Morin", + "year": "2000", + "unstructured": "Morin, L. Long branch attraction effects and the status of 'basal eukaryotes': phylogeny and structural analysis of the ribosomal RNA gene cluster of the free-living diplomonad Trepomonas agilis. J. Eukaryot. Microbiol. 47, 167–177 (2000).", + "journal-title": "J. Eukaryot. Microbiol." + }, + { + "key": "BFnrg761_CR14", + "doi-asserted-by": "publisher", + "first-page": "144", + "DOI": "10.1016/0169-5347(92)90205-P", + "volume": "7", + "author": "LD Hurst", + "year": "1992", + "unstructured": "Hurst, L. D., Hamilton, W. D. & Ladle, R. J. Covert sex. Trends Ecol. Evol. 7, 144–145 (1992).", + "journal-title": "Trends Ecol. Evol." + }, + { + "key": "BFnrg761_CR15", + "doi-asserted-by": "publisher", + "first-page": "770", + "DOI": "10.1073/pnas.93.2.770", + "volume": "93", + "author": "A Burt", + "year": "1996", + "unstructured": "Burt, A., Carter, D. A., Koenig, G. L., White, T. J. & Taylor, J. W. Molecular markers reveal cryptic sex in the human pathogen Coccidioides immitis. Proc. Natl Acad. Sci. USA 93, 770–773 (1996).", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "BFnrg761_CR16", + "volume-title": "The Evolution of Sex", + "author": "RE Michod", + "year": "1988", + "unstructured": "Michod, R. E. & Levin, B. R. The Evolution of Sex (Sinauer Press, Sunderland, Massachusetts, 1988).An excellent review and source book for theoretical and empirical studies of the evolution of sex, with chapters written by authors from a variety of perspectives." + }, + { + "key": "BFnrg761_CR17", + "doi-asserted-by": "publisher", + "first-page": "372", + "DOI": "10.1093/oxfordjournals.jhered.a111358", + "volume": "84", + "author": "AS Kondrashov", + "year": "1993", + "unstructured": "Kondrashov, A. S. Classification of hypotheses on the advantage of amphimixis. J. Hered. 84, 372–387 (1993).", + "journal-title": "J. Hered." + }, + { + "key": "BFnrg761_CR18", + "doi-asserted-by": "publisher", + "first-page": "261", + "DOI": "10.1146/annurev.genet.30.1.261", + "volume": "30", + "author": "MW Feldman", + "year": "1997", + "unstructured": "Feldman, M. W., Otto, S. P. & Christiansen, F. B. Population genetic perspectives on the evolution of recombination. Annu. Rev. Genet. 30, 261–295 (1997).", + "journal-title": "Annu. Rev. Genet." + }, + { + "key": "BFnrg761_CR19", + "doi-asserted-by": "crossref", + "first-page": "519", + "DOI": "10.1093/genetics/101.3-4.519", + "volume": "101", + "author": "DA Hickey", + "year": "1982", + "unstructured": "Hickey, D. A. Selfish DNA: a sexually-transmitted nuclear parasite. Genetics 101, 519–531 (1982).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR20", + "doi-asserted-by": "publisher", + "first-page": "605", + "DOI": "10.1016/S1097-2765(00)00059-9", + "volume": "6", + "author": "V Reinke", + "year": "2000", + "unstructured": "Reinke, V. et al. A global profile of germline gene expression in C. elegans. Mol. Cell 6, 605–616 (2000).", + "journal-title": "Mol. Cell" + }, + { + "key": "BFnrg761_CR21", + "doi-asserted-by": "publisher", + "first-page": "537", + "DOI": "10.1086/283734", + "volume": "117", + "author": "H Bernstein", + "year": "1981", + "unstructured": "Bernstein, H., Byers, G. S. & Michod, R. E. Evolution of sexual reproduction: importance of DNA repair, complementation, and variation. Am. Nat. 117, 537–549 (1981).", + "journal-title": "Am. Nat." + }, + { + "key": "BFnrg761_CR22", + "doi-asserted-by": "crossref", + "first-page": "755", + "DOI": "10.1093/genetics/133.4.755", + "volume": "133", + "author": "RJ Redfield", + "year": "1993", + "unstructured": "Redfield, R. J. Evolution of natural transformation: testing the DNA repair hypothesis in Bacillus subtilis and Haemophilus influenzae. Genetics 133, 755–761 (1993).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR23", + "doi-asserted-by": "publisher", + "first-page": "460", + "DOI": "10.1038/268460a0", + "volume": "268", + "author": "P Thuriaux", + "year": "1977", + "unstructured": "Thuriaux, P. Is recombination confined to structural genes on the eukaryotic genome? Nature 268, 460–462 (1977).", + "journal-title": "Nature" + }, + { + "key": "BFnrg761_CR24", + "doi-asserted-by": "publisher", + "first-page": "53", + "DOI": "10.1146/annurev.ge.10.120176.000413", + "volume": "10", + "author": "BS Baker", + "year": "1976", + "unstructured": "Baker, B. S., Carpenter, A. T. C., Esposito, M. S., Esposito, R. E. & Sandler, L. The genetic control of meiosis. Annu. Rev. Genet. 10, 53–134 (1976).", + "journal-title": "Annu. Rev. Genet." + }, + { + "key": "BFnrg761_CR25", + "doi-asserted-by": "publisher", + "first-page": "310", + "DOI": "10.1016/0168-9525(93)90249-H", + "volume": "9", + "author": "RS Hawley", + "year": "1993", + "unstructured": "Hawley, R. S. & Theurkauf, W. E. Requiem for distributive segregation: achiasmate segregation in Drosophila females. Trends Genet. 9, 310–317 (1993).", + "journal-title": "Trends Genet." + }, + { + "key": "BFnrg761_CR26", + "doi-asserted-by": "crossref", + "first-page": "109", + "DOI": "10.1093/genetics/49.1.109", + "volume": "49", + "author": "JR Merriam", + "year": "1964", + "unstructured": "Merriam, J. R. & Frost, J. N. Exchange and nondisjunction of the X chromosomes in female Drosophila melanogaster. Genetics 49, 109–122 (1964).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR27", + "doi-asserted-by": "crossref", + "first-page": "887", + "DOI": "10.1093/genetics/136.3.887", + "volume": "136", + "author": "AM Villeneuve", + "year": "1994", + "unstructured": "Villeneuve, A. M. A cis-acting locus that promotes crossing over between X chromosomes in Caenorhabditis elegans. Genetics 136, 887–902 (1994).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR28", + "doi-asserted-by": "publisher", + "first-page": "1495", + "DOI": "10.1093/hmg/5.Supplement_1.1495", + "volume": "5", + "author": "KE Koehler", + "year": "1996", + "unstructured": "Koehler, K. E., Hawley, R. S., Sherman, S. & Hassold, T. Recombination and nondisjunction in humans and flies. Hum. Mol. Genet. 5, 1495–1504 (1996).", + "journal-title": "Hum. Mol. Genet." + }, + { + "key": "BFnrg761_CR29", + "doi-asserted-by": "publisher", + "first-page": "259", + "DOI": "10.1046/j.1420-9101.1991.4020259.x", + "volume": "4", + "author": "A Burt", + "year": "1991", + "unstructured": "Burt, A., Bell, G. & Harvey, P. H. Sex differences in recombination. J. Evol. Biol. 4, 259–277 (1991).", + "journal-title": "J. Evol. Biol." + }, + { + "key": "BFnrg761_CR30", + "doi-asserted-by": "publisher", + "first-page": "1921", + "DOI": "10.1111/j.0014-3820.2001.tb01310.x", + "volume": "55", + "author": "SP Otto", + "year": "2001", + "unstructured": "Otto, S. P. & Barton, N. H. Selection for recombination in small populations. Evolution 55, 1921–1931 (2001).An investigation of the relative importance of drift and epistasis to the evolution of sex and recombination with the use of a modifier model with directional selection.", + "journal-title": "Evolution" + }, + { + "key": "BFnrg761_CR31", + "doi-asserted-by": "publisher", + "first-page": "241", + "DOI": "10.1038/nrg760", + "volume": "3", + "author": "WR Rice", + "year": "2002", + "unstructured": "Rice, W. R. Experimental tests of the adaptive significance of sexual reproduction. Nature Rev. Genet. 3, 241–251 (2002).", + "journal-title": "Nature Rev. Genet." + }, + { + "key": "BFnrg761_CR32", + "doi-asserted-by": "crossref", + "first-page": "559", + "DOI": "10.1093/genetics/117.3.559", + "volume": "117", + "author": "L Altenberg", + "year": "1987", + "unstructured": "Altenberg, L. & Feldman, M. W. Selection, generalized transmission and the evolution of modifier genes. I. The reduction principle. Genetics 117, 559–572 (1987).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR33", + "first-page": "430", + "volume": "21", + "author": "MW Feldman", + "year": "1972", + "unstructured": "Feldman, M. W. Selection for linkage modification. I. Random mating populations. Theor. Popul. Biol. 21, 430–439 (1972).", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "BFnrg761_CR34", + "doi-asserted-by": "publisher", + "first-page": "4838", + "DOI": "10.1073/pnas.77.8.4838", + "volume": "77", + "author": "MW Feldman", + "year": "1980", + "unstructured": "Feldman, M. W., Christiansen, F. B. & Brooks, L. D. Evolution of recombination in a constant environment. Proc. Natl Acad. Sci. USA 77, 4838–4841 (1980).The first theoretical analysis to show that higher rates of recombination could evolve when deleterious mutations exhibit negative fitness interactions.", + "journal-title": "Proc. Natl Acad. Sci. USA" + }, + { + "key": "BFnrg761_CR35", + "doi-asserted-by": "publisher", + "first-page": "199", + "DOI": "10.1017/S0016672300026392", + "volume": "44", + "author": "AS Kondrashov", + "year": "1984", + "unstructured": "Kondrashov, A. S. Deleterious mutations as an evolutionary factor. I. The advantage of recombination. Genet. Res. 44, 199–217 (1984).", + "journal-title": "Genet. Res." + }, + { + "key": "BFnrg761_CR36", + "doi-asserted-by": "publisher", + "first-page": "199", + "DOI": "10.1017/S0016672300025532", + "volume": "55", + "author": "B Charlesworth", + "year": "1990", + "unstructured": "Charlesworth, B. Mutation–selection balance and the evolutionary advantage of sex and recombination. Genet. Res. 55, 199–221 (1990).", + "journal-title": "Genet. Res." + }, + { + "key": "BFnrg761_CR37", + "doi-asserted-by": "publisher", + "first-page": "123", + "DOI": "10.1017/S0016672300033140", + "volume": "65", + "author": "NH Barton", + "year": "1995", + "unstructured": "Barton, N. H. A general model for the evolution of recombination. Genet. Res. 65, 123–144 (1995).A ground-breaking theoretical study that generalized models of the evolution of recombination to a genome-wide level and to include several forms of selection.", + "journal-title": "Genet. Res." + }, + { + "key": "BFnrg761_CR38", + "doi-asserted-by": "publisher", + "first-page": "134", + "DOI": "10.1006/tpbi.1997.1301", + "volume": "51", + "author": "SP Otto", + "year": "1997", + "unstructured": "Otto, S. P. & Feldman, M. W. Deleterious mutations, variable epistatic interactions, and the evolution of recombination. Theor. Popul. Biol. 51, 134–147 (1997).", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "BFnrg761_CR39", + "doi-asserted-by": "publisher", + "first-page": "88", + "DOI": "10.1016/0040-5809(70)90043-2", + "volume": "1", + "author": "I Eshel", + "year": "1970", + "unstructured": "Eshel, I. & Feldman, M. W. On the evolutionary effect of recombination. Theor. Popul. Biol. 1, 88–100 (1970).", + "journal-title": "Theor. Popul. Biol." + }, + { + "key": "BFnrg761_CR40", + "doi-asserted-by": "crossref", + "first-page": "1419", + "DOI": "10.1093/genetics/156.3.1419", + "volume": "156", + "author": "JR Chasnov", + "year": "2000", + "unstructured": "Chasnov, J. R. Mutation–selection balance, dominance and the maintenance of sex. Genetics 156, 1419–1425 (2000).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR41", + "doi-asserted-by": "crossref", + "first-page": "913", + "DOI": "10.1093/genetics/158.2.913", + "volume": "158", + "author": "AF Agrawal", + "year": "2001", + "unstructured": "Agrawal, A. F. & Chasnov, J. R. Recessive mutations and the maintenance of sex in structured populations. Genetics 158, 913–917 (2001).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR42", + "doi-asserted-by": "publisher", + "first-page": "49", + "DOI": "10.1146/annurev.ge.11.120177.000405", + "volume": "11", + "author": "MJ Simmons", + "year": "1977", + "unstructured": "Simmons, M. J. & Crow, J. F. Mutations affecting fitness in Drosophila populations. Annu. Rev. Genet. 11, 49–78 (1977).", + "journal-title": "Annu. Rev. Genet." + }, + { + "key": "BFnrg761_CR43", + "doi-asserted-by": "publisher", + "first-page": "393", + "DOI": "10.1086/303247", + "volume": "154", + "author": "AD Peters", + "year": "1999", + "unstructured": "Peters, A. D. & Lively, C. M. The Red Queen and fluctuating epistasis: a population genetic analysis of antagonistic coevolution. Am. Nat. 154, 393–405 (1999).", + "journal-title": "Am. Nat." + }, + { + "key": "BFnrg761_CR44", + "doi-asserted-by": "crossref", + "first-page": "423", + "DOI": "10.1093/genetics/156.1.423", + "volume": "156", + "author": "T Lenormand", + "year": "2000", + "unstructured": "Lenormand, T. & Otto, S. P. The evolution of recombination in a heterogeneous environment. Genetics 156, 423–438 (2000).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR45", + "doi-asserted-by": "publisher", + "first-page": "247", + "DOI": "10.1017/S0016672398003243", + "volume": "71", + "author": "KV Pylkov", + "year": "1998", + "unstructured": "Pylkov, K. V., Zhivotovsky, L. A. & Feldman, M. W. Migration versus mutation in the evolution of recombination under multilocus selection. Genet. Res. 71, 247–256 (1998).", + "journal-title": "Genet. Res." + }, + { + "key": "BFnrg761_CR46", + "doi-asserted-by": "publisher", + "first-page": "269", + "DOI": "10.1017/S0016672300010156", + "volume": "8", + "author": "WG Hill", + "year": "1966", + "unstructured": "Hill, W. G. & Robertson, A. The effect of linkage on the limits to artificial selection. Genet. Res. 8, 269–294 (1966).This paper showed that, in finite populations, selection at a locus is less efficient when neighboring loci are also under selection because of increased variation in the reproductive success of an allele (that is, increased random genetic drift).", + "journal-title": "Genet. Res." + }, + { + "key": "BFnrg761_CR47", + "doi-asserted-by": "crossref", + "first-page": "879", + "DOI": "10.1093/genetics/147.2.879", + "volume": "147", + "author": "SP Otto", + "year": "1997", + "unstructured": "Otto, S. P. & Barton, N. H. The evolution of recombination: removing the limits to natural selection. Genetics 147, 879–906 (1997).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR48", + "doi-asserted-by": "publisher", + "first-page": "119", + "DOI": "10.1017/S001667239800367X", + "volume": "73", + "author": "DD Gessler", + "year": "1999", + "unstructured": "Gessler, D. D. & Xu, S. On the evolution of recombination and meiosis. Genet. Res. 73, 119–131 (1999).", + "journal-title": "Genet. Res." + }, + { + "key": "BFnrg761_CR49", + "doi-asserted-by": "crossref", + "first-page": "597", + "DOI": "10.1093/genetics/137.2.597", + "volume": "137", + "author": "JR Peck", + "year": "1994", + "unstructured": "Peck, J. R. A ruby in the rubbish: beneficial mutations, deleterious mutations and the evolution of sex. Genetics 137, 597–606 (1994).", + "journal-title": "Genetics" + }, + { + "key": "BFnrg761_CR50", + "volume-title": "Évolution de la Recombinaison en Populations Subdivisées: Étude par Simulation de l'Influence de la Structure sur la Sélection pour la Recombinaison via l'Effet Hill–Robertson", + "author": "G Martin", + "year": "2001", + "unstructured": "Martin, G. Évolution de la Recombinaison en Populations Subdivisées: Étude par Simulation de l'Influence de la Structure sur la Sélection pour la Recombinaison via l'Effet Hill–Robertson (DEA, Biologié, Université Montpellier II, Montpellier, 2001)." + }, + { + "key": "BFnrg761_CR51", + "volume-title": "The History of Sexuality. I. An Introduction", + "author": "M Foucault", + "year": "1978", + "unstructured": "Foucault, M. The History of Sexuality. I. An Introduction (Vintage Books, New York, 1978)." + }, + { + "key": "BFnrg761_CR52", + "doi-asserted-by": "publisher", + "first-page": "604", + "DOI": "10.1111/j.1558-5646.1998.tb01658.x", + "volume": "52", + "author": "RS Howard", + "year": "1998", + "unstructured": "Howard, R. S. & Lively, C. M. The maintenance of sex by parasitism and mutation accumulation under epistatic fitness functions. Evolution 52, 604–610 (1998).", + "journal-title": "Evolution" + }, + { + "key": "BFnrg761_CR53", + "doi-asserted-by": "crossref", + "first-page": "625", + "DOI": "10.1093/genetics/57.3.625", + "volume": "57", + "author": "M Nei", + "year": "1967", + "unstructured": "Nei, M. Modification of linkage intensity by natural selection. Genetics 57, 625–641 (1967).", + "journal-title": "Genetics" + } + ], + "container-title": "Nature Reviews Genetics", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "http://www.nature.com/articles/nrg761.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "http://www.nature.com/articles/nrg761", + "content-type": "text/html", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "http://www.nature.com/articles/nrg761.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2023, + 5, + 19 + ] + ], + "date-time": "2023-05-19T03:36:04Z", + "timestamp": 1684467364000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.nature.com/articles/nrg761" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2002, + 4 + ] + ] + }, + "references-count": 53, + "journal-issue": { + "issue": "4", + "published-print": { + "date-parts": [ + [ + 2002, + 4 + ] + ] + } + }, + "alternative-id": [ + "BFnrg761" + ], + "URL": "http://dx.doi.org/10.1038/nrg761", + "relation": {}, + "ISSN": [ + "1471-0056", + "1471-0064" + ], + "subject": [], + "container-title-short": "Nat Rev Genet", + "published": { + "date-parts": [ + [ + 2002, + 4 + ] + ] + }, + "id": "ref46", + "note": "Manuscript reference 46" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 7, + 3 + ] + ], + "date-time": "2026-07-03T18:30:18Z", + "timestamp": 1783103418606, + "version": "3.54.6" + }, + "reference-count": 0, + "publisher": "Oxford University Press (OUP)", + "issue": "3", + "license": [ + { + "start": { + "date-parts": [ + [ + 1987, + 11, + 1 + ] + ], + "date-time": "1987-11-01T00:00:00Z", + "timestamp": 562723200000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://academic.oup.com/journals/pages/open_access/funder_policies/chorus/standard_publication_model" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1987, + 11, + 1 + ] + ] + }, + "abstract": "ABSTRACT Modifier gene models are used to explore the evolution of features of organisms, such as the genetic system, that are not directly involved in the determination of fitness. Recent work has shown that a general \"reduction principle\" holds in models of selectively neutral modifiers of recombination, mutation, and migration. Here we present a framework for models of modifier genes that shows these reduction results to be part of a more general theory, for which recombination and mutation are special cases.—The deterministic forces that affect the genetic composition of a population can be partitioned into two categories: selection and transmission. Selection includes differential viabilities, fertilities, and mating success. Imperfect transmission occurs as a result of such phenomena as recombination, mutation and migration, meiosis, gene conversion, and meiotic drive. Selectively neutral modifier genes affect transmission, and a neutral modifier gene can evolve only by generating association with selected genes whose transmission it affects.–We show that, in randomly mating populations at equilibrium, imperfect transmission of selected genes allows a variance in their marginal fitnesses to be maintained. This variance in the marginal fitnesses of selected genes is what drives the evolution of neutral modifier genes. Populations with a variance in marginal fitnesses at equilibrium are always subject to invasion by modifier genes that bring about perfect transmission of the selected genes. It is also found, within certain constraints, that for modifier genes producing what we call \"linear variation\" in the transmission processes, a new modifier allele can invade a population at equilibrium if it reduces the level of imperfect transmission acting on the selected genes, and will be expelled if it increases the level of imperfect transmission. Moreover, the strength of the induced selection on the modifier gene is shown to range up to the order of the departure of the genetic system from perfect transmission.", + "DOI": "10.1093/genetics/117.3.559", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2021, + 1, + 6 + ] + ], + "date-time": "2021-01-06T12:43:57Z", + "timestamp": 1609937037000 + }, + "page": "559-572", + "source": "Crossref", + "is-referenced-by-count": 86, + "title": "Selection, Generalized Transmission and the Evolution of Modifier Genes. I. The Reduction Principle", + "prefix": "10.1093", + "volume": "117", + "author": [ + { + "given": "Lee", + "family": "Altenberg", + "sequence": "first", + "affiliation": [ + { + "name": "Department of Statistics, North Carolina State University, Raleigh, North Carolina 27695-8203" + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Marcus W", + "family": "Feldman", + "sequence": "additional", + "affiliation": [ + { + "name": "Department of Biological Sciences, Stanford University, Stanford, California 94305-5020" + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "286", + "published-online": { + "date-parts": [ + [ + 1987, + 11, + 1 + ] + ] + }, + "container-title": "Genetics", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "http://academic.oup.com/genetics/article-pdf/117/3/559/34454293/genetics0559.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "syndication" + }, + { + "URL": "http://academic.oup.com/genetics/article-pdf/117/3/559/34454293/genetics0559.pdf", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2021, + 4, + 22 + ] + ], + "date-time": "2021-04-22T18:29:28Z", + "timestamp": 1619116168000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://academic.oup.com/genetics/article/117/3/559/5997496" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1987, + 11, + 1 + ] + ] + }, + "references-count": 0, + "journal-issue": { + "issue": "3", + "published-print": { + "date-parts": [ + [ + 1987, + 11, + 1 + ] + ] + } + }, + "URL": "http://dx.doi.org/10.1093/genetics/117.3.559", + "relation": {}, + "ISSN": [ + "1943-2631" + ], + "subject": [], + "published-other": { + "date-parts": [ + [ + 1987, + 11, + 1 + ] + ] + }, + "published": { + "date-parts": [ + [ + 1987, + 11, + 1 + ] + ] + }, + "id": "ref47", + "note": "Manuscript reference 47" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 8, + 26 + ] + ], + "date-time": "2026-08-26T05:12:32Z", + "timestamp": 1787721152572, + "version": "build-2784847793" + }, + "reference-count": 0, + "publisher": "Oxford University Press (OUP)", + "issue": "4", + "license": [ + { + "start": { + "date-parts": [ + [ + 1995, + 4, + 1 + ] + ], + "date-time": "1995-04-01T00:00:00Z", + "timestamp": 796694400000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://academic.oup.com/journals/pages/open_access/funder_policies/chorus/standard_publication_model" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1995, + 4, + 1 + ] + ] + }, + "abstract": "Abstract Speciation often results from the accumulation of \"complementary genes,\" i.e., from genes that, while having no deleterious effect within species, cause inviability or sterility when brought together with genes from another species. Here I model speciation as the accumulation of genic incompatibilities between diverging populations. Several results are obtained. First, and most important, the number of genic incompatibilities between taxa increases much faster than linearly with time. In particular, the probability of speciation increases at least as fast as the square of the time since separation between two taxa. Second, as Muller realized, all hybrid incompatibilities must initially be asymmetric. Third, at loci that have diverged between taxa, evolutionarily derived alleles cause hybrid problems far more often than ancestral alleles. Last, it is \"easier\" to evolve complex hybrid incompatibilities requiring the simultaneous action of three or more loci than to evolve simple incompatibilities between pairs of genes. These results have several important implications for genetic analyses of speciation.", + "DOI": "10.1093/genetics/139.4.1805", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2021, + 1, + 13 + ] + ], + "date-time": "2021-01-13T16:14:22Z", + "timestamp": 1610554462000 + }, + "page": "1805-1813", + "source": "Crossref", + "is-referenced-by-count": 645, + "title": "The population genetics of speciation: the evolution of hybrid incompatibilities.", + "prefix": "10.1093", + "volume": "139", + "author": [ + { + "given": "H A", + "family": "Orr", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "286", + "published-online": { + "date-parts": [ + [ + 1995, + 4, + 1 + ] + ] + }, + "container-title": "Genetics", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "http://academic.oup.com/genetics/article-pdf/139/4/1805/34605085/genetics1805.pdf", + "content-type": "application/pdf", + "content-version": "vor", + "intended-application": "syndication" + }, + { + "URL": "http://academic.oup.com/genetics/article-pdf/139/4/1805/34605085/genetics1805.pdf", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2021, + 4, + 22 + ] + ], + "date-time": "2021-04-22T15:36:52Z", + "timestamp": 1619105812000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://academic.oup.com/genetics/article/139/4/1805/6013266" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1995, + 4, + 1 + ] + ] + }, + "references-count": 0, + "journal-issue": { + "issue": "4", + "published-print": { + "date-parts": [ + [ + 1995, + 4, + 1 + ] + ] + } + }, + "URL": "http://dx.doi.org/10.1093/genetics/139.4.1805", + "relation": {}, + "ISSN": [ + "1943-2631" + ], + "subject": [], + "published-other": { + "date-parts": [ + [ + 1995, + 4, + 1 + ] + ] + }, + "published": { + "date-parts": [ + [ + 1995, + 4, + 1 + ] + ] + }, + "id": "ref48", + "note": "Manuscript reference 48" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 8, + 26 + ] + ], + "date-time": "2026-08-26T04:43:50Z", + "timestamp": 1787719430862, + "version": "build-2784847793" + }, + "reference-count": 52, + "publisher": "Oxford University Press (OUP)", + "issue": "6", + "license": [ + { + "start": { + "date-parts": [ + [ + 2015, + 9, + 1 + ] + ], + "date-time": "2015-09-01T00:00:00Z", + "timestamp": 1441065600000 + }, + "content-version": "tdm", + "delay-in-days": 5205, + "URL": "http://doi.wiley.com/10.1002/tdm_license_1.1" + } + ], + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 2001, + 6 + ] + ] + }, + "DOI": "10.1111/j.0014-3820.2001.tb00628.x", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2007, + 5, + 9 + ] + ], + "date-time": "2007-05-09T13:04:07Z", + "timestamp": 1178715847000 + }, + "page": "1085-1094", + "source": "Crossref", + "is-referenced-by-count": 384, + "title": "THE EVOLUTION OF POSTZYGOTIC ISOLATION: ACCUMULATING DOBZHANSKY-MULLER INCOMPATIBILITIES", + "prefix": "10.1093", + "volume": "55", + "author": [ + { + "given": "H. Allen", + "family": "Orr", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Michael", + "family": "Turelli", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "286", + "reference": [ + { + "key": "b1_1180", + "volume-title": "Handbook of mathematical functions", + "author": "Abramowitz M.", + "year": "1964" + }, + { + "key": "b2_1181", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.287.5461.2185" + }, + { + "key": "b3_1182", + "doi-asserted-by": "publisher", + "DOI": "10.1046/j.1365-294x.2001.01216.x" + }, + { + "key": "b4_1183", + "doi-asserted-by": "publisher", + "DOI": "10.1086/303332" + }, + { + "key": "b5_1184", + "doi-asserted-by": "crossref", + "first-page": "175", + "DOI": "10.1093/genetics/137.1.175", + "volume": "137", + "author": "Cabot E. L.", + "year": "1994", + "journal-title": "Genetics" + }, + { + "key": "b6_1185", + "doi-asserted-by": "crossref", + "first-page": "510", + "DOI": "10.1093/oxfordjournals.jhered.a110004", + "volume": "75", + "author": "Christie P.", + "year": "1984", + "journal-title": "J. Hered." + }, + { + "key": "b7_1186", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2409213" + }, + { + "key": "b8_1187", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2410984" + }, + { + "key": "b9_1188", + "first-page": "1", + "volume-title": "Evolution of biological diversity", + "author": "Coyne J. A.", + "year": "1999" + }, + { + "key": "b10_1189", + "doi-asserted-by": "publisher", + "DOI": "10.1554/0014-3820(2000)054[0306:IWSSBP]2.0.CO;2" + }, + { + "key": "b11_1190", + "doi-asserted-by": "crossref", + "first-page": "1647", + "DOI": "10.1093/oxfordjournals.molbev.a026264", + "volume": "17", + "author": "Cutler D. J.", + "year": "2000", + "journal-title": "Mol. Biol. Evol." + }, + { + "key": "b12_1191", + "doi-asserted-by": "publisher", + "DOI": "10.1038/22521" + }, + { + "key": "b13_1192", + "doi-asserted-by": "crossref", + "first-page": "113", + "DOI": "10.1093/genetics/21.2.113", + "volume": "21", + "author": "Dobzhansky T.", + "year": "1936", + "journal-title": "Genetics" + }, + { + "key": "b14_1193", + "doi-asserted-by": "publisher", + "DOI": "10.1086/303217" + }, + { + "key": "b15_1194", + "volume-title": "The causes of molecular evolution", + "author": "Gillespie J. H.", + "year": "1991" + }, + { + "key": "b16_1195", + "first-page": "804", + "volume": "10", + "author": "Hey J.", + "year": "1993", + "journal-title": "Mol. Biol. Evol." + }, + { + "key": "b17_1196", + "doi-asserted-by": "crossref", + "first-page": "114", + "DOI": "10.1093/genetics/15.2.114", + "volume": "15", + "author": "Hollingshead L.", + "year": "1930", + "journal-title": "Genetics" + }, + { + "key": "b18_1197", + "doi-asserted-by": "crossref", + "first-page": "1243", + "DOI": "10.1093/genetics/143.3.1243", + "volume": "143", + "author": "Hollocher H.", + "year": "1996", + "journal-title": "Genetics" + }, + { + "key": "b19_1198", + "doi-asserted-by": "crossref", + "first-page": "909", + "DOI": "10.1093/genetics/124.4.909", + "volume": "124", + "author": "Hutter P.", + "year": "1990", + "journal-title": "Genetics" + }, + { + "key": "b20_1199", + "volume-title": "Univariate discrete distributions", + "author": "Johnson N. L.", + "year": "1993", + "edition": "2" + }, + { + "key": "b21_1200", + "doi-asserted-by": "crossref", + "first-page": "865", + "DOI": "10.1093/genetics/151.2.865", + "volume": "151", + "author": "Kirkpatrick M.", + "year": "1999", + "journal-title": "Genetics" + }, + { + "key": "b22_1201", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.8503007" + }, + { + "key": "b23_1202", + "doi-asserted-by": "publisher", + "DOI": "10.1038/22514" + }, + { + "key": "b24_1203", + "volume-title": "Molecular evolution", + "author": "Li W.-H.", + "year": "1997" + }, + { + "key": "b25_1204", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2410239" + }, + { + "key": "b26_1205", + "doi-asserted-by": "crossref", + "DOI": "10.4159/harvard.9780674865327", + "volume-title": "Animal species and evolution", + "author": "Mayr E.", + "year": "1963" + }, + { + "key": "b27_1206", + "first-page": "71", + "volume": "6", + "author": "Muller H. J.", + "year": "1942", + "journal-title": "Biol. Symp." + }, + { + "key": "b28_1207", + "doi-asserted-by": "crossref", + "DOI": "10.7312/nei-92038", + "volume-title": "Molecular evolutionary genetics", + "author": "Nei M.", + "year": "1987" + }, + { + "key": "b29_1208", + "doi-asserted-by": "publisher", + "DOI": "10.1046/j.1365-2540.1999.00632.x" + }, + { + "key": "b30_1209", + "doi-asserted-by": "crossref", + "first-page": "1805", + "DOI": "10.1093/genetics/139.4.1805", + "volume": "139", + "author": "Orr H. A.", + "year": "1995", + "journal-title": "Genetics" + }, + { + "key": "b31_1210", + "doi-asserted-by": "publisher", + "DOI": "10.1146/annurev.ecolsys.28.1.195" + }, + { + "key": "b32_1211", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2411226" + }, + { + "key": "b33_1212", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2410732" + }, + { + "key": "b34_1213", + "doi-asserted-by": "publisher", + "DOI": "10.1002/1521-1878(200012)22:12<1085::AID-BIES6>3.3.CO;2-7" + }, + { + "key": "b35_1214", + "doi-asserted-by": "crossref", + "first-page": "1321", + "DOI": "10.1093/genetics/144.3.1321", + "volume": "144", + "author": "Palopoli M. F.", + "year": "1996", + "journal-title": "Genetics" + }, + { + "key": "b36_1215", + "volume-title": "A first course in probability theory", + "author": "Ross S.", + "year": "1994" + }, + { + "key": "b37_1216", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.287.5451.306" + }, + { + "key": "b38_1217", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2411351" + }, + { + "key": "b39_1218", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.96.21.11910" + }, + { + "key": "b40_1219", + "doi-asserted-by": "publisher", + "DOI": "10.1038/368629a0" + }, + { + "key": "b41_1220", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2410999" + }, + { + "key": "b42_1221", + "doi-asserted-by": "publisher", + "DOI": "10.2307/2409660" + }, + { + "key": "b43_1222", + "first-page": "1", + "volume": "8", + "author": "Thompson V.", + "year": "1986", + "journal-title": "Evol. Theory" + }, + { + "key": "b44_1223", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.87.7.2715" + }, + { + "key": "b45_1224", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.282.5393.1501" + }, + { + "key": "b46_1225", + "doi-asserted-by": "crossref", + "first-page": "819", + "DOI": "10.1093/genetics/142.3.819", + "volume": "142", + "author": "True J. R.", + "year": "1996", + "journal-title": "Genetics" + }, + { + "key": "b47_1226", + "doi-asserted-by": "crossref", + "first-page": "1799", + "DOI": "10.1093/genetics/147.4.1799", + "volume": "147", + "author": "Turelli M.", + "year": "1997", + "journal-title": "Genetics" + }, + { + "key": "b48_1227", + "doi-asserted-by": "crossref", + "first-page": "389", + "DOI": "10.1093/genetics/140.1.389", + "volume": "140", + "author": "Turelli M.", + "year": "1995", + "journal-title": "Genetics" + }, + { + "key": "b49_1228", + "doi-asserted-by": "crossref", + "first-page": "1663", + "DOI": "10.1093/genetics/154.4.1663", + "volume": "154", + "author": "Turelli M.", + "year": "2000", + "journal-title": "Genetics" + }, + { + "key": "b50_1229", + "doi-asserted-by": "publisher", + "DOI": "10.1038/341415a0" + }, + { + "key": "b51_1230", + "doi-asserted-by": "publisher", + "DOI": "10.1146/annurev.genet.28.1.283" + }, + { + "key": "b52_1231", + "doi-asserted-by": "publisher", + "DOI": "10.1016/0169-5347(96)10033-1" + } + ], + "container-title": "Evolution", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://api.wiley.com/onlinelibrary/tdm/v1/articles/10.1111%2Fj.0014-3820.2001.tb00628.x", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "http://onlinelibrary.wiley.com/wol1/doi/10.1111/j.0014-3820.2001.tb00628.x/fullpdf", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2025, + 10, + 3 + ] + ], + "date-time": "2025-10-03T20:41:21Z", + "timestamp": 1759524081000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://academic.oup.com/evolut/article/55/6/1085/6757898" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2001, + 6 + ] + ] + }, + "references-count": 52, + "journal-issue": { + "issue": "6", + "published-print": { + "date-parts": [ + [ + 2001, + 6 + ] + ] + } + }, + "alternative-id": [ + "10.1111/j.0014-3820.2001.tb00628.x" + ], + "URL": "http://dx.doi.org/10.1111/j.0014-3820.2001.tb00628.x", + "relation": {}, + "ISSN": [ + "0014-3820", + "1558-5646" + ], + "subject": [], + "container-title-short": "Evolution", + "published": { + "date-parts": [ + [ + 2001, + 6 + ] + ] + }, + "id": "ref49", + "note": "Manuscript reference 49" + }, + { + "type": "article", + "id": "ref50", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Ainsworth", + "given": "Samuel K." + }, + { + "family": "Hayase", + "given": "Jonathan" + }, + { + "family": "Srinivasa", + "given": "Siddhartha" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "The success of deep learning is due in large part to our ability to solve certain massive non-convex optimization problems with relative ease. Though non-convex optimization is NP-hard, simple algorithms -- often variants of stochastic gradient descent -- exhibit surprising effectiveness in fitting large neural networks in practice. We argue that neural network loss landscapes often contain (nearly) a single basin after accounting for all possible permutation symmetries of hidden units a la Entezari et al. 2021. We introduce three algorithms to permute the units of one model to bring them into alignment with a reference model in order to merge the two models in weight space. This transformation produces a functionally equivalent set of weights that lie in an approximately convex basin near the reference model. Experimentally, we demonstrate the single basin phenomenon across a variety of model architectures and datasets, including the first (to our knowledge) demonstration of zero-barrier linear mode connectivity between independently trained ResNet models on CIFAR-10. Additionally, we identify intriguing phenomena relating model width and training time to mode connectivity. Finally, we discuss shortcomings of the linear mode connectivity hypothesis, including a counterexample to the single basin theory.", + "DOI": "10.48550/arXiv.2209.04836", + "publisher": "arXiv", + "title": "Git Re-Basin: Merging Models modulo Permutation Symmetries", + "URL": "https://arxiv.org/abs/2209.04836", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "6", + "note": "Manuscript reference 50", + "container-title": "arXiv", + "number": "arXiv:2209.04836", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref51", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Li", + "given": "Tianyi" + }, + { + "family": "Shen", + "given": "Zhiqiang" + } + ], + "issued": { + "date-parts": [ + [ + 2026 + ] + ] + }, + "abstract": "Linear mode connectivity (LMC) provides a promising foundation for understanding and merging independently trained neural networks, but existing methods typically optimize the interpolation path from only one model endpoint, limiting their scalability and effectiveness for large pretrained transformers. We propose a novel and scalable framework for enabling LMC-based model merging to {\\em billion-parameter pretrained transformers}. Our method applies properly parameterized functionality-preserving weight transformations to align functionally equivalent solutions, and introduces a dual learning procedure in which both models jointly learn their corresponding transformations toward a shared linear interpolation path. This bidirectional optimization substantially reduces interpolation barriers and enables more reliable merging across large-scale architectures. Empirically, we show that our approach achieves near-zero loss barriers on WikiText for language models with medium-sized parameters, representing, to our knowledge, the first demonstration of near-barrier-free linear connectivity at this scale. In the vision domain, ViT-L maintains above 69\\% ImageNet top-1 accuracy throughout the interpolation path, while modern billion-parameter LLMs exhibit only small loss barriers. These results suggest that properly resolving parameter symmetries enables large pretrained Transformers to be connected and merged through simple linear paths with substantially improved interpolation performance. Code: https://github.com/VILA-Lab/Dual-Learned-Matching .", + "DOI": "10.48550/arXiv.2606.23607", + "publisher": "arXiv", + "title": "Scaling Linear Mode Connectivity and Merging to Billion Parameter Pretrained Transformers", + "URL": "https://arxiv.org/abs/2606.23607", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 51", + "container-title": "arXiv", + "number": "arXiv:2606.23607", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref52", + "categories": [ + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Sharma", + "given": "Ekansh" + }, + { + "family": "Roy", + "given": "Daniel M." + }, + { + "family": "Dziugaite", + "given": "Gintare Karolina" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Model merging aims to efficiently combine the weights of multiple expert models, each trained on a specific task, into a single multi-task model, with strong performance across all tasks. When applied to all but the last layer of weights, existing methods -- such as Task Arithmetic, TIES-merging, and TALL mask merging -- work well to combine expert models obtained by fine-tuning a common foundation model, operating within a \"local\" neighborhood of the foundation model. This work explores the more challenging scenario of \"non-local\" merging, which we find arises when an expert model changes significantly during pretraining or where the expert models do not even share a common foundation model. We observe that standard merging techniques often fail to generalize effectively in this non-local setting, even when accounting for permutation symmetries using standard techniques. We identify that this failure is, in part, due to \"variance collapse\", a phenomenon identified also in the setting of linear mode connectivity by Jordan et al. (2023). To address this, we propose a multi-task technique to re-scale and shift the output activations of the merged model for each task, aligning its output statistics with those of the corresponding task-specific expert models. Our experiments demonstrate that this correction significantly improves the performance of various model merging approaches in non-local settings, providing a strong baseline for future research on this problem.", + "DOI": "10.48550/arXiv.2410.12766", + "publisher": "arXiv", + "title": "The Non-Local Model Merging Problem: Permutation Symmetries and Variance Collapse", + "URL": "https://arxiv.org/abs/2410.12766", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "1", + "note": "Manuscript reference 52", + "container-title": "arXiv", + "number": "arXiv:2410.12766", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref53", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (stat.ML)", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Kozodoi", + "given": "Nikita" + }, + { + "family": "Afolabi", + "given": "Zainab" + }, + { + "family": "Butler", + "given": "Jack" + } + ], + "issued": { + "date-parts": [ + [ + 2026 + ] + ] + }, + "abstract": "Multi-task model merging combines separately trained expert models into a single model that handles all tasks without co-training. Standard practice merges experts at their optimal validation loss. We challenge this convention by systematically studying how training duration of domain experts affects the quality of the merged model. We fine-tune experts on five domains (Math, Code, Instruction Following, Multilingual, and Safety) across three model sizes (Qwen 3.5 0.8B, 2B, and 4B), saving checkpoints from 25% to 500% of the optimal training steps and evaluating five merging methods at each duration. Our findings reveal a striking method-dependent pattern: simple averaging degrades sharply with overfitting, while sparsification-based methods achieve their best performance well past the validation optimum. We formalize this through bias-variance decomposition analysis, drawing a parallel to random forests where averaging benefits from high-variance individual learners. These results suggest that training duration and merging method should be chosen jointly rather than independently.", + "DOI": "10.48550/arXiv.2607.11997", + "publisher": "arXiv", + "title": "Are we Merging the Right Models? Impact of Expert Training Duration on Model Merging for LLMs", + "URL": "https://arxiv.org/abs/2607.11997", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 53", + "container-title": "arXiv", + "number": "arXiv:2607.11997", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref54", + "categories": [ + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Zhou", + "given": "Luca" + }, + { + "family": "Zhao", + "given": "Bo" + }, + { + "family": "Yu", + "given": "Rose" + }, + { + "family": "Rodolà", + "given": "Emanuele" + } + ], + "issued": { + "date-parts": [ + [ + 2026 + ] + ] + }, + "abstract": "Model merging combines knowledge from separately fine-tuned models, yet the factors driving its success remain poorly understood. While recent work treats mergeability as an intrinsic property of the models, we show with an architecture-agnostic framework that it fundamentally depends on both the merging method and the partner tasks. Using L1-regularized linear optimization over a set of interpretable pairwise metrics (e.g., gradient L_2 distance), we uncover properties correlating with post-merge normalized accuracy across five merging methods. We find architecture- and method-specific variation in success drivers (64.0% average top-5 metric overlap; 79.3% sign agreement), with certain methods, notably TIES, exhibiting distinct ``fingerprints'' that diverge from the broader consensus. Crucially, however, gradient alignment metrics consistently emerge as the most fundamental signals of compatibility. These findings provide a diagnostic foundation for understanding mergeability and motivate future merge-aware fine-tuning strategies.", + "DOI": "10.48550/arXiv.2601.22285", + "publisher": "arXiv", + "title": "Demystifying Mergeability: Interpretable Properties to Predict Model Merging Success", + "URL": "https://arxiv.org/abs/2601.22285", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "9", + "note": "Manuscript reference 54", + "container-title": "arXiv", + "number": "arXiv:2601.22285", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref55", + "categories": [ + "Computation and Language (cs.CL)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Scialom", + "given": "Thomas" + }, + { + "family": "Chakrabarty", + "given": "Tuhin" + }, + { + "family": "Muresan", + "given": "Smaranda" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "Recent work on large language models relies on the intuition that most natural language processing tasks can be described via natural language instructions. Language models trained on these instructions show strong zero-shot performance on several standard datasets. However, these models even though impressive still perform poorly on a wide range of tasks outside of their respective training and evaluation sets. To address this limitation, we argue that a model should be able to keep extending its knowledge and abilities, without forgetting previous skills. In spite of the limited success of Continual Learning we show that Language Models can be continual learners. We empirically investigate the reason for this success and conclude that Continual Learning emerges from self-supervision pre-training. Our resulting model Continual-T0 (CT0) is able to learn diverse new tasks, while still maintaining good performance on previous tasks, spanning remarkably through 70 datasets in total. Finally, we show that CT0 is able to combine instructions in ways it was never trained for, demonstrating some compositionality.", + "DOI": "10.48550/arXiv.2205.12393", + "publisher": "arXiv", + "title": "Fine-tuned Language Models are Continual Learners", + "URL": "https://arxiv.org/abs/2205.12393", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "4", + "note": "Manuscript reference 55", + "container-title": "arXiv", + "number": "arXiv:2205.12393", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref56", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Computation and Language (cs.CL)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Ibrahim", + "given": "Adam" + }, + { + "family": "Thérien", + "given": "Benjamin" + }, + { + "family": "Gupta", + "given": "Kshitij" + }, + { + "family": "Richter", + "given": "Mats L." + }, + { + "family": "Anthony", + "given": "Quentin" + }, + { + "family": "Lesort", + "given": "Timothée" + }, + { + "family": "Belilovsky", + "given": "Eugene" + }, + { + "family": "Rish", + "given": "Irina" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Large language models (LLMs) are routinely pre-trained on billions of tokens, only to start the process over again once new data becomes available. A much more efficient solution is to continually pre-train these models, saving significant compute compared to re-training. However, the distribution shift induced by new data typically results in degraded performance on previous data or poor adaptation to the new data. In this work, we show that a simple and scalable combination of learning rate (LR) re-warming, LR re-decaying, and replay of previous data is sufficient to match the performance of fully re-training from scratch on all available data, as measured by the final loss and the average score on several language model (LM) evaluation benchmarks. Specifically, we show this for a weak but realistic distribution shift between two commonly used LLM pre-training datasets (English$\\rightarrow$English) and a stronger distribution shift (English$\\rightarrow$German) at the $405$M parameter model scale with large dataset sizes (hundreds of billions of tokens). Selecting the weak but realistic shift for larger-scale experiments, we also find that our continual learning strategies match the re-training baseline for a 10B parameter LLM. Our results demonstrate that LLMs can be successfully updated via simple and scalable continual learning strategies, matching the re-training baseline using only a fraction of the compute. Finally, inspired by previous work, we propose alternatives to the cosine learning rate schedule that help circumvent forgetting induced by LR re-warming and that are not bound to a fixed token budget.", + "DOI": "10.48550/arXiv.2403.08763", + "publisher": "arXiv", + "title": "Simple and Scalable Strategies to Continually Pre-train Large Language Models", + "URL": "https://arxiv.org/abs/2403.08763", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "4", + "note": "Manuscript reference 56", + "container-title": "arXiv", + "number": "arXiv:2403.08763", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 7 + ] + ], + "date-time": "2026-09-07T01:56:53Z", + "timestamp": 1788746213188, + "version": "build-2803163510" + }, + "reference-count": 0, + "publisher": "Informa UK Limited", + "issue": "2", + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "published-print": { + "date-parts": [ + [ + 1995, + 6 + ] + ] + }, + "DOI": "10.1080/09540099550039318", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2002, + 10, + 7 + ] + ], + "date-time": "2002-10-07T17:12:47Z", + "timestamp": 1034010767000 + }, + "page": "123-146", + "source": "Crossref", + "is-referenced-by-count": 584, + "title": "Catastrophic Forgetting, Rehearsal and Pseudorehearsal", + "prefix": "10.1080", + "volume": "7", + "author": [ + { + "given": "ANTHONY", + "family": "ROBINS", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "301", + "published-online": { + "date-parts": [ + [ + 2010, + 7, + 16 + ] + ] + }, + "container-title": "Connection Science", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://www.tandfonline.com/doi/pdf/10.1080/09540099550039318", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2019, + 3, + 8 + ] + ], + "date-time": "2019-03-08T06:39:13Z", + "timestamp": 1552027153000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.tandfonline.com/doi/full/10.1080/09540099550039318" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1995, + 6 + ] + ] + }, + "references-count": 0, + "journal-issue": { + "issue": "2", + "published-online": { + "date-parts": [ + [ + 2010, + 7, + 16 + ] + ] + }, + "published-print": { + "date-parts": [ + [ + 1995, + 6 + ] + ] + } + }, + "alternative-id": [ + "10.1080/09540099550039318" + ], + "URL": "http://dx.doi.org/10.1080/09540099550039318", + "relation": {}, + "ISSN": [ + "0954-0091", + "1360-0494" + ], + "subject": [], + "container-title-short": "Connection Science", + "published": { + "date-parts": [ + [ + 1995, + 6 + ] + ] + }, + "id": "ref57", + "note": "Manuscript reference 57" + }, + { + "type": "article", + "id": "ref58", + "categories": [ + "Artificial Intelligence (cs.AI)", + "Computer Vision and Pattern Recognition (cs.CV)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Shin", + "given": "Hanul" + }, + { + "family": "Lee", + "given": "Jung Kwon" + }, + { + "family": "Kim", + "given": "Jaehong" + }, + { + "family": "Kim", + "given": "Jiwon" + } + ], + "issued": { + "date-parts": [ + [ + 2017 + ] + ] + }, + "abstract": "Attempts to train a comprehensive artificial intelligence capable of solving multiple tasks have been impeded by a chronic problem called catastrophic forgetting. Although simply replaying all previous data alleviates the problem, it requires large memory and even worse, often infeasible in real world applications where the access to past data is limited. Inspired by the generative nature of hippocampus as a short-term memory system in primate brain, we propose the Deep Generative Replay, a novel framework with a cooperative dual model architecture consisting of a deep generative model (\"generator\") and a task solving model (\"solver\"). With only these two models, training data for previous tasks can easily be sampled and interleaved with those for a new task. We test our methods in several sequential learning settings involving image classification tasks.", + "DOI": "10.48550/arXiv.1705.08690", + "publisher": "arXiv", + "title": "Continual Learning with Deep Generative Replay", + "URL": "https://arxiv.org/abs/1705.08690", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "3", + "note": "Manuscript reference 58", + "container-title": "arXiv", + "number": "arXiv:1705.08690", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref59", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Machine Learning (stat.ML)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Feng", + "given": "Yunzhen" + }, + { + "family": "Dohmatob", + "given": "Elvis" + }, + { + "family": "Yang", + "given": "Pu" + }, + { + "family": "Charton", + "given": "Francois" + }, + { + "family": "Kempe", + "given": "Julia" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Large Language Models (LLM) are increasingly trained on data generated by other LLM, either because generated text and images become part of the pre-training corpus, or because synthetized data is used as a replacement for expensive human-annotation. This raises concerns about \\emph{model collapse}, a drop in model performance when their training sets include generated data. Considering that it is easier for both humans and machines to tell between good and bad examples than to generate high-quality samples, we investigate the use of verification on synthesized data to prevent model collapse. We provide a theoretical characterization using Gaussian mixtures, linear classifiers, and linear verifiers to derive conditions with measurable proxies to assess whether the verifier can effectively select synthesized data that leads to optimal performance. We experiment with two practical tasks -- computing matrix eigenvalues with transformers and news summarization with LLMs -- which both exhibit model collapse when trained on generated data, and show that verifiers, even imperfect ones, can indeed be harnessed to prevent model collapse and that our proposed proxy measure strongly correlates with performance.", + "DOI": "10.48550/arXiv.2406.07515", + "publisher": "arXiv", + "title": "Beyond Model Collapse: Scaling Up with Synthesized Data Requires Verification", + "URL": "https://arxiv.org/abs/2406.07515", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 59", + "container-title": "arXiv", + "number": "arXiv:2406.07515", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref60", + "categories": [ + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Rusu", + "given": "Andrei A." + }, + { + "family": "Rabinowitz", + "given": "Neil C." + }, + { + "family": "Desjardins", + "given": "Guillaume" + }, + { + "family": "Soyer", + "given": "Hubert" + }, + { + "family": "Kirkpatrick", + "given": "James" + }, + { + "family": "Kavukcuoglu", + "given": "Koray" + }, + { + "family": "Pascanu", + "given": "Razvan" + }, + { + "family": "Hadsell", + "given": "Raia" + } + ], + "issued": { + "date-parts": [ + [ + 2016 + ] + ] + }, + "abstract": "Learning to solve complex sequences of tasks--while both leveraging transfer and avoiding catastrophic forgetting--remains a key obstacle to achieving human-level intelligence. The progressive networks approach represents a step forward in this direction: they are immune to forgetting and can leverage prior knowledge via lateral connections to previously learned features. We evaluate this architecture extensively on a wide variety of reinforcement learning tasks (Atari and 3D maze games), and show that it outperforms common baselines based on pretraining and finetuning. Using a novel sensitivity measure, we demonstrate that transfer occurs at both low-level sensory and high-level control layers of the learned policy.", + "DOI": "10.48550/arXiv.1606.04671", + "publisher": "arXiv", + "title": "Progressive Neural Networks", + "URL": "https://arxiv.org/abs/1606.04671", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "4", + "note": "Manuscript reference 60", + "container-title": "arXiv", + "number": "arXiv:1606.04671", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref61", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Computation and Language (cs.CL)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Biderman", + "given": "Dan" + }, + { + "family": "Portes", + "given": "Jacob" + }, + { + "family": "Ortiz", + "given": "Jose Javier Gonzalez" + }, + { + "family": "Paul", + "given": "Mansheej" + }, + { + "family": "Greengard", + "given": "Philip" + }, + { + "family": "Jennings", + "given": "Connor" + }, + { + "family": "King", + "given": "Daniel" + }, + { + "family": "Havens", + "given": "Sam" + }, + { + "family": "Chiley", + "given": "Vitaliy" + }, + { + "family": "Frankle", + "given": "Jonathan" + }, + { + "family": "Blakeney", + "given": "Cody" + }, + { + "family": "Cunningham", + "given": "John P." + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Low-Rank Adaptation (LoRA) is a widely-used parameter-efficient finetuning method for large language models. LoRA saves memory by training only low rank perturbations to selected weight matrices. In this work, we compare the performance of LoRA and full finetuning on two target domains, programming and mathematics. We consider both the instruction finetuning (approximately 100K prompt-response pairs) and continued pretraining (20B unstructured tokens) data regimes. Our results show that, in the standard low-rank settings, LoRA substantially underperforms full finetuning. Nevertheless, LoRA better maintains the base model's performance on tasks outside the target domain. We show that LoRA mitigates forgetting more than common regularization techniques such as weight decay and dropout; it also helps maintain more diverse generations. Finally, we show that full finetuning learns perturbations with a rank that is 10-100X greater than typical LoRA configurations, possibly explaining some of the reported gaps. We conclude by proposing best practices for finetuning with LoRA.", + "DOI": "10.48550/arXiv.2405.09673", + "publisher": "arXiv", + "title": "LoRA Learns Less and Forgets Less", + "URL": "https://arxiv.org/abs/2405.09673", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 61", + "container-title": "arXiv", + "number": "arXiv:2405.09673", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 10 + ] + ], + "date-time": "2026-09-10T08:48:46Z", + "timestamp": 1789030126384, + "version": "build-2803163510" + }, + "reference-count": 0, + "publisher": "American Psychological Association (APA)", + "issue": "3", + "content-domain": { + "domain": [], + "crossmark-restriction": false + }, + "DOI": "10.1037/0033-295x.102.3.419", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2005, + 9, + 21 + ] + ], + "date-time": "2005-09-21T18:02:45Z", + "timestamp": 1127325765000 + }, + "page": "419-457", + "source": "Crossref", + "is-referenced-by-count": 4064, + "title": "Why there are complementary learning systems in the hippocampus and neocortex: Insights from the successes and failures of connectionist models of learning and memory.", + "prefix": "10.1037", + "volume": "102", + "author": [ + { + "given": "James L.", + "family": "McClelland", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Bruce L.", + "family": "McNaughton", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0003-0322-4600", + "authenticated-orcid": false, + "given": "Randall C.", + "family": "O'Reilly", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "15", + "published-online": { + "date-parts": [ + [ + 1995, + 7 + ] + ] + }, + "container-title": "Psychological Review", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "http://psycnet.apa.org/journals/rev/102/3/419.pdf", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2024, + 2, + 6 + ] + ], + "date-time": "2024-02-06T20:49:03Z", + "timestamp": 1707252543000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://doi.apa.org/doi/10.1037/0033-295X.102.3.419" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 1995, + 7 + ] + ] + }, + "references-count": 0, + "aliases": [ + "10.1037//0033-295x.102.3.419", + "10.1037//0033-295x.102.3.419" + ], + "journal-issue": { + "issue": "3", + "published-online": { + "date-parts": [ + [ + 1995, + 7 + ] + ] + } + }, + "alternative-id": [ + "1995-42327-001", + "7624455" + ], + "URL": "http://dx.doi.org/10.1037/0033-295x.102.3.419", + "relation": {}, + "ISSN": [ + "1939-1471", + "0033-295X" + ], + "subject": [], + "container-title-short": "Psychological Review", + "published": { + "date-parts": [ + [ + 1995, + 7 + ] + ] + }, + "id": "ref62", + "note": "Manuscript reference 62" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 7 + ] + ], + "date-time": "2026-09-07T23:50:04Z", + "timestamp": 1788825004435, + "version": "build-2803163510" + }, + "reference-count": 187, + "publisher": "Elsevier BV", + "issue": "7", + "license": [ + { + "start": { + "date-parts": [ + [ + 2016, + 7, + 1 + ] + ], + "date-time": "2016-07-01T00:00:00Z", + "timestamp": 1467331200000 + }, + "content-version": "tdm", + "delay-in-days": 0, + "URL": "https://www.elsevier.com/tdm/userlicense/1.0/" + } + ], + "content-domain": { + "domain": [ + "clinicalkey.jp", + "clinicalkey.com", + "cell.com", + "clinicalkey.es", + "clinicalkey.fr", + "clinicalkey.com.au", + "bmn.com", + "elsevier.com", + "sciencedirect.com" + ], + "crossmark-restriction": true + }, + "published-print": { + "date-parts": [ + [ + 2016, + 7 + ] + ] + }, + "DOI": "10.1016/j.tics.2016.05.004", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2016, + 6, + 14 + ] + ], + "date-time": "2016-06-14T16:07:35Z", + "timestamp": 1465920455000 + }, + "page": "512-534", + "update-policy": "https://doi.org/10.1016/elsevier_cm_policy", + "source": "Crossref", + "is-referenced-by-count": 573, + "title": "What Learning Systems do Intelligent Agents Need? Complementary Learning Systems Theory Updated", + "prefix": "10.1016", + "volume": "20", + "author": [ + { + "given": "Dharshan", + "family": "Kumaran", + "sequence": "first", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Demis", + "family": "Hassabis", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "James L.", + "family": "McClelland", + "sequence": "additional", + "affiliation": [], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "78", + "reference": [ + { + "key": "10.1016/j.tics.2016.05.004_bib0005", + "doi-asserted-by": "crossref", + "first-page": "419", + "DOI": "10.1037/0033-295X.102.3.419", + "article-title": "Why there are complementary learning systems in the hippocampus and neocortex: insights from the successes and failures of connectionist models of learning and memory", + "volume": "102", + "author": "McClelland", + "year": "1995", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0010", + "doi-asserted-by": "crossref", + "first-page": "220", + "DOI": "10.1016/j.tins.2010.01.006", + "article-title": "Play it again: reactivation of waking experience and memory", + "volume": "33", + "author": "O’Neill", + "year": "2010", + "journal-title": "Trends Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0015", + "doi-asserted-by": "crossref", + "first-page": "8", + "DOI": "10.1016/j.conb.2014.10.002", + "article-title": "Decoding the cognitive map: ensemble hippocampal sequences and decision making", + "volume": "32", + "author": "Wikenheiser", + "year": "2015", + "journal-title": "Curr. Opin. Neurobiol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0020", + "doi-asserted-by": "crossref", + "first-page": "1", + "DOI": "10.3389/fnhum.2012.00070", + "article-title": "The hippocampus and inferential reasoning: building memories to navigate future decisions", + "volume": "6", + "author": "Zeithamova", + "year": "2012", + "journal-title": "Front. Hum. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0025", + "doi-asserted-by": "crossref", + "first-page": "573", + "DOI": "10.1037/a0028681", + "article-title": "Generalization through the recurrent interaction of episodic memories: A model of the hippocampal system", + "volume": "119", + "author": "Kumaran", + "year": "2012", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0030", + "doi-asserted-by": "crossref", + "first-page": "109", + "DOI": "10.1016/j.neuron.2004.08.028", + "article-title": "Hippocampus: cognitive processes and neural representations that underlie declarative memory", + "volume": "44", + "author": "Eichenbaum", + "year": "2004", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0035", + "doi-asserted-by": "crossref", + "first-page": "76", + "DOI": "10.1126/science.1135935", + "article-title": "Schemas and memory consolidation", + "volume": "316", + "author": "Tse", + "year": "2007", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0040", + "doi-asserted-by": "crossref", + "first-page": "891", + "DOI": "10.1126/science.1205274", + "article-title": "Schema-dependent gene activation and memory encoding in neocortex", + "volume": "333", + "author": "Tse", + "year": "2011", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0045", + "doi-asserted-by": "crossref", + "first-page": "23", + "DOI": "10.1098/rstb.1971.0078", + "article-title": "Simple memory: a theory for archicortex", + "volume": "262", + "author": "Marr", + "year": "1971", + "journal-title": "Philos. Trans. R. Soc. L. B Biol. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0050", + "doi-asserted-by": "crossref", + "first-page": "533", + "DOI": "10.1038/323533a0", + "article-title": "Learning representations by back-propagating errors", + "volume": "323", + "author": "Rumelhart", + "year": "1986", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0055", + "first-page": "145", + "article-title": "Parallel networks that learn to pronounce English text", + "volume": "1", + "author": "Sejnowski", + "year": "1987", + "journal-title": "Complex Syst." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0060", + "doi-asserted-by": "crossref", + "first-page": "487", + "DOI": "10.1016/j.jphysparis.2005.09.004", + "article-title": "Temporal codes and sparse representations: a key to understanding rapid processing in the visual system", + "volume": "98", + "author": "Guyonneau", + "year": "2004", + "journal-title": "J. Physiol. Paris" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0065", + "doi-asserted-by": "crossref", + "first-page": "56", + "DOI": "10.1037/0033-295X.103.1.56", + "article-title": "Understanding normal and impaired word reading: computational principles in quasi-regular domains", + "volume": "103", + "author": "Plaut", + "year": "1996", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0070", + "series-title": "Semantic Cognition: A Parallel Distributed Processing Approach", + "author": "Rogers", + "year": "2004" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0075", + "series-title": "An Introduction to Electronic and Neural Networks", + "first-page": "405", + "article-title": "Brain style computation: learning and generalization", + "author": "Rumelhart", + "year": "1990" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0080", + "doi-asserted-by": "crossref", + "first-page": "436", + "DOI": "10.1038/nature14539", + "article-title": "Deep learning", + "volume": "521", + "author": "LeCun", + "year": "2015", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0085", + "doi-asserted-by": "crossref", + "first-page": "8619", + "DOI": "10.1073/pnas.1403112111", + "article-title": "Performance-optimized hierarchical models predict neural responses in higher visual cortex", + "volume": "111", + "author": "Yamins", + "year": "2014", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0090", + "doi-asserted-by": "crossref", + "first-page": "356", + "DOI": "10.1038/nn.4244", + "article-title": "Using goal-driven deep learning models to understand sensory cortex", + "volume": "19", + "author": "Yamins", + "year": "2016", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0095", + "series-title": "Proceedings of the 35th Annual Conference of the Cognitive Science Society", + "first-page": "1271", + "article-title": "Learning hierarchical categories in deep neural networks", + "author": "Saxe", + "year": "2015" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0100", + "series-title": "Exact solutions to the nonlinear dynamics of learning in deep linear neural networks", + "author": "Saxe", + "year": "2014" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0105", + "series-title": "The Psychology of Learning and Motivation (Vol. 20)", + "doi-asserted-by": "crossref", + "first-page": "109", + "DOI": "10.1016/S0079-7421(08)60536-8", + "article-title": "Catastrophic forgetting in connectionist networks: the problem of sequential learning", + "author": "McCloskey", + "year": "1989" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0110", + "doi-asserted-by": "crossref", + "first-page": "285", + "DOI": "10.1037/0033-295X.97.2.285", + "article-title": "Connectionist models of recognition memory: constraints imposed by learning and forgetting functions", + "volume": "97", + "author": "Ratcliff", + "year": "1990", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0115", + "doi-asserted-by": "crossref", + "first-page": "128", + "DOI": "10.1016/S1364-6613(99)01294-2", + "article-title": "Catastrophic forgetting in connectionist networks", + "volume": "3", + "author": "French", + "year": "1999", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0120", + "doi-asserted-by": "crossref", + "first-page": "54", + "DOI": "10.1016/S0734-189X(87)80014-2", + "article-title": "A massively parallel architecture for a self-organizing neural pattern recognition architecture", + "volume": "37", + "author": "Carpenter", + "year": "1987", + "journal-title": "Comput. Vision, Graph. Image Process." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0125", + "doi-asserted-by": "crossref", + "first-page": "408", + "DOI": "10.1016/0166-2236(87)90011-7", + "article-title": "Hippocampal synaptic enhancement and information storage within a distributed memory system", + "volume": "10", + "author": "McNaughton", + "year": "1987", + "journal-title": "Trends Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0130", + "doi-asserted-by": "crossref", + "first-page": "189", + "DOI": "10.1002/hipo.450020209", + "article-title": "Computational constraints suggest the need for two distinct input systems to the hippocampal CA3 network", + "volume": "2", + "author": "Treves", + "year": "1992", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0135", + "doi-asserted-by": "crossref", + "first-page": "661", + "DOI": "10.1002/hipo.450040605", + "article-title": "Hippocampal conjunctive encoding, storage, and recall: avoiding a trade-off", + "volume": "4", + "author": "O’Reilly", + "year": "1994", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0140", + "doi-asserted-by": "crossref", + "first-page": "755", + "DOI": "10.1002/hipo.20203", + "article-title": "Hippocampal place cells: parallel input streams, subregional processing, and implications for episodic memory", + "volume": "16", + "author": "Knierim", + "year": "2006", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0145", + "series-title": "Memory, Amnesia and the Hippocampal System", + "author": "Cohen", + "year": "1994" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0150", + "doi-asserted-by": "crossref", + "first-page": "311", + "DOI": "10.1037/0033-295X.108.2.311", + "article-title": "Conjunctive representations in learning and memory: principles of cortical and hippocampal function", + "volume": "108", + "author": "O’Reilly", + "year": "2001", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0155", + "doi-asserted-by": "crossref", + "first-page": "611", + "DOI": "10.1037/0033-295X.110.4.611", + "article-title": "Modeling hippocampal and neocortical contributions to recognition memory: a complementary-learning-systems approach", + "volume": "110", + "author": "Norman", + "year": "2003", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0160", + "doi-asserted-by": "crossref", + "first-page": "126", + "DOI": "10.1016/j.tics.2006.12.003", + "article-title": "Associative memory and the medial temporal lobes", + "volume": "11", + "author": "Mayes", + "year": "2007", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0165", + "doi-asserted-by": "crossref", + "first-page": "693", + "DOI": "10.1016/j.conb.2006.10.012", + "article-title": "Item, context and relational episodic encoding in humans", + "volume": "16", + "author": "Davachi", + "year": "2006", + "journal-title": "Curr. Opin. Neurobiol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0170", + "doi-asserted-by": "crossref", + "first-page": "279", + "DOI": "10.1146/annurev.neuro.27.070203.144130", + "article-title": "The medial temporal lobe", + "volume": "27", + "author": "Squire", + "year": "2004", + "journal-title": "Annu. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0175", + "doi-asserted-by": "crossref", + "first-page": "13904", + "DOI": "10.1523/JNEUROSCI.2618-15.2015", + "article-title": "Memory and space: towards an inderstanding of the cognitive map", + "volume": "35", + "author": "Schiller", + "year": "2015", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0180", + "doi-asserted-by": "crossref", + "first-page": "1229", + "DOI": "10.1111/j.1551-6709.2011.01214.x", + "article-title": "Complementary learning systems", + "volume": "38", + "author": "O’Reilly", + "year": "2014", + "journal-title": "Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0185", + "doi-asserted-by": "crossref", + "first-page": "38", + "DOI": "10.1016/j.nlm.2015.10.008", + "article-title": "Tracking the flow of hippocampal computation: pattern separation, pattern completion, and attractor dynamics", + "volume": "129", + "author": "Knierim", + "year": "2016", + "journal-title": "Neurobiol. Learn. Mem." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0190", + "doi-asserted-by": "crossref", + "first-page": "60", + "DOI": "10.1016/j.nlm.2015.10.013", + "article-title": "Paradox of pattern separation and adult neurogenesis: a dual role for new neurons balancing memory resolution and robustness", + "volume": "129", + "author": "Johnston", + "year": "2016", + "journal-title": "Neurobiol. Learn. Mem." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0195", + "doi-asserted-by": "crossref", + "first-page": "1798", + "DOI": "10.1109/TPAMI.2013.50", + "article-title": "Representation learning: a review and new perspectives", + "volume": "35", + "author": "Bengio", + "year": "2013", + "journal-title": "IEEE Trans. Pattern Anal. Mach. Intell." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0200", + "doi-asserted-by": "crossref", + "first-page": "e1003915", + "DOI": "10.1371/journal.pcbi.1003915", + "article-title": "Deep supervised, but not unsupervised, models may explain IT cortical representation", + "volume": "10", + "author": "Khaligh-Razavi", + "year": "2014", + "journal-title": "PLoS Comput. Biol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0205", + "doi-asserted-by": "crossref", + "first-page": "1126", + "DOI": "10.1016/j.neuron.2008.10.043", + "article-title": "Matching categorical object representations in inferior temporal cortex of man and monkey", + "volume": "60", + "author": "Kriegeskorte", + "year": "2008", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0210", + "doi-asserted-by": "crossref", + "first-page": "4766", + "DOI": "10.1523/JNEUROSCI.2828-13.2014", + "article-title": "Object-specific semantic coding in human perirhinal cortex", + "volume": "34", + "author": "Clarke", + "year": "2014", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0215", + "doi-asserted-by": "crossref", + "first-page": "4296", + "DOI": "10.1152/jn.00024.2007", + "article-title": "Object category structure in response patterns of neuronal population in monkey inferior temporal cortex", + "volume": "97", + "author": "Kiani", + "year": "2007", + "journal-title": "J. Neurophysiol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0220", + "doi-asserted-by": "crossref", + "first-page": "205", + "DOI": "10.1016/j.artint.2009.11.013", + "article-title": "Cortical hierarchies, sleep, and the extraction of knowledge from memory", + "volume": "174", + "author": "McNaughton", + "year": "2010", + "journal-title": "Artficial Intell." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0225", + "doi-asserted-by": "crossref", + "first-page": "67", + "DOI": "10.1093/cercor/bhm037", + "article-title": "Sparseness constrains the prolongation of memory lifetime via synaptic metaplasticity", + "volume": "18", + "author": "Leibold", + "year": "2008", + "journal-title": "Cereb. Cortex" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0230", + "doi-asserted-by": "crossref", + "first-page": "149", + "DOI": "10.1007/PL00005615", + "article-title": "The representational capacity of the distributed encoding of information provided by populations of neurons in primate temporal visual cortex", + "volume": "114", + "author": "Rolls", + "year": "1997", + "journal-title": "Exp. Brain Res." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0235", + "doi-asserted-by": "crossref", + "first-page": "287", + "DOI": "10.1016/S0079-6123(08)61257-1", + "article-title": "Comparison of spatial and temporal characteristics of neuronal activity in sequential stages of hippocampal processing", + "volume": "83", + "author": "Barnes", + "year": "1990", + "journal-title": "Prog. Brain Res." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0240", + "article-title": "Representation of memories in the cortical–hippocampal system: results from the application of population similarity analyses", + "author": "McKenzie", + "year": "2015", + "journal-title": "Neurobiol. Learn. Mem." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0245", + "doi-asserted-by": "crossref", + "first-page": "485", + "DOI": "10.1016/S0010-9452(78)80024-0", + "article-title": "A cognitive approach to Korsakoff's syndrome", + "volume": "14", + "author": "Cutting", + "year": "1978", + "journal-title": "Cortex" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0250", + "series-title": "The Memory Process: Neuroscientific and Humanist Perspectives", + "first-page": "99", + "article-title": "Memory as a constructive process: the parallel-distributed processing apporach", + "author": "McClelland", + "year": "2011" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0255", + "doi-asserted-by": "crossref", + "first-page": "119", + "DOI": "10.1038/nrn1607", + "article-title": "The organization of recent and remote memories", + "volume": "6", + "author": "Frankland", + "year": "2005", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0260", + "doi-asserted-by": "crossref", + "first-page": "2339", + "DOI": "10.1016/j.neuropsychologia.2010.04.016", + "article-title": "Memory formation and long-term retention in humans and animals: convergence towards a transformation account of hippocampal–neocortical interactions", + "volume": "48", + "author": "Winocur", + "year": "2010", + "journal-title": "Neuropsychologia" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0265", + "series-title": "Memory Consolidation: Psychobiology of Cognition", + "first-page": "185", + "article-title": "The medial temporal region and memory consolidation: a new hypothesis", + "author": "Squire", + "year": "1984" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0270", + "doi-asserted-by": "crossref", + "first-page": "259", + "DOI": "10.1080/095400996116910", + "article-title": "Consolidation in neural networks and in the sleeping brain", + "volume": "8", + "author": "Robins", + "year": "1996", + "journal-title": "Conn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0275", + "doi-asserted-by": "crossref", + "first-page": "12", + "DOI": "10.1016/j.neuron.2013.12.025", + "article-title": "Sleep and the price of plasticity: from synaptic and cellular homeostasis to memory consolidation and integration", + "volume": "81", + "author": "Tononi", + "year": "2014", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0280", + "doi-asserted-by": "crossref", + "first-page": "1212", + "DOI": "10.1016/j.neunet.2005.08.010", + "article-title": "Methods for reducing interference in the complementary learning systems model: oscillating inhibition and autonomous memory rehearsal", + "volume": "18", + "author": "Norman", + "year": "2005", + "journal-title": "Neural Netw." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0285", + "doi-asserted-by": "crossref", + "first-page": "1870", + "DOI": "10.1126/science.271.5257.1870", + "article-title": "Replay of neuronal firing sequences in rat hippocampus during sleep following spatial experience", + "volume": "271", + "author": "Skaggs", + "year": "1996", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0290", + "doi-asserted-by": "crossref", + "first-page": "676", + "DOI": "10.1126/science.8036517", + "article-title": "Reactivation of hippocampal ensemble memories during sleep", + "volume": "265", + "author": "Wilson", + "year": "1994", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0295", + "doi-asserted-by": "crossref", + "first-page": "147", + "DOI": "10.1038/nn.2732", + "article-title": "Hippocampal replay in the awake state: a potential substrate for memory consolidation and retrieval", + "volume": "14", + "author": "Carr", + "year": "2011", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0300", + "doi-asserted-by": "crossref", + "first-page": "551", + "DOI": "10.1016/0306-4522(89)90423-5", + "article-title": "Two-stage model of memory trace formation: a role for ‘noisy’ brain states", + "volume": "31", + "author": "Buzsaki", + "year": "1989", + "journal-title": "Neuroscience" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0305", + "doi-asserted-by": "crossref", + "first-page": "286", + "DOI": "10.1038/nn1202", + "article-title": "Off-line replay maintains declarative memories in a model of hippocampal-neocortical interactions", + "volume": "7", + "author": "Kali", + "year": "2004", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0310", + "doi-asserted-by": "crossref", + "first-page": "2065", + "DOI": "10.1073/pnas.0437938100", + "article-title": "Communication between neocortex and hippocampus during sleep in rodents", + "volume": "100", + "author": "Sirota", + "year": "2003", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0315", + "doi-asserted-by": "crossref", + "first-page": "697", + "DOI": "10.1101/lm.73504", + "article-title": "Hippocampal sharp wave bursts coincide with neocortical ‘up-state’ transitions", + "volume": "11", + "author": "Battaglia", + "year": "2004", + "journal-title": "Learn. Mem." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0320", + "doi-asserted-by": "crossref", + "DOI": "10.1038/nn.4291", + "article-title": "Coordinated grid and place cell replay during rest", + "author": "Ólafsdóttir", + "year": "2016", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0325", + "doi-asserted-by": "crossref", + "first-page": "100", + "DOI": "10.1038/nn1825", + "article-title": "Coordinated memory replay in the visual cortex and hippocampus during sleep", + "volume": "10", + "author": "Ji", + "year": "2007", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0330", + "doi-asserted-by": "crossref", + "first-page": "e1000173", + "DOI": "10.1371/journal.pbio.1000173", + "article-title": "Hippocampus leads ventral striatum in replay of place–reward information", + "volume": "7", + "author": "Lansink", + "year": "2009", + "journal-title": "PLoS Biol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0335", + "doi-asserted-by": "crossref", + "first-page": "1", + "DOI": "10.1002/hipo.20707", + "article-title": "Disruption of ripple-associated hippocampal activity during rest impairs spatial learning in the rat", + "volume": "20", + "author": "Ego-Stengel", + "year": "2010", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0340", + "doi-asserted-by": "crossref", + "first-page": "1222", + "DOI": "10.1038/nn.2384", + "article-title": "Selective suppression of hippocampal ripples impairs spatial memory", + "volume": "12", + "author": "Girardeau", + "year": "2009", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0345", + "doi-asserted-by": "crossref", + "first-page": "781", + "DOI": "10.1016/j.neuron.2009.05.013", + "article-title": "Hippocampal CA3 output is crucial for ripple-associated reactivation and consolidation of memory", + "volume": "62", + "author": "Nakashiba", + "year": "2009", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0350", + "doi-asserted-by": "crossref", + "first-page": "12176", + "DOI": "10.1523/JNEUROSCI.3761-07.2007", + "article-title": "Neural ensembles in CA3 transiently encode paths forward of the animal at a decision point", + "volume": "27", + "author": "Johnson", + "year": "2007", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0355", + "doi-asserted-by": "crossref", + "first-page": "289", + "DOI": "10.1038/nn.3909", + "article-title": "Hippocampal theta sequences reflect current goals", + "volume": "18", + "author": "Wikenheiser", + "year": "2015", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0360", + "doi-asserted-by": "crossref", + "first-page": "6459", + "DOI": "10.1523/JNEUROSCI.3414-13.2014", + "article-title": "Hippocampal replay captures the unique topological structure of a novel environment", + "volume": "34", + "author": "Wu", + "year": "2014", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0365", + "doi-asserted-by": "crossref", + "first-page": "695", + "DOI": "10.1016/j.neuron.2010.01.034", + "article-title": "Hippocampal replay is not a simple function of experience", + "volume": "65", + "author": "Gupta", + "year": "2010", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0370", + "doi-asserted-by": "crossref", + "first-page": "74", + "DOI": "10.1038/nature12112", + "article-title": "Hippocampal place-cell sequences depict future paths to remembered goals", + "volume": "497", + "author": "Pfeiffer", + "year": "2013", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0375", + "doi-asserted-by": "crossref", + "first-page": "e06063", + "DOI": "10.7554/eLife.06063", + "article-title": "Hippocampal place cells construct reward related sequences through unexplored space", + "volume": "4", + "author": "Ólafsdóttir", + "year": "2015", + "journal-title": "Elife" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0380", + "doi-asserted-by": "crossref", + "first-page": "1439", + "DOI": "10.1038/nn.3203", + "article-title": "Biasing the content of hippocampal replay during sleep", + "volume": "15", + "author": "Bendor", + "year": "2012", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0385", + "doi-asserted-by": "crossref", + "first-page": "773", + "DOI": "10.1098/rstb.2007.2087", + "article-title": "The cognitive neuroscience of constructive memory: remembering the past and imagining the future", + "volume": "362", + "author": "Schacter", + "year": "2007", + "journal-title": "Philos. Trans. R. Soc. B Biol. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0390", + "doi-asserted-by": "crossref", + "first-page": "299", + "DOI": "10.1016/j.tics.2007.05.001", + "article-title": "Deconstructing episodic memory with construction", + "volume": "11", + "author": "Hassabis", + "year": "2007", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0395", + "doi-asserted-by": "crossref", + "first-page": "1726", + "DOI": "10.1073/pnas.0610561104", + "article-title": "Patients with hippocampal amnesia cannot imagine new experiences", + "volume": "104", + "author": "Hassabis", + "year": "2007", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0400", + "article-title": "Hippocampal contributions to control: the third way", + "author": "Lengyel", + "year": "2007", + "journal-title": "Neural Inf. Process. Syst." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0405", + "doi-asserted-by": "crossref", + "first-page": "703", + "DOI": "10.1037/0033-295X.96.4.703", + "article-title": "Human memory: an adaptive perspective", + "volume": "96", + "author": "Anderson", + "year": "1989", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0410", + "doi-asserted-by": "crossref", + "first-page": "703", + "DOI": "10.1016/j.neuron.2005.05.002", + "article-title": "The hippocampal–VTA loop: controlling the entry of information into long-term memory", + "volume": "46", + "author": "Lisman", + "year": "2005", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0415", + "doi-asserted-by": "crossref", + "first-page": "536", + "DOI": "10.1016/j.tins.2011.07.006", + "article-title": "A neoHebbian framework for episodic memory; role of dopamine-dependent late LTP", + "volume": "34", + "author": "Lisman", + "year": "2011", + "journal-title": "Trends Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0420", + "doi-asserted-by": "crossref", + "first-page": "272", + "DOI": "10.1038/nrn2614", + "article-title": "The anatomy of memory: an interactive overview of the parahippocampal-hippocampal network", + "volume": "10", + "author": "van Strien", + "year": "2009", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0425", + "doi-asserted-by": "crossref", + "first-page": "351", + "DOI": "10.1016/S1364-6613(99)01365-0", + "article-title": "Neuromodulation: acetylcholine and memory consolidation", + "volume": "3", + "author": "Hasselmo", + "year": "1999", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0430", + "doi-asserted-by": "crossref", + "first-page": "1658", + "DOI": "10.1038/nn.3843", + "article-title": "Dopaminergic neurons promote hippocampal reactivation and spatial memory persistence", + "volume": "17", + "author": "McNamara", + "year": "2014", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0435", + "doi-asserted-by": "crossref", + "first-page": "211", + "DOI": "10.1038/nrn2573", + "article-title": "The locus coeruleus and noradrenergic modulation of cognition", + "volume": "10", + "author": "Sara", + "year": "2009", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0440", + "doi-asserted-by": "crossref", + "first-page": "1", + "DOI": "10.1146/annurev.neuro.27.070203.144157", + "article-title": "The amybdala modulates the consolidation of memories of emotionally arousing experiences", + "volume": "27", + "author": "McGaugh", + "year": "2004", + "journal-title": "Annu. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0445", + "doi-asserted-by": "crossref", + "first-page": "17", + "DOI": "10.1038/nrn2963", + "article-title": "Making memories last: the synaptic tagging and capture hypothesis", + "volume": "12", + "author": "Redondo", + "year": "2011", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0450", + "doi-asserted-by": "crossref", + "first-page": "157", + "DOI": "10.3389/fnhum.2012.00157", + "article-title": "What representations and computations underpin the contribution of the hippocampus to generalization and inference?", + "volume": "6", + "author": "Kumaran", + "year": "2012", + "journal-title": "Front. Hum. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0455", + "doi-asserted-by": "crossref", + "first-page": "255", + "DOI": "10.1038/379255a0", + "article-title": "Conservation of hippocampal memory function in rats and humans", + "volume": "379", + "author": "Bunsey", + "year": "1996", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0460", + "doi-asserted-by": "crossref", + "first-page": "14676", + "DOI": "10.1523/JNEUROSCI.3250-10.2010", + "article-title": "Flexible memories: differential roles for medial temporal lobe and prefrontal cortex in cross-episode binding", + "volume": "30", + "author": "Zeithamova", + "year": "2010", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0465", + "doi-asserted-by": "crossref", + "first-page": "148", + "DOI": "10.1002/hipo.20009", + "article-title": "Hippocampal contribution to the novel use of relational information in declarative memory", + "volume": "14", + "author": "Preston", + "year": "2004", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0470", + "doi-asserted-by": "crossref", + "first-page": "7109", + "DOI": "10.1073/pnas.94.13.7109", + "article-title": "The hippocampus and memory for orderly stimulus relations", + "volume": "94", + "author": "Dusek", + "year": "1997", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0475", + "doi-asserted-by": "crossref", + "first-page": "378", + "DOI": "10.1016/j.neuron.2008.09.023", + "article-title": "Integrating memories in the human brain: hippocampal-midbrain encoding of overlapping events", + "volume": "60", + "author": "Shohamy", + "year": "2008", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0480", + "doi-asserted-by": "crossref", + "first-page": "168", + "DOI": "10.1016/j.neuron.2012.05.010", + "article-title": "Hippocampal and ventral medial prefrontal activation during retrieval-mediated learning supports novel inference", + "volume": "75", + "author": "Zeithamova", + "year": "2012", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0485", + "doi-asserted-by": "crossref", + "first-page": "821", + "DOI": "10.1016/j.cub.2015.01.033", + "article-title": "Insight reconfigures hippocampal-prefrontal memories", + "volume": "25", + "author": "Milivojevic", + "year": "2015", + "journal-title": "Curr. Biol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0490", + "doi-asserted-by": "crossref", + "first-page": "8151", + "DOI": "10.1038/ncomms9151", + "article-title": "Learning-related representational changes reveal dissociable integration and separation signatures in the hippocampus and prefrontal cortex", + "volume": "6", + "author": "Schlichting", + "year": "2015", + "journal-title": "Nat. Commun." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0495", + "doi-asserted-by": "crossref", + "first-page": "209", + "DOI": "10.1016/S0896-6273(00)80773-4", + "article-title": "The hippocampus, memory, and place cells: is it spatial memory or a memory space?", + "volume": "23", + "author": "Eichenbaum", + "year": "1999", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0500", + "doi-asserted-by": "crossref", + "first-page": "75", + "DOI": "10.1037/0033-295X.112.1.75", + "article-title": "The temporal context model in spatial navigation and relational learning: toward a common explanation of medial temporal lobe function across domains", + "volume": "112", + "author": "Howard", + "year": "2005", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0505", + "doi-asserted-by": "crossref", + "first-page": "1026", + "DOI": "10.1002/hipo.20022", + "article-title": "Two reentrant pathways in the hippocampal–entorhinal system", + "volume": "14", + "author": "Kloosterman", + "year": "2004", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0510", + "doi-asserted-by": "crossref", + "first-page": "764", + "DOI": "10.1016/j.neuron.2014.07.032", + "article-title": "Can we reconcile the declarative memory and spatial navigation views on hippocampal function?", + "volume": "83", + "author": "Eichenbaum", + "year": "2014", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0515", + "series-title": "The Hippocampus", + "first-page": "715", + "article-title": "Computational models of the spatial and mnemonic functions of the hippocampus", + "author": "Burgess", + "year": "2006" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0520", + "doi-asserted-by": "crossref", + "first-page": "20140383", + "DOI": "10.1098/rstb.2014.0383", + "article-title": "Memory, modelling and Marr: a commentary on Marr (1971) ‘Simple memory: a theory of archicortex’", + "volume": "370", + "author": "Willshaw", + "year": "2015", + "journal-title": "Philos. Trans. R. Soc. B Biol. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0525", + "doi-asserted-by": "crossref", + "first-page": "1736", + "DOI": "10.1162/jocn_a_00578", + "article-title": "The necessity of the medial temporal lobe for statistical learning", + "volume": "26", + "author": "Schapiro", + "year": "2014", + "journal-title": "J. Cogn. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0530", + "doi-asserted-by": "crossref", + "first-page": "1747", + "DOI": "10.1126/science.8259522", + "article-title": "The learning of categories: parallel brain systems for item memory and category knowledge", + "volume": "262", + "author": "Knowlton", + "year": "1993", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0535", + "doi-asserted-by": "crossref", + "first-page": "1159", + "DOI": "10.1037/a0034461", + "article-title": "Mechanisms for widespread hippocampal involvement in cognition", + "volume": "142", + "author": "Shohamy", + "year": "2013", + "journal-title": "J. Exp. Psychol. Gen." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0540", + "doi-asserted-by": "crossref", + "first-page": "104", + "DOI": "10.1037/0278-7393.10.1.104", + "article-title": "Choice, similarity, and the context theory of classification", + "volume": "10", + "author": "Nosofsky", + "year": "1984", + "journal-title": "J. Exp. Psychol. Learn. Mem. Cogn." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0545", + "doi-asserted-by": "crossref", + "first-page": "1", + "DOI": "10.1016/j.cogpsych.2015.03.003", + "article-title": "From specific examples to general knowledge in language learning", + "volume": "79", + "author": "Tamminen", + "year": "2015", + "journal-title": "Cogn. Psychol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0550", + "doi-asserted-by": "crossref", + "first-page": "218", + "DOI": "10.1038/nrn2762-c1", + "article-title": "Overnight alchemy: sleep-dependent memory evolution", + "volume": "11", + "author": "Walker", + "year": "2010", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0555", + "doi-asserted-by": "crossref", + "first-page": "613", + "DOI": "10.1038/17605", + "article-title": "The global record of memory in hippocampal neuronal activity", + "volume": "397", + "author": "Wood", + "year": "1999", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0560", + "doi-asserted-by": "crossref", + "first-page": "732", + "DOI": "10.1038/nrn3827", + "article-title": "Time cells in the hippocampus: a new dimension for mapping memories", + "volume": "15", + "author": "Eichenbaum", + "year": "2014", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0565", + "doi-asserted-by": "crossref", + "first-page": "202", + "DOI": "10.1016/j.neuron.2014.05.019", + "article-title": "Hippocampal representation of related and opposing memories develop within distinct, hierarchically organized neural schemas", + "volume": "83", + "author": "McKenzie", + "year": "2014", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0570", + "doi-asserted-by": "crossref", + "first-page": "1102", + "DOI": "10.1038/nature03687", + "article-title": "Invariant visual representation by single neurons in the human brain", + "volume": "435", + "author": "Quiroga", + "year": "2005", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0575", + "doi-asserted-by": "crossref", + "first-page": "1190", + "DOI": "10.1037/a0033812", + "article-title": "Incorporating rapid neocortical learning of new schema-consistent information into complementary learning systems theory", + "volume": "142", + "author": "McClelland", + "year": "2013", + "journal-title": "J. Exp. Psychol. Gen." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0580", + "doi-asserted-by": "crossref", + "first-page": "654", + "DOI": "10.1002/(SICI)1098-1063(1996)6:6<654::AID-HIPO8>3.0.CO;2-G", + "article-title": "Considerations arising from a complementary learning systems perspective on hippocampus and neocortex", + "volume": "6", + "author": "McClelland", + "year": "1996", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0585", + "series-title": "Explorations in the Microstructure of Cognition. Vol. 1: Foundations", + "first-page": "77", + "article-title": "Distributed representations", + "author": "Hinton", + "year": "1986" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0590", + "first-page": "1106", + "article-title": "Imagenet classification with deep convolutional neural networks", + "volume": "25", + "author": "Krizhevsky", + "year": "2012", + "journal-title": "Adv. Neural Inf. Process. Syst." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0595", + "doi-asserted-by": "crossref", + "first-page": "529", + "DOI": "10.1038/nature14236", + "article-title": "Human-level control through deep reinforcement learning", + "volume": "518", + "author": "Mnih", + "year": "2015", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0600", + "doi-asserted-by": "crossref", + "first-page": "18428", + "DOI": "10.1073/pnas.1421056111", + "article-title": "Place cells in the hippocampus: eleven maps for eleven rooms", + "volume": "111", + "author": "Alme", + "year": "2014", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0605", + "doi-asserted-by": "crossref", + "first-page": "5900", + "DOI": "10.1523/JNEUROSCI.17-15-05900.1997", + "article-title": "Path integration and cognitive mapping in a continuous attractor neural network model", + "volume": "17", + "author": "Samsonovich", + "year": "1997", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0610", + "doi-asserted-by": "crossref", + "first-page": "130", + "DOI": "10.1038/nn.3304", + "article-title": "Memory, navigation and theta rhythm in the hippocampal–entorhinal system", + "volume": "16", + "author": "Buzsaki", + "year": "2013", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0615", + "doi-asserted-by": "crossref", + "first-page": "e1003641", + "DOI": "10.1371/journal.pcbi.1003641", + "article-title": "A signature of attractor dynamics in the CA3 region of the hippocampus", + "volume": "10", + "author": "Renno-Costa", + "year": "2014", + "journal-title": "PLoS Comput. Biol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0620", + "doi-asserted-by": "crossref", + "first-page": "873", + "DOI": "10.1126/science.1108905", + "article-title": "Attractor dynamics in the hippocampal representation of the local environment", + "volume": "308", + "author": "Wills", + "year": "2005", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0625", + "series-title": "Neural Turning machines", + "author": "Graves", + "year": "2014" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0630", + "first-page": "2431", + "article-title": "End-to-end memory networks", + "author": "Sukhbaatar", + "year": "2015", + "journal-title": "NIPS" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0635", + "unstructured": "J. Weston, et al. Memory Networks. Published online October 15, 2014 http://arxiv.org/abs/1410.3916" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0640", + "doi-asserted-by": "crossref", + "first-page": "11", + "DOI": "10.1136/jnnp.20.1.11", + "article-title": "Loss of recent memory after bilateral hippocampal lesions", + "volume": "20", + "author": "Scoville", + "year": "1957", + "journal-title": "J. Neurol. Neurosurg. Psychiatry" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0645", + "doi-asserted-by": "crossref", + "first-page": "217", + "DOI": "10.1016/S0959-4388(97)80010-4", + "article-title": "Memory consolidation, retrograde amnesia and the hippocampal complex", + "volume": "7", + "author": "Nadel", + "year": "1997", + "journal-title": "Curr. Opin. Neurobiol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0650", + "doi-asserted-by": "crossref", + "first-page": "35", + "DOI": "10.1111/j.1469-7580.2005.00421.x", + "article-title": "Functional neuroanatomy of remote episodic, semantic and spatial memory: a unified account based on multiple trace theory", + "volume": "207", + "author": "Moscovitch", + "year": "2005", + "journal-title": "J. Anat." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0655", + "doi-asserted-by": "crossref", + "first-page": "515", + "DOI": "10.1016/j.tins.2011.06.006", + "article-title": "Pattern separation in the hippocampus", + "volume": "34", + "author": "Yassa", + "year": "2011", + "journal-title": "Trends Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0660", + "doi-asserted-by": "crossref", + "first-page": "381", + "DOI": "10.1038/nature11028", + "article-title": "Optogenetic stimulation of a hippocampal engram activates fear memory recall", + "volume": "484", + "author": "Liu", + "year": "2012", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0665", + "doi-asserted-by": "crossref", + "first-page": "961", + "DOI": "10.1126/science.1135801", + "article-title": "Pattern separation in the dentate gyrus and CA3 of the hippocampus", + "volume": "315", + "author": "Leutgeb", + "year": "2007", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0670", + "doi-asserted-by": "crossref", + "first-page": "1295", + "DOI": "10.1126/science.1100265", + "article-title": "Distinct ensemble codes in hippocampal areas CA3 and CA1", + "volume": "305", + "author": "Leutgeb", + "year": "2004", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0675", + "doi-asserted-by": "crossref", + "first-page": "1143", + "DOI": "10.1002/hipo.20960", + "article-title": "Decoding representations of scenes in the medial temporal lobes", + "volume": "22", + "author": "Bonnici", + "year": "2011", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0680", + "doi-asserted-by": "crossref", + "first-page": "94", + "DOI": "10.1126/science.1140263", + "article-title": "Dentate gyrus NMDA receptors mediate rapid pattern separation in the hippocampal network", + "volume": "317", + "author": "McHugh", + "year": "2007", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0685", + "doi-asserted-by": "crossref", + "first-page": "416", + "DOI": "10.1016/j.neuron.2013.11.017", + "article-title": "CA3 retrieves coherent representations from degraded input: direct evidence for CA3 pattern completion and dentate gyrus pattern separation", + "volume": "81", + "author": "Neunuebel", + "year": "2014", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0690", + "doi-asserted-by": "crossref", + "first-page": "211", + "DOI": "10.1126/science.1071795", + "article-title": "Requirement for hippocampal CA3 NMDA receptors in associative memory recall", + "volume": "297", + "author": "Nakazawa", + "year": "2002", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0695", + "doi-asserted-by": "crossref", + "first-page": "246", + "DOI": "10.1038/nature10439", + "article-title": "Theta-paced flickering between place-cell maps in the hippocampus", + "volume": "478", + "author": "Jezek", + "year": "2011", + "journal-title": "Nature" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0700", + "doi-asserted-by": "crossref", + "first-page": "981", + "DOI": "10.1038/nn.3736", + "article-title": "Patterns across multiple memories are identified over time", + "volume": "17", + "author": "Richards", + "year": "2014", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0705", + "doi-asserted-by": "crossref", + "first-page": "e1003067", + "DOI": "10.1371/journal.pcbi.1003067", + "article-title": "Theta coordinated error-driven learning in the hippocampus", + "volume": "9", + "author": "Ketz", + "year": "2013", + "journal-title": "PLoS Comput. Biol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0710", + "doi-asserted-by": "crossref", + "first-page": "47", + "DOI": "10.1016/j.tics.2008.11.004", + "article-title": "Novelty signals: a window into hippocampal information processing", + "volume": "13", + "author": "Kumaran", + "year": "2009", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0715", + "doi-asserted-by": "crossref", + "first-page": "147", + "DOI": "10.1016/S0896-6273(03)00227-7", + "article-title": "One-shot memory in hippocampal CA3 networks", + "volume": "38", + "author": "Moser", + "year": "2003", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0720", + "doi-asserted-by": "crossref", + "first-page": "394", + "DOI": "10.1038/nn.4237", + "article-title": "Computational principles of memory", + "volume": "19", + "author": "Chaudhuri", + "year": "2016", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0725", + "doi-asserted-by": "crossref", + "first-page": "1093", + "DOI": "10.1016/j.neuron.2015.07.012", + "article-title": "Neural population evidence of functional heterogeneity along the CA3 transverse axis: pattern completion versus pattern separation", + "volume": "87", + "author": "Lee", + "year": "2015", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0730", + "doi-asserted-by": "crossref", + "first-page": "1078", + "DOI": "10.1016/j.neuron.2015.07.007", + "article-title": "Topography of place maps along the CA3-to-CA2 axis of the hippocampus", + "volume": "87", + "author": "Lu", + "year": "2015", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0735", + "doi-asserted-by": "crossref", + "first-page": "1562", + "DOI": "10.1038/nn.4138", + "article-title": "Memory hierarchies map onto the hippocampal long axis in humans", + "volume": "18", + "author": "Collin", + "year": "2015", + "journal-title": "Nat. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0740", + "doi-asserted-by": "crossref", + "first-page": "230", + "DOI": "10.1016/j.tics.2013.03.005", + "article-title": "Long-axis specialization of the human hippocampus", + "volume": "17", + "author": "Poppenk", + "year": "2013", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0745", + "doi-asserted-by": "crossref", + "first-page": "655", + "DOI": "10.1038/nrn3785", + "article-title": "Functional organization of the hippocampal longitudinal axis", + "volume": "15", + "author": "Strange", + "year": "2014", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0750", + "doi-asserted-by": "crossref", + "first-page": "713", + "DOI": "10.1038/nrn3338", + "article-title": "Two cortical systems for memory-guided behaviour", + "volume": "13", + "author": "Ranganath", + "year": "2012", + "journal-title": "Nat. Rev. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0755", + "doi-asserted-by": "crossref", + "first-page": "3898", + "DOI": "10.1523/JNEUROSCI.14-06-03898.1994", + "article-title": "Laminar selectivity of the cholinergic suppression of synaptic transmission in rat hippocampal region CA1: computational modeling and brain slice physiology", + "volume": "14", + "author": "Hasselmo", + "year": "1994", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0760", + "doi-asserted-by": "crossref", + "first-page": "6489", + "DOI": "10.1523/JNEUROSCI.0350-04.2004", + "article-title": "Differences in hippocampal neuronal population responses to modifications of an environmental context: evidence for distinct, yet complementary, functions of CA3 and CA1 ensembles", + "volume": "24", + "author": "Vazdarjanova", + "year": "2004", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0765", + "doi-asserted-by": "crossref", + "first-page": "481", + "DOI": "10.1016/j.conb.2004.07.007", + "article-title": "Sparse coding of sensory inputs", + "volume": "14", + "author": "Olshausen", + "year": "2004", + "journal-title": "Curr. Opin. Neurobiol." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0770", + "doi-asserted-by": "crossref", + "first-page": "87", + "DOI": "10.1016/j.tics.2007.12.003", + "article-title": "Sparse but not ‘grandmother-cell’ coding in the medial temporal lobe", + "volume": "12", + "author": "Quiroga", + "year": "2008", + "journal-title": "Trends Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0775", + "doi-asserted-by": "crossref", + "first-page": "329", + "DOI": "10.1016/j.tins.2009.01.009", + "article-title": "The hippocampal rate code: anatomy, physiology and theory", + "volume": "32", + "author": "Ahmed", + "year": "2009", + "journal-title": "Trends Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0780", + "doi-asserted-by": "crossref", + "first-page": "2355", + "DOI": "10.1523/JNEUROSCI.3869-08.2009", + "article-title": "The sparseness of neuronal responses in ferret primary visual cortex", + "volume": "29", + "author": "Tolhurst", + "year": "2009", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0785", + "doi-asserted-by": "crossref", + "first-page": "1273", + "DOI": "10.1126/science.287.5456.1273", + "article-title": "Sparse coding and decorrelation in primary visual cortex during natural vision", + "volume": "287", + "author": "Vinje", + "year": "2000", + "journal-title": "Science" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0790", + "doi-asserted-by": "crossref", + "first-page": "1945", + "DOI": "10.1523/JNEUROSCI.12-05-01945.1992", + "article-title": "The positional firing properties of medial entorhinal neurons: description and comparison with hippocampal place cells", + "volume": "12", + "author": "Quirk", + "year": "1992", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0795", + "doi-asserted-by": "crossref", + "first-page": "10170", + "DOI": "10.1523/JNEUROSCI.6125-11.2012", + "article-title": "Balanced increases in selectivity and tolerance produce constant sparseness along the ventral visual stream", + "volume": "32", + "author": "Rust", + "year": "2012", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0800", + "doi-asserted-by": "crossref", + "first-page": "371", + "DOI": "10.1068/p010371", + "article-title": "Single units and sensation: a neuron doctrine for perceptual psychology?", + "volume": "1", + "author": "Barlow", + "year": "1972", + "journal-title": "Perception" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0805", + "doi-asserted-by": "crossref", + "first-page": "23", + "DOI": "10.1111/j.1551-6708.1987.tb00862.x", + "article-title": "Competitive learning: from interactive activation to adaptive resonance", + "volume": "11", + "author": "Grossberg", + "year": "1987", + "journal-title": "Cogn. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0810", + "doi-asserted-by": "crossref", + "first-page": "5466", + "DOI": "10.1523/JNEUROSCI.4293-12.2013", + "article-title": "Global similarity and pattern separation in the human medial temporal lobe predict subsequent memory", + "volume": "33", + "author": "LaRocque", + "year": "2013", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0815", + "doi-asserted-by": "crossref", + "first-page": "375", + "DOI": "10.1037/0033-295X.88.5.375", + "article-title": "An interactive activation model of context effects in letter perception. Part 1. An account of the basic findings", + "volume": "88", + "author": "McClelland", + "year": "1981", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0820", + "doi-asserted-by": "crossref", + "first-page": "207", + "DOI": "10.1037/0033-295X.85.3.207", + "article-title": "Context theory of classification", + "volume": "85", + "author": "Medin", + "year": "1978", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0825", + "doi-asserted-by": "crossref", + "first-page": "411", + "DOI": "10.1037/0033-295X.93.4.411", + "article-title": "‘Schema abstraction’ in a multiple-trace memory model", + "volume": "93", + "author": "Hintzman", + "year": "1986", + "journal-title": "Psychol. Rev." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0830", + "doi-asserted-by": "crossref", + "first-page": "10503", + "DOI": "10.1073/pnas.1423036112", + "article-title": "Specific responses of human hippocampal neurons are associated with better memory", + "volume": "112", + "author": "Suthana", + "year": "2015", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0835", + "doi-asserted-by": "crossref", + "first-page": "623", + "DOI": "10.1016/S0896-6273(00)00071-4", + "article-title": "Hippocampal neurons encode information about different types of memory episodes occurring in the same location", + "volume": "27", + "author": "Wood", + "year": "2000", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0840", + "doi-asserted-by": "crossref", + "first-page": "1227", + "DOI": "10.1016/S0896-6273(03)00752-9", + "article-title": "Prospective and retrospective memory coding in the hippocampus", + "volume": "40", + "author": "Ferbinteanu", + "year": "2003", + "journal-title": "Neuron" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0845", + "doi-asserted-by": "crossref", + "first-page": "1313", + "DOI": "10.1523/JNEUROSCI.2901-04.2005", + "article-title": "Sequential-context-dependent hippocampal activity is not necessary to learn sequences with repeated elements", + "volume": "25", + "author": "Bower", + "year": "2005", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0850", + "doi-asserted-by": "crossref", + "first-page": "14607", + "DOI": "10.1523/JNEUROSCI.1537-13.2013", + "article-title": "Distinct hippocampal time cell sequences represent odor memories in immobilized rats", + "volume": "33", + "author": "MacDonald", + "year": "2013", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0855", + "doi-asserted-by": "crossref", + "first-page": "7079", + "DOI": "10.1523/JNEUROSCI.15-11-07079.1995", + "article-title": "Interactions between location and task affect the spatial and directional firing of hippocampal neurons", + "volume": "15", + "author": "Markus", + "year": "1995", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0860", + "doi-asserted-by": "crossref", + "first-page": "8455", + "DOI": "10.1523/JNEUROSCI.18-20-08455.1998", + "article-title": "Spatial firing properties of hippocampal CA1 populations in an environment containing two visually identical regions", + "volume": "18", + "author": "Skaggs", + "year": "1998", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0865", + "first-page": "4", + "article-title": "Representational similarity analysis – connecting the branches of systems neuroscience", + "volume": "2", + "author": "Kriegeskorte", + "year": "2008", + "journal-title": "Front. Syst. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0870", + "doi-asserted-by": "crossref", + "first-page": "9918", + "DOI": "10.1523/JNEUROSCI.1378-09.2009", + "article-title": "Robust conjunctive item-place coding by hippocampal neurons parallels learning what happens where", + "volume": "29", + "author": "Komorowski", + "year": "2009", + "journal-title": "J. Neurosci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0875", + "doi-asserted-by": "crossref", + "first-page": "7723", + "DOI": "10.1073/pnas.0700094104", + "article-title": "Human relational memory requires time and sleep", + "volume": "104", + "author": "Ellenbogen", + "year": "2007", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0880", + "doi-asserted-by": "crossref", + "first-page": "35", + "DOI": "10.1111/j.1467-9280.2007.01845.x", + "article-title": "Sleep-associated changes in the mental representation of spoken words", + "volume": "18", + "author": "Dumay", + "year": "2007", + "journal-title": "Psychol. Sci." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0885", + "doi-asserted-by": "crossref", + "first-page": "2296", + "DOI": "10.1037/xge0000020", + "article-title": "Fast mapping rapidly integrates information into existing memory networks", + "volume": "143", + "author": "Coutanche", + "year": "2014", + "journal-title": "J Exp Psychol Gen." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0890", + "doi-asserted-by": "crossref", + "first-page": "1146", + "DOI": "10.1073/pnas.1005238108", + "article-title": "Rapid neocortical acquisition of long-term arbitrary associations independent of the hippocampus", + "volume": "108", + "author": "Sharon", + "year": "2011", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0895", + "doi-asserted-by": "crossref", + "first-page": "1653", + "DOI": "10.1002/hipo.22353", + "article-title": "Neocortical catastrophic interference in healthy and amnesic adults: a paradoxical matter of time", + "volume": "24", + "author": "Merhav", + "year": "2014", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0900", + "doi-asserted-by": "crossref", + "first-page": "475", + "DOI": "10.1073/pnas.1322263111", + "article-title": "Comparison of explicit and incidental learning strategies in memory-impaired patients", + "volume": "111", + "author": "Smith", + "year": "2014", + "journal-title": "Proc. Natl. Acad. Sci. U.S.A." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0905", + "doi-asserted-by": "crossref", + "first-page": "920", + "DOI": "10.1002/hipo.22279", + "article-title": "Not so fast: hippocampal amnesia slows word learning despite successful fast mapping", + "volume": "24", + "author": "Warren", + "year": "2014", + "journal-title": "Hippocampus" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0910", + "doi-asserted-by": "crossref", + "first-page": "52", + "DOI": "10.1016/j.neuropsychologia.2014.05.011", + "article-title": "No evidence that ‘fast-mapping’ benefits novel learning in healthy older adults", + "volume": "60", + "author": "Greve", + "year": "2014", + "journal-title": "Neuropsychologia" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0915", + "series-title": "International Conference on Learning Representations", + "article-title": "Prioritized experience replay", + "author": "Schaul", + "year": "2016" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0920", + "series-title": "The Organization of Learning", + "author": "Gallistel", + "year": "1990" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0925", + "doi-asserted-by": "crossref", + "first-page": "1735", + "DOI": "10.1162/neco.1997.9.8.1735", + "article-title": "Long short-term memory", + "volume": "9", + "author": "Hochreiter", + "year": "1997", + "journal-title": "Neural Comput." + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0930", + "series-title": "International Conference in Machine Learning", + "article-title": "Meta-Learning with memory augmented neural networks", + "author": "Santoro", + "year": "2016" + }, + { + "key": "10.1016/j.tics.2016.05.004_bib0935", + "doi-asserted-by": "crossref", + "first-page": "374", + "DOI": "10.1002/hipo.450040319", + "article-title": "Computational analysis of the role of the hippocampus in memory", + "volume": "4", + "author": "Treves", + "year": "1994", + "journal-title": "Hippocampus" + } + ], + "container-title": "Trends in Cognitive Sciences", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://api.elsevier.com/content/article/PII:S1364661316300432?httpAccept=text/xml", + "content-type": "text/xml", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://api.elsevier.com/content/article/PII:S1364661316300432?httpAccept=text/plain", + "content-type": "text/plain", + "content-version": "vor", + "intended-application": "text-mining" + } + ], + "deposited": { + "date-parts": [ + [ + 2024, + 6, + 17 + ] + ], + "date-time": "2024-06-17T12:48:16Z", + "timestamp": 1718628496000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://linkinghub.elsevier.com/retrieve/pii/S1364661316300432" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2016, + 7 + ] + ] + }, + "references-count": 187, + "journal-issue": { + "issue": "7", + "published-print": { + "date-parts": [ + [ + 2016, + 7 + ] + ] + } + }, + "alternative-id": [ + "S1364661316300432" + ], + "URL": "http://dx.doi.org/10.1016/j.tics.2016.05.004", + "relation": {}, + "ISSN": [ + "1364-6613" + ], + "subject": [], + "container-title-short": "Trends in Cognitive Sciences", + "published": { + "date-parts": [ + [ + 2016, + 7 + ] + ] + }, + "assertion": [ + { + "value": "Elsevier", + "name": "publisher", + "label": "This article is maintained by" + }, + { + "value": "What Learning Systems do Intelligent Agents Need? Complementary Learning Systems Theory Updated", + "name": "articletitle", + "label": "Article Title" + }, + { + "value": "Trends in Cognitive Sciences", + "name": "journaltitle", + "label": "Journal Title" + }, + { + "value": "https://doi.org/10.1016/j.tics.2016.05.004", + "name": "articlelink", + "label": "CrossRef DOI link to publisher maintained version" + }, + { + "value": "article", + "name": "content_type", + "label": "Content Type" + }, + { + "value": "© 2016 Elsevier Ltd. All rights reserved.", + "name": "copyright", + "label": "Copyright" + } + ], + "id": "ref63", + "note": "Manuscript reference 63" + }, + { + "type": "article", + "id": "ref64", + "categories": [ + "Machine Learning (stat.ML)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Schwarz", + "given": "Jonathan" + }, + { + "family": "Luketina", + "given": "Jelena" + }, + { + "family": "Czarnecki", + "given": "Wojciech M." + }, + { + "family": "Grabska-Barwinska", + "given": "Agnieszka" + }, + { + "family": "Teh", + "given": "Yee Whye" + }, + { + "family": "Pascanu", + "given": "Razvan" + }, + { + "family": "Hadsell", + "given": "Raia" + } + ], + "issued": { + "date-parts": [ + [ + 2018 + ] + ] + }, + "abstract": "We introduce a conceptually simple and scalable framework for continual learning domains where tasks are learned sequentially. Our method is constant in the number of parameters and is designed to preserve performance on previously encountered tasks while accelerating learning progress on subsequent problems. This is achieved by training a network with two components: A knowledge base, capable of solving previously encountered problems, which is connected to an active column that is employed to efficiently learn the current task. After learning a new task, the active column is distilled into the knowledge base, taking care to protect any previously acquired skills. This cycle of active learning (progression) followed by consolidation (compression) requires no architecture growth, no access to or storing of previous data or tasks, and no task-specific parameters. We demonstrate the progress & compress approach on sequential classification of handwritten alphabets as well as two reinforcement learning domains: Atari games and 3D maze navigation.", + "DOI": "10.48550/arXiv.1805.06370", + "publisher": "arXiv", + "title": "Progress & Compress: A scalable framework for continual learning", + "URL": "https://arxiv.org/abs/1805.06370", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 64", + "container-title": "arXiv", + "number": "arXiv:1805.06370", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref65", + "categories": [ + "Machine Learning (cs.LG)", + "Computation and Language (cs.CL)", + "Computer Vision and Pattern Recognition (cs.CV)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Ilharco", + "given": "Gabriel" + }, + { + "family": "Ribeiro", + "given": "Marco Tulio" + }, + { + "family": "Wortsman", + "given": "Mitchell" + }, + { + "family": "Gururangan", + "given": "Suchin" + }, + { + "family": "Schmidt", + "given": "Ludwig" + }, + { + "family": "Hajishirzi", + "given": "Hannaneh" + }, + { + "family": "Farhadi", + "given": "Ali" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "Changing how pre-trained models behave -- e.g., improving their performance on a downstream task or mitigating biases learned during pre-training -- is a common practice when developing machine learning systems. In this work, we propose a new paradigm for steering the behavior of neural networks, centered around \\textit{task vectors}. A task vector specifies a direction in the weight space of a pre-trained model, such that movement in that direction improves performance on the task. We build task vectors by subtracting the weights of a pre-trained model from the weights of the same model after fine-tuning on a task. We show that these task vectors can be modified and combined together through arithmetic operations such as negation and addition, and the behavior of the resulting model is steered accordingly. Negating a task vector decreases performance on the target task, with little change in model behavior on control tasks. Moreover, adding task vectors together can improve performance on multiple tasks at once. Finally, when tasks are linked by an analogy relationship of the form ``A is to B as C is to D\", combining task vectors from three of the tasks can improve performance on the fourth, even when no data from the fourth task is used for training. Overall, our experiments with several models, modalities and tasks show that task arithmetic is a simple, efficient and effective way of editing models.", + "DOI": "10.48550/arXiv.2212.04089", + "publisher": "arXiv", + "title": "Editing Models with Task Arithmetic", + "URL": "https://arxiv.org/abs/2212.04089", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "3", + "note": "Manuscript reference 65", + "container-title": "arXiv", + "number": "arXiv:2212.04089", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref66", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "Computer Vision and Pattern Recognition (cs.CV)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Marczak", + "given": "Daniel" + }, + { + "family": "Twardowski", + "given": "Bartłomiej" + }, + { + "family": "Trzciński", + "given": "Tomasz" + }, + { + "family": "Cygert", + "given": "Sebastian" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "This paper introduces a continual learning approach named MagMax, which utilizes model merging to enable large pre-trained models to continuously learn from new data without forgetting previously acquired knowledge. Distinct from traditional continual learning methods that aim to reduce forgetting during task training, MagMax combines sequential fine-tuning with a maximum magnitude weight selection for effective knowledge integration across tasks. Our initial contribution is an extensive examination of model merging techniques, revealing that simple approaches like weight averaging and random weight selection surprisingly hold up well in various continual learning contexts. More importantly, we present MagMax, a novel model-merging strategy that enables continual learning of large pre-trained models for successive tasks. Our thorough evaluation demonstrates the superiority of MagMax in various scenarios, including class- and domain-incremental learning settings. The code is available at this URL: https://github.com/danielm1405/magmax.", + "DOI": "10.48550/arXiv.2407.06322", + "publisher": "arXiv", + "title": "MagMax: Leveraging Model Merging for Seamless Continual Learning", + "URL": "https://arxiv.org/abs/2407.06322", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 66", + "container-title": "arXiv", + "number": "arXiv:2407.06322", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref67", + "categories": [ + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Alexandrov", + "given": "Anton" + }, + { + "family": "Raychev", + "given": "Veselin" + }, + { + "family": "Müller", + "given": "Mark Niklas" + }, + { + "family": "Zhang", + "given": "Ce" + }, + { + "family": "Vechev", + "given": "Martin" + }, + { + "family": "Toutanova", + "given": "Kristina" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "As open-weight large language models (LLMs) achieve ever more impressive performances across a wide range of tasks in English, practitioners aim to adapt these models to different languages. However, such language adaptation is often accompanied by catastrophic forgetting of the base model's capabilities, severely limiting the usefulness of the resulting model. We address this issue by proposing Branch-and-Merge (BaM), a new adaptation method based on iteratively merging multiple models, fine-tuned on a subset of the available training data. BaM is based on the insight that this yields lower magnitude but higher quality weight changes, reducing forgetting of the source domain while maintaining learning on the target domain. We demonstrate in an extensive empirical study on Bulgarian and German that BaM can significantly reduce forgetting while matching or even improving target domain performance compared to both standard continued pretraining and instruction finetuning across different model architectures.", + "DOI": "10.48550/arXiv.2407.08699", + "publisher": "arXiv", + "title": "Mitigating Catastrophic Forgetting in Language Transfer via Model Merging", + "URL": "https://arxiv.org/abs/2407.08699", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 67", + "container-title": "arXiv", + "number": "arXiv:2407.08699", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref68", + "categories": [ + "Machine Learning (cs.LG)", + "Computation and Language (cs.CL)", + "Computer Vision and Pattern Recognition (cs.CV)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Dziadzio", + "given": "Sebastian" + }, + { + "family": "Udandarao", + "given": "Vishaal" + }, + { + "family": "Roth", + "given": "Karsten" + }, + { + "family": "Prabhu", + "given": "Ameya" + }, + { + "family": "Akata", + "given": "Zeynep" + }, + { + "family": "Albanie", + "given": "Samuel" + }, + { + "family": "Bethge", + "given": "Matthias" + } + ], + "issued": { + "date-parts": [ + [ + 2024 + ] + ] + }, + "abstract": "Model merging combines multiple expert models - finetuned from a base foundation model on diverse tasks and domains - into a single, more capable model. However, most existing model merging approaches assume that all experts are available simultaneously. In reality, new tasks and domains emerge progressively over time, requiring strategies to integrate the knowledge of expert models as they become available: a process we call temporal model merging. The temporal dimension introduces unique challenges not addressed in prior work, raising new questions such as: when training for a new task, should the expert model start from the merged past experts or from the original base model? Should we merge all models at each time step? Which merging techniques are best suited for temporal merging? Should different strategies be used to initialize the training and deploy the model? To answer these questions, we propose a unified framework called TIME - Temporal Integration of Model Expertise - which defines temporal model merging across three axes: (1) Initialization Phase, (2) Deployment Phase, and (3) Merging Technique. Using TIME, we study temporal model merging across model sizes, compute budgets, and learning horizons on the FoMo-in-Flux benchmark. Our comprehensive suite of experiments across TIME allows us to uncover key insights for temporal model merging, offering a better understanding of current challenges and best practices for effective temporal model merging.", + "DOI": "10.48550/arXiv.2412.06712", + "publisher": "arXiv", + "title": "How to Merge Your Multimodal Models Over Time?", + "URL": "https://arxiv.org/abs/2412.06712", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "1", + "note": "Manuscript reference 68", + "container-title": "arXiv", + "number": "arXiv:2412.06712", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref69", + "categories": [ + "Machine Learning (cs.LG)", + "Machine Learning (stat.ML)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Toneva", + "given": "Mariya" + }, + { + "family": "Sordoni", + "given": "Alessandro" + }, + { + "family": "Combes", + "given": "Remi Tachet des" + }, + { + "family": "Trischler", + "given": "Adam" + }, + { + "family": "Bengio", + "given": "Yoshua" + }, + { + "family": "Gordon", + "given": "Geoffrey J." + } + ], + "issued": { + "date-parts": [ + [ + 2018 + ] + ] + }, + "abstract": "Inspired by the phenomenon of catastrophic forgetting, we investigate the learning dynamics of neural networks as they train on single classification tasks. Our goal is to understand whether a related phenomenon occurs when data does not undergo a clear distributional shift. We define a `forgetting event' to have occurred when an individual training example transitions from being classified correctly to incorrectly over the course of learning. Across several benchmark data sets, we find that: (i) certain examples are forgotten with high frequency, and some not at all; (ii) a data set's (un)forgettable examples generalize across neural architectures; and (iii) based on forgetting dynamics, a significant fraction of examples can be omitted from the training data set while still maintaining state-of-the-art generalization performance.", + "DOI": "10.48550/arXiv.1812.05159", + "publisher": "arXiv", + "title": "An Empirical Study of Example Forgetting during Deep Neural Network Learning", + "URL": "https://arxiv.org/abs/1812.05159", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "3", + "note": "Manuscript reference 69", + "container-title": "arXiv", + "number": "arXiv:1812.05159", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref70", + "categories": [ + "Computation and Language (cs.CL)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Kandpal", + "given": "Nikhil" + }, + { + "family": "Deng", + "given": "Haikang" + }, + { + "family": "Roberts", + "given": "Adam" + }, + { + "family": "Wallace", + "given": "Eric" + }, + { + "family": "Raffel", + "given": "Colin" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "The Internet contains a wealth of knowledge -- from the birthdays of historical figures to tutorials on how to code -- all of which may be learned by language models. However, while certain pieces of information are ubiquitous on the web, others appear extremely rarely. In this paper, we study the relationship between the knowledge memorized by large language models and the information in pre-training datasets scraped from the web. In particular, we show that a language model's ability to answer a fact-based question relates to how many documents associated with that question were seen during pre-training. We identify these relevant documents by entity linking pre-training datasets and counting documents that contain the same entities as a given question-answer pair. Our results demonstrate strong correlational and causal relationships between accuracy and relevant document count for numerous question answering datasets (e.g., TriviaQA), pre-training corpora (e.g., ROOTS), and model sizes (e.g., 176B parameters). Moreover, while larger models are better at learning long-tail knowledge, we estimate that today's models must be scaled by many orders of magnitude to reach competitive QA performance on questions with little support in the pre-training data. Finally, we show that retrieval-augmentation can reduce the dependence on relevant pre-training information, presenting a promising approach for capturing the long-tail.", + "DOI": "10.48550/arXiv.2211.08411", + "publisher": "arXiv", + "title": "Large Language Models Struggle to Learn Long-Tail Knowledge", + "URL": "https://arxiv.org/abs/2211.08411", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 70", + "container-title": "arXiv", + "number": "arXiv:2211.08411", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref71", + "categories": [ + "Computer Vision and Pattern Recognition (cs.CV)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Liu", + "given": "Xialei" + }, + { + "family": "Hu", + "given": "Yu-Song" + }, + { + "family": "Cao", + "given": "Xu-Sheng" + }, + { + "family": "Bagdanov", + "given": "Andrew D." + }, + { + "family": "Li", + "given": "Ke" + }, + { + "family": "Cheng", + "given": "Ming-Ming" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "In class incremental learning (CIL) a model must learn new classes in a sequential manner without forgetting old ones. However, conventional CIL methods consider a balanced distribution for each new task, which ignores the prevalence of long-tailed distributions in the real world. In this work we propose two long-tailed CIL scenarios, which we term ordered and shuffled LT-CIL. Ordered LT-CIL considers the scenario where we learn from head classes collected with more samples than tail classes which have few. Shuffled LT-CIL, on the other hand, assumes a completely random long-tailed distribution for each task. We systematically evaluate existing methods in both LT-CIL scenarios and demonstrate very different behaviors compared to conventional CIL scenarios. Additionally, we propose a two-stage learning baseline with a learnable weight scaling layer for reducing the bias caused by long-tailed distribution in LT-CIL and which in turn also improves the performance of conventional CIL due to the limited exemplars. Our results demonstrate the superior performance (up to 6.44 points in average incremental accuracy) of our approach on CIFAR-100 and ImageNet-Subset. The code is available at https://github.com/xialeiliu/Long-Tailed-CIL", + "DOI": "10.48550/arXiv.2210.00266", + "publisher": "arXiv", + "title": "Long-Tailed Class Incremental Learning", + "URL": "https://arxiv.org/abs/2210.00266", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 71", + "container-title": "arXiv", + "number": "arXiv:2210.00266", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref72", + "categories": [ + "Computation and Language (cs.CL)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Kotha", + "given": "Suhas" + }, + { + "family": "Springer", + "given": "Jacob Mitchell" + }, + { + "family": "Raghunathan", + "given": "Aditi" + } + ], + "issued": { + "date-parts": [ + [ + 2023 + ] + ] + }, + "abstract": "We lack a systematic understanding of the effects of fine-tuning (via methods such as instruction-tuning or reinforcement learning from human feedback), particularly on tasks outside the narrow fine-tuning distribution. In a simplified scenario, we demonstrate that improving performance on tasks within the fine-tuning data distribution comes at the expense of capabilities on other tasks. We hypothesize that language models implicitly infer the task of the prompt and that fine-tuning skews this inference towards tasks in the fine-tuning distribution. To test this, we propose Conjugate Prompting, which artificially makes the task look farther from the fine-tuning distribution while requiring the same capability, and we find that this recovers some of the pretraining capabilities in our synthetic setup. Since real-world fine-tuning distributions are predominantly English, we apply conjugate prompting to recover pretrained capabilities in LLMs by simply translating the prompts to different languages. This allows us to recover in-context learning abilities lost via instruction tuning, natural reasoning capability lost during code fine-tuning, and, more concerningly, harmful content generation suppressed by safety fine-tuning in chatbots like ChatGPT.", + "DOI": "10.48550/arXiv.2309.10105", + "publisher": "arXiv", + "title": "Understanding Catastrophic Forgetting in Language Models via Implicit Inference", + "URL": "https://arxiv.org/abs/2309.10105", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 72", + "container-title": "arXiv", + "number": "arXiv:2309.10105", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref73", + "categories": [ + "Computation and Language (cs.CL)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Yu", + "given": "Le" + }, + { + "family": "Yu", + "given": "Bowen" + }, + { + "family": "Yu", + "given": "Haiyang" + }, + { + "family": "Huang", + "given": "Fei" + }, + { + "family": "Li", + "given": "Yongbin" + } + ], + "issued": { + "date-parts": [ + [ + 2023 + ] + ] + }, + "abstract": "In this paper, we unveil that Language Models (LMs) can acquire new capabilities by assimilating parameters from homologous models without retraining or GPUs. We first introduce DARE to set most delta parameters (i.e., the disparity between fine-tuned and pre-trained parameters) to zeros without affecting the abilities of Supervised Fine-Tuning (SFT) LMs, which randomly Drops delta parameters with a ratio $p$ And REscales the remaining ones by $1 / (1 - p)$ to approximate the original embeddings. Then, we use DARE as a versatile plug-in to sparsify delta parameters of multiple SFT homologous models for mitigating parameter interference and merge them into a single model by parameter fusing. We experiment with encoder- and decoder-based LMs, showing that: (1) SFT delta parameter value ranges are typically small (within 0.002) with extreme redundancy, and DARE can effortlessly eliminate 90% or even 99% of them; (2) DARE can merge multiple task-specific LMs into one LM with diverse capabilities. Notably, this phenomenon is more pronounced in large-scale LMs, where the merged LM reveals the potential to surpass the performance of any source LM, providing a new discovery. We also utilize DARE to create a merged LM that ranks first among models with 7 billion parameters on the Open LLM Leaderboard.", + "DOI": "10.48550/arXiv.2311.03099", + "publisher": "arXiv", + "title": "Language Models are Super Mario: Absorbing Abilities from Homologous Models as a Free Lunch", + "URL": "https://arxiv.org/abs/2311.03099", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "3", + "note": "Manuscript reference 73", + "container-title": "arXiv", + "number": "arXiv:2311.03099", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref74", + "categories": [ + "Machine Learning (cs.LG)", + "Computation and Language (cs.CL)", + "Computer Vision and Pattern Recognition (cs.CV)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Wortsman", + "given": "Mitchell" + }, + { + "family": "Ilharco", + "given": "Gabriel" + }, + { + "family": "Gadre", + "given": "Samir Yitzhak" + }, + { + "family": "Roelofs", + "given": "Rebecca" + }, + { + "family": "Gontijo-Lopes", + "given": "Raphael" + }, + { + "family": "Morcos", + "given": "Ari S." + }, + { + "family": "Namkoong", + "given": "Hongseok" + }, + { + "family": "Farhadi", + "given": "Ali" + }, + { + "family": "Carmon", + "given": "Yair" + }, + { + "family": "Kornblith", + "given": "Simon" + }, + { + "family": "Schmidt", + "given": "Ludwig" + } + ], + "issued": { + "date-parts": [ + [ + 2022 + ] + ] + }, + "abstract": "The conventional recipe for maximizing model accuracy is to (1) train multiple models with various hyperparameters and (2) pick the individual model which performs best on a held-out validation set, discarding the remainder. In this paper, we revisit the second step of this procedure in the context of fine-tuning large pre-trained models, where fine-tuned models often appear to lie in a single low error basin. We show that averaging the weights of multiple models fine-tuned with different hyperparameter configurations often improves accuracy and robustness. Unlike a conventional ensemble, we may average many models without incurring any additional inference or memory costs -- we call the results \"model soups.\" When fine-tuning large pre-trained models such as CLIP, ALIGN, and a ViT-G pre-trained on JFT, our soup recipe provides significant improvements over the best model in a hyperparameter sweep on ImageNet. The resulting ViT-G model, which attains 90.94% top-1 accuracy on ImageNet, achieved a new state of the art. Furthermore, we show that the model soup approach extends to multiple image classification and natural language processing tasks, improves out-of-distribution performance, and improves zero-shot performance on new downstream tasks. Finally, we analytically relate the performance similarity of weight-averaging and logit-ensembling to flatness of the loss and confidence of the predictions, and validate this relation empirically. Code is available at https://github.com/mlfoundations/model-soups.", + "DOI": "10.48550/arXiv.2203.05482", + "publisher": "arXiv", + "title": "Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time", + "URL": "https://arxiv.org/abs/2203.05482", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "3", + "note": "Manuscript reference 74", + "container-title": "arXiv", + "number": "arXiv:2203.05482", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref75", + "categories": [ + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Cao", + "given": "Yuan" + }, + { + "family": "Ran", + "given": "Dezhi" + }, + { + "family": "Guo", + "given": "Yuzhe" + }, + { + "family": "Wu", + "given": "Mengzhou" + }, + { + "family": "Chen", + "given": "Simin" + }, + { + "family": "Li", + "given": "Linyi" + }, + { + "family": "Yang", + "given": "Wei" + }, + { + "family": "Xie", + "given": "Tao" + } + ], + "issued": { + "date-parts": [ + [ + 2026 + ] + ] + }, + "abstract": "Model merging unifies independently fine-tuned LLMs from the same base, enabling reuse and integration of parallel development efforts without retraining. However, in practice we observe that merging does not always succeed: certain combinations of task-specialist models suffer from catastrophic performance degradation after merging. We refer to this failure mode as merging collapse. Intuitively, collapse arises when the learned representations or parameter adjustments for different tasks are fundamentally incompatible, so that merging forces destructive interference rather than synergy. In this paper, we identify and characterize the phenomenon of task-level merging collapse, where certain task combinations consistently trigger huge performance degradation across all merging methods. Through extensive experiments and statistical analysis, we demonstrate that representational incompatibility between tasks is strongly correlated with merging collapse, while parameter-space conflict metrics show minimal correlation, challenging conventional wisdom in model merging literature. We provide a theoretical explanation on this phenomenon through rate-distortion theory with a dimension-dependent bound, establishing fundamental limits on task mergeability regardless of methodology.", + "DOI": "10.48550/arXiv.2603.09463", + "publisher": "arXiv", + "title": "An Empirical Study and Theoretical Explanation on Task-Level Model-Merging Collapse", + "URL": "https://arxiv.org/abs/2603.09463", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "1", + "note": "Manuscript reference 75", + "container-title": "arXiv", + "number": "arXiv:2603.09463", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref76", + "categories": [ + "Machine Learning (cs.LG)", + "Artificial Intelligence (cs.AI)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Horoi", + "given": "Stefan" + }, + { + "family": "Wolf", + "given": "Guy" + }, + { + "family": "Belilovsky", + "given": "Eugene" + }, + { + "family": "Dziugaite", + "given": "Gintare Karolina" + } + ], + "issued": { + "date-parts": [ + [ + 2025 + ] + ] + }, + "abstract": "Modern deep learning is increasingly characterized by the use of open-weight foundation models that can be fine-tuned on specialized datasets. This has led to a proliferation of expert models and adapters, often shared via platforms like HuggingFace and AdapterHub. Model merging has recently emerged as an effective way to leverage these existing resources, enabling the composition of capabilities from different model checkpoints. A natural pipeline has thus formed to harness the benefits of transfer learning and amortize sunk training costs: models are pre-trained on general data, fine-tuned on specific tasks, and then multiple checkpoints are merged to obtain a more capable model. A prevailing assumption is that improvements at one stage of this pipeline propagate downstream, leading to gains at subsequent steps. In this work, we challenge that assumption by examining how expert fine-tuning affects model merging. We show that long fine-tuning of experts that optimizes for their individual performance leads to degraded merging performance across vision and language modalities, multiple model scales, and both fully fine-tuned and LoRA-adapted models. We trace this degradation to the memorization of a small set of difficult examples that dominate late fine-tuning steps. This causes negative parameter interference and encodes knowledge that is forgotten during merging. Finally, we demonstrate that task-dependent aggressive early stopping strategies can significantly improve model merging performance.", + "DOI": "10.48550/arXiv.2506.14126", + "publisher": "arXiv", + "title": "From Memorization to Parameter Interference: How Overtraining Experts Harms Model Merging", + "URL": "https://arxiv.org/abs/2506.14126", + "copyright": "Creative Commons Attribution 4.0 International", + "version": "2", + "note": "Manuscript reference 76", + "container-title": "arXiv", + "number": "arXiv:2506.14126", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 8, + 16 + ] + ], + "date-time": "2026-08-16T21:18:05Z", + "timestamp": 1786915085480, + "version": "build-2736575974" + }, + "reference-count": 40, + "publisher": "Association for Computing Machinery (ACM)", + "issue": "11", + "license": [ + { + "start": { + "date-parts": [ + [ + 2016, + 10, + 28 + ] + ], + "date-time": "2016-10-28T00:00:00Z", + "timestamp": 1477612800000 + }, + "content-version": "vor", + "delay-in-days": 0, + "URL": "https://www.acm.org/publications/policies/copyright_policy#Background" + } + ], + "content-domain": { + "domain": [ + "dl.acm.org" + ], + "crossmark-restriction": true + }, + "published-print": { + "date-parts": [ + [ + 2016, + 10, + 28 + ] + ] + }, + "abstract": "Looking at the mysteries of evolution from a computer science point of view yields some unexpected insights.", + "DOI": "10.1145/2934662", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2016, + 10, + 31 + ] + ], + "date-time": "2016-10-31T12:29:14Z", + "timestamp": 1477916954000 + }, + "page": "84-93", + "update-policy": "https://doi.org/10.1145/crossmark-policy", + "source": "Crossref", + "is-referenced-by-count": 28, + "title": "Sex as an algorithm", + "prefix": "10.1145", + "volume": "59", + "author": [ + { + "given": "Adi", + "family": "Livnat", + "sequence": "first", + "affiliation": [ + { + "name": "University of Haifa, Israel" + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "given": "Christos", + "family": "Papadimitriou", + "sequence": "additional", + "affiliation": [ + { + "name": "University of California at Berkeley" + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "320", + "published-online": { + "date-parts": [ + [ + 2016, + 10, + 28 + ] + ] + }, + "reference": [ + { + "key": "e_1_2_2_1_1", + "doi-asserted-by": "publisher", + "DOI": "10.1109/SFCS.1994.365742" + }, + { + "key": "e_1_2_2_2_1", + "doi-asserted-by": "publisher", + "DOI": "10.4086/toc.2012.v008a006" + }, + { + "key": "e_1_2_2_3_1", + "doi-asserted-by": "publisher", + "DOI": "10.1007/978-3-642-65371-1" + }, + { + "key": "e_1_2_2_4_1", + "volume-title": "The Ninth Bridgewater Treatise", + "author": "Babbage C.", + "year": "1838", + "unstructured": "Babbage , C. The Ninth Bridgewater Treatise . 2 nd edn. John Murray , London , 1838 . Babbage, C. The Ninth Bridgewater Treatise. 2nd edn. John Murray, London, 1838.", + "edition": "2" + }, + { + "key": "e_1_2_2_5_1", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.1410107111" + }, + { + "key": "e_1_2_2_6_1", + "volume-title": "The Masterpiece of Nature: The Evolution and Genetics of Sexuality", + "author": "Bell G.", + "year": "1982", + "unstructured": "Bell , G. The Masterpiece of Nature: The Evolution and Genetics of Sexuality . University of California Press , Berkeley, CA , 1982 . Bell, G. The Masterpiece of Nature: The Evolution and Genetics of Sexuality. University of California Press, Berkeley, CA, 1982." + }, + { + "key": "e_1_2_2_7_1", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.1406556111" + }, + { + "key": "e_1_2_2_8_1", + "doi-asserted-by": "crossref", + "DOI": "10.5962/bhl.title.82303", + "volume-title": "On the Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life", + "author": "Darwin C.", + "year": "1859", + "unstructured": "Darwin , C. On the Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life . Murray , London , 1859 . Darwin, C. On the Origin of Species by Means of Natural Selection, or the Preservation of Favoured Races in the Struggle for Life. Murray, London, 1859." + }, + { + "key": "e_1_2_2_9_1", + "doi-asserted-by": "publisher", + "DOI": "10.1146/annurev.genet.30.1.261" + }, + { + "key": "e_1_2_2_10_1", + "doi-asserted-by": "crossref", + "DOI": "10.5962/bhl.title.27468", + "volume-title": "The Genetical Theory of Natural Selection", + "author": "Fisher R.A.", + "year": "1930", + "unstructured": "Fisher , R.A. The Genetical Theory of Natural Selection . The Clarendon Press , Oxford, U.K. , 1930 . Fisher, R.A. The Genetical Theory of Natural Selection. The Clarendon Press, Oxford, U.K., 1930." + }, + { + "key": "e_1_2_2_11_1", + "doi-asserted-by": "publisher", + "DOI": "10.1093/molbev/msi043" + }, + { + "key": "e_1_2_2_12_1", + "volume-title": "Genetic Algorithms in Search, Optimization and Machine Learning", + "author": "Goldberg D.", + "year": "1989", + "unstructured": "Goldberg , D. Genetic Algorithms in Search, Optimization and Machine Learning . Addison-Wesley , Reading, MA , 1989 . Goldberg, D. Genetic Algorithms in Search, Optimization and Machine Learning. Addison-Wesley, Reading, MA, 1989." + }, + { + "key": "e_1_2_2_13_1", + "volume-title": "-H. Fundamentals of Molecular Evolution", + "author": "Graur D.", + "year": "2000", + "unstructured": "Graur , D. and Li , W . -H. Fundamentals of Molecular Evolution . Sinauer Associates , Sunderland, MA , 2000 . Graur, D. and Li, W.-H. Fundamentals of Molecular Evolution. Sinauer Associates, Sunderland, MA, 2000." + }, + { + "key": "e_1_2_2_14_1", + "volume-title": "Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence", + "author": "Holland J.H.", + "year": "1975", + "unstructured": "Holland , J.H. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence . U Michigan Press , 1975 . Holland, J.H. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence. U Michigan Press, 1975." + }, + { + "key": "e_1_2_2_15_1", + "doi-asserted-by": "publisher", + "DOI": "10.1016/0022-0000(88)90046-3" + }, + { + "key": "e_1_2_2_16_1", + "volume-title": "Evolutionary Computation: A Unified Approach", + "author": "Jong K.A.D.", + "year": "2006", + "unstructured": "Jong , K.A.D. Evolutionary Computation: A Unified Approach . MIT Press , Cambridge MA , 2006 . Jong, K.A.D. Evolutionary Computation: A Unified Approach. MIT Press, Cambridge MA, 2006." + }, + { + "key": "e_1_2_2_17_1", + "doi-asserted-by": "publisher", + "DOI": "10.1109/FOCS.2011.24" + }, + { + "key": "e_1_2_2_18_1", + "doi-asserted-by": "publisher", + "DOI": "10.1145/293347.293351" + }, + { + "key": "e_1_2_2_19_1", + "doi-asserted-by": "crossref", + "first-page": "3", + "DOI": "10.1093/genetics/61.3.763", + "article-title": "The average number of generations until fixation of a mutant gene in a finite population", + "volume": "61", + "author": "Kimura M.", + "year": "1969", + "unstructured": "Kimura , M. and Ohta , T . The average number of generations until fixation of a mutant gene in a finite population . Genetics 61 , 3 ( 1969 ), 763. Kimura, M. and Ohta, T. The average number of generations until fixation of a mutant gene in a finite population. Genetics 61, 3 (1969), 763.", + "journal-title": "Genetics" + }, + { + "key": "e_1_2_2_20_1", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.220.4598.671" + }, + { + "key": "e_1_2_2_21_1", + "doi-asserted-by": "crossref", + "first-page": "595", + "DOI": "10.1093/genetics/54.2.595", + "article-title": "A molecular approach to the study of genic heterozygosity in natural populations; amount of variation and degree of heterozygosity in natural populations of Drosophila pseudoobscura", + "volume": "54", + "author": "Lewontin R.C.", + "year": "1966", + "unstructured": "Lewontin , R.C. and Hubby , J.L . A molecular approach to the study of genic heterozygosity in natural populations; amount of variation and degree of heterozygosity in natural populations of Drosophila pseudoobscura . Genetics 54 ( 1966 ), 595 -- 609 . Lewontin, R.C. and Hubby, J.L. A molecular approach to the study of genic heterozygosity in natural populations; amount of variation and degree of heterozygosity in natural populations of Drosophila pseudoobscura. Genetics 54 (1966), 595--609.", + "journal-title": "Genetics" + }, + { + "key": "e_1_2_2_22_1", + "doi-asserted-by": "publisher", + "DOI": "10.1186/1745-6150-8-24" + }, + { + "key": "e_1_2_2_23_1", + "unstructured": "Livnat A. Feldman M.W. Papadimitriou C. and Pippenger N. On the advantage to sexual species in diversification rates. Unpublished manuscript. Livnat A. Feldman M.W. Papadimitriou C. and Pippenger N. On the advantage to sexual species in diversification rates. Unpublished manuscript." + }, + { + "key": "e_1_2_2_24_1", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.0803596105" + }, + { + "key": "e_1_2_2_25_1", + "doi-asserted-by": "publisher", + "DOI": "10.1016/j.jtbi.2010.11.039" + }, + { + "key": "e_1_2_2_26_1", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.0910734106" + }, + { + "key": "e_1_2_2_27_1", + "doi-asserted-by": "publisher", + "DOI": "10.1038/ng.917" + }, + { + "key": "e_1_2_2_28_1", + "doi-asserted-by": "crossref", + "DOI": "10.7551/mitpress/3927.001.0001", + "volume-title": "An Introduction to Genetic Algorithms", + "author": "Mitchell M.", + "year": "1996", + "unstructured": "Mitchell , M. An Introduction to Genetic Algorithms . MIT Press , Cambridge, MA , 1996 . Mitchell, M. An Introduction to Genetic Algorithms. MIT Press, Cambridge, MA, 1996." + }, + { + "key": "e_1_2_2_29_1", + "doi-asserted-by": "publisher", + "DOI": "10.5555/211390" + }, + { + "key": "e_1_2_2_30_1", + "doi-asserted-by": "publisher", + "DOI": "10.1007/s002850050143" + }, + { + "key": "e_1_2_2_31_1", + "doi-asserted-by": "publisher", + "DOI": "10.1007/978-3-642-51588-0_2" + }, + { + "key": "e_1_2_2_32_1", + "volume-title": "Combinatorial Optimization: Algorithms and Complexity", + "author": "Papadimitriou C.", + "year": "1998", + "unstructured": "Papadimitriou , C. and Steiglitz , K . Combinatorial Optimization: Algorithms and Complexity . Dover , 1998 . Papadimitriou, C. and Steiglitz, K. Combinatorial Optimization: Algorithms and Complexity. Dover, 1998." + }, + { + "key": "e_1_2_2_33_1", + "doi-asserted-by": "publisher", + "DOI": "10.1145/225058.225088" + }, + { + "key": "e_1_2_2_34_1", + "volume-title": "Evolution: An Introduction", + "author": "Stearns S.C.", + "year": "2005", + "unstructured": "Stearns , S.C. and Hoekstra , R.F . Evolution: An Introduction . Oxford University Press , New York , 2005 . Stearns, S.C. and Hoekstra, R.F. Evolution: An Introduction. Oxford University Press, New York, 2005." + }, + { + "key": "e_1_2_2_35_1", + "volume-title": "Probably Approximately Correct: Nature's Algorithms for Learning and Prospering in a Complex World", + "author": "Valiant L.", + "year": "2013", + "unstructured": "Valiant , L. Probably Approximately Correct: Nature's Algorithms for Learning and Prospering in a Complex World . Basic Books , 2013 . Valiant, L. Probably Approximately Correct: Nature's Algorithms for Learning and Prospering in a Complex World. Basic Books, 2013." + }, + { + "key": "e_1_2_2_36_1", + "doi-asserted-by": "publisher", + "DOI": "10.1145/1462153.1462156" + }, + { + "key": "e_1_2_2_37_1", + "first-page": "1", + "article-title": "Theory of self-reproducing automata", + "volume": "5", + "author": "Von Neumann J.", + "year": "1966", + "unstructured": "Von Neumann , J. and A. W. Burks , A.W. Theory of self-reproducing automata . IEEE Transactions on Neural Networks 5 , 1 ( 1966 ), 3--14. Von Neumann, J. and A. W. Burks, A.W. Theory of self-reproducing automata. IEEE Transactions on Neural Networks 5, 1 (1966), 3--14.", + "journal-title": "IEEE Transactions on Neural Networks" + }, + { + "key": "e_1_2_2_38_1", + "volume-title": "Adaptation and Natural Selection", + "author": "Williams G.C.", + "year": "1996", + "unstructured": "Williams , G.C. Adaptation and Natural Selection , 8 th edition. Princeton University Press , 1996 . Williams, G.C. Adaptation and Natural Selection, 8th edition. Princeton University Press, 1996.", + "edition": "8" + }, + { + "key": "e_1_2_2_39_1", + "doi-asserted-by": "publisher", + "DOI": "10.1093/genetics/16.2.97" + }, + { + "key": "e_1_2_2_40_1", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.23.6.307" + } + ], + "container-title": "Communications of the ACM", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://dl.acm.org/doi/10.1145/2934662", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "text-mining" + }, + { + "URL": "https://dl.acm.org/doi/pdf/10.1145/2934662", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2025, + 6, + 18 + ] + ], + "date-time": "2025-06-18T03:39:47Z", + "timestamp": 1750217987000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://dl.acm.org/doi/10.1145/2934662" + } + }, + "subtitle": [ + "the theory of evolution under the lens of computation" + ], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2016, + 10, + 28 + ] + ] + }, + "references-count": 40, + "journal-issue": { + "issue": "11", + "published-print": { + "date-parts": [ + [ + 2016, + 10, + 28 + ] + ] + } + }, + "alternative-id": [ + "10.1145/2934662" + ], + "URL": "http://dx.doi.org/10.1145/2934662", + "relation": {}, + "ISSN": [ + "0001-0782", + "1557-7317" + ], + "subject": [], + "container-title-short": "Commun. ACM", + "published": { + "date-parts": [ + [ + 2016, + 10, + 28 + ] + ] + }, + "assertion": [ + { + "value": "2016-10-28", + "order": 2, + "name": "published", + "label": "Published", + "group": { + "name": "publication_history", + "label": "Publication History" + } + } + ], + "id": "ref77", + "note": "Manuscript reference 77" + }, + { + "type": "article", + "id": "ref78", + "categories": [ + "Computation and Language (cs.CL)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Guo", + "given": "Yanzhu" + }, + { + "family": "Shang", + "given": "Guokan" + }, + { + "family": "Vazirgiannis", + "given": "Michalis" + }, + { + "family": "Clavel", + "given": "Chloé" + } + ], + "issued": { + "date-parts": [ + [ + 2023 + ] + ] + }, + "abstract": "This study investigates the consequences of training language models on synthetic data generated by their predecessors, an increasingly prevalent practice given the prominence of powerful generative models. Diverging from the usual emphasis on performance metrics, we focus on the impact of this training methodology on linguistic diversity, especially when conducted recursively over time. To assess this, we adapt and develop a set of novel metrics targeting lexical, syntactic, and semantic diversity, applying them in recursive finetuning experiments across various natural language generation tasks in English. Our findings reveal a consistent decrease in the diversity of the model outputs through successive iterations, especially remarkable for tasks demanding high levels of creativity. This trend underscores the potential risks of training language models on synthetic text, particularly concerning the preservation of linguistic richness. Our study highlights the need for careful consideration of the long-term effects of such training approaches on the linguistic capabilities of language models.", + "DOI": "10.48550/arXiv.2311.09807", + "publisher": "arXiv", + "title": "The Curious Decline of Linguistic Diversity: Training Language Models on Synthetic Text", + "URL": "https://arxiv.org/abs/2311.09807", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "2", + "note": "Manuscript reference 78", + "container-title": "arXiv", + "number": "arXiv:2311.09807", + "genre": "preprint" + }, + { + "type": "article", + "id": "ref79", + "categories": [ + "Computation and Language (cs.CL)", + "Computers and Society (cs.CY)", + "Human-Computer Interaction (cs.HC)", + "Machine Learning (cs.LG)", + "FOS: Computer and information sciences", + "FOS: Computer and information sciences" + ], + "author": [ + { + "family": "Padmakumar", + "given": "Vishakh" + }, + { + "family": "He", + "given": "He" + } + ], + "issued": { + "date-parts": [ + [ + 2023 + ] + ] + }, + "abstract": "Large language models (LLMs) have led to a surge in collaborative writing with model assistance. As different users incorporate suggestions from the same model, there is a risk of decreased diversity in the produced content, potentially limiting diverse perspectives in public discourse. In this work, we measure the impact of co-writing on diversity via a controlled experiment, where users write argumentative essays in three setups -- using a base LLM (GPT3), a feedback-tuned LLM (InstructGPT), and writing without model help. We develop a set of diversity metrics and find that writing with InstructGPT (but not the GPT3) results in a statistically significant reduction in diversity. Specifically, it increases the similarity between the writings of different authors and reduces the overall lexical and content diversity. We additionally find that this effect is mainly attributable to InstructGPT contributing less diverse text to co-written essays. In contrast, the user-contributed text remains unaffected by model collaboration. This suggests that the recent improvement in generation quality from adapting models to human feedback might come at the cost of more homogeneous and less diverse content.", + "DOI": "10.48550/arXiv.2309.05196", + "publisher": "arXiv", + "title": "Does Writing with Language Models Reduce Content Diversity?", + "URL": "https://arxiv.org/abs/2309.05196", + "copyright": "arXiv.org perpetual, non-exclusive license", + "version": "3", + "note": "Manuscript reference 79", + "container-title": "arXiv", + "number": "arXiv:2309.05196", + "genre": "preprint" + }, + { + "indexed": { + "date-parts": [ + [ + 2026, + 9, + 9 + ] + ], + "date-time": "2026-09-09T15:54:13Z", + "timestamp": 1788969253863, + "version": "build-2803163510" + }, + "reference-count": 42, + "publisher": "American Association for the Advancement of Science (AAAS)", + "issue": "28", + "content-domain": { + "domain": [ + "www.science.org" + ], + "crossmark-restriction": true + }, + "published-print": { + "date-parts": [ + [ + 2024, + 7, + 12 + ] + ] + }, + "abstract": "Creativity is core to being human. Generative artificial intelligence (AI)—including powerful large language models (LLMs)—holds promise for humans to be more creative by offering new ideas, or less creative by anchoring on generative AI ideas. We study the causal impact of generative AI ideas on the production of short stories in an online experiment where some writers obtained story ideas from an LLM. We find that access to generative AI ideas causes stories to be evaluated as more creative, better written, and more enjoyable, especially among less creative writers. However, generative AI–enabled stories are more similar to each other than stories by humans alone. These results point to an increase in individual creativity at the risk of losing collective novelty. This dynamic resembles a social dilemma: With generative AI, writers are individually better off, but collectively a narrower scope of novel content is produced. Our results have implications for researchers, policy-makers, and practitioners interested in bolstering creativity.", + "DOI": "10.1126/sciadv.adn5290", + "type": "journal-article", + "created": { + "date-parts": [ + [ + 2024, + 7, + 12 + ] + ], + "date-time": "2024-07-12T13:59:05Z", + "timestamp": 1720792745000 + }, + "update-policy": "https://doi.org/10.34133/aaas_crossmark", + "source": "Crossref", + "is-referenced-by-count": 701, + "title": "Generative AI enhances individual creativity but reduces the collective diversity of novel content", + "prefix": "10.1126", + "volume": "10", + "author": [ + { + "ORCID": "https://orcid.org/0000-0002-8489-3373", + "authenticated-orcid": true, + "given": "Anil R.", + "family": "Doshi", + "sequence": "first", + "affiliation": [ + { + "name": "Department of Strategy and Entrepreneurship, UCL School of Management, London, UK." + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + }, + { + "ORCID": "https://orcid.org/0000-0002-9282-0801", + "authenticated-orcid": true, + "given": "Oliver P.", + "family": "Hauser", + "sequence": "additional", + "affiliation": [ + { + "name": "Department of Economics, University of Exeter, Exeter, UK." + }, + { + "name": "Institute for Data Science and Artificial Intelligence, University of Exeter, Exeter, UK." + } + ], + "role": [ + { + "vocabulary": "crossref", + "role": "author" + } + ] + } + ], + "member": "221", + "reference": [ + { + "key": "e_1_3_2_2_2", + "doi-asserted-by": "crossref", + "unstructured": "R. J. Sternberg Handbook of Creativity (Cambridge Univ. Press 1999).", + "DOI": "10.1017/CBO9780511807916" + }, + { + "key": "e_1_3_2_3_2", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.adh4451" + }, + { + "key": "e_1_3_2_4_2", + "doi-asserted-by": "crossref", + "unstructured": "P. Yanardag M. Cebrian I. Rahwan Shelley: A crowd-sourced collaborative horror writer in Proceedings of the 13th Conference on Creativity and Cognition (Association for Computing Machinery 2021) pp. 1–8.", + "DOI": "10.1145/3450741.3465251" + }, + { + "key": "e_1_3_2_5_2", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.adh2586" + }, + { + "key": "e_1_3_2_6_2", + "doi-asserted-by": "crossref", + "unstructured": "E. Brynjolfsson D. Li L. R. Raymond Generative AI at Work (National Bureau of Economic Research 2023).", + "DOI": "10.3386/w31161" + }, + { + "key": "e_1_3_2_7_2", + "doi-asserted-by": "publisher", + "DOI": "10.5465/amj.2022.0426" + }, + { + "key": "e_1_3_2_8_2", + "unstructured": "S. Peng E. Kalliamvakou P. Cihon M. Demirer M. The impact of AI on developer productivity: Evidence from github copilot. arXiv:2302.06590 [cs.SE] (2023)." + }, + { + "key": "e_1_3_2_9_2", + "doi-asserted-by": "publisher", + "DOI": "10.1038/s41598-024-53755-0" + }, + { + "key": "e_1_3_2_10_2", + "doi-asserted-by": "publisher", + "DOI": "10.1002/per.409" + }, + { + "key": "e_1_3_2_11_2", + "doi-asserted-by": "publisher", + "DOI": "10.1093/jeea/jvx055" + }, + { + "key": "e_1_3_2_12_2", + "doi-asserted-by": "publisher", + "DOI": "10.1037/0022-3514.43.5.997" + }, + { + "key": "e_1_3_2_13_2", + "doi-asserted-by": "publisher", + "DOI": "10.5465/amr.2020.0110" + }, + { + "key": "e_1_3_2_14_2", + "doi-asserted-by": "publisher", + "DOI": "10.1037/0022-3514.43.6.1214" + }, + { + "key": "e_1_3_2_15_2", + "doi-asserted-by": "crossref", + "unstructured": "R. S. Nickerson Enhancing creativity in Handbook of Creativity (Cambridge Univ. Press 1998) pp. 392–430.", + "DOI": "10.1017/CBO9780511807916.022" + }, + { + "key": "e_1_3_2_16_2", + "unstructured": "W. Kenower W. The cold open: Facing the blank page. Writer's Digest (2020); https://writersdigest.com/be-inspired/the-cold-open-facing-the-blank-page." + }, + { + "key": "e_1_3_2_17_2", + "doi-asserted-by": "crossref", + "unstructured": "G. Charness B. Jabarian J. A. List “Generation next: Experimentation with AI ” NBER Working Paper Series (2023).", + "DOI": "10.3386/w31679" + }, + { + "key": "e_1_3_2_18_2", + "doi-asserted-by": "publisher", + "DOI": "10.1353/nar.2012.0002" + }, + { + "key": "e_1_3_2_19_2", + "doi-asserted-by": "crossref", + "unstructured": "M. Redi N. O'Hare R. Schifanella M. Trevisiol A. Jaimes 6 Seconds of sound and vision: Creativity in micro-videos in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (IEEE 2014) pp. 4272–4279.", + "DOI": "10.1109/CVPR.2014.544" + }, + { + "key": "e_1_3_2_20_2", + "doi-asserted-by": "publisher", + "DOI": "10.1353/nar.2019.0001" + }, + { + "key": "e_1_3_2_21_2", + "doi-asserted-by": "crossref", + "unstructured": "M. Raj J. Berg R. Seamans Art-ificial intelligence: The effect of AI disclosure on evaluations of creative content. arXiv:2303.06217 [cs.CY] (2023).", + "DOI": "10.2139/ssrn.4369818" + }, + { + "key": "e_1_3_2_22_2", + "doi-asserted-by": "publisher", + "DOI": "10.1038/s42256-020-0161-x" + }, + { + "key": "e_1_3_2_23_2", + "doi-asserted-by": "publisher", + "DOI": "10.1016/j.isci.2020.101515" + }, + { + "key": "e_1_3_2_24_2", + "doi-asserted-by": "crossref", + "unstructured": "Z. Epstein A. A. Arechar D. Rand What label should be applied to content produced by generative AI? PsyArXiv 10.31234 [Preprint] (2023). https://doi.org/10.31234/osf.io/v4mfz.", + "DOI": "10.31234/osf.io/v4mfz" + }, + { + "key": "e_1_3_2_25_2", + "unstructured": "R. Jauss Literary history as a challenge to literary theory in Toward an Aesthetic of Reception (Routledge 1974) pp. 3–45." + }, + { + "key": "e_1_3_2_26_2", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.2022340118" + }, + { + "key": "e_1_3_2_27_2", + "doi-asserted-by": "publisher", + "DOI": "10.1146/annurev-economics-082222-074352" + }, + { + "key": "e_1_3_2_28_2", + "doi-asserted-by": "crossref", + "unstructured": "E. Felten M. Raj R. Seamans How will language modelers like ChatGPT affect occupations and industries? arXiv:2303.01157 [econ.GN] (2023).", + "DOI": "10.2139/ssrn.4375268" + }, + { + "key": "e_1_3_2_29_2", + "doi-asserted-by": "crossref", + "unstructured": "T. Eloundou S. Manning P. Mishkin D. Rock GPTs are GPTs: An early look at the labor market impact potential of large language models. arXiv:2303.10130 [econ.GN] (2023).", + "DOI": "10.1126/science.adj0998" + }, + { + "key": "e_1_3_2_30_2", + "doi-asserted-by": "crossref", + "unstructured": "E. van Inwegen Z. T. Munyikwa J. J. Horton Algorithmic Writing Assistance on Jobseekers’ Resumes Increases Hires (No. w30886) (National Bureau of Economic Research 2023).", + "DOI": "10.2139/ssrn.4356195" + }, + { + "key": "e_1_3_2_31_2", + "doi-asserted-by": "crossref", + "unstructured": "N. Agarwal A. Moehring P. Rajpurkar T. Salz Combining Human Expertise with Artificial Intelligence: Experimental Evidence from Radiology (No. w31422) (National Bureau of Economic Research 2023).", + "DOI": "10.3386/w31422" + }, + { + "key": "e_1_3_2_32_2", + "doi-asserted-by": "publisher", + "DOI": "10.1038/s41586-023-06221-2" + }, + { + "key": "e_1_3_2_33_2", + "doi-asserted-by": "publisher", + "DOI": "10.1038/s41562-022-01383-x" + }, + { + "key": "e_1_3_2_34_2", + "unstructured": "R. Koster M. Pislar A. Tacchetti J. Balaguer L. Liu O. P. Hauser R. Elie K. Tuyls M. Botvinick C. Summerfield Using deep reinforcement-learning to discover a dynamic resource allocation policy that promotes sustainable human exchange. arXiv:2404.15059 [cs.AI] (2024)." + }, + { + "key": "e_1_3_2_35_2", + "doi-asserted-by": "publisher", + "DOI": "10.1016/j.leaqua.2020.101426" + }, + { + "key": "e_1_3_2_36_2", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.adh9429" + }, + { + "key": "e_1_3_2_37_2", + "doi-asserted-by": "crossref", + "unstructured": "A. Korinek Language Models and Cognitive Automation for Economic Research (No. w30957) (National Bureau of Economic Research 2023).", + "DOI": "10.3386/w30957" + }, + { + "key": "e_1_3_2_38_2", + "doi-asserted-by": "publisher", + "DOI": "10.1073/pnas.1900949116" + }, + { + "key": "e_1_3_2_39_2", + "doi-asserted-by": "publisher", + "DOI": "10.1287/isre.2022.1184" + }, + { + "key": "e_1_3_2_40_2", + "doi-asserted-by": "crossref", + "unstructured": "K. Girotra L. Meincke C. Terwiesch K. T. Ulrich Ideas are dimes a dozen: Large language models for idea generation in innovation (2023); http://dx.doi.org/10.2139/ssrn.4526071.", + "DOI": "10.2139/ssrn.4526071" + }, + { + "key": "e_1_3_2_41_2", + "doi-asserted-by": "crossref", + "unstructured": "A. R. Doshi J. J. Bell E. Mirzayev B. Vanneste Generative artificial intelligence and evaluating strategic decisions (2024); http://dx.doi.org/10.2139/ssrn.4714776.", + "DOI": "10.2139/ssrn.4714776" + }, + { + "key": "e_1_3_2_42_2", + "doi-asserted-by": "publisher", + "DOI": "10.1016/j.jbef.2017.12.004" + }, + { + "key": "e_1_3_2_43_2", + "doi-asserted-by": "publisher", + "DOI": "10.1126/science.162.3859.1243" + } + ], + "container-title": "Science Advances", + "original-title": [], + "language": "en", + "link": [ + { + "URL": "https://www.science.org/doi/pdf/10.1126/sciadv.adn5290", + "content-type": "unspecified", + "content-version": "vor", + "intended-application": "similarity-checking" + } + ], + "deposited": { + "date-parts": [ + [ + 2024, + 7, + 12 + ] + ], + "date-time": "2024-07-12T13:59:58Z", + "timestamp": 1720792798000 + }, + "score": 1, + "resource": { + "primary": { + "URL": "https://www.science.org/doi/10.1126/sciadv.adn5290" + } + }, + "subtitle": [], + "short-title": [], + "issued": { + "date-parts": [ + [ + 2024, + 7, + 12 + ] + ] + }, + "references-count": 42, + "journal-issue": { + "issue": "28", + "published-print": { + "date-parts": [ + [ + 2024, + 7, + 12 + ] + ] + } + }, + "alternative-id": [ + "10.1126/sciadv.adn5290" + ], + "URL": "http://dx.doi.org/10.1126/sciadv.adn5290", + "relation": { + "has-preprint": [ + { + "id-type": "doi", + "id": "10.2139/ssrn.4535536", + "asserted-by": "object" + } + ] + }, + "ISSN": [ + "2375-2548" + ], + "subject": [], + "container-title-short": "Sci. Adv.", + "published": { + "date-parts": [ + [ + 2024, + 7, + 12 + ] + ] + }, + "assertion": [ + { + "value": "2023-12-14", + "order": 0, + "name": "received", + "label": "Received", + "group": { + "name": "publication_history", + "label": "Publication History" + } + }, + { + "value": "2024-06-07", + "order": 2, + "name": "accepted", + "label": "Accepted", + "group": { + "name": "publication_history", + "label": "Publication History" + } + }, + { + "value": "2024-07-12", + "order": 3, + "name": "published", + "label": "Published", + "group": { + "name": "publication_history", + "label": "Publication History" + } + } + ], + "article-number": "eadn5290", + "id": "ref80", + "note": "Manuscript reference 80" + } +] \ No newline at end of file diff --git a/paper/pnas/refs/references.ris b/paper/pnas/refs/references.ris new file mode 100644 index 0000000..417d33c --- /dev/null +++ b/paper/pnas/refs/references.ris @@ -0,0 +1,1393 @@ +TY - JOUR +AU - Laufer, Benjamin +AU - Oderinwale, Hamidah +AU - Kleinberg, Jon +TI - Anatomy of a Machine Learning Ecosystem: 2 Million Models on Hugging Face +T2 - arXiv +AN - arXiv:2508.06811 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2508.06811 +UR - https://arxiv.org/abs/2508.06811 +AB - Many have observed that the development and deployment of generative machine learning (ML) and artificial intelligence (AI) models follow a distinctive pattern in which pre-trained models are adapted and fine-tuned for specific downstream tasks. However, there is limited empirical work that examines the structure of these interactions. This paper analyzes 1.86 million models on Hugging Face, a leading peer production platform for model development. Our study of model family trees -- networks that connect fine-tuned models to their base or parent -- reveals sprawling fine-tuning lineages that vary widely in size and structure. Using an evolutionary biology lens to study ML models, we use model metadata and model cards to measure the genetic similarity and mutation of traits over model families. We find that models tend to exhibit a family resemblance, meaning their genetic markers and traits exhibit more overlap when they belong to the same model family. However, these similarities depart in certain ways from standard models of asexual reproduction, because mutations are fast and directed, such that two `sibling' models tend to exhibit more similarity than parent/child pairs. Further analysis of the directional drifts of these mutations reveals qualitative insights about the open machine learning ecosystem: Licenses counter-intuitively drift from restrictive, commercial licenses towards permissive or copyleft licenses, often in violation of upstream license's terms; models evolve from multi-lingual compatibility towards english-only compatibility; and model cards reduce in length and standardize by turning, more often, to templates and automatically generated text. Overall, this work takes a step toward an empirically grounded understanding of model fine-tuning and suggests that ecological models and methods can yield novel scientific insights. +N1 - Manuscript reference 1 +ER - +TY - JOUR +AU - Horwitz, Eliahu +AU - Shul, Asaf +AU - Hoshen, Yedid +TI - Unsupervised Model Tree Heritage Recovery +T2 - arXiv +AN - arXiv:2405.18432 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2405.18432 +UR - https://arxiv.org/abs/2405.18432 +AB - The number of models shared online has recently skyrocketed, with over one million public models available on Hugging Face. Sharing models allows other users to build on existing models, using them as initialization for fine-tuning, improving accuracy, and saving compute and energy. However, it also raises important intellectual property issues, as fine-tuning may violate the license terms of the original model or that of its training data. A Model Tree, i.e., a tree data structure rooted at a foundation model and having directed edges between a parent model and other models directly fine-tuned from it (children), would settle such disputes by making the model heritage explicit. Unfortunately, current models are not well documented, with most model metadata (e.g., "model cards") not providing accurate information about heritage. In this paper, we introduce the task of Unsupervised Model Tree Heritage Recovery (Unsupervised MoTHer Recovery) for collections of neural networks. For each pair of models, this task requires: i) determining if they are directly related, and ii) establishing the direction of the relationship. Our hypothesis is that model weights encode this information, the challenge is to decode the underlying tree structure given the weights. We discover several properties of model weights that allow us to perform this task. By using these properties, we formulate the MoTHer Recovery task as finding a directed minimal spanning tree. In extensive experiments we demonstrate that our method successfully reconstructs complex Model Trees. +N1 - Manuscript reference 2 +ER - +TY - JOUR +AU - Jiang, Wenxin +AU - Yasmin, Jerin +AU - Jones, Jason +AU - Synovic, Nicholas +AU - Kuo, Jiashen +AU - Bielanski, Nathaniel +AU - Tian, Yuan +AU - Thiruvathukal, George K. +AU - Davis, James C. +TI - PeaTMOSS: A Dataset and Initial Analysis of Pre-Trained Models in Open-Source Software +T2 - arXiv +AN - arXiv:2402.00699 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2402.00699 +UR - https://arxiv.org/abs/2402.00699 +AB - The development and training of deep learning models have become increasingly costly and complex. Consequently, software engineers are adopting pre-trained models (PTMs) for their downstream applications. The dynamics of the PTM supply chain remain largely unexplored, signaling a clear need for structured datasets that document not only the metadata but also the subsequent applications of these models. Without such data, the MSR community cannot comprehensively understand the impact of PTM adoption and reuse. This paper presents the PeaTMOSS dataset, which comprises metadata for 281,638 PTMs and detailed snapshots for all PTMs with over 50 monthly downloads (14,296 PTMs), along with 28,575 open-source software repositories from GitHub that utilize these models. Additionally, the dataset includes 44,337 mappings from 15,129 downstream GitHub repositories to the 2,530 PTMs they use. To enhance the dataset's comprehensiveness, we developed prompts for a large language model to automatically extract model metadata, including the model's training datasets, parameters, and evaluation metrics. Our analysis of this dataset provides the first summary statistics for the PTM supply chain, showing the trend of PTM development and common shortcomings of PTM package documentation. Our example application reveals inconsistencies in software licenses across PTMs and their dependent projects. PeaTMOSS lays the foundation for future research, offering rich opportunities to investigate the PTM supply chain. We outline mining opportunities on PTMs, their downstream usage, and cross-cutting questions. +N1 - Manuscript reference 3 +ER - +TY - JOUR +AU - Yadav, Prateek +AU - Tam, Derek +AU - Choshen, Leshem +AU - Raffel, Colin +AU - Bansal, Mohit +TI - TIES-Merging: Resolving Interference When Merging Models +T2 - arXiv +AN - arXiv:2306.01708 +PY - 2023 +PB - arXiv +DO - 10.48550/arXiv.2306.01708 +UR - https://arxiv.org/abs/2306.01708 +AB - Transfer learning - i.e., further fine-tuning a pre-trained model on a downstream task - can confer significant advantages, including improved downstream performance, faster convergence, and better sample efficiency. These advantages have led to a proliferation of task-specific fine-tuned models, which typically can only perform a single task and do not benefit from one another. Recently, model merging techniques have emerged as a solution to combine multiple task-specific models into a single multitask model without performing additional training. However, existing merging methods often ignore the interference between parameters of different models, resulting in large performance drops when merging multiple models. In this paper, we demonstrate that prior merging techniques inadvertently lose valuable information due to two major sources of interference: (a) interference due to redundant parameter values and (b) disagreement on the sign of a given parameter's values across models. To address this, we propose our method, TRIM, ELECT SIGN & MERGE (TIES-Merging), which introduces three novel steps when merging models: (1) resetting parameters that only changed a small amount during fine-tuning, (2) resolving sign conflicts, and (3) merging only the parameters that are in alignment with the final agreed-upon sign. We find that TIES-Merging outperforms several existing methods in diverse settings covering a range of modalities, domains, number of tasks, model sizes, architectures, and fine-tuning settings. We further analyze the impact of different types of interference on model parameters, and highlight the importance of resolving sign interference. Our code is available at https://github.com/prateeky2806/ties-merging +N1 - Manuscript reference 4 +ER - +TY - JOUR +AU - Akiba, Takuya +AU - Shing, Makoto +AU - Tang, Yujin +AU - Sun, Qi +AU - Ha, David +TI - Evolutionary optimization of model merging recipes +T2 - Nature Machine Intelligence +PY - 2025 +VL - 7 +IS - 2 +PB - Springer Science and Business Media LLC +DO - 10.1038/s42256-024-00975-8 +UR - http://dx.doi.org/10.1038/s42256-024-00975-8 +AB - Abstract Large language models (LLMs) have become increasingly capable, but their development often requires substantial computational resources. Although model merging has emerged as a cost-effective promising approach for creating new models by combining existing ones, it currently relies on human intuition and domain knowledge, limiting its potential. Here we propose an evolutionary approach that overcomes this limitation by automatically discovering effective combinations of diverse open-source models, harnessing their collective intelligence without requiring extensive additional training data or compute. Our approach operates in both parameter space and data flow space, allowing optimization beyond just the weights of the individual models. This approach even facilitates cross-domain merging, generating models such as a Japanese LLM with math reasoning capabilities. Surprisingly, our Japanese math LLM achieved state-of-the-art performance on a variety of established Japanese LLM benchmarks, even surpassing models with substantially more parameters, despite not being explicitly trained for such tasks. Furthermore, a culturally aware Japanese vision–language model generated through our approach demonstrates its effectiveness in describing Japanese culture-specific content, outperforming previous Japanese vision–language models. This work not only contributes new state-of-the-art models back to the open-source community but also introduces a new paradigm for automated model composition, paving the way for exploring alternative, efficient approaches to foundation model development. +SP - 195 +EP - 204 +N1 - Manuscript reference 5 +ER - +TY - JOUR +AU - Goddard, Charles +AU - Siriwardhana, Shamane +AU - Ehghaghi, Malikeh +AU - Meyers, Luke +AU - Karpukhin, Vlad +AU - Benedict, Brian +AU - McQuade, Mark +AU - Solawetz, Jacob +TI - Arcee's MergeKit: A Toolkit for Merging Large Language Models +T2 - arXiv +AN - arXiv:2403.13257 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2403.13257 +UR - https://arxiv.org/abs/2403.13257 +AB - The rapid expansion of the open-source language model landscape presents an opportunity to merge the competencies of these model checkpoints by combining their parameters. Advances in transfer learning, the process of fine-tuning pretrained models for specific tasks, has resulted in the development of vast amounts of task-specific models, typically specialized in individual tasks and unable to utilize each other's strengths. Model merging facilitates the creation of multitask models without the need for additional training, offering a promising avenue for enhancing model performance and versatility. By preserving the intrinsic capabilities of the original models, model merging addresses complex challenges in AI - including the difficulties of catastrophic forgetting and multitask learning. To support this expanding area of research, we introduce MergeKit, a comprehensive, open-source library designed to facilitate the application of model merging strategies. MergeKit offers an extensible framework to efficiently merge models on any hardware, providing utility to researchers and practitioners. To date, thousands of models have been merged by the open-source community, leading to the creation of some of the worlds most powerful open-source model checkpoints, as assessed by the Open LLM Leaderboard. The library is accessible at https://github.com/arcee-ai/MergeKit. +N1 - Manuscript reference 6 +ER - +TY - JOUR +AU - Yang, Enneng +AU - Shen, Li +AU - Guo, Guibing +AU - Wang, Xingwei +AU - Cao, Xiaochun +AU - Zhang, Jie +AU - Tao, Dacheng +TI - Model Merging in LLMs, MLLMs, and Beyond: Methods, Theories, Applications and Opportunities +T2 - arXiv +AN - arXiv:2408.07666 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2408.07666 +UR - https://arxiv.org/abs/2408.07666 +AB - Model merging is an efficient empowerment technique in the machine learning community that does not require the collection of raw training data and does not require expensive computation. As model merging becomes increasingly prevalent across various fields, it is crucial to understand the available model merging techniques comprehensively. However, there is a significant gap in the literature regarding a systematic and thorough review of these techniques. This survey provides a comprehensive overview of model merging methods and theories, their applications in various domains and settings, and future research directions. Specifically, we first propose a new taxonomic approach that exhaustively discusses existing model merging methods. Secondly, we discuss the application of model merging techniques in large language models, multimodal large language models, and more than ten machine learning subfields, including continual learning, multi-task learning, few-shot learning, etc. Finally, we highlight the remaining challenges of model merging and discuss future research directions. A comprehensive list of papers about model merging is available at https://github.com/EnnengYang/Awesome-Model-Merging-Methods-Theories-Applications. +N1 - Manuscript reference 7 +ER - +TY - JOUR +AU - Zhang, Yiqun +AU - Ye, Peng +AU - Yang, Xiaocui +AU - Feng, Shi +AU - Zhang, Shufei +AU - Bai, Lei +AU - Ouyang, Wanli +AU - Hu, Shuyue +TI - Nature-Inspired Population-Based Evolution of Large Language Models +T2 - arXiv +AN - arXiv:2503.01155 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2503.01155 +UR - https://arxiv.org/abs/2503.01155 +AB - Evolution, the engine behind the survival and growth of life on Earth, operates through the population-based process of reproduction. Inspired by this principle, this paper formally defines a newly emerging problem -- the population-based evolution of large language models (LLMs) -- and introduces a novel framework. Starting with a population of parent LLMs, our framework enables the population to evolve through four key operations: (i) crossover, merging the weights of different parents to create offspring LLMs, (ii) mutation, introducing small, random changes to model weights to foster diversity, (iii) selection, prioritizing high-performing models, and (iv) succession, transferring the learned experience from parent to offspring LLMs. With only 200 samples per new task, the LLM population evolves rapidly to adapt to the task at hand, without any gradients. Experiments on 12 datasets show that our framework consistently outperforms existing multi-LLM merging and adaptation methods, achieving accuracy gains of up to 54.8% over the best LLM in the initial population. Moreover, our framework allows for the evolution of LLMs across multiple new tasks simultaneously, scaling effectively with populations of up to 40 LLMs, and even zero-shot generalization to unseen held-out tasks. We have open-sourced the code on GitHub and released the weights of 10 parent LLMs, fine-tuned from gemma-2-2b-it, on HuggingFace$, enabling reproduction of our proposed framework using just a single 4090 GPU with 24GB memory, without any performance degradation. +N1 - Manuscript reference 8 +ER - +TY - JOUR +AU - Abrantes, João +AU - Lange, Robert Tjarko +AU - Tang, Yujin +TI - Competition and Attraction Improve Model Fusion +T2 - arXiv +AN - arXiv:2508.16204 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2508.16204 +UR - https://arxiv.org/abs/2508.16204 +AB - Model merging is a powerful technique for integrating the specialized knowledge of multiple machine learning models into a single model. However, existing methods require manually partitioning model parameters into fixed groups for merging, which restricts the exploration of potential combinations and limits performance. To overcome these limitations, we propose Model Merging of Natural Niches (M2N2), an evolutionary algorithm with three key features: (1) dynamic adjustment of merging boundaries to progressively explore a broader range of parameter combinations; (2) a diversity preservation mechanism inspired by the competition for resources in nature, to maintain a population of diverse, high-performing models that are particularly well-suited for merging; and (3) a heuristicbased attraction metric to identify the most promising pairs of models for fusion. Our experimental results demonstrate, for the first time, that model merging can be used to evolve models entirely from scratch. Specifically, we apply M2N2 to evolve MNIST classifiers from scratch and achieve performance comparable to CMA-ES, while being computationally more efficient. Furthermore, M2N2 scales to merge specialized language and image generation models, achieving state-of-the-art performance. Notably, it preserves crucial model capabilities beyond those explicitly optimized by the fitness function, highlighting its robustness and versatility. Our code is available at https://github.com/SakanaAI/natural_niches +N1 - Manuscript reference 9 +ER - +TY - JOUR +AU - Subramaniam, Vighnesh +AU - Du, Yilun +AU - Tenenbaum, Joshua B. +AU - Torralba, Antonio +AU - Li, Shuang +AU - Mordatch, Igor +TI - Multiagent Finetuning: Self Improvement with Diverse Reasoning Chains +T2 - arXiv +AN - arXiv:2501.05707 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2501.05707 +UR - https://arxiv.org/abs/2501.05707 +AB - Large language models (LLMs) have achieved remarkable performance in recent years but are fundamentally limited by the underlying training data. To improve models beyond the training data, recent works have explored how LLMs can be used to generate synthetic data for autonomous self-improvement. However, successive steps of self-improvement can reach a point of diminishing returns. In this work, we propose a complementary approach towards self-improvement where finetuning is applied to a multiagent society of language models. A group of language models, all starting from the same base model, are independently specialized by updating each one using data generated through multiagent interactions among the models. By training each model on independent sets of data, we illustrate how this approach enables specialization across models and diversification over the set of models. As a result, our overall system is able to preserve diverse reasoning chains and autonomously improve over many more rounds of fine-tuning than single-agent self-improvement methods. We quantitatively illustrate the efficacy of the approach across a wide suite of reasoning tasks. +N1 - Manuscript reference 10 +ER - +TY - JOUR +AU - Nvidia +AU - : +AU - Adler, Bo +AU - Agarwal, Niket +AU - Aithal, Ashwath +AU - Anh, Dong H. +AU - Bhattacharya, Pallab +AU - Brundyn, Annika +AU - Casper, Jared +AU - Catanzaro, Bryan +AU - Clay, Sharon +AU - Cohen, Jonathan +AU - Das, Sirshak +AU - Dattagupta, Ayush +AU - Delalleau, Olivier +AU - Derczynski, Leon +AU - Dong, Yi +AU - Egert, Daniel +AU - Evans, Ellie +AU - Ficek, Aleksander +AU - Fridman, Denys +AU - Ghosh, Shaona +AU - Ginsburg, Boris +AU - Gitman, Igor +AU - Grzegorzek, Tomasz +AU - Hero, Robert +AU - Huang, Jining +AU - Jawa, Vibhu +AU - Jennings, Joseph +AU - Jhunjhunwala, Aastha +AU - Kamalu, John +AU - Khan, Sadaf +AU - Kuchaiev, Oleksii +AU - LeGresley, Patrick +AU - Li, Hui +AU - Liu, Jiwei +AU - Liu, Zihan +AU - Long, Eileen +AU - Mahabaleshwarkar, Ameya Sunil +AU - Majumdar, Somshubra +AU - Maki, James +AU - Martinez, Miguel +AU - de Melo, Maer Rodrigues +AU - Moshkov, Ivan +AU - Narayanan, Deepak +AU - Narenthiran, Sean +AU - Navarro, Jesus +AU - Nguyen, Phong +AU - Nitski, Osvald +AU - Noroozi, Vahid +AU - Nutheti, Guruprasad +AU - Parisien, Christopher +AU - Parmar, Jupinder +AU - Patwary, Mostofa +AU - Pawelec, Krzysztof +AU - Ping, Wei +AU - Prabhumoye, Shrimai +AU - Roy, Rajarshi +AU - Saar, Trisha +AU - Sabavat, Vasanth Rao Naik +AU - Satheesh, Sanjeev +AU - Scowcroft, Jane Polak +AU - Sewall, Jason +AU - Shamis, Pavel +AU - Shen, Gerald +AU - Shoeybi, Mohammad +AU - Sizer, Dave +AU - Smelyanskiy, Misha +AU - Soares, Felipe +AU - Sreedhar, Makesh Narsimhan +AU - Su, Dan +AU - Subramanian, Sandeep +AU - Sun, Shengyang +AU - Toshniwal, Shubham +AU - Wang, Hao +AU - Wang, Zhilin +AU - You, Jiaxuan +AU - Zeng, Jiaqi +AU - Zhang, Jimmy +AU - Zhang, Jing +AU - Zhang, Vivienne +AU - Zhang, Yian +AU - Zhu, Chen +TI - Nemotron-4 340B Technical Report +T2 - arXiv +AN - arXiv:2406.11704 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2406.11704 +UR - https://arxiv.org/abs/2406.11704 +AB - We release the Nemotron-4 340B model family, including Nemotron-4-340B-Base, Nemotron-4-340B-Instruct, and Nemotron-4-340B-Reward. Our models are open access under the NVIDIA Open Model License Agreement, a permissive model license that allows distribution, modification, and use of the models and its outputs. These models perform competitively to open access models on a wide range of evaluation benchmarks, and were sized to fit on a single DGX H100 with 8 GPUs when deployed in FP8 precision. We believe that the community can benefit from these models in various research studies and commercial applications, especially for generating synthetic data to train smaller language models. Notably, over 98% of data used in our model alignment process is synthetically generated, showcasing the effectiveness of these models in generating synthetic data. To further support open research and facilitate model development, we are also open-sourcing the synthetic data generation pipeline used in our model alignment process. +N1 - Manuscript reference 11 +ER - +TY - JOUR +AU - Abdin, Marah +AU - Aneja, Jyoti +AU - Behl, Harkirat +AU - Bubeck, Sébastien +AU - Eldan, Ronen +AU - Gunasekar, Suriya +AU - Harrison, Michael +AU - Hewett, Russell J. +AU - Javaheripi, Mojan +AU - Kauffmann, Piero +AU - Lee, James R. +AU - Lee, Yin Tat +AU - Li, Yuanzhi +AU - Liu, Weishung +AU - Mendes, Caio C. T. +AU - Nguyen, Anh +AU - Price, Eric +AU - de Rosa, Gustavo +AU - Saarikivi, Olli +AU - Salim, Adil +AU - Shah, Shital +AU - Wang, Xin +AU - Ward, Rachel +AU - Wu, Yue +AU - Yu, Dingli +AU - Zhang, Cyril +AU - Zhang, Yi +TI - Phi-4 Technical Report +T2 - arXiv +AN - arXiv:2412.08905 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2412.08905 +UR - https://arxiv.org/abs/2412.08905 +AB - We present phi-4, a 14-billion parameter language model developed with a training recipe that is centrally focused on data quality. Unlike most language models, where pre-training is based primarily on organic data sources such as web content or code, phi-4 strategically incorporates synthetic data throughout the training process. While previous models in the Phi family largely distill the capabilities of a teacher model (specifically GPT-4), phi-4 substantially surpasses its teacher model on STEM-focused QA capabilities, giving evidence that our data-generation and post-training techniques go beyond distillation. Despite minimal changes to the phi-3 architecture, phi-4 achieves strong performance relative to its size -- especially on reasoning-focused benchmarks -- due to improved data, training curriculum, and innovations in the post-training scheme. +N1 - Manuscript reference 12 +ER - +TY - JOUR +AU - Wang, Yizhong +AU - Kordi, Yeganeh +AU - Mishra, Swaroop +AU - Liu, Alisa +AU - Smith, Noah A. +AU - Khashabi, Daniel +AU - Hajishirzi, Hannaneh +TI - Self-Instruct: Aligning Language Models with Self-Generated Instructions +T2 - arXiv +AN - arXiv:2212.10560 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2212.10560 +UR - https://arxiv.org/abs/2212.10560 +AB - Large "instruction-tuned" language models (i.e., finetuned to respond to instructions) have demonstrated a remarkable ability to generalize zero-shot to new tasks. Nevertheless, they depend heavily on human-written instruction data that is often limited in quantity, diversity, and creativity, therefore hindering the generality of the tuned model. We introduce Self-Instruct, a framework for improving the instruction-following capabilities of pretrained language models by bootstrapping off their own generations. Our pipeline generates instructions, input, and output samples from a language model, then filters invalid or similar ones before using them to finetune the original model. Applying our method to the vanilla GPT3, we demonstrate a 33% absolute improvement over the original model on Super-NaturalInstructions, on par with the performance of InstructGPT-001, which was trained with private user data and human annotations. For further evaluation, we curate a set of expert-written instructions for novel tasks, and show through human evaluation that tuning GPT3 with Self-Instruct outperforms using existing public instruction datasets by a large margin, leaving only a 5% absolute gap behind InstructGPT-001. Self-Instruct provides an almost annotation-free method for aligning pre-trained language models with instructions, and we release our large synthetic dataset to facilitate future studies on instruction tuning. Our code and data are available at https://github.com/yizhongw/self-instruct. +N1 - Manuscript reference 13 +ER - +TY - JOUR +AU - Thompson, Brian +AU - Dhaliwal, Mehak Preet +AU - Frisch, Peter +AU - Domhan, Tobias +AU - Federico, Marcello +TI - A Shocking Amount of the Web is Machine Translated: Insights from Multi-Way Parallelism +T2 - arXiv +AN - arXiv:2401.05749 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2401.05749 +UR - https://arxiv.org/abs/2401.05749 +AB - We show that content on the web is often translated into many languages, and the low quality of these multi-way translations indicates they were likely created using Machine Translation (MT). Multi-way parallel, machine generated content not only dominates the translations in lower resource languages; it also constitutes a large fraction of the total web content in those languages. We also find evidence of a selection bias in the type of content which is translated into many languages, consistent with low quality English content being translated en masse into many lower resource languages, via MT. Our work raises serious concerns about training models such as multilingual large language models on both monolingual and bilingual data scraped from the web. +N1 - Manuscript reference 14 +ER - +TY - JOUR +AU - Liang, Weixin +AU - Izzo, Zachary +AU - Zhang, Yaohui +AU - Lepp, Haley +AU - Cao, Hancheng +AU - Zhao, Xuandong +AU - Chen, Lingjiao +AU - Ye, Haotian +AU - Liu, Sheng +AU - Huang, Zhi +AU - McFarland, Daniel A. +AU - Zou, James Y. +TI - Monitoring AI-Modified Content at Scale: A Case Study on the Impact of ChatGPT on AI Conference Peer Reviews +T2 - arXiv +AN - arXiv:2403.07183 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2403.07183 +UR - https://arxiv.org/abs/2403.07183 +AB - We present an approach for estimating the fraction of text in a large corpus which is likely to be substantially modified or produced by a large language model (LLM). Our maximum likelihood model leverages expert-written and AI-generated reference texts to accurately and efficiently examine real-world LLM-use at the corpus level. We apply this approach to a case study of scientific peer review in AI conferences that took place after the release of ChatGPT: ICLR 2024, NeurIPS 2023, CoRL 2023 and EMNLP 2023. Our results suggest that between 6.5% and 16.9% of text submitted as peer reviews to these conferences could have been substantially modified by LLMs, i.e. beyond spell-checking or minor writing updates. The circumstances in which generated text occurs offer insight into user behavior: the estimated fraction of LLM-generated text is higher in reviews which report lower confidence, were submitted close to the deadline, and from reviewers who are less likely to respond to author rebuttals. We also observe corpus-level trends in generated text which may be too subtle to detect at the individual level, and discuss the implications of such trends on peer review. We call for future interdisciplinary work to examine how LLM use is changing our information and knowledge practices. +N1 - Manuscript reference 15 +ER - +TY - JOUR +AU - Villalobos, Pablo +AU - Ho, Anson +AU - Sevilla, Jaime +AU - Besiroglu, Tamay +AU - Heim, Lennart +AU - Hobbhahn, Marius +TI - Will we run out of data? Limits of LLM scaling based on human-generated data +T2 - arXiv +AN - arXiv:2211.04325 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2211.04325 +UR - https://arxiv.org/abs/2211.04325 +AB - We investigate the potential constraints on LLM scaling posed by the availability of public human-generated text data. We forecast the growing demand for training data based on current trends and estimate the total stock of public human text data. Our findings indicate that if current LLM development trends continue, models will be trained on datasets roughly equal in size to the available stock of public human text data between 2026 and 2032, or slightly earlier if models are overtrained. We explore how progress in language modeling can continue when human-generated text datasets cannot be scaled any further. We argue that synthetic data generation, transfer learning from data-rich domains, and data efficiency improvements might support further progress. +N1 - Manuscript reference 16 +ER - +TY - JOUR +AU - Brinkmann, Levin +AU - Baumann, Fabian +AU - Bonnefon, Jean-François +AU - Derex, Maxime +AU - Müller, Thomas F. +AU - Nussberger, Anne-Marie +AU - Czaplicka, Agnieszka +AU - Acerbi, Alberto +AU - Griffiths, Thomas L. +AU - Henrich, Joseph +AU - Leibo, Joel Z. +AU - McElreath, Richard +AU - Oudeyer, Pierre-Yves +AU - Stray, Jonathan +AU - Rahwan, Iyad +TI - Machine culture +T2 - Nature Human Behaviour +PY - 2023 +VL - 7 +IS - 11 +PB - Springer Science and Business Media LLC +DO - 10.1038/s41562-023-01742-2 +UR - http://dx.doi.org/10.1038/s41562-023-01742-2 +SP - 1855 +EP - 1868 +N1 - Manuscript reference 17 +ER - +TY - JOUR +AU - Park, Joon Sung +AU - O'Brien, Joseph C. +AU - Cai, Carrie J. +AU - Morris, Meredith Ringel +AU - Liang, Percy +AU - Bernstein, Michael S. +TI - Generative Agents: Interactive Simulacra of Human Behavior +T2 - arXiv +AN - arXiv:2304.03442 +PY - 2023 +PB - arXiv +DO - 10.48550/arXiv.2304.03442 +UR - https://arxiv.org/abs/2304.03442 +AB - Believable proxies of human behavior can empower interactive applications ranging from immersive environments to rehearsal spaces for interpersonal communication to prototyping tools. In this paper, we introduce generative agents--computational software agents that simulate believable human behavior. Generative agents wake up, cook breakfast, and head to work; artists paint, while authors write; they form opinions, notice each other, and initiate conversations; they remember and reflect on days past as they plan the next day. To enable generative agents, we describe an architecture that extends a large language model to store a complete record of the agent's experiences using natural language, synthesize those memories over time into higher-level reflections, and retrieve them dynamically to plan behavior. We instantiate generative agents to populate an interactive sandbox environment inspired by The Sims, where end users can interact with a small town of twenty five agents using natural language. In an evaluation, these generative agents produce believable individual and emergent social behaviors: for example, starting with only a single user-specified notion that one agent wants to throw a Valentine's Day party, the agents autonomously spread invitations to the party over the next two days, make new acquaintances, ask each other out on dates to the party, and coordinate to show up for the party together at the right time. We demonstrate through ablation that the components of our agent architecture--observation, planning, and reflection--each contribute critically to the believability of agent behavior. By fusing large language models with computational, interactive agents, this work introduces architectural and interaction patterns for enabling believable simulations of human behavior. +N1 - Manuscript reference 18 +ER - +TY - JOUR +AU - Guo, Taicheng +AU - Chen, Xiuying +AU - Wang, Yaqi +AU - Chang, Ruidi +AU - Pei, Shichao +AU - Chawla, Nitesh V. +AU - Wiest, Olaf +AU - Zhang, Xiangliang +TI - Large Language Model based Multi-Agents: A Survey of Progress and Challenges +T2 - arXiv +AN - arXiv:2402.01680 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2402.01680 +UR - https://arxiv.org/abs/2402.01680 +AB - Large Language Models (LLMs) have achieved remarkable success across a wide array of tasks. Due to the impressive planning and reasoning abilities of LLMs, they have been used as autonomous agents to do many tasks automatically. Recently, based on the development of using one LLM as a single planning or decision-making agent, LLM-based multi-agent systems have achieved considerable progress in complex problem-solving and world simulation. To provide the community with an overview of this dynamic field, we present this survey to offer an in-depth discussion on the essential aspects of multi-agent systems based on LLMs, as well as the challenges. Our goal is for readers to gain substantial insights on the following questions: What domains and environments do LLM-based multi-agents simulate? How are these agents profiled and how do they communicate? What mechanisms contribute to the growth of agents' capacities? For those interested in delving into this field of study, we also summarize the commonly used datasets or benchmarks for them to have convenient access. To keep researchers updated on the latest studies, we maintain an open-source GitHub repository, dedicated to outlining the research on LLM-based multi-agent systems. +N1 - Manuscript reference 19 +ER - +TY - JOUR +AU - Tomasev, Nenad +AU - Franklin, Matija +AU - Leibo, Joel Z. +AU - Jacobs, Julian +AU - Cunningham, William A. +AU - Gabriel, Iason +AU - Osindero, Simon +TI - Virtual Agent Economies +T2 - arXiv +AN - arXiv:2509.10147 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2509.10147 +UR - https://arxiv.org/abs/2509.10147 +AB - The rapid adoption of autonomous AI agents is giving rise to a new economic layer where agents transact and coordinate at scales and speeds beyond direct human oversight. We propose the "sandbox economy" as a framework for analyzing this emergent system, characterizing it along two key dimensions: its origins (emergent vs. intentional) and its degree of separateness from the established human economy (permeable vs. impermeable). Our current trajectory points toward a spontaneous emergence of a vast and highly permeable AI agent economy, presenting us with opportunities for an unprecedented degree of coordination as well as significant challenges, including systemic economic risk and exacerbated inequality. Here we discuss a number of possible design choices that may lead to safely steerable AI agent markets. In particular, we consider auction mechanisms for fair resource allocation and preference resolution, the design of AI "mission economies" to coordinate around achieving collective goals, and socio-technical infrastructure needed to ensure trust, safety, and accountability. By doing this, we argue for the proactive design of steerable agent markets to ensure the coming technological shift aligns with humanity's long-term collective flourishing. +N1 - Manuscript reference 20 +ER - +TY - JOUR +AU - Shumailov, Ilia +AU - Shumaylov, Zakhar +AU - Zhao, Yiren +AU - Papernot, Nicolas +AU - Anderson, Ross +AU - Gal, Yarin +TI - AI models collapse when trained on recursively generated data +T2 - Nature +PY - 2024 +VL - 631 +IS - 8022 +PB - Springer Science and Business Media LLC +DO - 10.1038/s41586-024-07566-y +UR - http://dx.doi.org/10.1038/s41586-024-07566-y +AB - Abstract Stable diffusion revolutionized image creation from descriptive text. GPT-2 (ref. 1 ), GPT-3(.5) (ref. 2 ) and GPT-4 (ref. 3 ) demonstrated high performance across a variety of language tasks. ChatGPT introduced such language models to the public. It is now clear that generative artificial intelligence (AI) such as large language models (LLMs) is here to stay and will substantially change the ecosystem of online text and images. Here we consider what may happen to GPT-{ n } once LLMs contribute much of the text found online. We find that indiscriminate use of model-generated content in training causes irreversible defects in the resulting models, in which tails of the original content distribution disappear. We refer to this effect as ‘model collapse’ and show that it can occur in LLMs as well as in variational autoencoders (VAEs) and Gaussian mixture models (GMMs). We build theoretical intuition behind the phenomenon and portray its ubiquity among all learned generative models. We demonstrate that it must be taken seriously if we are to sustain the benefits of training from large-scale data scraped from the web. Indeed, the value of data collected about genuine human interactions with systems will be increasingly valuable in the presence of LLM-generated content in data crawled from the Internet. +SP - 755 +EP - 759 +N1 - Manuscript reference 21 +ER - +TY - JOUR +AU - Crutchfield, James P. +AU - Whalen, Sean +TI - Structural Drift: The Population Dynamics of Sequential Learning +T2 - PLoS Computational Biology +A2 - Bergstrom, Carl T. +PY - 2012 +VL - 8 +IS - 6 +PB - Public Library of Science (PLoS) +DO - 10.1371/journal.pcbi.1002510 +UR - http://dx.doi.org/10.1371/journal.pcbi.1002510 +SP - e1002510 +N1 - Manuscript reference 22 +ER - +TY - JOUR +AU - Riis, Søren +TI - Drift and selection in LLM text ecosystems +T2 - arXiv +AN - arXiv:2604.08554 +PY - 2026 +PB - arXiv +DO - 10.48550/arXiv.2604.08554 +UR - https://arxiv.org/abs/2604.08554 +AB - The public text record -- the material from which both people and AI systems now learn -- is increasingly shaped by its own outputs. Generated text enters the public record, later agents learn from it, and the cycle repeats. Here we develop an exactly solvable mathematical framework for this recursive process, based on variable-order $n$-gram agents, and separate two forces acting on the public corpus. The first is drift: unfiltered reuse progressively removes rare forms, and in the infinite-corpus limit we characterise the stable distributions exactly. The second is selection: publication, ranking and verification filter what enters the record, and the outcome depends on what is selected. When publication merely reflects the statistical status quo, the corpus converges to a shallow state in which further lookahead brings no benefit. When publication is normative -- rewarding quality, correctness or novelty -- deeper structure persists, and we establish an optimal upper bound on the resulting divergence from shallow equilibria. The framework therefore identifies when recursive publication compresses public text and when selective filtering sustains richer structure, with implications for the design of AI training corpora. +N1 - Manuscript reference 23 +ER - +TY - JOUR +AU - Benati, Matteo +AU - Londei, Alessandro +AU - Lanzieri, Denise +AU - Loreto, Vittorio +TI - First-Extinction Law for Resampling Processes +T2 - arXiv +AN - arXiv:2509.20101 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2509.20101 +UR - https://arxiv.org/abs/2509.20101 +AB - Extinction times in resampling processes are fundamental yet often intractable, as previous formulas scale as $2^M$ with the number of states $M$ present in the initial probability distribution. We solve this by treating multinomial updates as independent square-root diffusions of zero drift, yielding a closed-form law for the first-extinction time. We prove that the mean coincides exactly with the Wright-Fisher result of Baxter et al., thereby replacing exponential-cost evaluations with a linear-cost expression, and we validate this result through extensive simulations. Finally, we demonstrate predictive power for model collapse in a simple self-training setup: the onset of collapse coincides with the resampling-driven first-extinction time computed from the model's initial stationary distribution. These results hint to a unified view of resampling extinction dynamics. +N1 - Manuscript reference 24 +ER - +TY - JOUR +AU - Yoon, Youngseok +AU - Hu, Dainong +AU - Weissburg, Iain +AU - Qin, Yao +AU - Jeong, Haewon +TI - Model Collapse in the Self-Consuming Chain of Diffusion Finetuning: A Novel Perspective from Quantitative Trait Modeling +T2 - arXiv +AN - arXiv:2407.17493 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2407.17493 +UR - https://arxiv.org/abs/2407.17493 +AB - Model collapse, the severe degradation of generative models when iteratively trained on their own outputs, has gained significant attention in recent years. This paper examines Chain of Diffusion, where a pretrained text-to-image diffusion model is finetuned on its own generated images. We demonstrate that severe image quality degradation was universal and identify CFG scale as the key factor impacting this model collapse. Drawing on an analogy between the Chain of Diffusion and biological evolution, we then introduce a novel theoretical analysis based on quantitative trait modeling from statistical genetics. Our theoretical analysis aligns with empirical observations of the generated images in the Chain of Diffusion. Finally, we propose Reusable Diffusion Finetuning (ReDiFine), a simple yet effective strategy inspired by genetic mutations. It operates robustly across various scenarios without requiring any hyperparameter tuning, making it a plug-and-play solution for reusable image generation. +N1 - Manuscript reference 25 +ER - +TY - CHAP +AU - McCloskey, Michael +AU - Cohen, Neal J. +TI - Catastrophic Interference in Connectionist Networks: The Sequential Learning Problem +BT - Psychology of Learning and Motivation +PY - 1989 +PB - Elsevier +DO - 10.1016/s0079-7421(08)60536-8 +UR - http://dx.doi.org/10.1016/s0079-7421(08)60536-8 +SP - 109 +EP - 165 +N1 - Manuscript reference 26 +ER - +TY - JOUR +AU - French, R +TI - Catastrophic forgetting in connectionist networks +T2 - Trends in Cognitive Sciences +PY - 1999 +VL - 3 +IS - 4 +PB - Elsevier BV +DO - 10.1016/s1364-6613(99)01294-2 +UR - http://dx.doi.org/10.1016/s1364-6613(99)01294-2 +SP - 128 +EP - 135 +N1 - Manuscript reference 27 +ER - +TY - JOUR +AU - Muller, H.J. +TI - The relation of recombination to mutational advance +T2 - Mutation Research +PY - 1964 +VL - 1 +IS - 1 +PB - Elsevier BV +DO - 10.1016/0027-5107(64)90047-8 +UR - http://dx.doi.org/10.1016/0027-5107(64)90047-8 +SP - 2 +EP - 9 +N1 - Manuscript reference 28 +ER - +TY - JOUR +AU - Yi, Bingji +AU - Liu, Qiyuan +AU - Cheng, Yuwei +AU - Xu, Haifeng +TI - Escaping Model Collapse via Synthetic Data Verification: Near-term Improvements and Long-term Convergence +T2 - arXiv +AN - arXiv:2510.16657 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2510.16657 +UR - https://arxiv.org/abs/2510.16657 +AB - Synthetic data has been increasingly used to train frontier generative models. However, recent studies raise key concerns that iteratively retraining a generative model on its self-generated synthetic data may keep deteriorating model performance, a phenomenon often coined model collapse. In this paper, we investigate ways to modify the synthetic retraining process to avoid model collapse, and even possibly help reverse the trend from collapse to improvement. Our key finding is that by injecting information through an external synthetic data verifier, whether a human or a better model, synthetic retraining will not cause model collapse. Specifically, we situate our theoretical analysis in the fundamental linear regression setting, showing that verifier-guided retraining can yield near-term improvements, but ultimately drives the parameter estimate to the verifier's "knowledge center" in the long run. Our theory further predicts that, unless the verifier is perfectly reliable, these early gains will plateau and may even reverse. Indeed, our experiments across linear regression, Variational Autoencoders (VAEs) trained on MNIST, and fining-tuning SmolLM2-135M on the XSUM task confirm these theoretical insights. +N1 - Manuscript reference 29 +ER - +TY - JOUR +AU - Gerstgrasser, Matthias +AU - Schaeffer, Rylan +AU - Dey, Apratim +AU - Rafailov, Rafael +AU - Sleight, Henry +AU - Hughes, John +AU - Korbak, Tomasz +AU - Agrawal, Rajashree +AU - Pai, Dhruv +AU - Gromov, Andrey +AU - Roberts, Daniel A. +AU - Yang, Diyi +AU - Donoho, David L. +AU - Koyejo, Sanmi +TI - Is Model Collapse Inevitable? Breaking the Curse of Recursion by Accumulating Real and Synthetic Data +T2 - arXiv +AN - arXiv:2404.01413 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2404.01413 +UR - https://arxiv.org/abs/2404.01413 +AB - The proliferation of generative models, combined with pretraining on web-scale data, raises a timely question: what happens when these models are trained on their own generated outputs? Recent investigations into model-data feedback loops proposed that such loops would lead to a phenomenon termed model collapse, under which performance progressively degrades with each model-data feedback iteration until fitted models become useless. However, those studies largely assumed that new data replace old data over time, where an arguably more realistic assumption is that data accumulate over time. In this paper, we ask: what effect does accumulating data have on model collapse? We empirically study this question by pretraining sequences of language models on text corpora. We confirm that replacing the original real data by each generation's synthetic data does indeed tend towards model collapse, then demonstrate that accumulating the successive generations of synthetic data alongside the original real data avoids model collapse; these results hold across a range of model sizes, architectures, and hyperparameters. We obtain similar results for deep generative models on other types of real data: diffusion models for molecule conformation generation and variational autoencoders for image generation. To understand why accumulating data can avoid model collapse, we use an analytically tractable framework introduced by prior work in which a sequence of linear models are fit to the previous models' outputs. Previous work used this framework to show that if data are replaced, the test error increases with the number of model-fitting iterations; we extend this argument to prove that if data instead accumulate, the test error has a finite upper bound independent of the number of iterations, meaning model collapse no longer occurs. +N1 - Manuscript reference 30 +ER - +TY - JOUR +AU - Wright, Sewall +TI - EVOLUTION IN MENDELIAN POPULATIONS +T2 - Genetics +PY - 1931 +VL - 16 +IS - 2 +PB - Oxford University Press (OUP) +DO - 10.1093/genetics/16.2.97 +UR - http://dx.doi.org/10.1093/genetics/16.2.97 +SP - 97 +EP - 159 +N1 - Manuscript reference 31 +ER - +TY - JOUR +AU - Mills, L. Scott +AU - Allendorf, Fred W. +TI - The One‐Migrant‐per‐Generation Rule in Conservation and Management +T2 - Conservation Biology +PY - 1996 +VL - 10 +IS - 6 +PB - Wiley +DO - 10.1046/j.1523-1739.1996.10061509.x +UR - http://dx.doi.org/10.1046/j.1523-1739.1996.10061509.x +AB - In the face of continuing habitat fragmentation and isolation, the optimal level of connectivity between populations has become a central issue in conservation biology. A common rule of thumb holds that one migrant per generation into a subpopulation is sufficient to minimize the loss of polymorphism and heterozygosity within subpopulations while allowing for divergence in allele frequencies among subpopulations. The one‐migrant‐per‐generation rule is based on numerous simplifying assumptions that may not hold in natural populations. We examine the conceptual and theoretical basis of the rule and consider both genetic and nongenetic factors that influence the desired level of connectivity among subpopulations. We conclude that one migrant per generation is a desirable minimum, but it may be inadequate for many natural populations. We suggest that a minimum of 1 and a maximum of 10 migrants per generation would be an appropriate general rule of thumb for genetic purposes, bearing in mind that factors other than genetics may further influence the ideal level of connectivity. +SP - 1509 +EP - 1518 +N1 - Manuscript reference 32 +ER - +TY - JOUR +AU - Jenkin, Fleeming +TI - [Review of] The Origin of Species +T2 - The North British Review +PY - 1867 +VL - 46 +SP - 277 +EP - 318 +N1 - Manuscript reference 33; predates DOIs +ER - +TY - JOUR +AU - Pari, Jyothish +AU - Jelassi, Samy +AU - Agrawal, Pulkit +TI - Collective Model Intelligence Requires Compatible Specialization +T2 - arXiv +AN - arXiv:2411.02207 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2411.02207 +UR - https://arxiv.org/abs/2411.02207 +AB - In this work, we explore the limitations of combining models by averaging intermediate features, referred to as model merging, and propose a new direction for achieving collective model intelligence through what we call compatible specialization. Current methods for model merging, such as parameter and feature averaging, struggle to effectively combine specialized models due to representational divergence during fine-tuning. As models specialize to their individual domains, their internal feature representations become increasingly incompatible, leading to poor performance when attempting to merge them for new tasks. We analyze this phenomenon using centered kernel alignment (CKA) and show that as models specialize, the similarity in their feature space structure diminishes, hindering their capacity for collective use. To address these challenges, we investigate routing-based merging strategies, which offer more flexible methods for combining specialized models by dynamically routing across different layers. This allows us to improve on existing methods by combining features from multiple layers rather than relying on fixed, layer-wise combinations. However, we find that these approaches still face limitations when layers within models are representationally incompatible. Our findings highlight the importance of designing new approaches for model merging that operate on well-defined input and output spaces, similar to how humans communicate through language rather than intermediate neural activations. +N1 - Manuscript reference 34 +ER - +TY - BOOK +AU - Fisher, Ronald A. +TI - The Genetical Theory of Natural Selection +CY - Oxford +PY - 1930 +PB - Clarendon Press +N1 - Manuscript reference 35; predates DOIs +ER - +TY - JOUR +AU - Muller, H. J. +TI - Some Genetic Aspects of Sex +T2 - The American Naturalist +PY - 1932 +VL - 66 +IS - 703 +PB - University of Chicago Press +DO - 10.1086/280418 +UR - http://dx.doi.org/10.1086/280418 +SP - 118 +EP - 138 +N1 - Manuscript reference 36 +ER - +TY - JOUR +AU - Hu, Edward J. +AU - Shen, Yelong +AU - Wallis, Phillip +AU - Allen-Zhu, Zeyuan +AU - Li, Yuanzhi +AU - Wang, Shean +AU - Wang, Lu +AU - Chen, Weizhu +TI - LoRA: Low-Rank Adaptation of Large Language Models +T2 - arXiv +AN - arXiv:2106.09685 +PY - 2021 +PB - arXiv +DO - 10.48550/arXiv.2106.09685 +UR - https://arxiv.org/abs/2106.09685 +AB - An important paradigm of natural language processing consists of large-scale pre-training on general domain data and adaptation to particular tasks or domains. As we pre-train larger models, full fine-tuning, which retrains all model parameters, becomes less feasible. Using GPT-3 175B as an example -- deploying independent instances of fine-tuned models, each with 175B parameters, is prohibitively expensive. We propose Low-Rank Adaptation, or LoRA, which freezes the pre-trained model weights and injects trainable rank decomposition matrices into each layer of the Transformer architecture, greatly reducing the number of trainable parameters for downstream tasks. Compared to GPT-3 175B fine-tuned with Adam, LoRA can reduce the number of trainable parameters by 10,000 times and the GPU memory requirement by 3 times. LoRA performs on-par or better than fine-tuning in model quality on RoBERTa, DeBERTa, GPT-2, and GPT-3, despite having fewer trainable parameters, a higher training throughput, and, unlike adapters, no additional inference latency. We also provide an empirical investigation into rank-deficiency in language model adaptation, which sheds light on the efficacy of LoRA. We release a package that facilitates the integration of LoRA with PyTorch models and provide our implementations and model checkpoints for RoBERTa, DeBERTa, and GPT-2 at https://github.com/microsoft/LoRA. +N1 - Manuscript reference 37 +ER - +TY - JOUR +AU - Kauffman, Stuart +AU - Levin, Simon +TI - Towards a general theory of adaptive walks on rugged landscapes +T2 - Journal of Theoretical Biology +PY - 1987 +VL - 128 +IS - 1 +PB - Elsevier BV +DO - 10.1016/s0022-5193(87)80029-2 +UR - http://dx.doi.org/10.1016/s0022-5193(87)80029-2 +SP - 11 +EP - 45 +N1 - Manuscript reference 38 +ER - +TY - CHAP +AU - Templeton, Alan R. +TI - Coadaptation and outbreeding depression +BT - Conservation Biology: The Science of Scarcity and Diversity +A2 - Soulé, Michael E. +CY - Sunderland, MA +PY - 1986 +PB - Sinauer Associates +SP - 105 +EP - 116 +N1 - Manuscript reference 39; predates DOIs +ER - +TY - JOUR +AU - Lehman, Joel +AU - Stanley, Kenneth O. +TI - Abandoning Objectives: Evolution Through the Search for Novelty Alone +T2 - Evolutionary Computation +PY - 2011 +VL - 19 +IS - 2 +PB - MIT Press - Journals +DO - 10.1162/evco_a_00025 +UR - http://dx.doi.org/10.1162/evco_a_00025 +AB - In evolutionary computation, the fitness function normally measures progress toward an objective in the search space, effectively acting as an objective function. Through deception, such objective functions may actually prevent the objective from being reached. While methods exist to mitigate deception, they leave the underlying pathology untreated: Objective functions themselves may actively misdirect search toward dead ends. This paper proposes an approach to circumventing deception that also yields a new perspective on open-ended evolution. Instead of either explicitly seeking an objective or modeling natural evolution to capture open-endedness, the idea is to simply search for behavioral novelty. Even in an objective-based problem, such novelty search ignores the objective. Because many points in the search space collapse to a single behavior, the search for novelty is often feasible. Furthermore, because there are only so many simple behaviors, the search for novelty leads to increasing complexity. By decoupling open-ended search from artificial life worlds, the search for novelty is applicable to real world problems. Counterintuitively, in the maze navigation and biped walking tasks in this paper, novelty search significantly outperforms objective-based search, suggesting the strange conclusion that some problems are best solved by methods that ignore the objective. The main lesson is the inherent limitation of the objective-based paradigm and the unexploited opportunity to guide search through other means. +SP - 189 +EP - 223 +N1 - Manuscript reference 40 +ER - +TY - JOUR +AU - Thede, Lukas +AU - Roth, Karsten +AU - Bethge, Matthias +AU - Akata, Zeynep +AU - Hartvigsen, Tom +TI - WikiBigEdit: Understanding the Limits of Lifelong Knowledge Editing in LLMs +T2 - arXiv +AN - arXiv:2503.05683 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2503.05683 +UR - https://arxiv.org/abs/2503.05683 +AB - Keeping large language models factually up-to-date is crucial for deployment, yet costly retraining remains a challenge. Knowledge editing offers a promising alternative, but methods are only tested on small-scale or synthetic edit benchmarks. In this work, we aim to bridge research into lifelong knowledge editing to real-world edits at a practically relevant scale. We first introduce WikiBigEdit; a large-scale benchmark of real-world Wikidata edits, built to automatically extend lifelong for future-proof benchmarking. In its first instance, it includes over 500K question-answer pairs for knowledge editing alongside a comprehensive evaluation pipeline. Finally, we use WikiBigEdit to study existing knowledge editing techniques' ability to incorporate large volumes of real-world facts and contrast their capabilities to generic modification techniques such as retrieval augmentation and continual finetuning to acquire a complete picture of the practical extent of current lifelong knowledge editing. +N1 - Manuscript reference 41 +ER - +TY - JOUR +AU - Clemente, Simone +AU - Houidi, Zied Ben +AU - Huet, Alexis +AU - Rossi, Dario +AU - Franzese, Giulio +AU - Michiardi, Pietro +TI - In Praise of Stubbornness: An Empirical Case for Cognitive-Dissonance Aware Continual Update of Knowledge in LLMs +T2 - arXiv +AN - arXiv:2502.04390 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2502.04390 +UR - https://arxiv.org/abs/2502.04390 +AB - Through systematic empirical investigation, we uncover a fundamental and concerning property of Large Language Models: while they can safely learn facts that don't contradict their knowledge, attempting to update facts with contradictory information triggers catastrophic corruption of unrelated knowledge. Unlike humans, who naturally resist contradictory information, these models indiscriminately accept contradictions, leading to devastating interference, destroying up to 80% of unrelated knowledge even when learning as few as 10-100 contradicting facts. To understand whether this interference could be mitigated through selective plasticity, we experiment with targeted network updates, distinguishing between previously used (stubborn) and rarely used (plastic) neurons. We uncover another asymmetry: while sparing frequently-used neurons significantly improves retention of existing knowledge for non-contradictory updates (98% vs 93% with standard updates), contradictory updates trigger catastrophic interference regardless of targeting strategy. This effect which persists across tested model scales (GPT-2 to GPT-J-6B), suggests a fundamental limitation in how neural networks handle contradictions. Finally, we demonstrate that contradictory information can be reliably detected (95%+ accuracy) using simple model features, offering a potential protective mechanism. These findings motivate new architectures that can, like humans, naturally resist contradictions rather than allowing destructive overwrites. +N1 - Manuscript reference 42 +ER - +TY - JOUR +AU - Störk, Julius +TI - Interference and Retention in Continual Learning +T2 - arXiv +AN - arXiv:2607.09202 +PY - 2026 +PB - arXiv +DO - 10.48550/arXiv.2607.09202 +UR - https://arxiv.org/abs/2607.09202 +AB - Continual learning commonly relies on post-hoc mechanisms such as replay, elastic regularization, or distillation. This work argues that forgetting should instead be modeled directly as interference between tasks. In the frozen-feature regime, forgetting from learning a new task is exactly the interference energy induced on the old task. In deep networks, the same quantity is recovered through path-averaged curvature with minimal additional forward passes. When task supports are disjoint, forgetting can be eliminated structurally and when task supports overlap in conflicting directions, a non-zero distortion floor is unavoidable. The same geometry optimally merges models through task-aware orthogonalization. From this analysis we derive Interference-Gated Functional Allocation (IGFA), a replay-free, Fisher-free method that shares directions when tasks align and protects them when they conflict. Across benchmarks, IGFA achieves lossless retention when tasks are structurally separable and moves unavoidable cost from irreversible forgetting into deferred but recoverable plasticity when they are not. It matches the strongest replay-free structural baselines on dissimilar-task streams and improves on unconditional projection when similarity makes transfer worth preserving. +N1 - Manuscript reference 43 +ER - +TY - JOUR +AU - Barton, N. H. +TI - A general model for the evolution of recombination +T2 - Genetical Research +PY - 1995 +VL - 65 +IS - 2 +PB - Wiley +DO - 10.1017/s0016672300033140 +UR - http://dx.doi.org/10.1017/s0016672300033140 +AB - Summary A general representation of multilocus selection is extended to allow recombination to depend on genotype. The equations simplify if modifier alleles have small effects on recombination. The evolution of such modifiers only depends on how they alter recombination between the selected loci, and does not involve dominance in modifier effects. The net selection on modifiers can be found explicitly if epistasis is weak relative to recombination. This analysis shows that recombination can be favoured in two ways: because it impedes the response to epistasis which fluctuates in sign, or because it facilitates the response to directional selection. The first mechanism is implausible, because epistasis must change sign over periods of a few generations: faster or slower fluctuations favour reduced recombination. The second mechanism requires weak negative epistasis between favourable alleles, which may either be increasing, or held in check by mutation. The selection ( s i ) on recombination modifiers depends on the reduction in additive variance of log (fitness) due to linkage disequilibria (υ 1 < 0), and on non-additive variance in log (fitness) ( V ′ 2 , V ′ 3 ,.. epistasis between 2, 3.. loci). For unlinked loci and pairwise epistasis, s i = − (υ 1 + 4 V 2 /3)δ r , where δ r is the average increase in recombination caused by the modifier. The approximations are checked against exact calculations for three loci, and against Charlesworth's analyses of mutation/selection balance (1990), and directional selection (1993). The analysis demonstrates a general relation between selection on recombination and observable components of fitness variation, which is open to experimental test. +SP - 123 +EP - 144 +N1 - Manuscript reference 44 +ER - +TY - JOUR +AU - Otto, Sarah Perin +AU - Feldman, Marcus W. +TI - Deleterious Mutations, Variable Epistatic Interactions, and the Evolution of Recombination +T2 - Theoretical Population Biology +PY - 1997 +VL - 51 +IS - 2 +PB - Elsevier BV +DO - 10.1006/tpbi.1997.1301 +UR - http://dx.doi.org/10.1006/tpbi.1997.1301 +SP - 134 +EP - 147 +N1 - Manuscript reference 45 +ER - +TY - JOUR +AU - Otto, Sarah P. +AU - Lenormand, Thomas +TI - Resolving the paradox of sex and recombination +T2 - Nature Reviews Genetics +PY - 2002 +VL - 3 +IS - 4 +PB - Springer Science and Business Media LLC +DO - 10.1038/nrg761 +UR - http://dx.doi.org/10.1038/nrg761 +SP - 252 +EP - 261 +N1 - Manuscript reference 46 +ER - +TY - JOUR +AU - Altenberg, Lee +AU - Feldman, Marcus W +TI - Selection, Generalized Transmission and the Evolution of Modifier Genes. I. The Reduction Principle +T2 - Genetics +PY - 1987 +VL - 117 +IS - 3 +PB - Oxford University Press (OUP) +DO - 10.1093/genetics/117.3.559 +UR - http://dx.doi.org/10.1093/genetics/117.3.559 +AB - ABSTRACT Modifier gene models are used to explore the evolution of features of organisms, such as the genetic system, that are not directly involved in the determination of fitness. Recent work has shown that a general "reduction principle" holds in models of selectively neutral modifiers of recombination, mutation, and migration. Here we present a framework for models of modifier genes that shows these reduction results to be part of a more general theory, for which recombination and mutation are special cases.—The deterministic forces that affect the genetic composition of a population can be partitioned into two categories: selection and transmission. Selection includes differential viabilities, fertilities, and mating success. Imperfect transmission occurs as a result of such phenomena as recombination, mutation and migration, meiosis, gene conversion, and meiotic drive. Selectively neutral modifier genes affect transmission, and a neutral modifier gene can evolve only by generating association with selected genes whose transmission it affects.–We show that, in randomly mating populations at equilibrium, imperfect transmission of selected genes allows a variance in their marginal fitnesses to be maintained. This variance in the marginal fitnesses of selected genes is what drives the evolution of neutral modifier genes. Populations with a variance in marginal fitnesses at equilibrium are always subject to invasion by modifier genes that bring about perfect transmission of the selected genes. It is also found, within certain constraints, that for modifier genes producing what we call "linear variation" in the transmission processes, a new modifier allele can invade a population at equilibrium if it reduces the level of imperfect transmission acting on the selected genes, and will be expelled if it increases the level of imperfect transmission. Moreover, the strength of the induced selection on the modifier gene is shown to range up to the order of the departure of the genetic system from perfect transmission. +SP - 559 +EP - 572 +N1 - Manuscript reference 47 +ER - +TY - JOUR +AU - Orr, H A +TI - The population genetics of speciation: the evolution of hybrid incompatibilities. +T2 - Genetics +PY - 1995 +VL - 139 +IS - 4 +PB - Oxford University Press (OUP) +DO - 10.1093/genetics/139.4.1805 +UR - http://dx.doi.org/10.1093/genetics/139.4.1805 +AB - Abstract Speciation often results from the accumulation of "complementary genes," i.e., from genes that, while having no deleterious effect within species, cause inviability or sterility when brought together with genes from another species. Here I model speciation as the accumulation of genic incompatibilities between diverging populations. Several results are obtained. First, and most important, the number of genic incompatibilities between taxa increases much faster than linearly with time. In particular, the probability of speciation increases at least as fast as the square of the time since separation between two taxa. Second, as Muller realized, all hybrid incompatibilities must initially be asymmetric. Third, at loci that have diverged between taxa, evolutionarily derived alleles cause hybrid problems far more often than ancestral alleles. Last, it is "easier" to evolve complex hybrid incompatibilities requiring the simultaneous action of three or more loci than to evolve simple incompatibilities between pairs of genes. These results have several important implications for genetic analyses of speciation. +SP - 1805 +EP - 1813 +N1 - Manuscript reference 48 +ER - +TY - JOUR +AU - Orr, H. Allen +AU - Turelli, Michael +TI - THE EVOLUTION OF POSTZYGOTIC ISOLATION: ACCUMULATING DOBZHANSKY-MULLER INCOMPATIBILITIES +T2 - Evolution +PY - 2001 +VL - 55 +IS - 6 +PB - Oxford University Press (OUP) +DO - 10.1111/j.0014-3820.2001.tb00628.x +UR - http://dx.doi.org/10.1111/j.0014-3820.2001.tb00628.x +SP - 1085 +EP - 1094 +N1 - Manuscript reference 49 +ER - +TY - JOUR +AU - Ainsworth, Samuel K. +AU - Hayase, Jonathan +AU - Srinivasa, Siddhartha +TI - Git Re-Basin: Merging Models modulo Permutation Symmetries +T2 - arXiv +AN - arXiv:2209.04836 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2209.04836 +UR - https://arxiv.org/abs/2209.04836 +AB - The success of deep learning is due in large part to our ability to solve certain massive non-convex optimization problems with relative ease. Though non-convex optimization is NP-hard, simple algorithms -- often variants of stochastic gradient descent -- exhibit surprising effectiveness in fitting large neural networks in practice. We argue that neural network loss landscapes often contain (nearly) a single basin after accounting for all possible permutation symmetries of hidden units a la Entezari et al. 2021. We introduce three algorithms to permute the units of one model to bring them into alignment with a reference model in order to merge the two models in weight space. This transformation produces a functionally equivalent set of weights that lie in an approximately convex basin near the reference model. Experimentally, we demonstrate the single basin phenomenon across a variety of model architectures and datasets, including the first (to our knowledge) demonstration of zero-barrier linear mode connectivity between independently trained ResNet models on CIFAR-10. Additionally, we identify intriguing phenomena relating model width and training time to mode connectivity. Finally, we discuss shortcomings of the linear mode connectivity hypothesis, including a counterexample to the single basin theory. +N1 - Manuscript reference 50 +ER - +TY - JOUR +AU - Li, Tianyi +AU - Shen, Zhiqiang +TI - Scaling Linear Mode Connectivity and Merging to Billion Parameter Pretrained Transformers +T2 - arXiv +AN - arXiv:2606.23607 +PY - 2026 +PB - arXiv +DO - 10.48550/arXiv.2606.23607 +UR - https://arxiv.org/abs/2606.23607 +AB - Linear mode connectivity (LMC) provides a promising foundation for understanding and merging independently trained neural networks, but existing methods typically optimize the interpolation path from only one model endpoint, limiting their scalability and effectiveness for large pretrained transformers. We propose a novel and scalable framework for enabling LMC-based model merging to {\em billion-parameter pretrained transformers}. Our method applies properly parameterized functionality-preserving weight transformations to align functionally equivalent solutions, and introduces a dual learning procedure in which both models jointly learn their corresponding transformations toward a shared linear interpolation path. This bidirectional optimization substantially reduces interpolation barriers and enables more reliable merging across large-scale architectures. Empirically, we show that our approach achieves near-zero loss barriers on WikiText for language models with medium-sized parameters, representing, to our knowledge, the first demonstration of near-barrier-free linear connectivity at this scale. In the vision domain, ViT-L maintains above 69\% ImageNet top-1 accuracy throughout the interpolation path, while modern billion-parameter LLMs exhibit only small loss barriers. These results suggest that properly resolving parameter symmetries enables large pretrained Transformers to be connected and merged through simple linear paths with substantially improved interpolation performance. Code: https://github.com/VILA-Lab/Dual-Learned-Matching . +N1 - Manuscript reference 51 +ER - +TY - JOUR +AU - Sharma, Ekansh +AU - Roy, Daniel M. +AU - Dziugaite, Gintare Karolina +TI - The Non-Local Model Merging Problem: Permutation Symmetries and Variance Collapse +T2 - arXiv +AN - arXiv:2410.12766 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2410.12766 +UR - https://arxiv.org/abs/2410.12766 +AB - Model merging aims to efficiently combine the weights of multiple expert models, each trained on a specific task, into a single multi-task model, with strong performance across all tasks. When applied to all but the last layer of weights, existing methods -- such as Task Arithmetic, TIES-merging, and TALL mask merging -- work well to combine expert models obtained by fine-tuning a common foundation model, operating within a "local" neighborhood of the foundation model. This work explores the more challenging scenario of "non-local" merging, which we find arises when an expert model changes significantly during pretraining or where the expert models do not even share a common foundation model. We observe that standard merging techniques often fail to generalize effectively in this non-local setting, even when accounting for permutation symmetries using standard techniques. We identify that this failure is, in part, due to "variance collapse", a phenomenon identified also in the setting of linear mode connectivity by Jordan et al. (2023). To address this, we propose a multi-task technique to re-scale and shift the output activations of the merged model for each task, aligning its output statistics with those of the corresponding task-specific expert models. Our experiments demonstrate that this correction significantly improves the performance of various model merging approaches in non-local settings, providing a strong baseline for future research on this problem. +N1 - Manuscript reference 52 +ER - +TY - JOUR +AU - Kozodoi, Nikita +AU - Afolabi, Zainab +AU - Butler, Jack +TI - Are we Merging the Right Models? Impact of Expert Training Duration on Model Merging for LLMs +T2 - arXiv +AN - arXiv:2607.11997 +PY - 2026 +PB - arXiv +DO - 10.48550/arXiv.2607.11997 +UR - https://arxiv.org/abs/2607.11997 +AB - Multi-task model merging combines separately trained expert models into a single model that handles all tasks without co-training. Standard practice merges experts at their optimal validation loss. We challenge this convention by systematically studying how training duration of domain experts affects the quality of the merged model. We fine-tune experts on five domains (Math, Code, Instruction Following, Multilingual, and Safety) across three model sizes (Qwen 3.5 0.8B, 2B, and 4B), saving checkpoints from 25% to 500% of the optimal training steps and evaluating five merging methods at each duration. Our findings reveal a striking method-dependent pattern: simple averaging degrades sharply with overfitting, while sparsification-based methods achieve their best performance well past the validation optimum. We formalize this through bias-variance decomposition analysis, drawing a parallel to random forests where averaging benefits from high-variance individual learners. These results suggest that training duration and merging method should be chosen jointly rather than independently. +N1 - Manuscript reference 53 +ER - +TY - JOUR +AU - Zhou, Luca +AU - Zhao, Bo +AU - Yu, Rose +AU - Rodolà, Emanuele +TI - Demystifying Mergeability: Interpretable Properties to Predict Model Merging Success +T2 - arXiv +AN - arXiv:2601.22285 +PY - 2026 +PB - arXiv +DO - 10.48550/arXiv.2601.22285 +UR - https://arxiv.org/abs/2601.22285 +AB - Model merging combines knowledge from separately fine-tuned models, yet the factors driving its success remain poorly understood. While recent work treats mergeability as an intrinsic property of the models, we show with an architecture-agnostic framework that it fundamentally depends on both the merging method and the partner tasks. Using L1-regularized linear optimization over a set of interpretable pairwise metrics (e.g., gradient L_2 distance), we uncover properties correlating with post-merge normalized accuracy across five merging methods. We find architecture- and method-specific variation in success drivers (64.0% average top-5 metric overlap; 79.3% sign agreement), with certain methods, notably TIES, exhibiting distinct ``fingerprints'' that diverge from the broader consensus. Crucially, however, gradient alignment metrics consistently emerge as the most fundamental signals of compatibility. These findings provide a diagnostic foundation for understanding mergeability and motivate future merge-aware fine-tuning strategies. +N1 - Manuscript reference 54 +ER - +TY - JOUR +AU - Scialom, Thomas +AU - Chakrabarty, Tuhin +AU - Muresan, Smaranda +TI - Fine-tuned Language Models are Continual Learners +T2 - arXiv +AN - arXiv:2205.12393 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2205.12393 +UR - https://arxiv.org/abs/2205.12393 +AB - Recent work on large language models relies on the intuition that most natural language processing tasks can be described via natural language instructions. Language models trained on these instructions show strong zero-shot performance on several standard datasets. However, these models even though impressive still perform poorly on a wide range of tasks outside of their respective training and evaluation sets. To address this limitation, we argue that a model should be able to keep extending its knowledge and abilities, without forgetting previous skills. In spite of the limited success of Continual Learning we show that Language Models can be continual learners. We empirically investigate the reason for this success and conclude that Continual Learning emerges from self-supervision pre-training. Our resulting model Continual-T0 (CT0) is able to learn diverse new tasks, while still maintaining good performance on previous tasks, spanning remarkably through 70 datasets in total. Finally, we show that CT0 is able to combine instructions in ways it was never trained for, demonstrating some compositionality. +N1 - Manuscript reference 55 +ER - +TY - JOUR +AU - Ibrahim, Adam +AU - Thérien, Benjamin +AU - Gupta, Kshitij +AU - Richter, Mats L. +AU - Anthony, Quentin +AU - Lesort, Timothée +AU - Belilovsky, Eugene +AU - Rish, Irina +TI - Simple and Scalable Strategies to Continually Pre-train Large Language Models +T2 - arXiv +AN - arXiv:2403.08763 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2403.08763 +UR - https://arxiv.org/abs/2403.08763 +AB - Large language models (LLMs) are routinely pre-trained on billions of tokens, only to start the process over again once new data becomes available. A much more efficient solution is to continually pre-train these models, saving significant compute compared to re-training. However, the distribution shift induced by new data typically results in degraded performance on previous data or poor adaptation to the new data. In this work, we show that a simple and scalable combination of learning rate (LR) re-warming, LR re-decaying, and replay of previous data is sufficient to match the performance of fully re-training from scratch on all available data, as measured by the final loss and the average score on several language model (LM) evaluation benchmarks. Specifically, we show this for a weak but realistic distribution shift between two commonly used LLM pre-training datasets (English$\rightarrow$English) and a stronger distribution shift (English$\rightarrow$German) at the $405$M parameter model scale with large dataset sizes (hundreds of billions of tokens). Selecting the weak but realistic shift for larger-scale experiments, we also find that our continual learning strategies match the re-training baseline for a 10B parameter LLM. Our results demonstrate that LLMs can be successfully updated via simple and scalable continual learning strategies, matching the re-training baseline using only a fraction of the compute. Finally, inspired by previous work, we propose alternatives to the cosine learning rate schedule that help circumvent forgetting induced by LR re-warming and that are not bound to a fixed token budget. +N1 - Manuscript reference 56 +ER - +TY - JOUR +AU - ROBINS, ANTHONY +TI - Catastrophic Forgetting, Rehearsal and Pseudorehearsal +T2 - Connection Science +PY - 1995 +VL - 7 +IS - 2 +PB - Informa UK Limited +DO - 10.1080/09540099550039318 +UR - http://dx.doi.org/10.1080/09540099550039318 +SP - 123 +EP - 146 +N1 - Manuscript reference 57 +ER - +TY - JOUR +AU - Shin, Hanul +AU - Lee, Jung Kwon +AU - Kim, Jaehong +AU - Kim, Jiwon +TI - Continual Learning with Deep Generative Replay +T2 - arXiv +AN - arXiv:1705.08690 +PY - 2017 +PB - arXiv +DO - 10.48550/arXiv.1705.08690 +UR - https://arxiv.org/abs/1705.08690 +AB - Attempts to train a comprehensive artificial intelligence capable of solving multiple tasks have been impeded by a chronic problem called catastrophic forgetting. Although simply replaying all previous data alleviates the problem, it requires large memory and even worse, often infeasible in real world applications where the access to past data is limited. Inspired by the generative nature of hippocampus as a short-term memory system in primate brain, we propose the Deep Generative Replay, a novel framework with a cooperative dual model architecture consisting of a deep generative model ("generator") and a task solving model ("solver"). With only these two models, training data for previous tasks can easily be sampled and interleaved with those for a new task. We test our methods in several sequential learning settings involving image classification tasks. +N1 - Manuscript reference 58 +ER - +TY - JOUR +AU - Feng, Yunzhen +AU - Dohmatob, Elvis +AU - Yang, Pu +AU - Charton, Francois +AU - Kempe, Julia +TI - Beyond Model Collapse: Scaling Up with Synthesized Data Requires Verification +T2 - arXiv +AN - arXiv:2406.07515 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2406.07515 +UR - https://arxiv.org/abs/2406.07515 +AB - Large Language Models (LLM) are increasingly trained on data generated by other LLM, either because generated text and images become part of the pre-training corpus, or because synthetized data is used as a replacement for expensive human-annotation. This raises concerns about \emph{model collapse}, a drop in model performance when their training sets include generated data. Considering that it is easier for both humans and machines to tell between good and bad examples than to generate high-quality samples, we investigate the use of verification on synthesized data to prevent model collapse. We provide a theoretical characterization using Gaussian mixtures, linear classifiers, and linear verifiers to derive conditions with measurable proxies to assess whether the verifier can effectively select synthesized data that leads to optimal performance. We experiment with two practical tasks -- computing matrix eigenvalues with transformers and news summarization with LLMs -- which both exhibit model collapse when trained on generated data, and show that verifiers, even imperfect ones, can indeed be harnessed to prevent model collapse and that our proposed proxy measure strongly correlates with performance. +N1 - Manuscript reference 59 +ER - +TY - JOUR +AU - Rusu, Andrei A. +AU - Rabinowitz, Neil C. +AU - Desjardins, Guillaume +AU - Soyer, Hubert +AU - Kirkpatrick, James +AU - Kavukcuoglu, Koray +AU - Pascanu, Razvan +AU - Hadsell, Raia +TI - Progressive Neural Networks +T2 - arXiv +AN - arXiv:1606.04671 +PY - 2016 +PB - arXiv +DO - 10.48550/arXiv.1606.04671 +UR - https://arxiv.org/abs/1606.04671 +AB - Learning to solve complex sequences of tasks--while both leveraging transfer and avoiding catastrophic forgetting--remains a key obstacle to achieving human-level intelligence. The progressive networks approach represents a step forward in this direction: they are immune to forgetting and can leverage prior knowledge via lateral connections to previously learned features. We evaluate this architecture extensively on a wide variety of reinforcement learning tasks (Atari and 3D maze games), and show that it outperforms common baselines based on pretraining and finetuning. Using a novel sensitivity measure, we demonstrate that transfer occurs at both low-level sensory and high-level control layers of the learned policy. +N1 - Manuscript reference 60 +ER - +TY - JOUR +AU - Biderman, Dan +AU - Portes, Jacob +AU - Ortiz, Jose Javier Gonzalez +AU - Paul, Mansheej +AU - Greengard, Philip +AU - Jennings, Connor +AU - King, Daniel +AU - Havens, Sam +AU - Chiley, Vitaliy +AU - Frankle, Jonathan +AU - Blakeney, Cody +AU - Cunningham, John P. +TI - LoRA Learns Less and Forgets Less +T2 - arXiv +AN - arXiv:2405.09673 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2405.09673 +UR - https://arxiv.org/abs/2405.09673 +AB - Low-Rank Adaptation (LoRA) is a widely-used parameter-efficient finetuning method for large language models. LoRA saves memory by training only low rank perturbations to selected weight matrices. In this work, we compare the performance of LoRA and full finetuning on two target domains, programming and mathematics. We consider both the instruction finetuning (approximately 100K prompt-response pairs) and continued pretraining (20B unstructured tokens) data regimes. Our results show that, in the standard low-rank settings, LoRA substantially underperforms full finetuning. Nevertheless, LoRA better maintains the base model's performance on tasks outside the target domain. We show that LoRA mitigates forgetting more than common regularization techniques such as weight decay and dropout; it also helps maintain more diverse generations. Finally, we show that full finetuning learns perturbations with a rank that is 10-100X greater than typical LoRA configurations, possibly explaining some of the reported gaps. We conclude by proposing best practices for finetuning with LoRA. +N1 - Manuscript reference 61 +ER - +TY - JOUR +AU - McClelland, James L. +AU - McNaughton, Bruce L. +AU - O'Reilly, Randall C. +TI - Why there are complementary learning systems in the hippocampus and neocortex: Insights from the successes and failures of connectionist models of learning and memory. +T2 - Psychological Review +PY - 1995 +VL - 102 +IS - 3 +PB - American Psychological Association (APA) +DO - 10.1037/0033-295x.102.3.419 +UR - http://dx.doi.org/10.1037/0033-295x.102.3.419 +SP - 419 +EP - 457 +N1 - Manuscript reference 62 +ER - +TY - JOUR +AU - Kumaran, Dharshan +AU - Hassabis, Demis +AU - McClelland, James L. +TI - What Learning Systems do Intelligent Agents Need? Complementary Learning Systems Theory Updated +T2 - Trends in Cognitive Sciences +PY - 2016 +VL - 20 +IS - 7 +PB - Elsevier BV +DO - 10.1016/j.tics.2016.05.004 +UR - http://dx.doi.org/10.1016/j.tics.2016.05.004 +SP - 512 +EP - 534 +N1 - Manuscript reference 63 +ER - +TY - JOUR +AU - Schwarz, Jonathan +AU - Luketina, Jelena +AU - Czarnecki, Wojciech M. +AU - Grabska-Barwinska, Agnieszka +AU - Teh, Yee Whye +AU - Pascanu, Razvan +AU - Hadsell, Raia +TI - Progress & Compress: A scalable framework for continual learning +T2 - arXiv +AN - arXiv:1805.06370 +PY - 2018 +PB - arXiv +DO - 10.48550/arXiv.1805.06370 +UR - https://arxiv.org/abs/1805.06370 +AB - We introduce a conceptually simple and scalable framework for continual learning domains where tasks are learned sequentially. Our method is constant in the number of parameters and is designed to preserve performance on previously encountered tasks while accelerating learning progress on subsequent problems. This is achieved by training a network with two components: A knowledge base, capable of solving previously encountered problems, which is connected to an active column that is employed to efficiently learn the current task. After learning a new task, the active column is distilled into the knowledge base, taking care to protect any previously acquired skills. This cycle of active learning (progression) followed by consolidation (compression) requires no architecture growth, no access to or storing of previous data or tasks, and no task-specific parameters. We demonstrate the progress & compress approach on sequential classification of handwritten alphabets as well as two reinforcement learning domains: Atari games and 3D maze navigation. +N1 - Manuscript reference 64 +ER - +TY - JOUR +AU - Ilharco, Gabriel +AU - Ribeiro, Marco Tulio +AU - Wortsman, Mitchell +AU - Gururangan, Suchin +AU - Schmidt, Ludwig +AU - Hajishirzi, Hannaneh +AU - Farhadi, Ali +TI - Editing Models with Task Arithmetic +T2 - arXiv +AN - arXiv:2212.04089 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2212.04089 +UR - https://arxiv.org/abs/2212.04089 +AB - Changing how pre-trained models behave -- e.g., improving their performance on a downstream task or mitigating biases learned during pre-training -- is a common practice when developing machine learning systems. In this work, we propose a new paradigm for steering the behavior of neural networks, centered around \textit{task vectors}. A task vector specifies a direction in the weight space of a pre-trained model, such that movement in that direction improves performance on the task. We build task vectors by subtracting the weights of a pre-trained model from the weights of the same model after fine-tuning on a task. We show that these task vectors can be modified and combined together through arithmetic operations such as negation and addition, and the behavior of the resulting model is steered accordingly. Negating a task vector decreases performance on the target task, with little change in model behavior on control tasks. Moreover, adding task vectors together can improve performance on multiple tasks at once. Finally, when tasks are linked by an analogy relationship of the form ``A is to B as C is to D", combining task vectors from three of the tasks can improve performance on the fourth, even when no data from the fourth task is used for training. Overall, our experiments with several models, modalities and tasks show that task arithmetic is a simple, efficient and effective way of editing models. +N1 - Manuscript reference 65 +ER - +TY - JOUR +AU - Marczak, Daniel +AU - Twardowski, Bartłomiej +AU - Trzciński, Tomasz +AU - Cygert, Sebastian +TI - MagMax: Leveraging Model Merging for Seamless Continual Learning +T2 - arXiv +AN - arXiv:2407.06322 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2407.06322 +UR - https://arxiv.org/abs/2407.06322 +AB - This paper introduces a continual learning approach named MagMax, which utilizes model merging to enable large pre-trained models to continuously learn from new data without forgetting previously acquired knowledge. Distinct from traditional continual learning methods that aim to reduce forgetting during task training, MagMax combines sequential fine-tuning with a maximum magnitude weight selection for effective knowledge integration across tasks. Our initial contribution is an extensive examination of model merging techniques, revealing that simple approaches like weight averaging and random weight selection surprisingly hold up well in various continual learning contexts. More importantly, we present MagMax, a novel model-merging strategy that enables continual learning of large pre-trained models for successive tasks. Our thorough evaluation demonstrates the superiority of MagMax in various scenarios, including class- and domain-incremental learning settings. The code is available at this URL: https://github.com/danielm1405/magmax. +N1 - Manuscript reference 66 +ER - +TY - JOUR +AU - Alexandrov, Anton +AU - Raychev, Veselin +AU - Müller, Mark Niklas +AU - Zhang, Ce +AU - Vechev, Martin +AU - Toutanova, Kristina +TI - Mitigating Catastrophic Forgetting in Language Transfer via Model Merging +T2 - arXiv +AN - arXiv:2407.08699 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2407.08699 +UR - https://arxiv.org/abs/2407.08699 +AB - As open-weight large language models (LLMs) achieve ever more impressive performances across a wide range of tasks in English, practitioners aim to adapt these models to different languages. However, such language adaptation is often accompanied by catastrophic forgetting of the base model's capabilities, severely limiting the usefulness of the resulting model. We address this issue by proposing Branch-and-Merge (BaM), a new adaptation method based on iteratively merging multiple models, fine-tuned on a subset of the available training data. BaM is based on the insight that this yields lower magnitude but higher quality weight changes, reducing forgetting of the source domain while maintaining learning on the target domain. We demonstrate in an extensive empirical study on Bulgarian and German that BaM can significantly reduce forgetting while matching or even improving target domain performance compared to both standard continued pretraining and instruction finetuning across different model architectures. +N1 - Manuscript reference 67 +ER - +TY - JOUR +AU - Dziadzio, Sebastian +AU - Udandarao, Vishaal +AU - Roth, Karsten +AU - Prabhu, Ameya +AU - Akata, Zeynep +AU - Albanie, Samuel +AU - Bethge, Matthias +TI - How to Merge Your Multimodal Models Over Time? +T2 - arXiv +AN - arXiv:2412.06712 +PY - 2024 +PB - arXiv +DO - 10.48550/arXiv.2412.06712 +UR - https://arxiv.org/abs/2412.06712 +AB - Model merging combines multiple expert models - finetuned from a base foundation model on diverse tasks and domains - into a single, more capable model. However, most existing model merging approaches assume that all experts are available simultaneously. In reality, new tasks and domains emerge progressively over time, requiring strategies to integrate the knowledge of expert models as they become available: a process we call temporal model merging. The temporal dimension introduces unique challenges not addressed in prior work, raising new questions such as: when training for a new task, should the expert model start from the merged past experts or from the original base model? Should we merge all models at each time step? Which merging techniques are best suited for temporal merging? Should different strategies be used to initialize the training and deploy the model? To answer these questions, we propose a unified framework called TIME - Temporal Integration of Model Expertise - which defines temporal model merging across three axes: (1) Initialization Phase, (2) Deployment Phase, and (3) Merging Technique. Using TIME, we study temporal model merging across model sizes, compute budgets, and learning horizons on the FoMo-in-Flux benchmark. Our comprehensive suite of experiments across TIME allows us to uncover key insights for temporal model merging, offering a better understanding of current challenges and best practices for effective temporal model merging. +N1 - Manuscript reference 68 +ER - +TY - JOUR +AU - Toneva, Mariya +AU - Sordoni, Alessandro +AU - Combes, Remi Tachet des +AU - Trischler, Adam +AU - Bengio, Yoshua +AU - Gordon, Geoffrey J. +TI - An Empirical Study of Example Forgetting during Deep Neural Network Learning +T2 - arXiv +AN - arXiv:1812.05159 +PY - 2018 +PB - arXiv +DO - 10.48550/arXiv.1812.05159 +UR - https://arxiv.org/abs/1812.05159 +AB - Inspired by the phenomenon of catastrophic forgetting, we investigate the learning dynamics of neural networks as they train on single classification tasks. Our goal is to understand whether a related phenomenon occurs when data does not undergo a clear distributional shift. We define a `forgetting event' to have occurred when an individual training example transitions from being classified correctly to incorrectly over the course of learning. Across several benchmark data sets, we find that: (i) certain examples are forgotten with high frequency, and some not at all; (ii) a data set's (un)forgettable examples generalize across neural architectures; and (iii) based on forgetting dynamics, a significant fraction of examples can be omitted from the training data set while still maintaining state-of-the-art generalization performance. +N1 - Manuscript reference 69 +ER - +TY - JOUR +AU - Kandpal, Nikhil +AU - Deng, Haikang +AU - Roberts, Adam +AU - Wallace, Eric +AU - Raffel, Colin +TI - Large Language Models Struggle to Learn Long-Tail Knowledge +T2 - arXiv +AN - arXiv:2211.08411 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2211.08411 +UR - https://arxiv.org/abs/2211.08411 +AB - The Internet contains a wealth of knowledge -- from the birthdays of historical figures to tutorials on how to code -- all of which may be learned by language models. However, while certain pieces of information are ubiquitous on the web, others appear extremely rarely. In this paper, we study the relationship between the knowledge memorized by large language models and the information in pre-training datasets scraped from the web. In particular, we show that a language model's ability to answer a fact-based question relates to how many documents associated with that question were seen during pre-training. We identify these relevant documents by entity linking pre-training datasets and counting documents that contain the same entities as a given question-answer pair. Our results demonstrate strong correlational and causal relationships between accuracy and relevant document count for numerous question answering datasets (e.g., TriviaQA), pre-training corpora (e.g., ROOTS), and model sizes (e.g., 176B parameters). Moreover, while larger models are better at learning long-tail knowledge, we estimate that today's models must be scaled by many orders of magnitude to reach competitive QA performance on questions with little support in the pre-training data. Finally, we show that retrieval-augmentation can reduce the dependence on relevant pre-training information, presenting a promising approach for capturing the long-tail. +N1 - Manuscript reference 70 +ER - +TY - JOUR +AU - Liu, Xialei +AU - Hu, Yu-Song +AU - Cao, Xu-Sheng +AU - Bagdanov, Andrew D. +AU - Li, Ke +AU - Cheng, Ming-Ming +TI - Long-Tailed Class Incremental Learning +T2 - arXiv +AN - arXiv:2210.00266 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2210.00266 +UR - https://arxiv.org/abs/2210.00266 +AB - In class incremental learning (CIL) a model must learn new classes in a sequential manner without forgetting old ones. However, conventional CIL methods consider a balanced distribution for each new task, which ignores the prevalence of long-tailed distributions in the real world. In this work we propose two long-tailed CIL scenarios, which we term ordered and shuffled LT-CIL. Ordered LT-CIL considers the scenario where we learn from head classes collected with more samples than tail classes which have few. Shuffled LT-CIL, on the other hand, assumes a completely random long-tailed distribution for each task. We systematically evaluate existing methods in both LT-CIL scenarios and demonstrate very different behaviors compared to conventional CIL scenarios. Additionally, we propose a two-stage learning baseline with a learnable weight scaling layer for reducing the bias caused by long-tailed distribution in LT-CIL and which in turn also improves the performance of conventional CIL due to the limited exemplars. Our results demonstrate the superior performance (up to 6.44 points in average incremental accuracy) of our approach on CIFAR-100 and ImageNet-Subset. The code is available at https://github.com/xialeiliu/Long-Tailed-CIL +N1 - Manuscript reference 71 +ER - +TY - JOUR +AU - Kotha, Suhas +AU - Springer, Jacob Mitchell +AU - Raghunathan, Aditi +TI - Understanding Catastrophic Forgetting in Language Models via Implicit Inference +T2 - arXiv +AN - arXiv:2309.10105 +PY - 2023 +PB - arXiv +DO - 10.48550/arXiv.2309.10105 +UR - https://arxiv.org/abs/2309.10105 +AB - We lack a systematic understanding of the effects of fine-tuning (via methods such as instruction-tuning or reinforcement learning from human feedback), particularly on tasks outside the narrow fine-tuning distribution. In a simplified scenario, we demonstrate that improving performance on tasks within the fine-tuning data distribution comes at the expense of capabilities on other tasks. We hypothesize that language models implicitly infer the task of the prompt and that fine-tuning skews this inference towards tasks in the fine-tuning distribution. To test this, we propose Conjugate Prompting, which artificially makes the task look farther from the fine-tuning distribution while requiring the same capability, and we find that this recovers some of the pretraining capabilities in our synthetic setup. Since real-world fine-tuning distributions are predominantly English, we apply conjugate prompting to recover pretrained capabilities in LLMs by simply translating the prompts to different languages. This allows us to recover in-context learning abilities lost via instruction tuning, natural reasoning capability lost during code fine-tuning, and, more concerningly, harmful content generation suppressed by safety fine-tuning in chatbots like ChatGPT. +N1 - Manuscript reference 72 +ER - +TY - JOUR +AU - Yu, Le +AU - Yu, Bowen +AU - Yu, Haiyang +AU - Huang, Fei +AU - Li, Yongbin +TI - Language Models are Super Mario: Absorbing Abilities from Homologous Models as a Free Lunch +T2 - arXiv +AN - arXiv:2311.03099 +PY - 2023 +PB - arXiv +DO - 10.48550/arXiv.2311.03099 +UR - https://arxiv.org/abs/2311.03099 +AB - In this paper, we unveil that Language Models (LMs) can acquire new capabilities by assimilating parameters from homologous models without retraining or GPUs. We first introduce DARE to set most delta parameters (i.e., the disparity between fine-tuned and pre-trained parameters) to zeros without affecting the abilities of Supervised Fine-Tuning (SFT) LMs, which randomly Drops delta parameters with a ratio $p$ And REscales the remaining ones by $1 / (1 - p)$ to approximate the original embeddings. Then, we use DARE as a versatile plug-in to sparsify delta parameters of multiple SFT homologous models for mitigating parameter interference and merge them into a single model by parameter fusing. We experiment with encoder- and decoder-based LMs, showing that: (1) SFT delta parameter value ranges are typically small (within 0.002) with extreme redundancy, and DARE can effortlessly eliminate 90% or even 99% of them; (2) DARE can merge multiple task-specific LMs into one LM with diverse capabilities. Notably, this phenomenon is more pronounced in large-scale LMs, where the merged LM reveals the potential to surpass the performance of any source LM, providing a new discovery. We also utilize DARE to create a merged LM that ranks first among models with 7 billion parameters on the Open LLM Leaderboard. +N1 - Manuscript reference 73 +ER - +TY - JOUR +AU - Wortsman, Mitchell +AU - Ilharco, Gabriel +AU - Gadre, Samir Yitzhak +AU - Roelofs, Rebecca +AU - Gontijo-Lopes, Raphael +AU - Morcos, Ari S. +AU - Namkoong, Hongseok +AU - Farhadi, Ali +AU - Carmon, Yair +AU - Kornblith, Simon +AU - Schmidt, Ludwig +TI - Model soups: averaging weights of multiple fine-tuned models improves accuracy without increasing inference time +T2 - arXiv +AN - arXiv:2203.05482 +PY - 2022 +PB - arXiv +DO - 10.48550/arXiv.2203.05482 +UR - https://arxiv.org/abs/2203.05482 +AB - The conventional recipe for maximizing model accuracy is to (1) train multiple models with various hyperparameters and (2) pick the individual model which performs best on a held-out validation set, discarding the remainder. In this paper, we revisit the second step of this procedure in the context of fine-tuning large pre-trained models, where fine-tuned models often appear to lie in a single low error basin. We show that averaging the weights of multiple models fine-tuned with different hyperparameter configurations often improves accuracy and robustness. Unlike a conventional ensemble, we may average many models without incurring any additional inference or memory costs -- we call the results "model soups." When fine-tuning large pre-trained models such as CLIP, ALIGN, and a ViT-G pre-trained on JFT, our soup recipe provides significant improvements over the best model in a hyperparameter sweep on ImageNet. The resulting ViT-G model, which attains 90.94% top-1 accuracy on ImageNet, achieved a new state of the art. Furthermore, we show that the model soup approach extends to multiple image classification and natural language processing tasks, improves out-of-distribution performance, and improves zero-shot performance on new downstream tasks. Finally, we analytically relate the performance similarity of weight-averaging and logit-ensembling to flatness of the loss and confidence of the predictions, and validate this relation empirically. Code is available at https://github.com/mlfoundations/model-soups. +N1 - Manuscript reference 74 +ER - +TY - JOUR +AU - Cao, Yuan +AU - Ran, Dezhi +AU - Guo, Yuzhe +AU - Wu, Mengzhou +AU - Chen, Simin +AU - Li, Linyi +AU - Yang, Wei +AU - Xie, Tao +TI - An Empirical Study and Theoretical Explanation on Task-Level Model-Merging Collapse +T2 - arXiv +AN - arXiv:2603.09463 +PY - 2026 +PB - arXiv +DO - 10.48550/arXiv.2603.09463 +UR - https://arxiv.org/abs/2603.09463 +AB - Model merging unifies independently fine-tuned LLMs from the same base, enabling reuse and integration of parallel development efforts without retraining. However, in practice we observe that merging does not always succeed: certain combinations of task-specialist models suffer from catastrophic performance degradation after merging. We refer to this failure mode as merging collapse. Intuitively, collapse arises when the learned representations or parameter adjustments for different tasks are fundamentally incompatible, so that merging forces destructive interference rather than synergy. In this paper, we identify and characterize the phenomenon of task-level merging collapse, where certain task combinations consistently trigger huge performance degradation across all merging methods. Through extensive experiments and statistical analysis, we demonstrate that representational incompatibility between tasks is strongly correlated with merging collapse, while parameter-space conflict metrics show minimal correlation, challenging conventional wisdom in model merging literature. We provide a theoretical explanation on this phenomenon through rate-distortion theory with a dimension-dependent bound, establishing fundamental limits on task mergeability regardless of methodology. +N1 - Manuscript reference 75 +ER - +TY - JOUR +AU - Horoi, Stefan +AU - Wolf, Guy +AU - Belilovsky, Eugene +AU - Dziugaite, Gintare Karolina +TI - From Memorization to Parameter Interference: How Overtraining Experts Harms Model Merging +T2 - arXiv +AN - arXiv:2506.14126 +PY - 2025 +PB - arXiv +DO - 10.48550/arXiv.2506.14126 +UR - https://arxiv.org/abs/2506.14126 +AB - Modern deep learning is increasingly characterized by the use of open-weight foundation models that can be fine-tuned on specialized datasets. This has led to a proliferation of expert models and adapters, often shared via platforms like HuggingFace and AdapterHub. Model merging has recently emerged as an effective way to leverage these existing resources, enabling the composition of capabilities from different model checkpoints. A natural pipeline has thus formed to harness the benefits of transfer learning and amortize sunk training costs: models are pre-trained on general data, fine-tuned on specific tasks, and then multiple checkpoints are merged to obtain a more capable model. A prevailing assumption is that improvements at one stage of this pipeline propagate downstream, leading to gains at subsequent steps. In this work, we challenge that assumption by examining how expert fine-tuning affects model merging. We show that long fine-tuning of experts that optimizes for their individual performance leads to degraded merging performance across vision and language modalities, multiple model scales, and both fully fine-tuned and LoRA-adapted models. We trace this degradation to the memorization of a small set of difficult examples that dominate late fine-tuning steps. This causes negative parameter interference and encodes knowledge that is forgotten during merging. Finally, we demonstrate that task-dependent aggressive early stopping strategies can significantly improve model merging performance. +N1 - Manuscript reference 76 +ER - +TY - JOUR +AU - Livnat, Adi +AU - Papadimitriou, Christos +TI - Sex as an algorithm +T2 - Communications of the ACM +PY - 2016 +VL - 59 +IS - 11 +PB - Association for Computing Machinery (ACM) +DO - 10.1145/2934662 +UR - http://dx.doi.org/10.1145/2934662 +AB - Looking at the mysteries of evolution from a computer science point of view yields some unexpected insights. +SP - 84 +EP - 93 +N1 - Manuscript reference 77 +ER - +TY - JOUR +AU - Guo, Yanzhu +AU - Shang, Guokan +AU - Vazirgiannis, Michalis +AU - Clavel, Chloé +TI - The Curious Decline of Linguistic Diversity: Training Language Models on Synthetic Text +T2 - arXiv +AN - arXiv:2311.09807 +PY - 2023 +PB - arXiv +DO - 10.48550/arXiv.2311.09807 +UR - https://arxiv.org/abs/2311.09807 +AB - This study investigates the consequences of training language models on synthetic data generated by their predecessors, an increasingly prevalent practice given the prominence of powerful generative models. Diverging from the usual emphasis on performance metrics, we focus on the impact of this training methodology on linguistic diversity, especially when conducted recursively over time. To assess this, we adapt and develop a set of novel metrics targeting lexical, syntactic, and semantic diversity, applying them in recursive finetuning experiments across various natural language generation tasks in English. Our findings reveal a consistent decrease in the diversity of the model outputs through successive iterations, especially remarkable for tasks demanding high levels of creativity. This trend underscores the potential risks of training language models on synthetic text, particularly concerning the preservation of linguistic richness. Our study highlights the need for careful consideration of the long-term effects of such training approaches on the linguistic capabilities of language models. +N1 - Manuscript reference 78 +ER - +TY - JOUR +AU - Padmakumar, Vishakh +AU - He, He +TI - Does Writing with Language Models Reduce Content Diversity? +T2 - arXiv +AN - arXiv:2309.05196 +PY - 2023 +PB - arXiv +DO - 10.48550/arXiv.2309.05196 +UR - https://arxiv.org/abs/2309.05196 +AB - Large language models (LLMs) have led to a surge in collaborative writing with model assistance. As different users incorporate suggestions from the same model, there is a risk of decreased diversity in the produced content, potentially limiting diverse perspectives in public discourse. In this work, we measure the impact of co-writing on diversity via a controlled experiment, where users write argumentative essays in three setups -- using a base LLM (GPT3), a feedback-tuned LLM (InstructGPT), and writing without model help. We develop a set of diversity metrics and find that writing with InstructGPT (but not the GPT3) results in a statistically significant reduction in diversity. Specifically, it increases the similarity between the writings of different authors and reduces the overall lexical and content diversity. We additionally find that this effect is mainly attributable to InstructGPT contributing less diverse text to co-written essays. In contrast, the user-contributed text remains unaffected by model collaboration. This suggests that the recent improvement in generation quality from adapting models to human feedback might come at the cost of more homogeneous and less diverse content. +N1 - Manuscript reference 79 +ER - +TY - JOUR +AU - Doshi, Anil R. +AU - Hauser, Oliver P. +TI - Generative AI enhances individual creativity but reduces the collective diversity of novel content +T2 - Science Advances +PY - 2024 +VL - 10 +IS - 28 +PB - American Association for the Advancement of Science (AAAS) +DO - 10.1126/sciadv.adn5290 +UR - http://dx.doi.org/10.1126/sciadv.adn5290 +AB - Creativity is core to being human. Generative artificial intelligence (AI)—including powerful large language models (LLMs)—holds promise for humans to be more creative by offering new ideas, or less creative by anchoring on generative AI ideas. We study the causal impact of generative AI ideas on the production of short stories in an online experiment where some writers obtained story ideas from an LLM. We find that access to generative AI ideas causes stories to be evaluated as more creative, better written, and more enjoyable, especially among less creative writers. However, generative AI–enabled stories are more similar to each other than stories by humans alone. These results point to an increase in individual creativity at the risk of losing collective novelty. This dynamic resembles a social dilemma: With generative AI, writers are individually better off, but collectively a narrower scope of novel content is produced. Our results have implications for researchers, policy-makers, and practitioners interested in bolstering creativity. +N1 - Manuscript reference 80 +ER - diff --git a/paper/pnas/refs/report.txt b/paper/pnas/refs/report.txt new file mode 100644 index 0000000..c5aec88 --- /dev/null +++ b/paper/pnas/refs/report.txt @@ -0,0 +1,80 @@ +1 OK 10.48550/arXiv.2508.06811 Anatomy of a Machine Learning Ecosystem: 2 Million Models on Hug in manuscript +2 OK 10.48550/arXiv.2405.18432 Unsupervised Model Tree Heritage Recovery in manuscript +3 OK 10.48550/arXiv.2402.00699 PeaTMOSS: A Dataset and Initial Analysis of Pre-Trained Models i in manuscript +4 OK 10.48550/arXiv.2306.01708 TIES-Merging: Resolving Interference When Merging Models in manuscript +5 OK 10.1038/s42256-024-00975-8 Evolutionary optimization of model merging recipes crossref (matched: Evolutionary optimization of model merging recipes) +6 OK 10.48550/arXiv.2403.13257 Arcee's MergeKit: A Toolkit for Merging Large Language Models in manuscript +7 OK 10.48550/arXiv.2408.07666 Model Merging in LLMs, MLLMs, and Beyond: Methods, Theories, App in manuscript +8 OK 10.48550/arXiv.2503.01155 Nature-Inspired Population-Based Evolution of Large Language Mod in manuscript +9 OK 10.48550/arXiv.2508.16204 Competition and Attraction Improve Model Fusion in manuscript +10 OK 10.48550/arXiv.2501.05707 Multiagent Finetuning: Self Improvement with Diverse Reasoning C in manuscript +11 OK 10.48550/arXiv.2406.11704 Nemotron-4 340B Technical Report in manuscript +12 OK 10.48550/arXiv.2412.08905 Phi-4 Technical Report in manuscript +13 OK 10.48550/arXiv.2212.10560 Self-Instruct: Aligning Language Models with Self-Generated Inst in manuscript +14 OK 10.48550/arXiv.2401.05749 A Shocking Amount of the Web is Machine Translated: Insights fro in manuscript +15 OK 10.48550/arXiv.2403.07183 Monitoring AI-Modified Content at Scale: A Case Study on the Imp in manuscript +16 OK 10.48550/arXiv.2211.04325 Will we run out of data? Limits of LLM scaling based on human-ge in manuscript +17 OK 10.1038/s41562-023-01742-2 Machine culture verified by hand +18 OK 10.48550/arXiv.2304.03442 Generative Agents: Interactive Simulacra of Human Behavior in manuscript +19 OK 10.48550/arXiv.2402.01680 Large Language Model based Multi-Agents: A Survey of Progress an in manuscript +20 OK 10.48550/arXiv.2509.10147 Virtual Agent Economies in manuscript +21 OK 10.1038/s41586-024-07566-y AI models collapse when trained on recursively generated data crossref (matched: AI models collapse when trained on recursively generated data) +22 OK 10.1371/journal.pcbi.1002510 Structural Drift: The Population Dynamics of Sequential Learning crossref (matched: Structural Drift: The Population Dynamics of Sequential Learning) +23 OK 10.48550/arXiv.2604.08554 Drift and selection in LLM text ecosystems in manuscript +24 OK 10.48550/arXiv.2509.20101 First-Extinction Law for Resampling Processes in manuscript +25 OK 10.48550/arXiv.2407.17493 Model Collapse in the Self-Consuming Chain of Diffusion Finetuni in manuscript +26 OK 10.1016/s0079-7421(08)60536-8 Catastrophic Interference in Connectionist Networks: The Sequent crossref (matched: Catastrophic Interference in Connectionist Networks: The Sequential Le) +27 OK 10.1016/s1364-6613(99)01294-2 Catastrophic forgetting in connectionist networks crossref (matched: Catastrophic forgetting in connectionist networks) +28 OK 10.1016/0027-5107(64)90047-8 The relation of recombination to mutational advance crossref (matched: The relation of recombination to mutational advance) +29 OK 10.48550/arXiv.2510.16657 Escaping Model Collapse via Synthetic Data Verification: Near-te in manuscript +30 OK 10.48550/arXiv.2404.01413 Is Model Collapse Inevitable? Breaking the Curse of Recursion by in manuscript +31 OK 10.1093/genetics/16.2.97 EVOLUTION IN MENDELIAN POPULATIONS crossref (matched: EVOLUTION IN MENDELIAN POPULATIONS) +32 OK 10.1046/j.1523-1739.1996.10061509.x The One‐Migrant‐per‐Generation Rule in Conservation and Manageme crossref (matched: The One‐Migrant‐per‐Generation Rule in Conservation and Management) +33 HAND (pre-DOI source) [Review of] The Origin of Species written by hand +34 OK 10.48550/arXiv.2411.02207 Collective Model Intelligence Requires Compatible Specialization in manuscript +35 HAND (pre-DOI source) The Genetical Theory of Natural Selection written by hand +36 OK 10.1086/280418 Some Genetic Aspects of Sex crossref (matched: Some Genetic Aspects of Sex) +37 OK 10.48550/arXiv.2106.09685 LoRA: Low-Rank Adaptation of Large Language Models in manuscript +38 OK 10.1016/s0022-5193(87)80029-2 Towards a general theory of adaptive walks on rugged landscapes crossref (matched: Towards a general theory of adaptive walks on rugged landscapes) +39 HAND (pre-DOI source) Coadaptation and outbreeding depression written by hand +40 OK 10.1162/evco_a_00025 Abandoning Objectives: Evolution Through the Search for Novelty crossref (matched: Abandoning Objectives: Evolution Through the Search for Novelty Alone) +41 OK 10.48550/arXiv.2503.05683 WikiBigEdit: Understanding the Limits of Lifelong Knowledge Edit in manuscript +42 OK 10.48550/arXiv.2502.04390 In Praise of Stubbornness: An Empirical Case for Cognitive-Disso in manuscript +43 OK 10.48550/arXiv.2607.09202 Interference and Retention in Continual Learning in manuscript +44 OK 10.1017/s0016672300033140 A general model for the evolution of recombination crossref (matched: A general model for the evolution of recombination) +45 OK 10.1006/tpbi.1997.1301 Deleterious Mutations, Variable Epistatic Interactions, and the crossref (matched: Deleterious Mutations, Variable Epistatic Interactions, and the Evolut) +46 OK 10.1038/nrg761 Resolving the paradox of sex and recombination crossref (matched: Resolving the paradox of sex and recombination) +47 OK 10.1093/genetics/117.3.559 Selection, Generalized Transmission and the Evolution of Modifie crossref (matched: Selection, Generalized Transmission and the Evolution of Modifier Gene) +48 OK 10.1093/genetics/139.4.1805 The population genetics of speciation: the evolution of hybrid i crossref (matched: The population genetics of speciation: the evolution of hybrid incompa) +49 OK 10.1111/j.0014-3820.2001.tb00628.x THE EVOLUTION OF POSTZYGOTIC ISOLATION: ACCUMULATING DOBZHANSKY- crossref (matched: THE EVOLUTION OF POSTZYGOTIC ISOLATION: ACCUMULATING DOBZHANSKY-MULLER) +50 OK 10.48550/arXiv.2209.04836 Git Re-Basin: Merging Models modulo Permutation Symmetries in manuscript +51 OK 10.48550/arXiv.2606.23607 Scaling Linear Mode Connectivity and Merging to Billion Paramete in manuscript +52 OK 10.48550/arXiv.2410.12766 The Non-Local Model Merging Problem: Permutation Symmetries and in manuscript +53 OK 10.48550/arXiv.2607.11997 Are we Merging the Right Models? Impact of Expert Training Durat in manuscript +54 OK 10.48550/arXiv.2601.22285 Demystifying Mergeability: Interpretable Properties to Predict M in manuscript +55 OK 10.48550/arXiv.2205.12393 Fine-tuned Language Models are Continual Learners in manuscript +56 OK 10.48550/arXiv.2403.08763 Simple and Scalable Strategies to Continually Pre-train Large La in manuscript +57 OK 10.1080/09540099550039318 Catastrophic Forgetting, Rehearsal and Pseudorehearsal crossref (matched: Catastrophic Forgetting, Rehearsal and Pseudorehearsal) +58 OK 10.48550/arXiv.1705.08690 Continual Learning with Deep Generative Replay in manuscript +59 OK 10.48550/arXiv.2406.07515 Beyond Model Collapse: Scaling Up with Synthesized Data Requires in manuscript +60 OK 10.48550/arXiv.1606.04671 Progressive Neural Networks in manuscript +61 OK 10.48550/arXiv.2405.09673 LoRA Learns Less and Forgets Less in manuscript +62 OK 10.1037/0033-295x.102.3.419 Why there are complementary learning systems in the hippocampus crossref (matched: Why there are complementary learning systems in the hippocampus and ne) +63 OK 10.1016/j.tics.2016.05.004 What Learning Systems do Intelligent Agents Need? Complementary crossref (matched: What Learning Systems do Intelligent Agents Need? Complementary Learni) +64 OK 10.48550/arXiv.1805.06370 Progress & Compress: A scalable framework for continual lear verified by hand +65 OK 10.48550/arXiv.2212.04089 Editing Models with Task Arithmetic in manuscript +66 OK 10.48550/arXiv.2407.06322 MagMax: Leveraging Model Merging for Seamless Continual Learning in manuscript +67 OK 10.48550/arXiv.2407.08699 Mitigating Catastrophic Forgetting in Language Transfer via Mode in manuscript +68 OK 10.48550/arXiv.2412.06712 How to Merge Your Multimodal Models Over Time? in manuscript +69 OK 10.48550/arXiv.1812.05159 An Empirical Study of Example Forgetting during Deep Neural Netw in manuscript +70 OK 10.48550/arXiv.2211.08411 Large Language Models Struggle to Learn Long-Tail Knowledge in manuscript +71 OK 10.48550/arXiv.2210.00266 Long-Tailed Class Incremental Learning in manuscript +72 OK 10.48550/arXiv.2309.10105 Understanding Catastrophic Forgetting in Language Models via Imp in manuscript +73 OK 10.48550/arXiv.2311.03099 Language Models are Super Mario: Absorbing Abilities from Homolo in manuscript +74 OK 10.48550/arXiv.2203.05482 Model soups: averaging weights of multiple fine-tuned models imp in manuscript +75 OK 10.48550/arXiv.2603.09463 An Empirical Study and Theoretical Explanation on Task-Level Mod in manuscript +76 OK 10.48550/arXiv.2506.14126 From Memorization to Parameter Interference: How Overtraining Ex in manuscript +77 OK 10.1145/2934662 Sex as an algorithm crossref (matched: Sex as an algorithm) +78 OK 10.48550/arXiv.2311.09807 The Curious Decline of Linguistic Diversity: Training Language M in manuscript +79 OK 10.48550/arXiv.2309.05196 Does Writing with Language Models Reduce Content Diversity? in manuscript +80 OK 10.1126/sciadv.adn5290 Generative AI enhances individual creativity but reduces the col crossref (matched: Generative AI enhances individual creativity but reduces the collectiv) \ No newline at end of file diff --git a/paper/pnas/refs/resolution-report.tsv b/paper/pnas/refs/resolution-report.tsv new file mode 100644 index 0000000..c5aec88 --- /dev/null +++ b/paper/pnas/refs/resolution-report.tsv @@ -0,0 +1,80 @@ +1 OK 10.48550/arXiv.2508.06811 Anatomy of a Machine Learning Ecosystem: 2 Million Models on Hug in manuscript +2 OK 10.48550/arXiv.2405.18432 Unsupervised Model Tree Heritage Recovery in manuscript +3 OK 10.48550/arXiv.2402.00699 PeaTMOSS: A Dataset and Initial Analysis of Pre-Trained Models i in manuscript +4 OK 10.48550/arXiv.2306.01708 TIES-Merging: Resolving Interference When Merging Models in manuscript +5 OK 10.1038/s42256-024-00975-8 Evolutionary optimization of model merging recipes crossref (matched: Evolutionary optimization of model merging recipes) +6 OK 10.48550/arXiv.2403.13257 Arcee's MergeKit: A Toolkit for Merging Large Language Models in manuscript +7 OK 10.48550/arXiv.2408.07666 Model Merging in LLMs, MLLMs, and Beyond: Methods, Theories, App in manuscript +8 OK 10.48550/arXiv.2503.01155 Nature-Inspired Population-Based Evolution of Large Language Mod in manuscript +9 OK 10.48550/arXiv.2508.16204 Competition and Attraction Improve Model Fusion in manuscript +10 OK 10.48550/arXiv.2501.05707 Multiagent Finetuning: Self Improvement with Diverse Reasoning C in manuscript +11 OK 10.48550/arXiv.2406.11704 Nemotron-4 340B Technical Report in manuscript +12 OK 10.48550/arXiv.2412.08905 Phi-4 Technical Report in manuscript +13 OK 10.48550/arXiv.2212.10560 Self-Instruct: Aligning Language Models with Self-Generated Inst in manuscript +14 OK 10.48550/arXiv.2401.05749 A Shocking Amount of the Web is Machine Translated: Insights fro in manuscript +15 OK 10.48550/arXiv.2403.07183 Monitoring AI-Modified Content at Scale: A Case Study on the Imp in manuscript +16 OK 10.48550/arXiv.2211.04325 Will we run out of data? Limits of LLM scaling based on human-ge in manuscript +17 OK 10.1038/s41562-023-01742-2 Machine culture verified by hand +18 OK 10.48550/arXiv.2304.03442 Generative Agents: Interactive Simulacra of Human Behavior in manuscript +19 OK 10.48550/arXiv.2402.01680 Large Language Model based Multi-Agents: A Survey of Progress an in manuscript +20 OK 10.48550/arXiv.2509.10147 Virtual Agent Economies in manuscript +21 OK 10.1038/s41586-024-07566-y AI models collapse when trained on recursively generated data crossref (matched: AI models collapse when trained on recursively generated data) +22 OK 10.1371/journal.pcbi.1002510 Structural Drift: The Population Dynamics of Sequential Learning crossref (matched: Structural Drift: The Population Dynamics of Sequential Learning) +23 OK 10.48550/arXiv.2604.08554 Drift and selection in LLM text ecosystems in manuscript +24 OK 10.48550/arXiv.2509.20101 First-Extinction Law for Resampling Processes in manuscript +25 OK 10.48550/arXiv.2407.17493 Model Collapse in the Self-Consuming Chain of Diffusion Finetuni in manuscript +26 OK 10.1016/s0079-7421(08)60536-8 Catastrophic Interference in Connectionist Networks: The Sequent crossref (matched: Catastrophic Interference in Connectionist Networks: The Sequential Le) +27 OK 10.1016/s1364-6613(99)01294-2 Catastrophic forgetting in connectionist networks crossref (matched: Catastrophic forgetting in connectionist networks) +28 OK 10.1016/0027-5107(64)90047-8 The relation of recombination to mutational advance crossref (matched: The relation of recombination to mutational advance) +29 OK 10.48550/arXiv.2510.16657 Escaping Model Collapse via Synthetic Data Verification: Near-te in manuscript +30 OK 10.48550/arXiv.2404.01413 Is Model Collapse Inevitable? Breaking the Curse of Recursion by in manuscript +31 OK 10.1093/genetics/16.2.97 EVOLUTION IN MENDELIAN POPULATIONS crossref (matched: EVOLUTION IN MENDELIAN POPULATIONS) +32 OK 10.1046/j.1523-1739.1996.10061509.x The One‐Migrant‐per‐Generation Rule in Conservation and Manageme crossref (matched: The One‐Migrant‐per‐Generation Rule in Conservation and Management) +33 HAND (pre-DOI source) [Review of] The Origin of Species written by hand +34 OK 10.48550/arXiv.2411.02207 Collective Model Intelligence Requires Compatible Specialization in manuscript +35 HAND (pre-DOI source) The Genetical Theory of Natural Selection written by hand +36 OK 10.1086/280418 Some Genetic Aspects of Sex crossref (matched: Some Genetic Aspects of Sex) +37 OK 10.48550/arXiv.2106.09685 LoRA: Low-Rank Adaptation of Large Language Models in manuscript +38 OK 10.1016/s0022-5193(87)80029-2 Towards a general theory of adaptive walks on rugged landscapes crossref (matched: Towards a general theory of adaptive walks on rugged landscapes) +39 HAND (pre-DOI source) Coadaptation and outbreeding depression written by hand +40 OK 10.1162/evco_a_00025 Abandoning Objectives: Evolution Through the Search for Novelty crossref (matched: Abandoning Objectives: Evolution Through the Search for Novelty Alone) +41 OK 10.48550/arXiv.2503.05683 WikiBigEdit: Understanding the Limits of Lifelong Knowledge Edit in manuscript +42 OK 10.48550/arXiv.2502.04390 In Praise of Stubbornness: An Empirical Case for Cognitive-Disso in manuscript +43 OK 10.48550/arXiv.2607.09202 Interference and Retention in Continual Learning in manuscript +44 OK 10.1017/s0016672300033140 A general model for the evolution of recombination crossref (matched: A general model for the evolution of recombination) +45 OK 10.1006/tpbi.1997.1301 Deleterious Mutations, Variable Epistatic Interactions, and the crossref (matched: Deleterious Mutations, Variable Epistatic Interactions, and the Evolut) +46 OK 10.1038/nrg761 Resolving the paradox of sex and recombination crossref (matched: Resolving the paradox of sex and recombination) +47 OK 10.1093/genetics/117.3.559 Selection, Generalized Transmission and the Evolution of Modifie crossref (matched: Selection, Generalized Transmission and the Evolution of Modifier Gene) +48 OK 10.1093/genetics/139.4.1805 The population genetics of speciation: the evolution of hybrid i crossref (matched: The population genetics of speciation: the evolution of hybrid incompa) +49 OK 10.1111/j.0014-3820.2001.tb00628.x THE EVOLUTION OF POSTZYGOTIC ISOLATION: ACCUMULATING DOBZHANSKY- crossref (matched: THE EVOLUTION OF POSTZYGOTIC ISOLATION: ACCUMULATING DOBZHANSKY-MULLER) +50 OK 10.48550/arXiv.2209.04836 Git Re-Basin: Merging Models modulo Permutation Symmetries in manuscript +51 OK 10.48550/arXiv.2606.23607 Scaling Linear Mode Connectivity and Merging to Billion Paramete in manuscript +52 OK 10.48550/arXiv.2410.12766 The Non-Local Model Merging Problem: Permutation Symmetries and in manuscript +53 OK 10.48550/arXiv.2607.11997 Are we Merging the Right Models? Impact of Expert Training Durat in manuscript +54 OK 10.48550/arXiv.2601.22285 Demystifying Mergeability: Interpretable Properties to Predict M in manuscript +55 OK 10.48550/arXiv.2205.12393 Fine-tuned Language Models are Continual Learners in manuscript +56 OK 10.48550/arXiv.2403.08763 Simple and Scalable Strategies to Continually Pre-train Large La in manuscript +57 OK 10.1080/09540099550039318 Catastrophic Forgetting, Rehearsal and Pseudorehearsal crossref (matched: Catastrophic Forgetting, Rehearsal and Pseudorehearsal) +58 OK 10.48550/arXiv.1705.08690 Continual Learning with Deep Generative Replay in manuscript +59 OK 10.48550/arXiv.2406.07515 Beyond Model Collapse: Scaling Up with Synthesized Data Requires in manuscript +60 OK 10.48550/arXiv.1606.04671 Progressive Neural Networks in manuscript +61 OK 10.48550/arXiv.2405.09673 LoRA Learns Less and Forgets Less in manuscript +62 OK 10.1037/0033-295x.102.3.419 Why there are complementary learning systems in the hippocampus crossref (matched: Why there are complementary learning systems in the hippocampus and ne) +63 OK 10.1016/j.tics.2016.05.004 What Learning Systems do Intelligent Agents Need? Complementary crossref (matched: What Learning Systems do Intelligent Agents Need? Complementary Learni) +64 OK 10.48550/arXiv.1805.06370 Progress & Compress: A scalable framework for continual lear verified by hand +65 OK 10.48550/arXiv.2212.04089 Editing Models with Task Arithmetic in manuscript +66 OK 10.48550/arXiv.2407.06322 MagMax: Leveraging Model Merging for Seamless Continual Learning in manuscript +67 OK 10.48550/arXiv.2407.08699 Mitigating Catastrophic Forgetting in Language Transfer via Mode in manuscript +68 OK 10.48550/arXiv.2412.06712 How to Merge Your Multimodal Models Over Time? in manuscript +69 OK 10.48550/arXiv.1812.05159 An Empirical Study of Example Forgetting during Deep Neural Netw in manuscript +70 OK 10.48550/arXiv.2211.08411 Large Language Models Struggle to Learn Long-Tail Knowledge in manuscript +71 OK 10.48550/arXiv.2210.00266 Long-Tailed Class Incremental Learning in manuscript +72 OK 10.48550/arXiv.2309.10105 Understanding Catastrophic Forgetting in Language Models via Imp in manuscript +73 OK 10.48550/arXiv.2311.03099 Language Models are Super Mario: Absorbing Abilities from Homolo in manuscript +74 OK 10.48550/arXiv.2203.05482 Model soups: averaging weights of multiple fine-tuned models imp in manuscript +75 OK 10.48550/arXiv.2603.09463 An Empirical Study and Theoretical Explanation on Task-Level Mod in manuscript +76 OK 10.48550/arXiv.2506.14126 From Memorization to Parameter Interference: How Overtraining Ex in manuscript +77 OK 10.1145/2934662 Sex as an algorithm crossref (matched: Sex as an algorithm) +78 OK 10.48550/arXiv.2311.09807 The Curious Decline of Linguistic Diversity: Training Language M in manuscript +79 OK 10.48550/arXiv.2309.05196 Does Writing with Language Models Reduce Content Diversity? in manuscript +80 OK 10.1126/sciadv.adn5290 Generative AI enhances individual creativity but reduces the col crossref (matched: Generative AI enhances individual creativity but reduces the collectiv) \ No newline at end of file diff --git a/paper/pnas/renumber_refs.py b/paper/pnas/renumber_refs.py new file mode 100644 index 0000000..e6ed8bf --- /dev/null +++ b/paper/pnas/renumber_refs.py @@ -0,0 +1,131 @@ +"""Renumber the manuscript's references to first-appearance order (PNAS style). + +Reads paper/pnas/main.md, finds every parenthesised citation group in the text above +"## References", derives the order in which references first appear, and rewrites the citation +groups in main.md, si.md, and the figure captions in build.py, then reorders the reference list. +Citation groups are parentheses containing only reference numbers, commas, en-dash ranges, an optional +"cf. " prefix, or a prose prefix ending in a semicolon ("...; 11, 12"). Four-digit numbers (years) +never match, and any number above the list length is reported and left alone. + +Usage: python paper/pnas/renumber_refs.py # dry run: mapping + per-file counts + python paper/pnas/renumber_refs.py --apply # rewrite the three files in place +""" + +from __future__ import annotations + +import re +import sys +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +MAIN, SI, BUILD = (ROOT / "paper" / "pnas" / n for n in ("main.md", "si.md", "build.py")) +REF_HEADER = "## References" +CIT = re.compile( + r"\((?P
[^()]*?;\s*)?(?Pcf\.\s*)?"
+    r"(?P\d{1,3}(?:\s*[–-]\s*\d{1,3})?(?:,\s*\d{1,3}(?:\s*[–-]\s*\d{1,3})?)*)\)"
+)
+REF_LINE = re.compile(r"^(\d+)\. (.*)$")
+
+
+def expand(nums: str) -> list[int]:
+    out: list[int] = []
+    for part in re.split(r",\s*", nums):
+        if re.search(r"[–-]", part):
+            a, b = (int(x) for x in re.split(r"\s*[–-]\s*", part))
+            out.extend(range(a, b + 1))
+        else:
+            out.append(int(part))
+    return out
+
+
+def compress(nums: list[int]) -> str:
+    """Ascending, with runs of three or more collapsed to an en-dash range."""
+    nums = sorted(set(nums))
+    runs: list[list[int]] = []
+    for n in nums:
+        if runs and n == runs[-1][-1] + 1:
+            runs[-1].append(n)
+        else:
+            runs.append([n])
+    return ", ".join(f"{r[0]}–{r[-1]}" if len(r) >= 3 else ", ".join(map(str, r)) for r in runs)
+
+
+def split_main(text: str) -> tuple[str, list[tuple[int, str]]]:
+    body, _, refs = text.partition(REF_HEADER)
+    entries = [(int(m.group(1)), m.group(2)) for line in refs.splitlines() if (m := REF_LINE.match(line))]
+    return body, entries
+
+
+def first_appearance(body: str, n_refs: int) -> list[int]:
+    order: list[int] = []
+    for m in CIT.finditer(body):
+        for n in expand(m.group("nums")):
+            if n <= n_refs and n not in order:
+                order.append(n)
+    return order
+
+
+def rewrite(text: str, mapping: dict[int, int], n_refs: int, label: str) -> tuple[str, int, list[str]]:
+    count, suspicious = 0, []
+
+    def sub(m: re.Match) -> str:
+        nonlocal count
+        nums = expand(m.group("nums"))
+        if any(n > n_refs or n < 1 for n in nums):
+            suspicious.append(m.group(0))
+            return m.group(0)
+        count += 1
+        return f"({m.group('pre') or ''}{m.group('cf') or ''}{compress([mapping[n] for n in nums])})"
+
+    return CIT.sub(sub, text), count, suspicious
+
+
+def main(apply: bool) -> int:
+    main_text = MAIN.read_text()
+    body, entries = split_main(main_text)
+    n_refs = len(entries)
+    assert [n for n, _ in entries] == list(range(1, n_refs + 1)), "reference list is not 1..N"
+    order = first_appearance(body, n_refs)
+    orphans = sorted(set(range(1, n_refs + 1)) - set(order))
+    if orphans:
+        print(f"ERROR: never cited in main text: {orphans}")
+        return 1
+    mapping = {old: new for new, old in enumerate(order, start=1)}
+    changed = {o: n for o, n in mapping.items() if o != n}
+    print(f"{n_refs} references; {len(changed)} renumbered" + (":" if changed else "."))
+    for o in sorted(changed):
+        print(f"  {o:3d} -> {mapping[o]:3d}   {entries[o - 1][1][:70]}")
+
+    outputs: dict[Path, str] = {}
+    new_body, c, sus = rewrite(body, mapping, n_refs, "main")
+    print(f"main.md: {c} citation groups" + (f"; left alone: {sus}" if sus else ""))
+    by_new = sorted(entries, key=lambda e: mapping[e[0]])
+    new_refs = "\n".join(f"{mapping[o]}. {t}" for o, t in by_new)
+    outputs[MAIN] = f"{new_body}{REF_HEADER}\n\n{new_refs}\n"
+    text, c, sus = rewrite(SI.read_text(), mapping, n_refs, SI.name)
+    print(f"{SI.name}: {c} citation groups" + (f"; left alone: {sus}" if sus else ""))
+    outputs[SI] = text
+    # build.py is Python: only its FIGURES caption block may carry citations, so rewrite that slice
+    # alone — tuples like (0, 1) elsewhere in the code would otherwise look like citations.
+    btext = BUILD.read_text()
+    head = re.search(r"^FIGURES\b[^\n]*\{\s*$", btext, re.M)
+    if head is None:
+        print(f"{BUILD.name}: no FIGURES block found; skipped")
+    else:
+        start = head.start()
+        end = btext.index("\n}\n", start) + 3
+        block, c, sus = rewrite(btext[start:end], mapping, n_refs, BUILD.name)
+        print(f"{BUILD.name} captions: {c} citation groups" + (f"; left alone: {sus}" if sus else ""))
+        outputs[BUILD] = btext[:start] + block + btext[end:]
+
+    if apply:
+        for path, text in outputs.items():
+            path.write_text(text)
+        print("applied.")
+    else:
+        print("dry run — pass --apply to write.")
+    return 0
+
+
+if __name__ == "__main__":
+    sys.exit(main("--apply" in sys.argv))
diff --git a/paper/pnas/si.md b/paper/pnas/si.md
index 13ee52a..00e7433 100644
--- a/paper/pnas/si.md
+++ b/paper/pnas/si.md
@@ -1,4 +1,10 @@
-# SI Appendix — The evolution of sex for artificial intelligence
+# Supplementary Information — The evolution of sex for artificial intelligence
+
+## Contents
+
+SI Text S1–S4, SI Tables S1–S2, SI Methods M1–M7, SI Statistics, SI Figures S1–S16, and a separate
+Appendix 1, *The figures explained* (`figure_legends_for_students.pdf`), which restates every main and
+supplementary figure with a plain-language account of the experiment behind it, for readers from biology.
 
 ## Reproducibility
 
@@ -61,7 +67,7 @@ experiment measures. The measured answer is that it does not. In the conflict co
 unchanged by permutation alignment (the `residual` readout) and by alignment modulo the full
 permutation-and-positive-rescaling group (the `residual_scale` readout), while the very same aligner
 removes almost all of the barrier between independently initialised networks, the positive control.
-Work on richer symmetry groups for transformers (41) strengthens the removable side of the
+Work on richer symmetry groups for transformers (83) strengthens the removable side of the
 decomposition and is therefore complementary to this result: the more barrier a larger group can
 remove for *compatible* models, the sharper the meaning of the barrier that survives for
 *incompatible* ones. Proposition 2 caps what any of these methods could ever achieve on the conflict
@@ -89,7 +95,7 @@ Both readings were registered before the run. If the residual barrier grows with
 model speciation is emergent in real weights, and the trajectory seen in the analytic speciation model
 is realised. If the residual stays at the level of the `shared` control, then within this regime
 trained networks are more merge-compatible than the biological analogy predicts. The second reading
-would be an honest bound on the analogy, and a useful design result in its own right: merging is safe
+would bound the analogy, and be a useful design result in its own right: merging is safe
 whenever there is no functional conflict.
 
 **Outcome.** Four replicates, with divergence up to 3,200 steps — up to 6.4× the shared base training
@@ -100,16 +106,119 @@ while the merged model holds approximately 0.955 at every divergence tested. Thi
 Fisher–Muller rescue at zero barrier. Within this regime, reproductive isolation in real weights
 required functional conflict. The same question at language-model scale is answered by the duration
 arm of the language-model speciation experiment, which likewise found no isolation from over-training
-alone (1 to 12 epochs); whether still longer horizons erode mergeability (cf. 43) remains open.
+alone (1 to 12 epochs); whether still longer horizons erode mergeability (cf. 83) remains open.
+
+## SI Text S3. Compatible loci and conflicting alleles in a multigenerational population
+
+**The two kinds of new knowledge.** A *locus* is a position in the genome, and *alleles* are the
+alternative versions that can occupy it: one blood-group locus, three alleles A, B and O, of which any
+one chromosome carries exactly one. In a model population a locus is a slot for a capability ("how to
+answer a two-way question") and alleles are the incompatible conventions that could fill it ("yes/no",
+"true/false", "1/2"). A skill that conflicts with nothing a lineage already holds occupies a new locus
+and is simply added; a skill that demands a different convention for a question shape the lineage
+already answers is a competing allele, and a single model, like a single chromosome, carries one.
+Proposition S2 gives the cost: when two parents' conventions disagree on a share `μ(S)` of inputs, any
+merged child errs against at least one parent on at least `μ(S)/2` of them. In the six-generation
+population a lineage obliged to merge at generation `t` pays that floor against its partner's
+conflicting conventions; because the child continues the lineage, the loss is inherited, and the next
+generation's conflict adds to it. Under the Latin-square curriculum `μ_t(S)` is zero while partners are
+complementary (their skills occupy disjoint loci) and becomes positive once a partner carries a
+differently conventioned version of a skill the lineage already holds. Two of the six families —
+yes/no questions and two-way pronoun resolution — have the most idiosyncratic conventions and were
+measured in calibration at 0.00–0.04 accuracy on every other family, so they carry the largest `μ(S)`
+against every partner; the generation at which the curriculum hands them to a lineage's partner fixes
+when that lineage's collapse begins.
+
+**Negative controls that isolate convention conflict.** Three alternative explanations of the
+obligate arm's collapse were tested directly and refuted. (i) *A destructive skill spreading through
+merges.* A single 50/50 merge of two clean single-skill adapters (science questions 0.838 / yes-no
+0.000; yes-no 0.800 / science 0.300) scored 0.863 and 0.787, mean 0.825 against 0.550 for the better
+parent: one merge is protective, not destructive. (ii) *Geometric dilution of an adapter's signal
+under repeated averaging.* Five chained convex merges left the first skill's accuracy unchanged even
+though its nominal weight fell to 1/32; but a scaling control showed the adapter alone delivers
+nothing at 1/32 (0.000; full effect down to 1/8), so what propagated through the chain was the answer
+format supplied by whichever partner carried enough weight, not the skill. Dilution is refuted, and
+the transmitted quantity is identified as the convention. (iii) *Continued training on merged
+weights.* Merging then training on the incoming family beat merging alone on the tracked skill in four
+of five rounds and on the incoming skill in all five, and absorbed the one format shock that dropped
+the merge-only chain (0.567 → 0.883). With capacity ruled out by the lifelong-editing benchmark (80)
+at three orders of magnitude more content, convention conflict is the mechanism that remains — the one
+the framework predicts, and the one single-model studies report (81, 82).
+
+**Neutral and functional variation.** Three adapters trained on the same family, differing only in
+seed and data draw, were near-orthogonal in weight space (pairwise cosine +0.006) and disagreed on 24%
+of answers, yet merging two of them gave 0.887 against 0.800 for the better one — exactly the fraction
+of questions on which either was right (0.887). Decomposing the weight change across seeds, roughly
+85% of a LoRA delta is run-specific: shared signal power 6.2 (after correcting the finite-sample mean
+for its own noise) against noise power 35. That is why raw weight distance predicted nothing in the
+main text's controlled test: most of what it measures is the counterpart of *synonymous substitution*
+— sequence change without functional change — which averages out when adapters for the same skill
+are combined, while the fraction that conflicts lives in the answer conventions. Averaging same-skill
+adapters before crossing them with a different skill improved the cross modestly (0.825 → 0.850) while
+leaving each single skill unchanged, the inbred-line pattern: averaging within a line does not improve
+the line, it makes it cleaner to cross.
+
+**Attenuation and the effectiveness cliff.** Scaling an adapter's weights down does not degrade its
+skill gracefully. Each skill holds full accuracy to a skill-specific fraction (1/8 for science
+questions, 1/4 for reading-comprehension spans, 1/2 for commonsense completion, 1/4 for yes/no) and
+then loses nearly everything within one further halving. Four of six adapters scored higher when
+attenuated (inference 0.40 → 0.68 at 1/4; completion 0.75 → 0.82 at 1/2; spans 0.72 → 0.78 at 1/4;
+science 0.87 → 0.92 at 1/8): they were over-trained at full strength — the effect reported for
+merging experts (84, 85) — and recoverable here by one scalar per adapter with no retraining (six
+separate specialists 0.678 → 0.755). Denoising across seeds does not move the cliff, so the limit is
+signal magnitude rather than signal-to-noise. Choosing per-skill merge weights from these solo curves
+failed (0.686–0.689 against 0.708 for uniform weights): in a six-way merge a skill's effective
+strength is its weight relative to the others — six conventions competing for one output — so raising
+one starves the rest.
+
+## SI Text S4. Proof of the blending-inheritance proposition
+
+**Setting.** `K` parents; each independently retains a given rare item with probability `q`, and a
+parent that retains it assigns it mass `p`. The child draws `n` samples from a *source distribution*
+and keeps the item if at least one draw is that item. Two sources are compared: (A) one parent chosen
+uniformly at random; (B) the mean of the `K` parents' distributions.
+
+**Expected mass is conserved.** Let `J ~ Binomial(K, q)` be the number of parents retaining the
+item. Under (A) the source mass of the item is `p` with probability `q` and 0 otherwise, so its
+expectation is `pq`. Under (B) the source mass is `pJ/K`, whose expectation is `p·E[J]/K = pq`. The
+expected number of copies in the child's sample, `n` times the source mass, is therefore `npq` under
+both schemes (linearity of expectation).
+
+**Survival agrees to first order.** Write `f(x) = 1 − (1 − x)^n` for the probability that at least one
+of `n` draws hits an item of source mass `x`; `f` is increasing and concave, with `f(x) = nx + O((nx)²)`.
+Survival is `E[f(M)]` with `M` the (random) source mass. Under (A), `E[f(M)] = q·f(p)`; under (B),
+`E[f(M)] = E[f(pJ/K)]`. When `n·p ≪ 1`, every realised mass satisfies `nM ≤ np ≪ 1`, so `f(M) ≈ nM`
+and both expectations reduce to `n·E[M] = npq`: the `1/K` dilution of scheme (B) is cancelled exactly
+by the item being present in the mixture whenever any of the `K` parents holds it. (Equivalently, in
+this regime the child's copy count is approximately Poisson with mean `nM`, and Poisson thinning by
+`1/K` composed with a `K`-fold union preserves the mean.)
+
+**Boundary 1 (common items).** Away from the first-order regime the comparison is settled by
+Jensen's inequality. Both schemes give `M` the same mean `pq`; scheme (A) puts all its variance in
+the two-point distribution `{0, p}`, and scheme (B) has strictly smaller variance for `K > 1`. Since
+`f` is concave, `E[f(M)]` is larger for the less variable `M`, so averaging never lowers expected
+survival, and raises it once `np` is not small. The extinction probability `1 − f` is convex, which is
+the form in which the main text states this boundary. The proposition is thus a statement about rare
+items, where survival is linear in mass; it does not claim averaging is harmful in general.
+
+**Boundary 2 (union operator).** Let the child instead draw from the distribution that assigns each
+item the largest mass any parent gives it, renormalised. The item's source mass is then `p` whenever
+`J ≥ 1`, an event of probability `1 − (1 − q)^K`, increasing in `K` for every `q ∈ (0, 1)`. Expected
+survival `(1 − (1 − q)^K)·f(p)` therefore rises with `K` in every regime, without a first-order
+restriction. The operator needs an oracle (a verifier) to say which parent holds each item most
+strongly, which is what routing supplies in the language-model tier.
+
+Both statements are confirmed by simulation in Fig. S8, where mean-mixture survival is flat in `K`
+and the item-wise maximum rises with it.
 
 ## SI Table S1: the claims ledger (status / assumptions / evidence / limits)
 
 | Claim | Status | Key assumptions | Evidence | Known limits |
 |---|---|---|---|---|
-| Population collapse in the biological model is Wright–Fisher drift | Closed form; the diagnosis itself is due to prior work | Knowledge is a categorical distribution; refitting means resampling | Closed forms reproduced to <0.5% | Real learners add a signed, architecture-specific estimator bias (measured) |
+| Population collapse in the inheritance model is Wright–Fisher drift | Closed form; the diagnosis itself is due to prior work | Knowledge is a categorical distribution; refitting means resampling | Closed forms reproduced to <0.5% | Real learners add a signed, architecture-specific estimator bias (measured) |
 | Grounding behaves like immigration, and the critical real-data fraction is far below one | Closed form, plus the sign confirmed empirically | Fresh samples from a fixed, non-drifting truth | Exact `H_eq`; `g*≈0.048`; sign holds in RNN/MLP/VAE and on MNIST | Deepest tail unrescuable at feasible budgets (`m ∼ 1/p`); sharp threshold softens in trained nets |
 | "Merge, don't average" conservation | Exact **for the output-mean operator** | Rare-item regime; an oracle/verifier identifies the strongest source | E4 closed form + simulation; neural reproduction | Weight-averaging and routing are empirical cousins, not instances; budgets differ; bridge = the headroom rule |
-| Offspring exceed every parent (Fisher–Muller) | Interpretation + empirical | Complementary (decorrelated) parents; verifiable fitness | E8 (biological model); 7B LoRA merge beats every specialist on every family | LLM tier: 3 lexically-distinct families; replicated over five training seeds at 0.5B |
+| Offspring exceed every parent (Fisher–Muller) | Interpretation + empirical | Complementary (decorrelated) parents; verifiable fitness | E8 (inheritance model); LoRA merges beat the best specialist overall in every seed at 0.5B (5 seeds) and 7B (3 seeds) | LLM tier: 3 lexically-distinct families |
 | Outbreeding depression on rugged landscapes; operator design rule | Biological-model result; hypothesis at LLM scale | NK epistasis stands in for skill entanglement | E9–E10; directed selection rescues | Not yet mapped onto a real task-entanglement measure |
 | Optimal mate-pool breadth shrinks with ruggedness | Biological-model result; hypothesis for merging populations | Ring population, local selection | E14 | Phenomenon known to island-model evolutionary computation; the contribution here is the mapping and the diversity/mean decomposition |
 | Merge failure decomposes into a coordinate artefact plus a functional residual | Empirical at the trained-network and language-model tiers | Alignment enumerates the architecture's unit symmetries | Full-symmetry residual ≈ 0 for compatible parents versus ≈ the naive barrier under conflict; a cliff in hybrid fitness; function-specific breakdown at the LLM tier | Scoped to aligned linear interpolation; conflict floor is information-theoretic, not genetic |
@@ -118,7 +227,10 @@ alone (1 to 12 epochs); whether still longer horizons erode mergeability (cf. 43
 | Confidence weighting improves rank prediction over raw disagreement | Not supported (pre-registered internal prediction) | — | Paired contrast over the same bootstrap resamples: Δ\|ρ\| = −0.021, CI [−0.130, +0.059] | The weighting does sharpen the conflict-versus-compatible level contrast, so it is not useless — only no better as a rank predictor |
 | The predictor improves budget-matched operator choice | **Open** | — | Soup-vs-route gap readout noise-dominated at 0.5B | The practical payoff; untested |
 | Emergent speciation without label conflict | Not observed (pre-registered) | Shared ancestry; compatible tasks; the divergences tested | Residual 0.000 to 6.4× base training; the merge rescues the specialists | Bounds the hypothesis; longer horizons/distribution shift/capacity pressure untested |
-| Grounding, recombination, and diversity preservation make complementary contributions | Biological-model result; hypothesis at LLM scale | Conformity stands in for self-consumption | E11 four-arm ablation; each arm fails in a distinct way | General joint necessity is not established; the full grounded LLM society is unbuilt |
+| Grounding, recombination, and diversity preservation make complementary contributions | Biological-model result; hypothesis at LLM scale | Conformity stands in for self-consumption | E11 four-arm ablation; each arm fails in a distinct way | General joint necessity is not established; the language-model population (Fig. 4B–C) lacks differential reproduction between lineages |
+| Obligate recombination collapses once partners carry conflicting conventions | Empirical (1.5B base, 3 lineages × 6 generations, 3 seeds) | Latin-square curriculum; replay present; linear merge; no culling of lineages | Best lineage 0.269 vs 0.796 never merging; onset at complementarity < 0.8; own-ancestor merge 0.663; three alternative mechanisms refuted (SI Text S3) | Six generations; one base; the arrival order of conflicting families is set by the curriculum |
+| A declinable merge reverts the population to asexual accumulation without advance knowledge of when to stop | Empirical (same population, plus two controls, 3 seeds each) | "Keep the parent" scored as one candidate on validation data | Fraction declined 0.44 → 1.00 across generations; finishes 0.792 vs 0.796 never merging. Forced stop after generation 2 finishes 0.793 (veto − stop3 per seed −0.008/−0.006/+0.011). Under a decorrelated curriculum (complementarity 0.00 → 0.70 → 0.00) declines still rise 0.44 → 0.89; pooled partial ρ(declined, complementarity \| generation) = −0.07, CI (−0.21, +0.09); partial ρ with generation +0.31 | The reduction-principle reading (declines track complementarity) is **not supported**; declines track generation, which here confounds adapter age, skill count and the arrival of conflicting conventions. Modifier set by evaluation, not evolved |
+| Recombination's net benefit across six generations is an early lead, not a final gain | Empirical (same population); consistent with the inheritance model's speed advantage (E7) | Every skill reaches every lineage by the curriculum regardless | +0.08 at generation 0; −0.005 at generation 5 (per-seed −0.03/+0.01/+0.01) | Replay present, so forgetting was not a live pressure; a curriculum that withholds skills from some lineages is untested |
 
 ## SI Table S2: headline quantitative results
 
@@ -127,14 +239,21 @@ per-experiment tables and falsifier status in the per-experiment documentation).
 
 | Result | Setting / n | Outcome definition | Headline |
 |---|---|---|---|
-| Closed-form validation | Biological model; standing tests | Simulated vs closed-form H-decay, immigration equilibrium, multi-teacher union | Agreement < 0.5% |
-| Grounding retention | Biological model (E2); 100 lineages per grounding level | Fraction of equilibrium diversity retained at grounding `g` (operational threshold) | `g ≈ 0.05` retains ≥95% in the tested setting; smooth in `g` |
+| Closed-form validation | Inheritance model; standing tests | Simulated vs closed-form H-decay, immigration equilibrium, multi-parent union | Agreement < 0.5% |
+| Grounding retention | Inheritance model (E2); 100 lineages per grounding level | Fraction of equilibrium diversity retained at grounding `g` (operational threshold) | `g ≈ 0.05` retains ≥95% in the tested setting; smooth in `g` |
 | MNIST collapse & rescue | Conv-VAE, 4 replicates; frozen oracle (98.5% mode acc.) | Mode support / forward-KL over generations | Dry: 30→1 modes; 10% grounding: 30/30 held |
-| Fisher–Muller in LLMs | 5 seeds (0.5B), fixed tests; single 7B run | Merged vs best-specialist accuracy (overall; worst family) | Ties 0.647±0.027 vs 0.592±0.009; 7B 0.87 vs 0.77 |
-| Union vs blend (headroom) | 3 seeds (0.5B hard); single 7B-hard run | Paired per-seed ordering, routing vs weight-average | Routing > blend in 3/3 seeds; one catastrophic blend failure avoided |
+| Fisher–Muller in LLMs | 5 seeds (0.5B) and 3 seeds (7B), fixed tests | Merged vs best-specialist accuracy (overall; worst family); ±: 95% CI over seeds | 0.5B ties 0.647±0.027 vs 0.592±0.009; 7B soup 0.873±0.004 vs 0.807±0.038 (soup − best +0.066±0.036, 3/3 seeds) |
+| Union vs blend (headroom) | 3 seeds (0.5B hard); 3 seeds (7B hard) | Paired per-seed ordering, routing vs weight-average | 0.5B: routing > blend in 3/3 seeds, one catastrophic blend failure avoided. 7B: routing 0.503±0.007 vs soup 0.408±0.021 (+0.094±0.015, 3/3); soup vs best specialist +0.001±0.041 (the seed-1 'soup below best parent' did not replicate). Directed − soup +0.073±0.031 (3/3) |
 | Speciation decomposition | MLPs, 3 replicates | LMC error barrier residual after permutation+rescaling alignment | Same-task 0.001; conflict 0.497 (naive 0.502) |
 | Emergent isolation | MLPs 4 reps to 6.4× base training; LLM 1→12 epochs | Residual barrier; merged vs parent accuracy | 0.000 everywhere; merge rescues parents (≈0.955 vs ≈0.50) |
+| LLM speciation, seeds | 0.5B; 3 training seeds; fixed test prompts | Conflict cliff: merge best-convention accuracy vs parents' own at full conflict. Duration null: merged private-task accuracy, 1 → 12 epochs | Cliff in 3/3 seeds (merge 0.02/0.12/0.16 vs parents 0.23–0.25); merged coherence over the sweep 0.147±0.013 → 0.100±0.082. No isolation in 3/3 (0.760±0.075 → 0.950±0.010) |
 | Predictive test | 13 conditions × 3 seeds (0.5B) | Merge penalty vs oracle parent potential (pre-registered; ±: clustered 95% CI) | Functional ρ +0.45/+0.46, CI excl. 0; LOCO ρ ≈ 0.4; geometry n.s.; paired differences n.s. |
+| Predictive test, seed sensitivity | Same; per-seed and leave-one-seed-out | Spearman ρ vs merge penalty within each seed alone (n = 13 conditions) | Functional +0.37 to +0.53 in every seed; weight geometry ≈ 0 in every seed; gradient alignment seed-unstable (−0.11 to −0.55) |
+| Six-generation population | 1.5B base; 3 lineages × 6 generations; 3 training seeds; fixed tests (60 per family) | Best-lineage accuracy over six families at the final generation (mean of seeds; per-seed contrasts) | Never merge 0.796; declinable merge 0.792 (Δ −0.03/+0.01/+0.01); forced stop after generation 2: 0.793 (declinable − stop −0.008/−0.006/+0.011); obligate merge 0.269 (declinable − obligate +0.57/+0.54/+0.45); own-ancestor merge 0.663; single model 0.802 |
+| Conflict-arrival curricula | Conflict-early / conflict-late (boolq + winogrande in generations 1–2 or 5–6); isolated, declinable and obligate arms; 3 seeds each | Decline rate and obligate-arm accuracy per generation; partial Spearman of declines on a conflict-present indicator controlling for generation (seed-clustered bootstrap) | Declines 0.56 → 0.78 (early), 0.44 → 0.89 (late); partial ρ(conflict | generation) −0.09, CI (−0.45, 0.15); ρ(generation | conflict) +0.45; pooled over four curricula −0.04, CI (−0.30, 0.15). Obligate final 0.280 / 0.386 vs isolated 0.796 / 0.781 (3/3 seeds); declinable 0.777 / 0.791 |
+| Differential reproduction | Latin square; truncation selection (worst lineage re-founded from the best each generation); isolated and declinable arms; 3 seeds | Final best-lineage accuracy; per-seed contrasts against the unselected arms | Never merge + selection 0.804, declinable + selection 0.793 (declinable − never merge −0.011±0.003, below in 3/3); unselected 0.796 / 0.792; selection − no selection +0.007±0.030 |
+| Second base lineage | SmolLM2-1.7B-Instruct; Fisher–Muller 5 seeds, headroom (hard) 3 seeds; fixed tests | Same contrasts as the Qwen rows | Soup − best specialist +0.049±0.022, TIES − best +0.097±0.020 (5/5 each; worst family +0.19 / +0.20). Routing − soup +0.162±0.036 (3/3); soup − best specialist −0.029±0.017 (below in 3/3) |
+| Declinable-merge acceptance | Latin-square and decorrelated curricula; 9 merge decisions per generation; 3 seeds each | Fraction of proposed merges declined vs partner complementarity, with generation controlled (partial Spearman, seed-clustered bootstrap CI) | Latin square: 0.44 → 1.00 (raw ρ with complementarity −0.57, n = 18). Decorrelated curriculum (complementarity 0.00, 0.67, 0.70, 0.58, 0.33, 0.00): 0.44 → 0.89. Pooled (n = 36): partial ρ with complementarity −0.07, CI (−0.21, +0.09); partial ρ with generation +0.31 |
 
 ## SI Methods: experimental procedures
 
@@ -154,12 +273,12 @@ instrument can still return the answer "no". A costlier tier is entered only whe
 discriminating test rather than a replication — which is why several cells of the programme (Fig. 1A)
 are deliberately empty.
 
-*Match the precision of the claim to the precision of the instrument.* The biological model is exact,
+*Match the precision of the claim to the precision of the instrument.* The inheritance model is exact,
 so it carries the paper's quantitative statements. Trained systems add optimisation noise and
 inductive bias, so at those tiers I claim signs and orderings, never magnitudes.
 
 *Make reality able to refuse.* Every tier has an oracle that is independent of the model being
-measured: a fixed true distribution in the biological model, a lossless identity code or a frozen
+measured: a fixed true distribution in the inheritance model, a lossless identity code or a frozen
 classifier in the neural tier, an exact-match verifier over procedurally generated tasks in the
 language-model tier.
 
@@ -172,7 +291,7 @@ reported as failures in the main text.
 A replicate means something different at each tier, and conflating the three would misstate what the
 error bars cover.
 
-In the biological model a replicate is an independent lineage: a fresh random stream driving the same
+In the inheritance model a replicate is an independent lineage: a fresh random stream driving the same
 resolved config, with sub-seeds derived from the master seed by `SeedSequence.spawn`. Because drift
 *is* the object of study, the spread across replicates is signal rather than nuisance, and replicate
 counts are set so that the confidence interval on the summary statistic is small relative to the
@@ -199,7 +318,7 @@ Replicate counts, and why each is what it is:
 | E12, E12_nk | 15 | Each point already averages 500 (E12) or 200 (E12_nk) offspring |
 | E14 | 20 | Breadth × ruggedness grid, 60 generations per cell |
 | kernel_sharpen, kernel_smooth | 24 | Two-parameter kernel fits against neural reference endpoints |
-| bridge | 60 | The harness gate: must detect *any* departure from the biological model, so the most replicated neural run |
+| bridge | 60 | The harness gate: must detect *any* departure from the inheritance model, so the most replicated neural run |
 | grounding | 18 | Nine-point grounding sweep with per-generation network retraining |
 | collapse, architectures | 5 | Sign-level demonstrations across architectures; each lineage retrains a network 22–25 times |
 | recombination | 8 | Operator contrast in trained weights |
@@ -208,13 +327,18 @@ Replicate counts, and why each is what it is:
 | speciation_real_emergent | 4 | A null: replicates are spent on longer divergence horizons rather than more repeats |
 | llm_merge_seeds | 5 training seeds | The Fisher–Muller signature, the most-replicated language-model claim |
 | llm_moe_hard_seeds, llm_directed_hard_seeds, llm_epistasis(+compat), llm_speciation_add | 3 training seeds | Per-seed orderings reported individually rather than averaged |
-| 7B runs, llm_speciation | 1 | Single-run confirmations at a scale where each run costs GPU-hours; reported as sign-level and labelled as single runs |
+| 7B runs (llm_merge_hpc, llm_moe_hard_hpc, llm_directed_hard_hpc) | 3 training seeds | Seeds 2–3 added 2026-09-11 (`hpc/llm_7b_seeds.pbs`, ~33 min per seed on one L40S); per-seed contrasts in `figures/stats_llm_7b_seeds.py` |
+| llm_curriculum_v5_{early,late}(_obl) | 3 training seeds each | Conflict-arrival curricula; per-seed contrasts and the pooled partial-correlation test |
+| llm_curriculum_v5_cull | 3 training seeds | Differential reproduction; per-seed contrasts against the unselected arms |
+| llm_merge_seeds_smol, llm_moe_hard_seeds_smol | 5 and 3 training seeds | Second base lineage; per-seed orderings as for the Qwen runs |
+| llm_speciation | 3 training seeds | Conflict cliff and duration null checked seed by seed (`figures/stats_llm_speciation_seeds.py`); seeds 2–3 added 2026-09-12 |
+| llm_curriculum_v5, llm_curriculum_v5_veto, llm_curriculum_v5_stop3, llm_curriculum_v5_decor | 3 training seeds | The six-generation population; arm separations (≈0.5) far exceed seed spread (≈0.02), and the declinable-vs-never contrast is reported per seed because its mean is near zero |
 
 The asymmetry is deliberate: replicates are cheap exactly where the quantitative claims live, and the
 expensive tiers are asked only for the sign of an effect the cheap tier has already quantified. Where
 a single run is all there is, the manuscript says so.
 
-### M3. The biological-model tier
+### M3. The inheritance-model tier
 
 Knowledge is a distribution over `K` discrete items; reality is a fixed Zipf-tailed distribution
 `p*`; one generation resamples `n` draws from the parent, optionally mixes in `m` verified draws from
@@ -228,14 +352,14 @@ reading. Horizons of 400–600 generations were chosen so that ungrounded lineag
 grounded ones reach stationarity within the run, which the trajectories confirm.
 
 *Sweeps.* E2 sweeps grounding `g ∈ {0, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.4}`; E3 contrasts uniform
-against region-matched grounding allocation; E4 crosses parent count `K_T ∈ {1,2,3,5}` with teacher
+against region-matched grounding allocation; E4 crosses parent count `K_T ∈ {1,2,3,5}` with parent
 correlation `ρ ∈ {0, 0.25, 0.5, 0.75, 1}` and `g ∈ {0, 0.02, 0.05}`; E5 crosses selection mode
 (none / greedy / quality-diversity) with novelty weight; E6 compares four re-minting arms.
 
-*The correlated-parent construction (E4).* Teacher correlation is constructed directly rather than
+*The correlated-parent construction (E4).* Parent correlation is constructed directly rather than
 obtained by tuning drift, so that `ρ` is not confounded with `n`, `m`, tail size, or generation
 count. For each tail item a shared switch `z ~ Bern(ρ)`, a shared retention `s ~ Bern(q)`, and
-per-teacher `u⁽ᵏ⁾ ~ Bern(q)` give teacher `k` retention `s` if `z` else `u⁽ᵏ⁾`. This yields exact
+per-parent `u⁽ᵏ⁾ ~ Bern(q)` give parent `k` retention `s` if `z` else `u⁽ᵏ⁾`. This yields exact
 marginal retention `q` and exact pairwise correlation `ρ`, and is exchangeable, so `ρ` is a single
 scalar knob.
 
@@ -265,18 +389,18 @@ index losslessly, so the oracle reads the mode back with zero error) followed by
 uniformly at random. The style segment gives genuine within-mode entropy, so a generative model must
 learn a distribution rather than memorise `K` fixed strings, while the identity segment keeps the
 measurement noise-free. Mode truth comes from the same `make_true_distribution` used by the
-biological model, so "mode", "region", and "tail" denote the same objects at both tiers.
+inheritance model, so "mode", "region", and "tail" denote the same objects at both tiers.
 
 *The bridge gate.* Before any trained model is interpreted, a histogram generator is run through the
-identical harness; it must reproduce the biological model exactly. This separates harness bugs from
+identical harness; it must reproduce the inheritance model exactly. This separates harness bugs from
 model behaviour, and is why the bridge run carries 60 replicates.
 
-*Architectures and training.* The recurrent generator is an embedding (24) → GRU (128 hidden; 192 in
+*Architectures and training.* The recurrent generator is an embedding (26) → GRU (128 hidden; 192 in
 the architecture-generality run) → linear readout, trained each generation from scratch with Adam,
 learning rate 2×10⁻³, batch size 256, 25 epochs, and evaluated by sampling 12,000–15,000 sequences.
 Feedforward and variational autoencoder generators share the harness. Retraining from scratch each
 generation (rather than fine-tuning) makes the generational step a clean refit, matching the
-biological model's operator.
+inheritance model's operator.
 
 *MNIST tier.* Dataset: MNIST via torchvision (60,000 training images). Modes are digit class ×
 stroke-thickness bin (10 × 3 = 30 modes) with a Zipf frequency profile, so roughly eighteen modes are
@@ -302,8 +426,8 @@ possible alignments, the removable share is a lower bound and the residual an up
 
 *Base models.* Qwen2.5-Instruct at 0.5B and 7B, open weights under a permissive licence, with the
 revision pinned. Using two sizes from one family makes scale the only variable that changes between
-the small and large runs; the 0.5B model carries the multi-seed protocols and the 7B model the
-single-run confirmations.
+the small and large runs; the 0.5B model carries five-seed protocols on the easy families; the 7B
+runs are replicated over three training seeds.
 
 *Task families, and why they are procedural.* Three deliberately disjoint families — list
 operations, string transformations, and small-integer arithmetic — are generated procedurally from a
@@ -352,6 +476,43 @@ outcome is the merge penalty against oracle parent potential, pre-registered, an
 against best-parent and mean-parent references because the predictor ordering is sensitive to that
 choice.
 
+*The six-generation population.* Base model Qwen2.5-1.5B (base weights, not the instruction-tuned
+variant; 0.006 accuracy on the families untrained). Six public datasets with per-family verifiers:
+natural-language inference (MNLI; label), science questions (ARC; letter), commonsense completion
+(HellaSwag; letter), reading-comprehension spans (SQuAD; normalised span with aliases), yes/no
+questions (BoolQ), and pronoun resolution (WinoGrande; 1/2). Each family's pool is split into disjoint
+training, validation, and test items before any sampling, so validation and test never share an item.
+Two further curricula, conflict-early and conflict-late, are given as explicit orders: the two families
+whose answer conventions conflict (BoolQ yes/no, WinoGrande 1/2) occupy generations 1–2 or 5–6 of
+every lineage and the four compatible families fill the remaining generations in rotated orders, so
+adapter age and skill count rise one family per generation in both and only the arrival of conflict
+differs (`configs/llm/curriculum_v5_{early,late}.yaml`; obligate arms in the `_obl` configs; three
+training seeds each; `hpc/llm_curriculum_timing.pbs`). The conflict-timing readout is the partial
+Spearman correlation of the per-generation decline rate with an indicator of conflict presence,
+controlling for generation, with a seed-clustered percentile bootstrap (`figures/stats_llm_curriculum.py`).
+Differential reproduction (`cull: true`) applies truncation selection after each generation's
+measurement: the lineage with the lowest all-families accuracy is re-founded from the one with the
+highest (adapter, taught families, example budget and ancestry archive are copied; the slot keeps its
+curriculum order; ties leave the population unchanged), recorded as `culled` and `cull_source` rows
+(`configs/llm/curriculum_v5_cull.yaml`; three training seeds; `hpc/llm_cull.pbs`).
+The second base lineage is `HuggingFaceTB/SmolLM2-1.7B-Instruct` (Apache-2.0; Llama architecture),
+run through the unchanged `merge_seeds` and `moe_hard_seeds` protocols with its own adapter cache
+(`configs/llm/{merge_seeds,moe_hard_seeds}_smol.yaml`; `hpc/llm_smol.pbs`; `figures/stats_llm_smol.py`).
+Three lineages take the six families in a cyclic Latin square (each lineage's order is the previous
+lineage's shifted by two), which fixes partner complementarity — the fraction of the partner's families
+a lineage has not yet seen — at 1.0, 1.0, 0.8, 0.67, 0.33, 0.0 across the six generations. Each
+generation a lineage draws 300 new items from its scheduled family and 150 replay items split evenly
+across families already seen; the child adapter (rank 16) is initialised from the parent's and trained
+for 3 epochs at learning rate 10⁻⁴ (founders from the base at 2×10⁻⁴). Recombination averages two
+adapters at each weight in {0.5/0.5, 0.3/0.7, 0.7/0.3}; the winner is chosen on 20 validation items
+per family seen and then trains on the generation's new family. In the declinable arm the unchanged
+parent is a fourth candidate scored identically. The contemporary partner is the next lineage in the
+square; the ancestor partner is the lineage's own adapter three generations earlier; the self-replay
+variant draws its replay from the parent's own answers rather than from the datasets. Reporting uses
+60 test items per family. Because two of the families are binary, an accuracy threshold at 0.5 is
+chance, so the text reports mean accuracy over the families a lineage has been taught and the
+trajectory of its first-learned family rather than a count of families above a threshold.
+
 *The composed society.* A population of `N` LoRA agents on a shared frozen base evolves for `G`
 non-overlapping generations. Each generation every agent answers a fixed validation pool (verifier
 scored) and a fresh conformity pool (whose modal answer defines the population consensus); selection
@@ -372,9 +533,13 @@ collapsed to ρ = +0.03 once compatible overlap was present, identifying it as a
 a signal. The duration axis supplies divergence without conflict. The emergent-speciation condition
 supplies divergence with no conflicting signal anywhere, and returns a null. The budget-controlled
 speciation design (`conflict_mode: add`) removes the confound between conflict fraction and private
-training budget. The histogram bridge is a harness control. In the biological model, `m = 0` arms and
+training budget. The histogram bridge is a harness control. In the inheritance model, `m = 0` arms and
 `ρ = 1` (fully correlated parents) are the null conditions against which the corresponding effects
-are read.
+are read. In the six-generation population, three arms are controls — a single model taught the
+curriculum alone (no population), the never-merge population (no recombination), and merging with
+one's own ancestor (shared conventions, partial complementarity) — and the self-replay variant of the
+obligate arm controls the replay channel; SI Text S3 records the three direct tests that refuted
+alternative mechanisms for the obligate arm's collapse.
 
 ### M7. Statistical procedures
 
@@ -396,7 +561,42 @@ submission. Chronology of the predictive test (prospective / adaptive / post-hoc
 
 ## SI Figures
 
-One per experiment, regenerated from committed artifacts: E1–E14, bridge/collapse/grounding/
-architectures/recombination, kernel (sharpen/smooth), mnist_collapse (+ montage), speciation_real
-(decomposition/cliff/emergent), llm_merge(_hpc/_seeds), llm_moe(_hpc/_hard_hpc/_hard_seeds),
-llm_directed(_hpc/_hard_hpc/_hard_seeds), llm_speciation(_add), llm_epistasis(_compat).
+Sixteen figures are cited from the main text by number. Each is the per-experiment figure
+regenerated from the committed results artifact (`figures/plot_*.py`), reproduced here without
+re-plotting, so panel titles still carry the experiment's working name. Five of them are
+inheritance-model results with no real-model counterpart in this paper, reported here because each
+reproduces an established result: blending versus union retention (Fig. S8), the Fisher–Muller
+super-parent (Fig. S9), outbreeding depression on rugged landscapes (Fig. S10), directed
+recombination (Fig. S11), and the mate-pool breadth optimum (Fig. S13).
+
+*(FIG:s1)*
+
+*(FIG:s2)*
+
+*(FIG:s3)*
+
+*(FIG:s4)*
+
+*(FIG:s5)*
+
+*(FIG:s6)*
+
+*(FIG:s7)*
+
+*(FIG:s8)*
+
+*(FIG:s9)*
+
+*(FIG:s10)*
+
+*(FIG:s11)*
+
+*(FIG:s12)*
+
+*(FIG:s13)*
+
+*(FIG:s14)*
+
+*(FIG:s15)*
+
+*(FIG:s16)*
diff --git a/paper/pnas/si.pdf b/paper/pnas/si.pdf
index 7a52332..50dcb4c 100644
Binary files a/paper/pnas/si.pdf and b/paper/pnas/si.pdf differ
diff --git a/paper/pnas/si.tex b/paper/pnas/si.tex
index df01e4d..2f250be 100644
--- a/paper/pnas/si.tex
+++ b/paper/pnas/si.tex
@@ -1,5 +1,5 @@
-% SI Appendix — readable single-column build (tectonic/XeLaTeX). Content is generated from si.md
-% by `python paper/pnas/build.py si`; the pnas.cls reflow happens at submission.
+% Supplementary Information — readable single-column build (tectonic/XeLaTeX). Content is generated from si.md
+% by `python paper/pnas/build.py si`; journal-template reflow happens at submission.
 \ifdefined\XeTeXversion\else\ifdefined\pdfoutput\pdfoutput=1\fi\fi
 \documentclass[11pt]{article}
 
@@ -11,14 +11,15 @@
 
 \setlength{\parskip}{0.35em}
 \renewcommand{\thesection}{S\arabic{section}}
+\renewcommand{\thefigure}{S\arabic{figure}}
 
-\title{\textbf{Supporting Information}\\[0.5em]
+\title{\textbf{Supplementary Information}\\[0.5em]
 \large The evolution of sex for artificial intelligence:\\
 a population-genetic framework for multigenerational model populations}
 \author{Giorgio F.\ Gilestro\\[0.2em]
 \normalsize Department of Life Sciences, Imperial College London\\
 \normalsize \href{mailto:giorgio@gilest.ro}{giorgio@gilest.ro}}
-\date{Generated from \texttt{paper/pnas/si.md}}
+\date{Draft}
 
 \begin{document}
 \maketitle
diff --git a/paper/pnas/si_body.tex b/paper/pnas/si_body.tex
index e4b404c..03a162e 100644
--- a/paper/pnas/si_body.tex
+++ b/paper/pnas/si_body.tex
@@ -1,3 +1,7 @@
+\section*{Contents}
+
+SI Text S1--S4, SI Tables S1--S2, SI Methods M1--M7, SI Statistics, SI Figures S1--S16, and a separate Appendix 1, \emph{The figures explained} (\texttt{figure\_legends\_for\_students.pdf}), which restates every main and supplementary figure with a plain-language account of the experiment behind it, for readers from biology.
+
 \section*{Reproducibility}
 
 Every experiment in this paper is defined by one committed configuration file under \texttt{configs/}. Running it produces three artifacts under \texttt{results//}: the results table (\texttt{results.parquet}), the fully resolved configuration, and a manifest recording content hashes, the master seed, and the git commit. Each experiment directory also contains a README with the figure legend and the current status of the experiment's falsifier --- the outcome that would refute its claim (see Methods M1) --- plus a figure that regenerates from the parquet file alone. The script \texttt{reproduce.sh} re-runs the entire study from the master seeds, and \texttt{REPRODUCING.md} maps every panel of the manuscript to the configuration and seed behind it.
@@ -18,7 +22,7 @@ A \emph{function-preserving transformation} \texttt{T} is any change to a networ
 
 When two models' conventions conflict on a set of mass \texttt{\(\mu\)(S)}, any hybrid of the two is wrong on at least one parent's task at least \texttt{\(\mu\)(S)/2} of the time. This floor is information-theoretic, holding regardless of the alignment group, the architecture, or the merging operator. In the fitness sense it is reproductive isolation: beyond a given functional conflict, no recombination operator can produce an offspring faithful to both lineages.
 
-\textbf{What remains empirical, and how the experiment is designed.} Propositions 1 and 2 do not bound the single-task path barrier: the loss along the interpolation between A and \texttt{T(B)}, evaluated on one parent's task alone. In principle such a path could dip toward one parent's function and yield a low barrier even under conflict. Whether it does is an empirical question, and it is precisely what the experiment measures. The measured answer is that it does not. In the conflict condition the barrier is unchanged by permutation alignment (the \texttt{residual} readout) and by alignment modulo the full permutation-and-positive-rescaling group (the \texttt{residual\_scale} readout), while the very same aligner removes almost all of the barrier between independently initialised networks, the positive control. Work on richer symmetry groups for transformers (41) strengthens the removable side of the decomposition and is therefore complementary to this result: the more barrier a larger group can remove for \emph{compatible} models, the sharper the meaning of the barrier that survives for \emph{incompatible} ones. Proposition 2 caps what any of these methods could ever achieve on the conflict set.
+\textbf{What remains empirical, and how the experiment is designed.} Propositions 1 and 2 do not bound the single-task path barrier: the loss along the interpolation between A and \texttt{T(B)}, evaluated on one parent's task alone. In principle such a path could dip toward one parent's function and yield a low barrier even under conflict. Whether it does is an empirical question, and it is precisely what the experiment measures. The measured answer is that it does not. In the conflict condition the barrier is unchanged by permutation alignment (the \texttt{residual} readout) and by alignment modulo the full permutation-and-positive-rescaling group (the \texttt{residual\_scale} readout), while the very same aligner removes almost all of the barrier between independently initialised networks, the positive control. Work on richer symmetry groups for transformers (83) strengthens the removable side of the decomposition and is therefore complementary to this result: the more barrier a larger group can remove for \emph{compatible} models, the sharper the meaning of the barrier that survives for \emph{incompatible} ones. Proposition 2 caps what any of these methods could ever achieve on the conflict set.
 
 \textbf{Terminology used in the paper.} ``Residual (after alignment)'' denotes the estimated functional incompatibility: the part of the merge barrier that remains after the architecture's unit symmetries have been divided out. For ReLU MLPs I align modulo the full unit symmetry group, so the estimate is not confounded by symmetries of that architecture class that the aligner might have missed.
 
@@ -28,9 +32,33 @@ The conflict condition \emph{imposes} contradiction: the two label maps disagree
 
 Two conditions realise this emergent setting. In \texttt{disjoint}, the parents are specialists on complementary classes. In \texttt{augment}, they learn divergent input conventions on the same task. Neither condition contains label conflict, so any barrier that survives alignment cannot be attributed to label conflict. Such a barrier would be the emergent-speciation signal proper.
 
-Both readings were registered before the run. If the residual barrier grows with divergence, then model speciation is emergent in real weights, and the trajectory seen in the analytic speciation model is realised. If the residual stays at the level of the \texttt{shared} control, then within this regime trained networks are more merge-compatible than the biological analogy predicts. The second reading would be an honest bound on the analogy, and a useful design result in its own right: merging is safe whenever there is no functional conflict.
+Both readings were registered before the run. If the residual barrier grows with divergence, then model speciation is emergent in real weights, and the trajectory seen in the analytic speciation model is realised. If the residual stays at the level of the \texttt{shared} control, then within this regime trained networks are more merge-compatible than the biological analogy predicts. The second reading would bound the analogy, and be a useful design result in its own right: merging is safe whenever there is no functional conflict.
 
-\textbf{Outcome.} Four replicates, with divergence up to 3,200 steps --- up to 6.4\(\times\) the shared base training --- returned the second reading. The residual barrier was 0.000 at every divergence in both emergent conditions. Merging moreover \emph{rescued} the \texttt{disjoint} specialists, which had forgotten the classes outside their specialty: at the longest divergence the parents score 0.535 and 0.474 on the full task, while the merged model holds approximately 0.955 at every divergence tested. This is a sustained Fisher--Muller rescue at zero barrier. Within this regime, reproductive isolation in real weights required functional conflict. The same question at language-model scale is answered by the duration arm of the language-model speciation experiment, which likewise found no isolation from over-training alone (1 to 12 epochs); whether still longer horizons erode mergeability (cf. 43) remains open.
+\textbf{Outcome.} Four replicates, with divergence up to 3,200 steps --- up to 6.4\(\times\) the shared base training --- returned the second reading. The residual barrier was 0.000 at every divergence in both emergent conditions. Merging moreover \emph{rescued} the \texttt{disjoint} specialists, which had forgotten the classes outside their specialty: at the longest divergence the parents score 0.535 and 0.474 on the full task, while the merged model holds approximately 0.955 at every divergence tested. This is a sustained Fisher--Muller rescue at zero barrier. Within this regime, reproductive isolation in real weights required functional conflict. The same question at language-model scale is answered by the duration arm of the language-model speciation experiment, which likewise found no isolation from over-training alone (1 to 12 epochs); whether still longer horizons erode mergeability (cf. 83) remains open.
+
+\section*{SI Text S3. Compatible loci and conflicting alleles in a multigenerational population}
+
+\textbf{The two kinds of new knowledge.} A \emph{locus} is a position in the genome, and \emph{alleles} are the alternative versions that can occupy it: one blood-group locus, three alleles A, B and O, of which any one chromosome carries exactly one. In a model population a locus is a slot for a capability (``how to answer a two-way question'') and alleles are the incompatible conventions that could fill it (``yes/no'', ``true/false'', ``1/2''). A skill that conflicts with nothing a lineage already holds occupies a new locus and is simply added; a skill that demands a different convention for a question shape the lineage already answers is a competing allele, and a single model, like a single chromosome, carries one. Proposition S2 gives the cost: when two parents' conventions disagree on a share \texttt{\(\mu\)(S)} of inputs, any merged child errs against at least one parent on at least \texttt{\(\mu\)(S)/2} of them. In the six-generation population a lineage obliged to merge at generation \texttt{t} pays that floor against its partner's conflicting conventions; because the child continues the lineage, the loss is inherited, and the next generation's conflict adds to it. Under the Latin-square curriculum \texttt{\(\mu\)\_t(S)} is zero while partners are complementary (their skills occupy disjoint loci) and becomes positive once a partner carries a differently conventioned version of a skill the lineage already holds. Two of the six families --- yes/no questions and two-way pronoun resolution --- have the most idiosyncratic conventions and were measured in calibration at 0.00--0.04 accuracy on every other family, so they carry the largest \texttt{\(\mu\)(S)} against every partner; the generation at which the curriculum hands them to a lineage's partner fixes when that lineage's collapse begins.
+
+\textbf{Negative controls that isolate convention conflict.} Three alternative explanations of the obligate arm's collapse were tested directly and refuted. (i) \emph{A destructive skill spreading through merges.} A single 50/50 merge of two clean single-skill adapters (science questions 0.838 / yes-no 0.000; yes-no 0.800 / science 0.300) scored 0.863 and 0.787, mean 0.825 against 0.550 for the better parent: one merge is protective, not destructive. (ii) \emph{Geometric dilution of an adapter's signal under repeated averaging.} Five chained convex merges left the first skill's accuracy unchanged even though its nominal weight fell to 1/32; but a scaling control showed the adapter alone delivers nothing at 1/32 (0.000; full effect down to 1/8), so what propagated through the chain was the answer format supplied by whichever partner carried enough weight, not the skill. Dilution is refuted, and the transmitted quantity is identified as the convention. (iii) \emph{Continued training on merged weights.} Merging then training on the incoming family beat merging alone on the tracked skill in four of five rounds and on the incoming skill in all five, and absorbed the one format shock that dropped the merge-only chain (0.567 \(\rightarrow\) 0.883). With capacity ruled out by the lifelong-editing benchmark (80) at three orders of magnitude more content, convention conflict is the mechanism that remains --- the one the framework predicts, and the one single-model studies report (81, 82).
+
+\textbf{Neutral and functional variation.} Three adapters trained on the same family, differing only in seed and data draw, were near-orthogonal in weight space (pairwise cosine +0.006) and disagreed on 24\% of answers, yet merging two of them gave 0.887 against 0.800 for the better one --- exactly the fraction of questions on which either was right (0.887). Decomposing the weight change across seeds, roughly 85\% of a LoRA delta is run-specific: shared signal power 6.2 (after correcting the finite-sample mean for its own noise) against noise power 35. That is why raw weight distance predicted nothing in the main text's controlled test: most of what it measures is the counterpart of \emph{synonymous substitution} --- sequence change without functional change --- which averages out when adapters for the same skill are combined, while the fraction that conflicts lives in the answer conventions. Averaging same-skill adapters before crossing them with a different skill improved the cross modestly (0.825 \(\rightarrow\) 0.850) while leaving each single skill unchanged, the inbred-line pattern: averaging within a line does not improve the line, it makes it cleaner to cross.
+
+\textbf{Attenuation and the effectiveness cliff.} Scaling an adapter's weights down does not degrade its skill gracefully. Each skill holds full accuracy to a skill-specific fraction (1/8 for science questions, 1/4 for reading-comprehension spans, 1/2 for commonsense completion, 1/4 for yes/no) and then loses nearly everything within one further halving. Four of six adapters scored higher when attenuated (inference 0.40 \(\rightarrow\) 0.68 at 1/4; completion 0.75 \(\rightarrow\) 0.82 at 1/2; spans 0.72 \(\rightarrow\) 0.78 at 1/4; science 0.87 \(\rightarrow\) 0.92 at 1/8): they were over-trained at full strength --- the effect reported for merging experts (84, 85) --- and recoverable here by one scalar per adapter with no retraining (six separate specialists 0.678 \(\rightarrow\) 0.755). Denoising across seeds does not move the cliff, so the limit is signal magnitude rather than signal-to-noise. Choosing per-skill merge weights from these solo curves failed (0.686--0.689 against 0.708 for uniform weights): in a six-way merge a skill's effective strength is its weight relative to the others --- six conventions competing for one output --- so raising one starves the rest.
+
+\section*{SI Text S4. Proof of the blending-inheritance proposition}
+
+\textbf{Setting.} \texttt{K} parents; each independently retains a given rare item with probability \texttt{q}, and a parent that retains it assigns it mass \texttt{p}. The child draws \texttt{n} samples from a \emph{source distribution} and keeps the item if at least one draw is that item. Two sources are compared: (A) one parent chosen uniformly at random; (B) the mean of the \texttt{K} parents' distributions.
+
+\textbf{Expected mass is conserved.} Let \texttt{J \textasciitilde{} Binomial(K, q)} be the number of parents retaining the item. Under (A) the source mass of the item is \texttt{p} with probability \texttt{q} and 0 otherwise, so its expectation is \texttt{pq}. Under (B) the source mass is \texttt{pJ/K}, whose expectation is \texttt{p\(\cdot\)E[J]/K = pq}. The expected number of copies in the child's sample, \texttt{n} times the source mass, is therefore \texttt{npq} under both schemes (linearity of expectation).
+
+\textbf{Survival agrees to first order.} Write \texttt{f(x) = 1 \(-\) (1 \(-\) x)\textasciicircum{}n} for the probability that at least one of \texttt{n} draws hits an item of source mass \texttt{x}; \texttt{f} is increasing and concave, with \texttt{f(x) = nx + O((nx)\(^{2}\))}. Survival is \texttt{E[f(M)]} with \texttt{M} the (random) source mass. Under (A), \texttt{E[f(M)] = q\(\cdot\)f(p)}; under (B), \texttt{E[f(M)] = E[f(pJ/K)]}. When \texttt{n\(\cdot\)p \(\ll\) 1}, every realised mass satisfies \texttt{nM \(\leq\) np \(\ll\) 1}, so \texttt{f(M) \(\approx\) nM} and both expectations reduce to \texttt{n\(\cdot\)E[M] = npq}: the \texttt{1/K} dilution of scheme (B) is cancelled exactly by the item being present in the mixture whenever any of the \texttt{K} parents holds it. (Equivalently, in this regime the child's copy count is approximately Poisson with mean \texttt{nM}, and Poisson thinning by \texttt{1/K} composed with a \texttt{K}-fold union preserves the mean.)
+
+\textbf{Boundary 1 (common items).} Away from the first-order regime the comparison is settled by Jensen's inequality. Both schemes give \texttt{M} the same mean \texttt{pq}; scheme (A) puts all its variance in the two-point distribution \texttt{{0, p}}, and scheme (B) has strictly smaller variance for \texttt{K > 1}. Since \texttt{f} is concave, \texttt{E[f(M)]} is larger for the less variable \texttt{M}, so averaging never lowers expected survival, and raises it once \texttt{np} is not small. The extinction probability \texttt{1 \(-\) f} is convex, which is the form in which the main text states this boundary. The proposition is thus a statement about rare items, where survival is linear in mass; it does not claim averaging is harmful in general.
+
+\textbf{Boundary 2 (union operator).} Let the child instead draw from the distribution that assigns each item the largest mass any parent gives it, renormalised. The item's source mass is then \texttt{p} whenever \texttt{J \(\geq\) 1}, an event of probability \texttt{1 \(-\) (1 \(-\) q)\textasciicircum{}K}, increasing in \texttt{K} for every \texttt{q \(\in\) (0, 1)}. Expected survival \texttt{(1 \(-\) (1 \(-\) q)\textasciicircum{}K)\(\cdot\)f(p)} therefore rises with \texttt{K} in every regime, without a first-order restriction. The operator needs an oracle (a verifier) to say which parent holds each item most strongly, which is what routing supplies in the language-model tier.
+
+Both statements are confirmed by simulation in Fig. S8, where mean-mixture survival is flat in \texttt{K} and the item-wise maximum rises with it.
 
 \section*{SI Table S1: the claims ledger (status / assumptions / evidence / limits)}
 
@@ -38,10 +66,10 @@ Both readings were registered before the run. If the residual barrier grows with
 \begin{tabular}{p{0.184\textwidth} p{0.184\textwidth} p{0.184\textwidth} p{0.184\textwidth} p{0.184\textwidth}}
 \hline
 Claim & Status & Key assumptions & Evidence & Known limits \\ \hline
-Population collapse in the biological model is Wright--Fisher drift & Closed form; the diagnosis itself is due to prior work & Knowledge is a categorical distribution; refitting means resampling & Closed forms reproduced to <0.5\% & Real learners add a signed, architecture-specific estimator bias (measured) \\[3pt]
+Population collapse in the inheritance model is Wright--Fisher drift & Closed form; the diagnosis itself is due to prior work & Knowledge is a categorical distribution; refitting means resampling & Closed forms reproduced to <0.5\% & Real learners add a signed, architecture-specific estimator bias (measured) \\[3pt]
 Grounding behaves like immigration, and the critical real-data fraction is far below one & Closed form, plus the sign confirmed empirically & Fresh samples from a fixed, non-drifting truth & Exact \texttt{H\_eq}; \texttt{g*\(\approx\)0.048}; sign holds in RNN/MLP/VAE and on MNIST & Deepest tail unrescuable at feasible budgets (\texttt{m \(\sim\) 1/p}); sharp threshold softens in trained nets \\[3pt]
 ``Merge, don't average'' conservation & Exact \textbf{for the output-mean operator} & Rare-item regime; an oracle/verifier identifies the strongest source & E4 closed form + simulation; neural reproduction & Weight-averaging and routing are empirical cousins, not instances; budgets differ; bridge = the headroom rule \\[3pt]
-Offspring exceed every parent (Fisher--Muller) & Interpretation + empirical & Complementary (decorrelated) parents; verifiable fitness & E8 (biological model); 7B LoRA merge beats every specialist on every family & LLM tier: 3 lexically-distinct families; replicated over five training seeds at 0.5B \\[3pt]
+Offspring exceed every parent (Fisher--Muller) & Interpretation + empirical & Complementary (decorrelated) parents; verifiable fitness & E8 (inheritance model); LoRA merges beat the best specialist overall in every seed at 0.5B (5 seeds) and 7B (3 seeds) & LLM tier: 3 lexically-distinct families \\[3pt]
 Outbreeding depression on rugged landscapes; operator design rule & Biological-model result; hypothesis at LLM scale & NK epistasis stands in for skill entanglement & E9--E10; directed selection rescues & Not yet mapped onto a real task-entanglement measure \\[3pt]
 Optimal mate-pool breadth shrinks with ruggedness & Biological-model result; hypothesis for merging populations & Ring population, local selection & E14 & Phenomenon known to island-model evolutionary computation; the contribution here is the mapping and the diversity/mean decomposition \\[3pt]
 Merge failure decomposes into a coordinate artefact plus a functional residual & Empirical at the trained-network and language-model tiers & Alignment enumerates the architecture's unit symmetries & Full-symmetry residual \(\approx\) 0 for compatible parents versus \(\approx\) the naive barrier under conflict; a cliff in hybrid fitness; function-specific breakdown at the LLM tier & Scoped to aligned linear interpolation; conflict floor is information-theoretic, not genetic \\[3pt]
@@ -50,7 +78,10 @@ Pre-merge functional disagreement predicts merge penalty & Empirical, within a c
 Confidence weighting improves rank prediction over raw disagreement & Not supported (pre-registered internal prediction) & --- & Paired contrast over the same bootstrap resamples: \(\Delta\)\textbackslash{} & \(\rho\)\textbackslash{} \\[3pt]
 The predictor improves budget-matched operator choice & \textbf{Open} & --- & Soup-vs-route gap readout noise-dominated at 0.5B & The practical payoff; untested \\[3pt]
 Emergent speciation without label conflict & Not observed (pre-registered) & Shared ancestry; compatible tasks; the divergences tested & Residual 0.000 to 6.4\(\times\) base training; the merge rescues the specialists & Bounds the hypothesis; longer horizons/distribution shift/capacity pressure untested \\[3pt]
-Grounding, recombination, and diversity preservation make complementary contributions & Biological-model result; hypothesis at LLM scale & Conformity stands in for self-consumption & E11 four-arm ablation; each arm fails in a distinct way & General joint necessity is not established; the full grounded LLM society is unbuilt \\[3pt]
+Grounding, recombination, and diversity preservation make complementary contributions & Biological-model result; hypothesis at LLM scale & Conformity stands in for self-consumption & E11 four-arm ablation; each arm fails in a distinct way & General joint necessity is not established; the language-model population (Fig. 4B--C) lacks differential reproduction between lineages \\[3pt]
+Obligate recombination collapses once partners carry conflicting conventions & Empirical (1.5B base, 3 lineages \(\times\) 6 generations, 3 seeds) & Latin-square curriculum; replay present; linear merge; no culling of lineages & Best lineage 0.269 vs 0.796 never merging; onset at complementarity < 0.8; own-ancestor merge 0.663; three alternative mechanisms refuted (SI Text S3) & Six generations; one base; the arrival order of conflicting families is set by the curriculum \\[3pt]
+A declinable merge reverts the population to asexual accumulation without advance knowledge of when to stop & Empirical (same population, plus two controls, 3 seeds each) & ``Keep the parent'' scored as one candidate on validation data & Fraction declined 0.44 \(\rightarrow\) 1.00 across generations; finishes 0.792 vs 0.796 never merging. Forced stop after generation 2 finishes 0.793 (veto \(-\) stop3 per seed \(-\)0.008/\(-\)0.006/+0.011). Under a decorrelated curriculum (complementarity 0.00 \(\rightarrow\) 0.70 \(\rightarrow\) 0.00) declines still rise 0.44 \(\rightarrow\) 0.89; pooled partial \(\rho\)(declined, complementarity \textbackslash{} & generation) = \(-\)0.07, CI (\(-\)0.21, +0.09); partial \(\rho\) with generation +0.31 \\[3pt]
+Recombination's net benefit across six generations is an early lead, not a final gain & Empirical (same population); consistent with the inheritance model's speed advantage (E7) & Every skill reaches every lineage by the curriculum regardless & +0.08 at generation 0; \(-\)0.005 at generation 5 (per-seed \(-\)0.03/+0.01/+0.01) & Replay present, so forgetting was not a live pressure; a curriculum that withholds skills from some lineages is untested \\[3pt]
 \hline\end{tabular}\end{center}\medskip
 
 \section*{SI Table S2: headline quantitative results}
@@ -61,14 +92,21 @@ Headline quantitative results with sample sizes, uncertainty, and outcome defini
 \begin{tabular}{p{0.230\textwidth} p{0.230\textwidth} p{0.230\textwidth} p{0.230\textwidth}}
 \hline
 Result & Setting / n & Outcome definition & Headline \\ \hline
-Closed-form validation & Biological model; standing tests & Simulated vs closed-form H-decay, immigration equilibrium, multi-teacher union & Agreement < 0.5\% \\[3pt]
-Grounding retention & Biological model (E2); 100 lineages per grounding level & Fraction of equilibrium diversity retained at grounding \texttt{g} (operational threshold) & \texttt{g \(\approx\) 0.05} retains \(\geq\)95\% in the tested setting; smooth in \texttt{g} \\[3pt]
+Closed-form validation & Inheritance model; standing tests & Simulated vs closed-form H-decay, immigration equilibrium, multi-parent union & Agreement < 0.5\% \\[3pt]
+Grounding retention & Inheritance model (E2); 100 lineages per grounding level & Fraction of equilibrium diversity retained at grounding \texttt{g} (operational threshold) & \texttt{g \(\approx\) 0.05} retains \(\geq\)95\% in the tested setting; smooth in \texttt{g} \\[3pt]
 MNIST collapse \& rescue & Conv-VAE, 4 replicates; frozen oracle (98.5\% mode acc.) & Mode support / forward-KL over generations & Dry: 30\(\rightarrow\)1 modes; 10\% grounding: 30/30 held \\[3pt]
-Fisher--Muller in LLMs & 5 seeds (0.5B), fixed tests; single 7B run & Merged vs best-specialist accuracy (overall; worst family) & Ties 0.647\(\pm\)0.027 vs 0.592\(\pm\)0.009; 7B 0.87 vs 0.77 \\[3pt]
-Union vs blend (headroom) & 3 seeds (0.5B hard); single 7B-hard run & Paired per-seed ordering, routing vs weight-average & Routing > blend in 3/3 seeds; one catastrophic blend failure avoided \\[3pt]
+Fisher--Muller in LLMs & 5 seeds (0.5B) and 3 seeds (7B), fixed tests & Merged vs best-specialist accuracy (overall; worst family); \(\pm\): 95\% CI over seeds & 0.5B ties 0.647\(\pm\)0.027 vs 0.592\(\pm\)0.009; 7B soup 0.873\(\pm\)0.004 vs 0.807\(\pm\)0.038 (soup \(-\) best +0.066\(\pm\)0.036, 3/3 seeds) \\[3pt]
+Union vs blend (headroom) & 3 seeds (0.5B hard); 3 seeds (7B hard) & Paired per-seed ordering, routing vs weight-average & 0.5B: routing > blend in 3/3 seeds, one catastrophic blend failure avoided. 7B: routing 0.503\(\pm\)0.007 vs soup 0.408\(\pm\)0.021 (+0.094\(\pm\)0.015, 3/3); soup vs best specialist +0.001\(\pm\)0.041 (the seed-1 'soup below best parent' did not replicate). Directed \(-\) soup +0.073\(\pm\)0.031 (3/3) \\[3pt]
 Speciation decomposition & MLPs, 3 replicates & LMC error barrier residual after permutation+rescaling alignment & Same-task 0.001; conflict 0.497 (naive 0.502) \\[3pt]
 Emergent isolation & MLPs 4 reps to 6.4\(\times\) base training; LLM 1\(\rightarrow\)12 epochs & Residual barrier; merged vs parent accuracy & 0.000 everywhere; merge rescues parents (\(\approx\)0.955 vs \(\approx\)0.50) \\[3pt]
+LLM speciation, seeds & 0.5B; 3 training seeds; fixed test prompts & Conflict cliff: merge best-convention accuracy vs parents' own at full conflict. Duration null: merged private-task accuracy, 1 \(\rightarrow\) 12 epochs & Cliff in 3/3 seeds (merge 0.02/0.12/0.16 vs parents 0.23--0.25); merged coherence over the sweep 0.147\(\pm\)0.013 \(\rightarrow\) 0.100\(\pm\)0.082. No isolation in 3/3 (0.760\(\pm\)0.075 \(\rightarrow\) 0.950\(\pm\)0.010) \\[3pt]
 Predictive test & 13 conditions \(\times\) 3 seeds (0.5B) & Merge penalty vs oracle parent potential (pre-registered; \(\pm\): clustered 95\% CI) & Functional \(\rho\) +0.45/+0.46, CI excl. 0; LOCO \(\rho\) \(\approx\) 0.4; geometry n.s.; paired differences n.s. \\[3pt]
+Predictive test, seed sensitivity & Same; per-seed and leave-one-seed-out & Spearman \(\rho\) vs merge penalty within each seed alone (n = 13 conditions) & Functional +0.37 to +0.53 in every seed; weight geometry \(\approx\) 0 in every seed; gradient alignment seed-unstable (\(-\)0.11 to \(-\)0.55) \\[3pt]
+Six-generation population & 1.5B base; 3 lineages \(\times\) 6 generations; 3 training seeds; fixed tests (60 per family) & Best-lineage accuracy over six families at the final generation (mean of seeds; per-seed contrasts) & Never merge 0.796; declinable merge 0.792 (\(\Delta\) \(-\)0.03/+0.01/+0.01); forced stop after generation 2: 0.793 (declinable \(-\) stop \(-\)0.008/\(-\)0.006/+0.011); obligate merge 0.269 (declinable \(-\) obligate +0.57/+0.54/+0.45); own-ancestor merge 0.663; single model 0.802 \\[3pt]
+Conflict-arrival curricula & Conflict-early / conflict-late (boolq + winogrande in generations 1--2 or 5--6); isolated, declinable and obligate arms; 3 seeds each & Decline rate and obligate-arm accuracy per generation; partial Spearman of declines on a conflict-present indicator controlling for generation (seed-clustered bootstrap) & Declines 0.56 \(\rightarrow\) 0.78 (early), 0.44 \(\rightarrow\) 0.89 (late); partial \(\rho\)(conflict \\[3pt]
+Differential reproduction & Latin square; truncation selection (worst lineage re-founded from the best each generation); isolated and declinable arms; 3 seeds & Final best-lineage accuracy; per-seed contrasts against the unselected arms & Never merge + selection 0.804, declinable + selection 0.793 (declinable \(-\) never merge \(-\)0.011\(\pm\)0.003, below in 3/3); unselected 0.796 / 0.792; selection \(-\) no selection +0.007\(\pm\)0.030 \\[3pt]
+Second base lineage & SmolLM2-1.7B-Instruct; Fisher--Muller 5 seeds, headroom (hard) 3 seeds; fixed tests & Same contrasts as the Qwen rows & Soup \(-\) best specialist +0.049\(\pm\)0.022, TIES \(-\) best +0.097\(\pm\)0.020 (5/5 each; worst family +0.19 / +0.20). Routing \(-\) soup +0.162\(\pm\)0.036 (3/3); soup \(-\) best specialist \(-\)0.029\(\pm\)0.017 (below in 3/3) \\[3pt]
+Declinable-merge acceptance & Latin-square and decorrelated curricula; 9 merge decisions per generation; 3 seeds each & Fraction of proposed merges declined vs partner complementarity, with generation controlled (partial Spearman, seed-clustered bootstrap CI) & Latin square: 0.44 \(\rightarrow\) 1.00 (raw \(\rho\) with complementarity \(-\)0.57, n = 18). Decorrelated curriculum (complementarity 0.00, 0.67, 0.70, 0.58, 0.33, 0.00): 0.44 \(\rightarrow\) 0.89. Pooled (n = 36): partial \(\rho\) with complementarity \(-\)0.07, CI (\(-\)0.21, +0.09); partial \(\rho\) with generation +0.31 \\[3pt]
 \hline\end{tabular}\end{center}\medskip
 
 \section*{SI Methods: experimental procedures}
@@ -81,9 +119,9 @@ Four rules govern every choice that follows.
 
 \emph{Test each claim at the cheapest tier that can falsify it.} A closed form beats a simulation, a simulation beats a trained network, and a small network beats a language model, whenever the cheaper instrument can still return the answer ``no''. A costlier tier is entered only where it adds a discriminating test rather than a replication --- which is why several cells of the programme (Fig. 1A) are deliberately empty.
 
-\emph{Match the precision of the claim to the precision of the instrument.} The biological model is exact, so it carries the paper's quantitative statements. Trained systems add optimisation noise and inductive bias, so at those tiers I claim signs and orderings, never magnitudes.
+\emph{Match the precision of the claim to the precision of the instrument.} The inheritance model is exact, so it carries the paper's quantitative statements. Trained systems add optimisation noise and inductive bias, so at those tiers I claim signs and orderings, never magnitudes.
 
-\emph{Make reality able to refuse.} Every tier has an oracle that is independent of the model being measured: a fixed true distribution in the biological model, a lossless identity code or a frozen classifier in the neural tier, an exact-match verifier over procedurally generated tasks in the language-model tier.
+\emph{Make reality able to refuse.} Every tier has an oracle that is independent of the model being measured: a fixed true distribution in the inheritance model, a lossless identity code or a frozen classifier in the neural tier, an exact-match verifier over procedurally generated tasks in the language-model tier.
 
 \emph{Declare the falsifier before running.} Each experiment states the outcome that would refute the claim it tests (per-experiment READMEs; SI Table S1). Two pre-registered predictions failed, and are reported as failures in the main text.
 
@@ -91,7 +129,7 @@ Four rules govern every choice that follows.
 
 A replicate means something different at each tier, and conflating the three would misstate what the error bars cover.
 
-In the biological model a replicate is an independent lineage: a fresh random stream driving the same resolved config, with sub-seeds derived from the master seed by \texttt{SeedSequence.spawn}. Because drift \emph{is} the object of study, the spread across replicates is signal rather than nuisance, and replicate counts are set so that the confidence interval on the summary statistic is small relative to the effect being reported.
+In the inheritance model a replicate is an independent lineage: a fresh random stream driving the same resolved config, with sub-seeds derived from the master seed by \texttt{SeedSequence.spawn}. Because drift \emph{is} the object of study, the spread across replicates is signal rather than nuisance, and replicate counts are set so that the confidence interval on the summary statistic is small relative to the effect being reported.
 
 In the trained-network tier a replicate is an independent lineage including fresh weight initialisation and data ordering, so it carries optimisation noise on top of drift.
 
@@ -112,7 +150,7 @@ E11 & 12 & Four-arm ablation over 80 generations; arms separate by margins far e
 E12, E12\_nk & 15 & Each point already averages 500 (E12) or 200 (E12\_nk) offspring \\[3pt]
 E14 & 20 & Breadth \(\times\) ruggedness grid, 60 generations per cell \\[3pt]
 kernel\_sharpen, kernel\_smooth & 24 & Two-parameter kernel fits against neural reference endpoints \\[3pt]
-bridge & 60 & The harness gate: must detect \emph{any} departure from the biological model, so the most replicated neural run \\[3pt]
+bridge & 60 & The harness gate: must detect \emph{any} departure from the inheritance model, so the most replicated neural run \\[3pt]
 grounding & 18 & Nine-point grounding sweep with per-generation network retraining \\[3pt]
 collapse, architectures & 5 & Sign-level demonstrations across architectures; each lineage retrains a network 22--25 times \\[3pt]
 recombination & 8 & Operator contrast in trained weights \\[3pt]
@@ -121,20 +159,25 @@ speciation\_real, \_cliff & 3 & Barrier decomposition; the quantity is a near-de
 speciation\_real\_emergent & 4 & A null: replicates are spent on longer divergence horizons rather than more repeats \\[3pt]
 llm\_merge\_seeds & 5 training seeds & The Fisher--Muller signature, the most-replicated language-model claim \\[3pt]
 llm\_moe\_hard\_seeds, llm\_directed\_hard\_seeds, llm\_epistasis(+compat), llm\_speciation\_add & 3 training seeds & Per-seed orderings reported individually rather than averaged \\[3pt]
-7B runs, llm\_speciation & 1 & Single-run confirmations at a scale where each run costs GPU-hours; reported as sign-level and labelled as single runs \\[3pt]
+7B runs (llm\_merge\_hpc, llm\_moe\_hard\_hpc, llm\_directed\_hard\_hpc) & 3 training seeds & Seeds 2--3 added 2026-09-11 (\texttt{hpc/llm\_7b\_seeds.pbs}, \textasciitilde{}33 min per seed on one L40S); per-seed contrasts in \texttt{figures/stats\_llm\_7b\_seeds.py} \\[3pt]
+llm\_curriculum\_v5\_{early,late}(\_obl) & 3 training seeds each & Conflict-arrival curricula; per-seed contrasts and the pooled partial-correlation test \\[3pt]
+llm\_curriculum\_v5\_cull & 3 training seeds & Differential reproduction; per-seed contrasts against the unselected arms \\[3pt]
+llm\_merge\_seeds\_smol, llm\_moe\_hard\_seeds\_smol & 5 and 3 training seeds & Second base lineage; per-seed orderings as for the Qwen runs \\[3pt]
+llm\_speciation & 3 training seeds & Conflict cliff and duration null checked seed by seed (\texttt{figures/stats\_llm\_speciation\_seeds.py}); seeds 2--3 added 2026-09-12 \\[3pt]
+llm\_curriculum\_v5, llm\_curriculum\_v5\_veto, llm\_curriculum\_v5\_stop3, llm\_curriculum\_v5\_decor & 3 training seeds & The six-generation population; arm separations (\(\approx\)0.5) far exceed seed spread (\(\approx\)0.02), and the declinable-vs-never contrast is reported per seed because its mean is near zero \\[3pt]
 \hline\end{tabular}\end{center}\medskip
 
 The asymmetry is deliberate: replicates are cheap exactly where the quantitative claims live, and the expensive tiers are asked only for the sign of an effect the cheap tier has already quantified. Where a single run is all there is, the manuscript says so.
 
-\subsection*{M3. The biological-model tier}
+\subsection*{M3. The inheritance-model tier}
 
 Knowledge is a distribution over \texttt{K} discrete items; reality is a fixed Zipf-tailed distribution \texttt{p*}; one generation resamples \texttt{n} draws from the parent, optionally mixes in \texttt{m} verified draws from \texttt{p*}, and refits. Implementation: NumPy/SciPy, no GPU, bitwise reproducible.
 
 \emph{Parameter choices.} \texttt{K = 500}--\texttt{1000} with \texttt{zipf\_s = 1.1} and half the items designated tail: large enough that the rare tail contains hundreds of items (so tail statistics are not dominated by a handful of them) and small enough to sweep densely. \texttt{n = 100}--\texttt{200} sets drift strength; it is the population size in the Wright--Fisher correspondence and the distillation sample size in the AI reading. Horizons of 400--600 generations were chosen so that ungrounded lineages reach fixation and grounded ones reach stationarity within the run, which the trajectories confirm.
 
-\emph{Sweeps.} E2 sweeps grounding \texttt{g \(\in\) {0, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.4}}; E3 contrasts uniform against region-matched grounding allocation; E4 crosses parent count \texttt{K\_T \(\in\) {1,2,3,5}} with teacher correlation \texttt{\(\rho\) \(\in\) {0, 0.25, 0.5, 0.75, 1}} and \texttt{g \(\in\) {0, 0.02, 0.05}}; E5 crosses selection mode (none / greedy / quality-diversity) with novelty weight; E6 compares four re-minting arms.
+\emph{Sweeps.} E2 sweeps grounding \texttt{g \(\in\) {0, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.4}}; E3 contrasts uniform against region-matched grounding allocation; E4 crosses parent count \texttt{K\_T \(\in\) {1,2,3,5}} with parent correlation \texttt{\(\rho\) \(\in\) {0, 0.25, 0.5, 0.75, 1}} and \texttt{g \(\in\) {0, 0.02, 0.05}}; E5 crosses selection mode (none / greedy / quality-diversity) with novelty weight; E6 compares four re-minting arms.
 
-\emph{The correlated-parent construction (E4).} Teacher correlation is constructed directly rather than obtained by tuning drift, so that \texttt{\(\rho\)} is not confounded with \texttt{n}, \texttt{m}, tail size, or generation count. For each tail item a shared switch \texttt{z \textasciitilde{} Bern(\(\rho\))}, a shared retention \texttt{s \textasciitilde{} Bern(q)}, and per-teacher \texttt{u\(^{(k)}\) \textasciitilde{} Bern(q)} give teacher \texttt{k} retention \texttt{s} if \texttt{z} else \texttt{u\(^{(k)}\)}. This yields exact marginal retention \texttt{q} and exact pairwise correlation \texttt{\(\rho\)}, and is exchangeable, so \texttt{\(\rho\)} is a single scalar knob.
+\emph{The correlated-parent construction (E4).} Parent correlation is constructed directly rather than obtained by tuning drift, so that \texttt{\(\rho\)} is not confounded with \texttt{n}, \texttt{m}, tail size, or generation count. For each tail item a shared switch \texttt{z \textasciitilde{} Bern(\(\rho\))}, a shared retention \texttt{s \textasciitilde{} Bern(q)}, and per-parent \texttt{u\(^{(k)}\) \textasciitilde{} Bern(q)} give parent \texttt{k} retention \texttt{s} if \texttt{z} else \texttt{u\(^{(k)}\)}. This yields exact marginal retention \texttt{q} and exact pairwise correlation \texttt{\(\rho\)}, and is exchangeable, so \texttt{\(\rho\)} is a single scalar knob.
 
 \emph{Multi-locus experiments (E7--E11, E14).} Genotypes are \texttt{L = 12} biallelic loci (4096 genotypes --- effectively open-ended relative to the population sizes used), with fitness either additive or a Kauffman NK landscape whose interaction count \texttt{K} tunes ruggedness from 0 to 10. E9 and E10 breed from \texttt{n\_parents = 6} local optima into populations of 200 offspring; E10 additionally screens offspring and iterates (5 rounds, keeping 8). E11 runs a population of \texttt{N = 60} agents for 80 generations at ruggedness \texttt{K = 8}, with mutation \texttt{\(\mu\) = 0.03}, 120 offspring per generation, and selection weighting true fitness against consensus conformity at \texttt{g = 0.85}. E14 sweeps mate-pool breadth on a ring of \texttt{N = 48} against ruggedness.
 
@@ -144,11 +187,11 @@ Knowledge is a distribution over \texttt{K} discrete items; reality is a fixed Z
 
 \subsection*{M4. The trained-network tier}
 
-\emph{Why a synthetic universe.} Measuring collapse requires knowing the true distribution exactly. Each mode is rendered as a token sequence carrying an identity segment (base-2 digits encoding the mode index losslessly, so the oracle reads the mode back with zero error) followed by style tokens drawn uniformly at random. The style segment gives genuine within-mode entropy, so a generative model must learn a distribution rather than memorise \texttt{K} fixed strings, while the identity segment keeps the measurement noise-free. Mode truth comes from the same \texttt{make\_true\_distribution} used by the biological model, so ``mode'', ``region'', and ``tail'' denote the same objects at both tiers.
+\emph{Why a synthetic universe.} Measuring collapse requires knowing the true distribution exactly. Each mode is rendered as a token sequence carrying an identity segment (base-2 digits encoding the mode index losslessly, so the oracle reads the mode back with zero error) followed by style tokens drawn uniformly at random. The style segment gives genuine within-mode entropy, so a generative model must learn a distribution rather than memorise \texttt{K} fixed strings, while the identity segment keeps the measurement noise-free. Mode truth comes from the same \texttt{make\_true\_distribution} used by the inheritance model, so ``mode'', ``region'', and ``tail'' denote the same objects at both tiers.
 
-\emph{The bridge gate.} Before any trained model is interpreted, a histogram generator is run through the identical harness; it must reproduce the biological model exactly. This separates harness bugs from model behaviour, and is why the bridge run carries 60 replicates.
+\emph{The bridge gate.} Before any trained model is interpreted, a histogram generator is run through the identical harness; it must reproduce the inheritance model exactly. This separates harness bugs from model behaviour, and is why the bridge run carries 60 replicates.
 
-\emph{Architectures and training.} The recurrent generator is an embedding (24) \(\rightarrow\) GRU (128 hidden; 192 in the architecture-generality run) \(\rightarrow\) linear readout, trained each generation from scratch with Adam, learning rate 2\(\times\)10\(^{-3}\), batch size 256, 25 epochs, and evaluated by sampling 12,000--15,000 sequences. Feedforward and variational autoencoder generators share the harness. Retraining from scratch each generation (rather than fine-tuning) makes the generational step a clean refit, matching the biological model's operator.
+\emph{Architectures and training.} The recurrent generator is an embedding (26) \(\rightarrow\) GRU (128 hidden; 192 in the architecture-generality run) \(\rightarrow\) linear readout, trained each generation from scratch with Adam, learning rate 2\(\times\)10\(^{-3}\), batch size 256, 25 epochs, and evaluated by sampling 12,000--15,000 sequences. Feedforward and variational autoencoder generators share the harness. Retraining from scratch each generation (rather than fine-tuning) makes the generational step a clean refit, matching the inheritance model's operator.
 
 \emph{MNIST tier.} Dataset: MNIST via torchvision (60,000 training images). Modes are digit class \(\times\) stroke-thickness bin (10 \(\times\) 3 = 30 modes) with a Zipf frequency profile, so roughly eighteen modes are rare. The generator is a convolutional variational autoencoder (latent 32, \(\beta\) = 1), retrained from scratch each generation with Adam, learning rate 10\(^{-3}\), batch 256, 30 epochs, on 6,000 images drawn from the previous generation's own samples, for 15 generations, at \texttt{g \(\in\) {0, 0.1}}. The oracle is a frozen two-convolution classifier trained once (5 epochs) combined with a deterministic thickness measure; it reaches 98.5\% mode accuracy and its 30 \(\times\) 30 confusion matrix is recorded in the manifest as the measurement floor. Build gates: the oracle's accuracy, and generation-0 recovery of all 30 modes.
 
@@ -156,7 +199,7 @@ Knowledge is a distribution over \texttt{K} discrete items; reality is a fixed Z
 
 \subsection*{M5. The language-model tier}
 
-\emph{Base models.} Qwen2.5-Instruct at 0.5B and 7B, open weights under a permissive licence, with the revision pinned. Using two sizes from one family makes scale the only variable that changes between the small and large runs; the 0.5B model carries the multi-seed protocols and the 7B model the single-run confirmations.
+\emph{Base models.} Qwen2.5-Instruct at 0.5B and 7B, open weights under a permissive licence, with the revision pinned. Using two sizes from one family makes scale the only variable that changes between the small and large runs; the 0.5B model carries five-seed protocols on the easy families; the 7B runs are replicated over three training seeds.
 
 \emph{Task families, and why they are procedural.} Three deliberately disjoint families --- list operations, string transformations, and small-integer arithmetic --- are generated procedurally from a seed. Procedural generation buys four things that a standard benchmark cannot: an exact-match verifier that plays the role of reality (an answer is right or it is not, with no judge model in the loop); freedom from train/test contamination, since every evaluation item is generated fresh from a disjoint seed offset; control over family disjointness, which is the precondition for specialists to be genuinely decorrelated parents; and a difficulty knob. A \texttt{hard} variant (multi-step list operations, Caesar ciphers and letter transforms, multi-step and larger arithmetic) exists because the easy families saturate a 7B base at ceiling, and saturation removes the headroom in which recombination operators can differ --- a control that proved necessary, since two null results at 7B turned out to be saturation artefacts rather than scale effects.
 
@@ -170,13 +213,15 @@ Knowledge is a distribution over \texttt{K} discrete items; reality is a fixed Z
 
 \emph{The controlled predictive test.} Thirty-nine parent pairs (13 conditions \(\times\) 3 seeds) span three axes that are decorrelated by construction: conflict (contradictory conventions on shared prompts, with private training budgets held fixed), compatible overlap (the same shared prompts under the same convention --- overlap and volume without conflict), and duration (weight divergence with no conflict, 1 to 12 epochs). Six predictors are computed before any merge: confidence-weighted functional conflict, raw disagreement, gradient alignment at the shared base, LoRA-delta cosine and L2 distance, and a cross-task performance baseline. Probes are drawn blind to where the conflict lives. The outcome is the merge penalty against oracle parent potential, pre-registered, and also reported against best-parent and mean-parent references because the predictor ordering is sensitive to that choice.
 
+\emph{The six-generation population.} Base model Qwen2.5-1.5B (base weights, not the instruction-tuned variant; 0.006 accuracy on the families untrained). Six public datasets with per-family verifiers: natural-language inference (MNLI; label), science questions (ARC; letter), commonsense completion (HellaSwag; letter), reading-comprehension spans (SQuAD; normalised span with aliases), yes/no questions (BoolQ), and pronoun resolution (WinoGrande; 1/2). Each family's pool is split into disjoint training, validation, and test items before any sampling, so validation and test never share an item. Two further curricula, conflict-early and conflict-late, are given as explicit orders: the two families whose answer conventions conflict (BoolQ yes/no, WinoGrande 1/2) occupy generations 1--2 or 5--6 of every lineage and the four compatible families fill the remaining generations in rotated orders, so adapter age and skill count rise one family per generation in both and only the arrival of conflict differs (\texttt{configs/llm/curriculum\_v5\_{early,late}.yaml}; obligate arms in the \texttt{\_obl} configs; three training seeds each; \texttt{hpc/llm\_curriculum\_timing.pbs}). The conflict-timing readout is the partial Spearman correlation of the per-generation decline rate with an indicator of conflict presence, controlling for generation, with a seed-clustered percentile bootstrap (\texttt{figures/stats\_llm\_curriculum.py}). Differential reproduction (\texttt{cull: true}) applies truncation selection after each generation's measurement: the lineage with the lowest all-families accuracy is re-founded from the one with the highest (adapter, taught families, example budget and ancestry archive are copied; the slot keeps its curriculum order; ties leave the population unchanged), recorded as \texttt{culled} and \texttt{cull\_source} rows (\texttt{configs/llm/curriculum\_v5\_cull.yaml}; three training seeds; \texttt{hpc/llm\_cull.pbs}). The second base lineage is \texttt{HuggingFaceTB/SmolLM2-1.7B-Instruct} (Apache-2.0; Llama architecture), run through the unchanged \texttt{merge\_seeds} and \texttt{moe\_hard\_seeds} protocols with its own adapter cache (\texttt{configs/llm/{merge\_seeds,moe\_hard\_seeds}\_smol.yaml}; \texttt{hpc/llm\_smol.pbs}; \texttt{figures/stats\_llm\_smol.py}). Three lineages take the six families in a cyclic Latin square (each lineage's order is the previous lineage's shifted by two), which fixes partner complementarity --- the fraction of the partner's families a lineage has not yet seen --- at 1.0, 1.0, 0.8, 0.67, 0.33, 0.0 across the six generations. Each generation a lineage draws 300 new items from its scheduled family and 150 replay items split evenly across families already seen; the child adapter (rank 16) is initialised from the parent's and trained for 3 epochs at learning rate 10\(^{-4}\) (founders from the base at 2\(\times\)10\(^{-4}\)). Recombination averages two adapters at each weight in {0.5/0.5, 0.3/0.7, 0.7/0.3}; the winner is chosen on 20 validation items per family seen and then trains on the generation's new family. In the declinable arm the unchanged parent is a fourth candidate scored identically. The contemporary partner is the next lineage in the square; the ancestor partner is the lineage's own adapter three generations earlier; the self-replay variant draws its replay from the parent's own answers rather than from the datasets. Reporting uses 60 test items per family. Because two of the families are binary, an accuracy threshold at 0.5 is chance, so the text reports mean accuracy over the families a lineage has been taught and the trajectory of its first-learned family rather than a count of families above a threshold.
+
 \emph{The composed society.} A population of \texttt{N} LoRA agents on a shared frozen base evolves for \texttt{G} non-overlapping generations. Each generation every agent answers a fixed validation pool (verifier scored) and a fresh conformity pool (whose modal answer defines the population consensus); selection scores agents by \texttt{g\(\cdot\)fitness + (1\(-\)g)\(\cdot\)conformity}; parents are chosen with or without a quality-diversity term over behavioural distance; offspring are bred by screened recombination; and each child is a fresh adapter distilled from its source model's own answers, which makes the inheritance channel literally self-consuming. The verifier enters the loop only where \texttt{g > 0}, but is used for reporting in every arm. The four-arm ablation removes grounded evaluation, recombination, or diversity preservation in turn.
 
 \subsection*{M6. Negative controls}
 
 The design leans on controls that can remove a result rather than support one, and one of them did.
 
-The compatible-overlap axis was added to the predictive test specifically to expose overlap-and-volume artefacts, and it did: the initial two-axis grid's best predictor (LoRA-delta cosine, \(\rho\) = +0.60) collapsed to \(\rho\) = +0.03 once compatible overlap was present, identifying it as an artefact rather than a signal. The duration axis supplies divergence without conflict. The emergent-speciation condition supplies divergence with no conflicting signal anywhere, and returns a null. The budget-controlled speciation design (\texttt{conflict\_mode: add}) removes the confound between conflict fraction and private training budget. The histogram bridge is a harness control. In the biological model, \texttt{m = 0} arms and \texttt{\(\rho\) = 1} (fully correlated parents) are the null conditions against which the corresponding effects are read.
+The compatible-overlap axis was added to the predictive test specifically to expose overlap-and-volume artefacts, and it did: the initial two-axis grid's best predictor (LoRA-delta cosine, \(\rho\) = +0.60) collapsed to \(\rho\) = +0.03 once compatible overlap was present, identifying it as an artefact rather than a signal. The duration axis supplies divergence without conflict. The emergent-speciation condition supplies divergence with no conflicting signal anywhere, and returns a null. The budget-controlled speciation design (\texttt{conflict\_mode: add}) removes the confound between conflict fraction and private training budget. The histogram bridge is a harness control. In the inheritance model, \texttt{m = 0} arms and \texttt{\(\rho\) = 1} (fully correlated parents) are the null conditions against which the corresponding effects are read. In the six-generation population, three arms are controls --- a single model taught the curriculum alone (no population), the never-merge population (no recombination), and merging with one's own ancestor (shared conventions, partial complementarity) --- and the self-replay variant of the obligate arm controls the replay channel; SI Text S3 records the three direct tests that refuted alternative mechanisms for the obligate arm's collapse.
 
 \subsection*{M7. Statistical procedures}
 
@@ -188,5 +233,85 @@ Output of \texttt{figures/stats\_llm\_epistasis.py} (clustered CIs, paired predi
 
 \section*{SI Figures}
 
-One per experiment, regenerated from committed artifacts: E1--E14, bridge/collapse/grounding/ architectures/recombination, kernel (sharpen/smooth), mnist\_collapse (+ montage), speciation\_real (decomposition/cliff/emergent), llm\_merge(\_hpc/\_seeds), llm\_moe(\_hpc/\_hard\_hpc/\_hard\_seeds), llm\_directed(\_hpc/\_hard\_hpc/\_hard\_seeds), llm\_speciation(\_add), llm\_epistasis(\_compat).
+Sixteen figures are cited from the main text by number. Each is the per-experiment figure regenerated from the committed results artifact (\texttt{figures/plot\_*.py}), reproduced here without re-plotting, so panel titles still carry the experiment's working name. Five of them are inheritance-model results with no real-model counterpart in this paper, reported here because each reproduces an established result: blending versus union retention (Fig. S8), the Fisher--Muller super-parent (Fig. S9), outbreeding depression on rugged landscapes (Fig. S10), directed recombination (Fig. S11), and the mate-pool breadth optimum (Fig. S13).
+
+\begin{figure}[p]\centering  % s1
+\includegraphics[width=\textwidth]{figs/si/s1_architectures.pdf}
+\caption{Collapse, and its arrest by real data, in three kinds of generator. The generational loop of Fig.~2 (train a child only on its parent's output, with or without 5\% real data) is run with an exact frequency count (a histogram, no network), a recurrent network and a feed-forward network, on a synthetic universe of 256 knowledge items whose true frequencies are known exactly; 200 samples per generation, 22 generations, 5 replicates. (A) Distance from the true distribution (forward KL divergence, which grows the more of the truth a model fails to cover) against generation: solid lines, with no real data, climb in every architecture; dashed lines, with 5\% real data, stay low. (B) The same distance at the end of the run (error bars over replicates): real data lowers it in all three. (C) The fraction of rare items still alive at the end: real data raises it in all three. The histogram's bars in C are small because a frequency count drops a rare item outright once it is unseen, whereas the networks keep some alive by smoothing (the subject of Fig.~S2). A variational autoencoder was excluded because it failed the generation-0 fidelity check on this task.}\label{s1}
+\end{figure}
+
+\begin{figure}[p]\centering  % s2
+\includegraphics[width=\textwidth]{figs/si/s2_kernel.pdf}
+\caption{Why trained networks deviate from the ideal copier, in opposite directions. The inheritance model assumes a child's frequencies are exactly those it sampled from its parent. Two knobs are added to that copying step: a smoothing knob (a small pull toward treating every item as possible; mutation rate $u$) and a sharpening knob (a temperature $\tau < 1$ that concentrates probability on the commonest items). Blue: the ideal copier; red: the copier with one knob turned; green dashed: the level the real trained network reached with no real data; 24 replicates per regime. (A, B) The image network of Fig.~2 (6,000 samples per generation, 30 items): heterozygosity (A) and the number of distinct items still produced (B) against generation. The ideal copier barely drifts at this sample size, yet the real network collapsed to a single item; sharpening at $\tau = 0.8$ reproduces the collapse. (C, D) The recurrent network (200 samples, 256 items): heterozygosity (C) and forward KL divergence (D). The ideal copier drives diversity to zero, yet the real network keeps a floor near 0.68; smoothing at $u = 0.006$ reproduces the floor, though it overshoots the network's divergence (about 5 against 1.8), so the network's implicit prior is closer to the truth than a uniform one. In population-genetic terms the smoothing knob is recurrent mutation (variants appear without being inherited) and the sharpening knob is positive frequency-dependent selection (the majority gains, nothing new appears); a trained network behaves as drift plus one of these two biases, set by its architecture.}\label{s2}
+\end{figure}
+
+\begin{figure}[p]\centering  % s3
+\includegraphics[width=\textwidth]{figs/si/s3_E6.pdf}
+\caption{Re-baselining a collapsed population locks in its losses. A tempting shortcut is to declare a model's current output the new reference and discard the original data. In the inheritance model (500 items, 200 samples per generation, 400 generations, 100 replicates) the population's current frequencies are frozen as the new grounding reference at generations 150 and 300 (dotted verticals) and the original truth is kept only for measurement. Four arms: re-baseline while still diverse, under generous real data (green); re-baseline after collapse, under starved real data (red); the same starvation with re-baselining allowed only while heterozygosity is above 0.75 (blue); never re-baseline (grey). (A) Distance from the original truth against generation (bands over replicates): the red arm steps up at each re-baselining and never returns; the healthy arm shows small steps; the gated and never arms coincide. (B) Heterozygosity, with the gate's threshold dashed: the gated arm never re-baselines because it stays below the line. Once rare knowledge is gone from every copy it cannot be rebuilt (Muller's ratchet); a diversity gate prevents the shortcut from making the loss permanent.}\label{s3}
+\end{figure}
+
+\begin{figure}[p]\centering  % s4
+\includegraphics[width=\textwidth]{figs/si/s4_E2.pdf}
+\caption{The full real-data sweep in the inheritance model (the experiment summarised in Fig.~2B). 1,000 knowledge items with a long tail of rare ones, 200 samples per generation, 500 generations, 100 lineages; each generation also receives $m$ fresh real samples, so the real-data share is $g = m/(n+m)$, swept from 0 to 0.4. (A) Heterozygosity against generation, one line per $g$: with no real data it declines steadily; with any real data it levels off. (B) The level it settles at against $g$ (points, simulation) with the exact prediction (dashed) and the real data's own diversity (dotted); the red line marks $g^* = 0.048$ (95\% CI 0.047--0.050), where 95\% of the real data's diversity is kept. The hollow point at $g = 0$ has not converged (its equilibrium is zero). (C) The fraction of the rare tail retained, counted by items (red) and by their share of the truth (purple): both rise with $g$ but stay below 0.1 even at $g = 0.4$. (D) Survival by band of rarity, from the rarest (band 0) to the least rare (band 3): the rarest recover last. Overall diversity is cheap to protect; a rare item persists only once about one real example of it arrives per generation, so protecting it costs about one over its frequency in real samples.}\label{s4}
+\end{figure}
+
+\begin{figure}[p]\centering  % s5
+\includegraphics[width=\textwidth]{figs/si/s5_E3.pdf}
+\caption{Real data protects only the topics it covers. The 1,000 items are divided into ten topics (regions) and the same total budget of real data is spent either evenly over all ten or concentrated on one topic the experimenter wants to protect; 200 samples per generation, 400 generations, 100 replicates. (A) The fraction of that topic's rare items still alive against generation, with real data aimed at it (blue) or spread evenly (red), bands 95\% CI: aimed grounding holds about half the topic's rare items, spread grounding lets it fall to about 0.07. (B) Survival per topic at the end, same colours, the protected topic marked by the dotted line: aimed grounding protects its topic and leaves the others with no surviving rare items; spread grounding gives every topic the same low survival. Per-topic heterozygosity is confounded by how much of the truth each topic carries, so rare-item survival is the readout. A fixed budget of real data should be aimed at the knowledge one wants to keep.}\label{s5}
+\end{figure}
+
+\begin{figure}[p]\centering  % s6
+\includegraphics[width=\textwidth]{figs/si/s6_grounding.pdf}
+\caption{The real-data response in a trained recurrent network. The sweep of Fig.~S4 repeated in a recurrent generator rather than the exact simulation: 256 items, 200 samples per generation, 30 generations, $g$ swept over nine values from 0 to 0.2, 18 replicates. (A) Distance from the truth (forward KL divergence) against generation, one line per $g$: more real data suppresses the climb. (B) The final distance against $g$ (error bars 95\% CI), falling steadily from 2.08 with no real data to 0.75 at $g = 0.2$ (paired $t = 3.3$ at $g = 0.2$). (C) The fraction of the achievable improvement each $g$ buys: half of it arrives by $g = 0.040$ (red line; bootstrap 95\% CI 0.004--0.116 shaded), close to the simulation's $g^* = 0.048$ (black dashed), but the full improvement needs $g$ near 0.19. (D) Three ways of measuring collapse on one 0--1 scale: heterozygosity relative to the truth (blue) is flat near 0.8; the count of surviving rare items (orange) rises and falls with no pattern; the divergence-based recovery (green) rises cleanly. The direction of the effect matches the simulation, the threshold softens, and counting surviving items is the wrong ruler for a smoothing network, which keeps inventing rare items that are not in the truth; distance from the truth is the measure used for such networks.}\label{s6}
+\end{figure}
+
+\begin{figure}[p]\centering  % s7
+\includegraphics[width=\textwidth]{figs/si/s7_mnist_collapse.pdf}
+\caption{Collapse and rescue on real handwritten digits, in numbers (the experiment whose drawings are in Fig.~2A). A convolutional variational autoencoder is retrained from scratch each generation on the previous generation's drawings plus a fraction $g$ of real MNIST digits; the 30 kinds of digit (digit $\times$ stroke thickness, resampled to a long tail with about 18 rare kinds) are read out by a frozen classifier plus a thickness measure at 98.5\% accuracy. Two arms, $g = 0$ (red) and $g = 0.1$ (green); 6,000 drawings per generation, 15 generations, 4 replicates, bands 95\% CI. (A) Distance from the truth rises from about 0.5 to about 18 with no real data and stays near the floor with 10\%. (B) The number of distinct kinds still drawn falls from 30 to about 1 with no real data; with 10\% all 30 survive (dotted line). (C) The share of the rare kinds still alive falls to 0.06 with no real data; with 10\% all of it is kept. (D) Heterozygosity falls to zero with no real data and stays near 0.9 with 10\% (the truth's value dotted). Everything the simulation predicts appears on real images with an independent judge; the dose of real data needed is about twice the simulation's, for the reason shown in Fig.~S2.}\label{s7}
+\end{figure}
+
+\begin{figure}[p]\centering  % s8
+\includegraphics[width=\textwidth]{figs/si/s8_E4.pdf}
+\caption{Averaging several parents cancels the benefit of having several; keeping each parent's strongest contribution does not. In the inheritance model (500 items) $K_T$ parents each remember a random share of the rare items, with the similarity of their shares controlled directly by a correlation $\rho$ (0 fully complementary, 1 identical); $K_T \in \{1, 2, 3, 5\}$, $\rho \in \{0, 0.25, 0.5, 0.75, 1\}$, 200 replicates. A child is built either by averaging the parents' output frequencies or by keeping, for each item, the largest frequency any parent gives it (a union), and then resamples as every generation does. (A) The fraction of the rare tail held by at least one parent against $\rho$, one curve per $K_T$: points are simulation, lines an exact formula, and they match. (B) The fraction that survives in the child: solid lines (union) rise with more and less similar parents; dashed lines (averaging) stay flat near 0.08 whatever the number of parents. (C) The same at $\rho = 0$ against the number of parents (error bars 95\% CI). Averaging dilutes each rare item by the number of parents, which exactly cancels the gain of having more parents to draw on (blending inheritance, the scheme Jenkin showed would swamp rare variants); the union realises the gain, and needs a judge to say which parent holds each item.}\label{s8}
+\end{figure}
+
+\begin{figure}[p]\centering  % s9
+\includegraphics[width=\textwidth]{figs/si/s9_E8.pdf}
+\caption{Many complementary parents can produce an offspring better than any of them. A capability is a string of twelve yes/no positions (a genotype of twelve loci) and fitness is the number of correct positions; each parent is a specialist, confident and correct (0.9) on the positions it has mastered and unsure (0.45) elsewhere, and no parent has mastered them all. Which positions a parent masters is drawn so that the number of parents $K_T$ and their correlation $\rho$ are independent knobs; the deployed capability is the fitness of the most probable genotype; 40 replicates, error bars 95\% CI. (A) Capability against the number of parents when parents master different positions ($\rho = 0$): position-wise recombination (red) reaches the perfect score of 12 with eight parents; the best single parent (grey) sits near 8.7; the average of the parents (blue) reaches about 11.6 at twelve parents. (B) Recombination against the number of parents at $\rho \in \{0, 0.5, 1\}$: complementary parents climb to the optimum, identical parents stay flat near 6. This is the Fisher--Muller effect, unbounded because a model population is not limited to two parents; Fig.~3B is its counterpart in language models.}\label{s9}
+\end{figure}
+
+\begin{figure}[p]\centering  % s10
+\includegraphics[width=\textwidth]{figs/si/s10_E9.pdf}
+\caption{When skills are entangled, blind recombination harms the offspring. The twelve-position genotypes now sit on a rugged landscape (Kauffman's NK model) in which a position's value depends on its neighbours, with ruggedness $K$ from 0 (positions independent) to 8 (highly entangled). Parents are local optima found by hill-climbing, the model of a trained specialist; offspring are made from them at recombination rates from 0 (copy a parent) to 0.5 (free shuffling); 24 replicate landscapes, 200 offspring per point. (A) Mean offspring fitness minus the best parent against recombination rate, one curve per $K$: on a smooth landscape the difference is zero; as $K$ grows the curves fall, more steeply at higher rates, to about $-0.23$ at $K = 8$ under free recombination. (B) The fitness of the best offspring in a brood (parental level dotted): on rugged landscapes it peaks at an intermediate rate and falls back toward the parents under free shuffling. This is outbreeding depression; the optimal amount of recombination shrinks as skills become more entangled.}\label{s10}
+\end{figure}
+
+\begin{figure}[p]\centering  % s11
+\includegraphics[width=\textwidth]{figs/si/s11_E10.pdf}
+\caption{Choosing mates and screening offspring rescues recombination on rugged landscapes. On the landscapes of Fig.~S10 three strategies are compared, all reported as deployed fitness in $[0, 1]$; 24 replicate landscapes, error bars 95\% CI: the best single parent (grey); random recombination, as in biology (blue: random parents, free recombination, offspring taken as they come); and directed recombination, which a model population can do and a living one cannot (red: complementary parents chosen, many offspring generated at rate 0.2, the fittest kept, for five rounds). (A) Capability against ruggedness $K$ with the global optimum dotted: random recombination falls from 0.66 at $K = 2$ to 0.51 at $K = 10$; directed recombination tracks the best parent and the optimum at every $K$. (B) The same as a difference from the best parent: directed stays at or above zero throughout; random falls to about $-0.2$. In language models this is ``breed many merges, keep the best'' (Table~S2).}\label{s11}
+\end{figure}
+
+\begin{figure}[p]\centering  % s12
+\includegraphics[width=\textwidth]{figs/si/s12_E5.pdf}
+\caption{Selecting for the best destroys diversity; rewarding novelty preserves it. Each generation of the inheritance model (500 items, 200 samples per generation, 400 generations, 100 replicates, the same real data in every arm) now selects which items to keep, under three rules: no selection; greedy, keeping the items of highest true probability; and quality-diversity, which rewards an item for being rare as well as good, weighting item $i$ by $f_i p_i^{-\alpha}$ with $\alpha \in \{0.5, 1, 2\}$. (A) Heterozygosity against generation: greedy (red) collapses within a few generations to about 0.01; quality-diversity at $\alpha = 1$ (orange) and $\alpha = 2$ (blue) and no selection (green) hold a plateau above 0.85. (B) The settled heterozygosity against $\alpha$ (orange), with greedy (red dashed) and no selection (green dashed) as references: it rises from about 0.48 at $\alpha = 0.5$ to about 0.88 at $\alpha = 2$. (C) The number of distinct items alive at the end: about 9 under greedy, 14 to 28 under quality-diversity, about 32 with no selection. Chasing the best outputs is a directional pressure on top of drift; diversity has to be an objective in its own right, which is the diversity-preservation ingredient of Fig.~4D--F.}\label{s12}
+\end{figure}
+
+\begin{figure}[p]\centering  % s13
+\includegraphics[width=\textwidth]{figs/si/s13_E14.pdf}
+\caption{Who should mate with whom: the best mating breadth narrows as skills become more entangled. Forty-eight agents carrying twelve-locus genotypes sit on a ring and evolve for 60 generations on an NK landscape of ruggedness $K \in \{0, 3, 6, 10\}$; an offspring's second parent is drawn from a neighbourhood of half-width $\approx bN/2$, so the breadth $b$ runs from mating only with neighbours ($b = 0.03$) to mating with anyone ($b = 1$), and an offspring replaces the agent at its position only if fitter (mutation 0.003, crossover rate 0.5, 20 replicates, error bars 95\% CI, breadth on a logarithmic axis). (A) The best fitness reached, relative to the optimum, against breadth, per $K$: on a smooth landscape every breadth reaches the optimum; at $K = 3$ the best breadth is 0.6, at $K = 6$ and 10 it is 0.35, and mating with everyone falls below it. (B) The population's mean fitness rises with breadth at every $K > 0$. (C) Standing diversity (mean pairwise Hamming distance) falls with breadth, fastest on rugged landscapes. Wide mixing spreads a good variant fast but homogenises the population, so on entangled problems it loses the ability to explore several solutions in parallel (Wright's argument for structured populations).}\label{s13}
+\end{figure}
+
+\begin{figure}[p]\centering  % s14
+\includegraphics[width=\textwidth]{figs/si/s14_curriculum_timing.pdf}
+\caption{Conflict arrival does not set the timing of declines or of collapse. Four syllabi of the six-generation language-model population of Fig.~4 (three lineages, Qwen2.5-1.5B base, three training seeds each; mean $\pm$ 95\% CI): the rotated syllabus, the syllabus with complementarity peaking mid-way, and two that differ only in when the two skills with clashing answer conventions (BoolQ yes/no, WinoGrande 1/2) arrive, in generations 1--2 (conflict-early) or 5--6 (conflict-late), the four compatible skills filling the rest in rotated orders so that adapter age and skill count rise one per generation in all four. The filled marker on each curve is the first generation at which both clashing skills are present in every lineage. (A) The fraction of proposed merges declined per generation in the declinable arm: declines rise with generation on the same schedule in every syllabus (partial Spearman with generation controlled: conflict present $\rho = -0.09$, 95\% CI $-0.45$ to $0.15$; generation $\rho = 0.45$; early and late pooled, $n = 36$). (B) Best-lineage accuracy over all six skills in the obligate-merge arm: the conflict-early population dips when the pair arrives, recovers by generation 3 and collapses from generation 5; the conflict-late population collapses from generation 4 with its clashing pair still to come. Final accuracy 0.28 (early) and 0.39 (late) against 0.80 and 0.78 for never merging. Moving the conflict by four generations moved neither the declines nor the collapse.}\label{s14}
+\end{figure}
+
+\begin{figure}[p]\centering  % s15
+\includegraphics[width=\textwidth]{figs/si/s15_curriculum_cull.pdf}
+\caption{Survival of the fittest did not give merging lineages the edge. The rotated-syllabus population of Fig.~4 with truncation selection added: after every generation's test the lowest-scoring lineage is re-founded from the highest-scoring one, keeping its own place in the syllabus ($N = 3$); the never-merge and declinable-merge arms are run with this selection (dashed) beside the same arms without it; three training seeds, mean $\pm$ 95\% CI. (A) Best-lineage accuracy over all six skills: all four populations end within 0.01 of each other, near 0.80 (never merge + selection 0.804, declinable + selection 0.793, below in 3/3 seeds by $0.011 \pm 0.003$; 0.796 and 0.792 without selection). (B) Population mean over the three lineages: selection lifts the mean early (generation 2: 0.58 against 0.48 for the unselected never-merge arm) but the final means converge. (C) Selection acted every generation (one replacement per generation in every selected population, dashed) and declines in the selected declinable arm rose with generation as before. Recombination's early lead (generation 1: 0.68 against 0.60) is present with and without selection and gone by generation 5 in both; under a syllabus that delivers every skill to every lineage, sex and selection each reach the same ceiling sooner and neither raises it.}\label{s15}
+\end{figure}
+
+\begin{figure}[p]\centering  % s16
+\includegraphics[width=\textwidth]{figs/si/s16_llm_smol.pdf}
+\caption{The two most-cited language-model results on a second, unrelated family of base models. The experiments of Fig.~3B and 3C re-run, with protocol, task families, test sets and seeds unchanged, on HuggingFaceTB/SmolLM2-1.7B-Instruct (Apache-2.0; Llama architecture; a different laboratory and pretraining corpus from Qwen), shown beside the Qwen2.5-0.5B-Instruct originals; bars are means over training seeds with 95\% CI, overall accuracy (lighter) and worst-family accuracy (darker). (A) Easy tasks, five seeds per lineage: on SmolLM2 the averaged and interference-aware merges exceed the best single specialist in every seed (overall $+0.049 \pm 0.022$ and $+0.097 \pm 0.020$; worst family $+0.19$ and $+0.20$), matching the Qwen margins. (B) Hard tasks, three seeds per lineage: routing among intact specialists beats the weight average in every seed on both families, by a larger margin on SmolLM2 ($+0.162 \pm 0.036$ overall, $+0.221 \pm 0.029$ worst family), where the average falls below the best single specialist in every seed. The learned router equals the oracle router on both families because the families are lexically separable.}\label{s16}
+\end{figure}
 
diff --git a/paper/pnas/si_figures.py b/paper/pnas/si_figures.py
new file mode 100644
index 0000000..b3f452f
--- /dev/null
+++ b/paper/pnas/si_figures.py
@@ -0,0 +1,238 @@
+"""Supplementary-figure inventory: key -> (source PDF under results/, caption).
+
+Keys are cited in si.md as `*(FIG:s)*` in numerical order, so the LaTeX figure counter (prefixed
+"S" in si.tex) reproduces the numbers the main text quotes. build.py copies each source into figs/si/.
+Captions are LaTeX-ready (maths in $...$, percent escaped) and follow the main-figure format: a
+headline sentence, the set-up in plain words, then the panels by letter with the key number and its
+reading.
+"""
+
+SI_FIGURES: dict[str, tuple[str, str]] = {
+    "s1": ("results/architectures/architectures.pdf",
+        "Collapse, and its arrest by real data, in three kinds of generator. The generational loop of "
+        "Fig.~2 (train a child only on its parent's output, with or without 5\\% real data) is run with an "
+        "exact frequency count (a histogram, no network), a recurrent network and a feed-forward network, "
+        "on a synthetic universe of 256 knowledge items whose true frequencies are known exactly; 200 "
+        "samples per generation, 22 generations, 5 replicates. (A) Distance from the true distribution "
+        "(forward KL divergence, which grows the more of the truth a model fails to cover) against "
+        "generation: solid lines, with no real data, climb in every architecture; dashed lines, with 5\\% "
+        "real data, stay low. (B) The same distance at the end of the run (error bars over replicates): "
+        "real data lowers it in all three. (C) The fraction of rare items still alive at the end: real data "
+        "raises it in all three. The histogram's bars in C are small because a frequency count drops a "
+        "rare item outright once it is unseen, whereas the networks keep some alive by smoothing (the "
+        "subject of Fig.~S2). A variational autoencoder was excluded because it failed the generation-0 "
+        "fidelity check on this task."),
+    "s2": ("results/kernel_sharpen/kernel.pdf",
+        "Why trained networks deviate from the ideal copier, in opposite directions. The inheritance model "
+        "assumes a child's frequencies are exactly those it sampled from its parent. Two knobs are added to "
+        "that copying step: a smoothing knob (a small pull toward treating every item as possible; mutation "
+        "rate $u$) and a sharpening knob (a temperature $\\tau < 1$ that concentrates probability on the "
+        "commonest items). Blue: the ideal copier; red: the copier with one knob turned; green dashed: the "
+        "level the real trained network reached with no real data; 24 replicates per regime. (A, B) The "
+        "image network of Fig.~2 (6,000 samples per generation, 30 items): heterozygosity (A) and the number "
+        "of distinct items still produced (B) against generation. The ideal copier barely drifts at this "
+        "sample size, yet the real network collapsed to a single item; sharpening at $\\tau = 0.8$ "
+        "reproduces the collapse. (C, D) The recurrent network (200 samples, 256 items): heterozygosity (C) "
+        "and forward KL divergence (D). The ideal copier drives diversity to zero, yet the real network keeps "
+        "a floor near 0.68; smoothing at $u = 0.006$ reproduces the floor, though it overshoots the "
+        "network's divergence (about 5 against 1.8), so the network's implicit prior is closer to the truth "
+        "than a uniform one. In population-genetic terms the smoothing knob is recurrent mutation (variants "
+        "appear without being inherited) and the sharpening knob is positive frequency-dependent selection "
+        "(the majority gains, nothing new appears); a trained network behaves as drift plus one of these two "
+        "biases, set by its architecture."),
+    "s3": ("results/E6/E6.pdf",
+        "Re-baselining a collapsed population locks in its losses. A tempting shortcut is to declare a "
+        "model's current output the new reference and discard the original data. In the inheritance model "
+        "(500 items, 200 samples per generation, 400 generations, 100 replicates) the population's current "
+        "frequencies are frozen as the new grounding reference at generations 150 and 300 (dotted "
+        "verticals) and the original truth is kept only for measurement. Four arms: re-baseline while still "
+        "diverse, under generous real data (green); re-baseline after collapse, under starved real data "
+        "(red); the same starvation with re-baselining allowed only while heterozygosity is above 0.75 "
+        "(blue); never re-baseline (grey). (A) Distance from the original truth against generation (bands "
+        "over replicates): the red arm steps up at each re-baselining and never returns; the healthy arm "
+        "shows small steps; the gated and never arms coincide. (B) Heterozygosity, with the gate's threshold "
+        "dashed: the gated arm never re-baselines because it stays below the line. Once rare knowledge is "
+        "gone from every copy it cannot be rebuilt (Muller's ratchet); a diversity gate prevents the "
+        "shortcut from making the loss permanent."),
+    "s4": ("results/E2/E2.pdf",
+        "The full real-data sweep in the inheritance model (the experiment summarised in Fig.~2B). 1,000 "
+        "knowledge items with a long tail of rare ones, 200 samples per generation, 500 generations, 100 "
+        "lineages; each generation also receives $m$ fresh real samples, so the real-data share is "
+        "$g = m/(n+m)$, swept from 0 to 0.4. (A) Heterozygosity against generation, one line per $g$: with "
+        "no real data it declines steadily; with any real data it levels off. (B) The level it settles at "
+        "against $g$ (points, simulation) with the exact prediction (dashed) and the real data's own "
+        "diversity (dotted); the red line marks $g^* = 0.048$ (95\\% CI 0.047--0.050), where 95\\% of the "
+        "real data's diversity is kept. The hollow point at $g = 0$ has not converged (its equilibrium is "
+        "zero). (C) The fraction of the rare tail retained, counted by items (red) and by their share of "
+        "the truth (purple): both rise with $g$ but stay below 0.1 even at $g = 0.4$. (D) Survival by band "
+        "of rarity, from the rarest (band 0) to the least rare (band 3): the rarest recover last. Overall "
+        "diversity is cheap to protect; a rare item persists only once about one real example of it arrives "
+        "per generation, so protecting it costs about one over its frequency in real samples."),
+    "s5": ("results/E3/E3.pdf",
+        "Real data protects only the topics it covers. The 1,000 items are divided into ten topics "
+        "(regions) and the same total budget of real data is spent either evenly over all ten or "
+        "concentrated on one topic the experimenter wants to protect; 200 samples per generation, 400 "
+        "generations, 100 replicates. (A) The fraction of that topic's rare items still alive against "
+        "generation, with real data aimed at it (blue) or spread evenly (red), bands 95\\% CI: aimed "
+        "grounding holds about half the topic's rare items, spread grounding lets it fall to about 0.07. "
+        "(B) Survival per topic at the end, same colours, the protected topic marked by the dotted line: "
+        "aimed grounding protects its topic and leaves the others with no surviving rare items; spread "
+        "grounding gives every topic the same low survival. Per-topic heterozygosity is confounded by how "
+        "much of the truth each topic carries, so rare-item survival is the readout. A fixed budget of real "
+        "data should be aimed at the knowledge one wants to keep."),
+    "s6": ("results/grounding/grounding.pdf",
+        "The real-data response in a trained recurrent network. The sweep of Fig.~S4 repeated in a "
+        "recurrent generator rather than the exact simulation: 256 items, 200 samples per generation, 30 "
+        "generations, $g$ swept over nine values from 0 to 0.2, 18 replicates. (A) Distance from the truth "
+        "(forward KL divergence) against generation, one line per $g$: more real data suppresses the "
+        "climb. (B) The final distance against $g$ (error bars 95\\% CI), falling steadily from 2.08 with "
+        "no real data to 0.75 at $g = 0.2$ (paired $t = 3.3$ at $g = 0.2$). (C) The fraction of the "
+        "achievable improvement each $g$ buys: half of it arrives by $g = 0.040$ (red line; bootstrap 95\\% "
+        "CI 0.004--0.116 shaded), close to the simulation's $g^* = 0.048$ (black dashed), but the full "
+        "improvement needs $g$ near 0.19. (D) Three ways of measuring collapse on one 0--1 scale: "
+        "heterozygosity relative to the truth (blue) is flat near 0.8; the count of surviving rare items "
+        "(orange) rises and falls with no pattern; the divergence-based recovery (green) rises cleanly. The "
+        "direction of the effect matches the simulation, the threshold softens, and counting surviving items "
+        "is the wrong ruler for a smoothing network, which keeps inventing rare items that are not in the "
+        "truth; distance from the truth is the measure used for such networks."),
+    "s7": ("results/mnist_collapse/mnist_collapse.pdf",
+        "Collapse and rescue on real handwritten digits, in numbers (the experiment whose drawings are in "
+        "Fig.~2A). A convolutional variational autoencoder is retrained from scratch each generation on the "
+        "previous generation's drawings plus a fraction $g$ of real MNIST digits; the 30 kinds of digit "
+        "(digit $\\times$ stroke thickness, resampled to a long tail with about 18 rare kinds) are read out "
+        "by a frozen classifier plus a thickness measure at 98.5\\% accuracy. Two arms, $g = 0$ (red) and "
+        "$g = 0.1$ (green); 6,000 drawings per generation, 15 generations, 4 replicates, bands 95\\% CI. "
+        "(A) Distance from the truth rises from about 0.5 to about 18 with no real data and stays near the "
+        "floor with 10\\%. (B) The number of distinct kinds still drawn falls from 30 to about 1 with no real "
+        "data; with 10\\% all 30 survive (dotted line). (C) The share of the rare kinds still alive falls to "
+        "0.06 with no real data; with 10\\% all of it is kept. (D) Heterozygosity falls to zero with no real "
+        "data and stays near 0.9 with 10\\% (the truth's value dotted). Everything the simulation predicts "
+        "appears on real images with an independent judge; the dose of real data needed is about twice the "
+        "simulation's, for the reason shown in Fig.~S2."),
+    "s8": ("results/E4/E4.pdf",
+        "Averaging several parents cancels the benefit of having several; keeping each parent's strongest "
+        "contribution does not. In the inheritance model (500 items) $K_T$ parents each remember a random "
+        "share of the rare items, with the similarity of their shares controlled directly by a correlation "
+        "$\\rho$ (0 fully complementary, 1 identical); $K_T \\in \\{1, 2, 3, 5\\}$, "
+        "$\\rho \\in \\{0, 0.25, 0.5, 0.75, 1\\}$, 200 replicates. A child is built either by averaging the "
+        "parents' output frequencies or by keeping, for each item, the largest frequency any parent gives it "
+        "(a union), and then resamples as every generation does. (A) The fraction of the rare tail held by "
+        "at least one parent against $\\rho$, one curve per $K_T$: points are simulation, lines an exact "
+        "formula, and they match. (B) The fraction that survives in the child: solid lines (union) rise with "
+        "more and less similar parents; dashed lines (averaging) stay flat near 0.08 whatever the number of "
+        "parents. (C) The same at $\\rho = 0$ against the number of parents (error bars 95\\% CI). Averaging "
+        "dilutes each rare item by the number of parents, which exactly cancels the gain of having more "
+        "parents to draw on (blending inheritance, the scheme Jenkin showed would swamp rare variants); the "
+        "union realises the gain, and needs a judge to say which parent holds each item."),
+    "s9": ("results/E8/E8.pdf",
+        "Many complementary parents can produce an offspring better than any of them. A capability is a "
+        "string of twelve yes/no positions (a genotype of twelve loci) and fitness is the number of correct "
+        "positions; each parent is a specialist, confident and correct (0.9) on the positions it has "
+        "mastered and unsure (0.45) elsewhere, and no parent has mastered them all. Which positions a parent "
+        "masters is drawn so that the number of parents $K_T$ and their correlation $\\rho$ are independent "
+        "knobs; the deployed capability is the fitness of the most probable genotype; 40 replicates, error "
+        "bars 95\\% CI. (A) Capability against the number of parents when parents master different positions "
+        "($\\rho = 0$): position-wise recombination (red) reaches the perfect score of 12 with eight "
+        "parents; the best single parent (grey) sits near 8.7; the average of the parents (blue) reaches "
+        "about 11.6 at twelve parents. (B) Recombination against the number of parents at "
+        "$\\rho \\in \\{0, 0.5, 1\\}$: complementary parents climb to the optimum, identical parents stay "
+        "flat near 6. This is the Fisher--Muller effect, unbounded because a model population is not limited "
+        "to two parents; Fig.~3B is its counterpart in language models."),
+    "s10": ("results/E9/E9.pdf",
+        "When skills are entangled, blind recombination harms the offspring. The twelve-position genotypes "
+        "now sit on a rugged landscape (Kauffman's NK model) in which a position's value depends on its "
+        "neighbours, with ruggedness $K$ from 0 (positions independent) to 8 (highly entangled). Parents are "
+        "local optima found by hill-climbing, the model of a trained specialist; offspring are made from them "
+        "at recombination rates from 0 (copy a parent) to 0.5 (free shuffling); 24 replicate landscapes, 200 "
+        "offspring per point. (A) Mean offspring fitness minus the best parent against recombination rate, "
+        "one curve per $K$: on a smooth landscape the difference is zero; as $K$ grows the curves fall, more "
+        "steeply at higher rates, to about $-0.23$ at $K = 8$ under free recombination. (B) The fitness of "
+        "the best offspring in a brood (parental level dotted): on rugged landscapes it peaks at an "
+        "intermediate rate and falls back toward the parents under free shuffling. This is outbreeding "
+        "depression; the optimal amount of recombination shrinks as skills become more entangled."),
+    "s11": ("results/E10/E10.pdf",
+        "Choosing mates and screening offspring rescues recombination on rugged landscapes. On the "
+        "landscapes of Fig.~S10 three strategies are compared, all reported as deployed fitness in "
+        "$[0, 1]$; 24 replicate landscapes, error bars 95\\% CI: the best single parent (grey); random "
+        "recombination, as in biology (blue: random parents, free recombination, offspring taken as they "
+        "come); and directed recombination, which a model population can do and a living one cannot (red: "
+        "complementary parents chosen, many offspring generated at rate 0.2, the fittest kept, for five "
+        "rounds). (A) Capability against ruggedness $K$ with the global optimum dotted: random recombination "
+        "falls from 0.66 at $K = 2$ to 0.51 at $K = 10$; directed recombination tracks the best parent and "
+        "the optimum at every $K$. (B) The same as a difference from the best parent: directed stays at or "
+        "above zero throughout; random falls to about $-0.2$. In language models this is ``breed many "
+        "merges, keep the best'' (Table~S2)."),
+    "s12": ("results/E5/E5.pdf",
+        "Selecting for the best destroys diversity; rewarding novelty preserves it. Each generation of the "
+        "inheritance model (500 items, 200 samples per generation, 400 generations, 100 replicates, the same "
+        "real data in every arm) now selects which items to keep, under three rules: no selection; greedy, "
+        "keeping the items of highest true probability; and quality-diversity, which rewards an item for "
+        "being rare as well as good, weighting item $i$ by $f_i p_i^{-\\alpha}$ with "
+        "$\\alpha \\in \\{0.5, 1, 2\\}$. (A) Heterozygosity against generation: greedy (red) collapses within "
+        "a few generations to about 0.01; quality-diversity at $\\alpha = 1$ (orange) and $\\alpha = 2$ "
+        "(blue) and no selection (green) hold a plateau above 0.85. (B) The settled heterozygosity against "
+        "$\\alpha$ (orange), with greedy (red dashed) and no selection (green dashed) as references: it rises "
+        "from about 0.48 at $\\alpha = 0.5$ to about 0.88 at $\\alpha = 2$. (C) The number of distinct items "
+        "alive at the end: about 9 under greedy, 14 to 28 under quality-diversity, about 32 with no "
+        "selection. Chasing the best outputs is a directional pressure on top of drift; diversity has to be "
+        "an objective in its own right, which is the diversity-preservation ingredient of Fig.~4D--F."),
+    "s13": ("results/E14/E14.pdf",
+        "Who should mate with whom: the best mating breadth narrows as skills become more entangled. "
+        "Forty-eight agents carrying twelve-locus genotypes sit on a ring and evolve for 60 generations on "
+        "an NK landscape of ruggedness $K \\in \\{0, 3, 6, 10\\}$; an offspring's second parent is drawn "
+        "from a neighbourhood of half-width $\\approx bN/2$, so the breadth $b$ runs from mating only with "
+        "neighbours ($b = 0.03$) to mating with anyone ($b = 1$), and an offspring replaces the agent at its "
+        "position only if fitter (mutation 0.003, crossover rate 0.5, 20 replicates, error bars 95\\% CI, "
+        "breadth on a logarithmic axis). (A) The best fitness reached, relative to the optimum, against "
+        "breadth, per $K$: on a smooth landscape every breadth reaches the optimum; at $K = 3$ the best "
+        "breadth is 0.6, at $K = 6$ and 10 it is 0.35, and mating with everyone falls below it. (B) The "
+        "population's mean fitness rises with breadth at every $K > 0$. (C) Standing diversity (mean "
+        "pairwise Hamming distance) falls with breadth, fastest on rugged landscapes. Wide mixing spreads a "
+        "good variant fast but homogenises the population, so on entangled problems it loses the ability to "
+        "explore several solutions in parallel (Wright's argument for structured populations)."),
+    "s14": ("results/llm_curriculum_v5_early/curriculum_timing.pdf",
+        "Conflict arrival does not set the timing of declines or of collapse. Four syllabi of the "
+        "six-generation language-model population of Fig.~4 (three lineages, Qwen2.5-1.5B base, three "
+        "training seeds each; mean $\\pm$ 95\\% CI): the rotated syllabus, the syllabus with complementarity "
+        "peaking mid-way, and two that differ only in when the two skills with clashing answer conventions "
+        "(BoolQ yes/no, WinoGrande 1/2) arrive, in generations 1--2 (conflict-early) or 5--6 "
+        "(conflict-late), the four compatible skills filling the rest in rotated orders so that adapter age "
+        "and skill count rise one per generation in all four. The filled marker on each curve is the first "
+        "generation at which both clashing skills are present in every lineage. (A) The fraction of proposed "
+        "merges declined per generation in the declinable arm: declines rise with generation on the same "
+        "schedule in every syllabus (partial Spearman with generation controlled: conflict present "
+        "$\\rho = -0.09$, 95\\% CI $-0.45$ to $0.15$; generation $\\rho = 0.45$; early and late pooled, "
+        "$n = 36$). (B) Best-lineage accuracy over all six skills in the obligate-merge arm: the "
+        "conflict-early population dips when the pair arrives, recovers by generation 3 and collapses from "
+        "generation 5; the conflict-late population collapses from generation 4 with its clashing pair still "
+        "to come. Final accuracy 0.28 (early) and 0.39 (late) against 0.80 and 0.78 for never merging. "
+        "Moving the conflict by four generations moved neither the declines nor the collapse."),
+    "s15": ("results/llm_curriculum_v5_cull/curriculum_cull.pdf",
+        "Survival of the fittest did not give merging lineages the edge. The rotated-syllabus population of "
+        "Fig.~4 with truncation selection added: after every generation's test the lowest-scoring lineage is "
+        "re-founded from the highest-scoring one, keeping its own place in the syllabus ($N = 3$); the "
+        "never-merge and declinable-merge arms are run with this selection (dashed) beside the same arms "
+        "without it; three training seeds, mean $\\pm$ 95\\% CI. (A) Best-lineage accuracy over all six "
+        "skills: all four populations end within 0.01 of each other, near 0.80 (never merge + selection "
+        "0.804, declinable + selection 0.793, below in 3/3 seeds by $0.011 \\pm 0.003$; 0.796 and 0.792 "
+        "without selection). (B) Population mean over the three lineages: selection lifts the mean early "
+        "(generation 2: 0.58 against 0.48 for the unselected never-merge arm) but the final means converge. "
+        "(C) Selection acted every generation (one replacement per generation in every selected population, "
+        "dashed) and declines in the selected declinable arm rose with generation as before. Recombination's "
+        "early lead (generation 1: 0.68 against 0.60) is present with and without selection and gone by "
+        "generation 5 in both; under a syllabus that delivers every skill to every lineage, sex and selection "
+        "each reach the same ceiling sooner and neither raises it."),
+    "s16": ("results/llm_merge_seeds_smol/llm_smol.pdf",
+        "The two most-cited language-model results on a second, unrelated family of base models. The "
+        "experiments of Fig.~3B and 3C re-run, with protocol, task families, test sets and seeds unchanged, "
+        "on HuggingFaceTB/SmolLM2-1.7B-Instruct (Apache-2.0; Llama architecture; a different laboratory and "
+        "pretraining corpus from Qwen), shown beside the Qwen2.5-0.5B-Instruct originals; bars are means "
+        "over training seeds with 95\\% CI, overall accuracy (lighter) and worst-family accuracy (darker). "
+        "(A) Easy tasks, five seeds per lineage: on SmolLM2 the averaged and interference-aware merges exceed "
+        "the best single specialist in every seed (overall $+0.049 \\pm 0.022$ and $+0.097 \\pm 0.020$; "
+        "worst family $+0.19$ and $+0.20$), matching the Qwen margins. (B) Hard tasks, three seeds per "
+        "lineage: routing among intact specialists beats the weight average in every seed on both families, "
+        "by a larger margin on SmolLM2 ($+0.162 \\pm 0.036$ overall, $+0.221 \\pm 0.029$ worst family), "
+        "where the average falls below the best single specialist in every seed. The learned router equals "
+        "the oracle router on both families because the families are lexically separable."),
+}
diff --git a/results/E10/E10.pdf b/results/E10/E10.pdf
index f6e88b0..8f20be3 100644
Binary files a/results/E10/E10.pdf and b/results/E10/E10.pdf differ
diff --git a/results/E10/E10.png b/results/E10/E10.png
index e6cf614..395344e 100644
Binary files a/results/E10/E10.png and b/results/E10/E10.png differ
diff --git a/results/E14/E14.pdf b/results/E14/E14.pdf
index 49fc4bb..f4ba138 100644
Binary files a/results/E14/E14.pdf and b/results/E14/E14.pdf differ
diff --git a/results/E14/E14.png b/results/E14/E14.png
index 90ec22c..d125002 100644
Binary files a/results/E14/E14.png and b/results/E14/E14.png differ
diff --git a/results/E2/E2.pdf b/results/E2/E2.pdf
index 2c8beea..9f02870 100644
Binary files a/results/E2/E2.pdf and b/results/E2/E2.pdf differ
diff --git a/results/E2/E2.png b/results/E2/E2.png
index 20b8fa4..2151e19 100644
Binary files a/results/E2/E2.png and b/results/E2/E2.png differ
diff --git a/results/E3/E3.pdf b/results/E3/E3.pdf
index 4ef2d23..8b3217b 100644
Binary files a/results/E3/E3.pdf and b/results/E3/E3.pdf differ
diff --git a/results/E3/E3.png b/results/E3/E3.png
index d76a918..899dd5c 100644
Binary files a/results/E3/E3.png and b/results/E3/E3.png differ
diff --git a/results/E4/E4.pdf b/results/E4/E4.pdf
index 308f661..0ba4a16 100644
Binary files a/results/E4/E4.pdf and b/results/E4/E4.pdf differ
diff --git a/results/E4/E4.png b/results/E4/E4.png
index ba70aca..3c7a52d 100644
Binary files a/results/E4/E4.png and b/results/E4/E4.png differ
diff --git a/results/E5/E5.pdf b/results/E5/E5.pdf
index 17ba16b..e71a73e 100644
Binary files a/results/E5/E5.pdf and b/results/E5/E5.pdf differ
diff --git a/results/E5/E5.png b/results/E5/E5.png
index a132270..265a9fd 100644
Binary files a/results/E5/E5.png and b/results/E5/E5.png differ
diff --git a/results/E6/E6.pdf b/results/E6/E6.pdf
index 6695c2d..3889cb2 100644
Binary files a/results/E6/E6.pdf and b/results/E6/E6.pdf differ
diff --git a/results/E6/E6.png b/results/E6/E6.png
index 4a64ba8..cca1106 100644
Binary files a/results/E6/E6.png and b/results/E6/E6.png differ
diff --git a/results/E8/E8.pdf b/results/E8/E8.pdf
index 748099c..eabd45a 100644
Binary files a/results/E8/E8.pdf and b/results/E8/E8.pdf differ
diff --git a/results/E8/E8.png b/results/E8/E8.png
index fd8f74e..20161f7 100644
Binary files a/results/E8/E8.png and b/results/E8/E8.png differ
diff --git a/results/E9/E9.pdf b/results/E9/E9.pdf
index 5d080db..3a0f27b 100644
Binary files a/results/E9/E9.pdf and b/results/E9/E9.pdf differ
diff --git a/results/E9/E9.png b/results/E9/E9.png
index 70f5589..c150e63 100644
Binary files a/results/E9/E9.png and b/results/E9/E9.png differ
diff --git a/results/architectures/architectures.pdf b/results/architectures/architectures.pdf
index 5f5cec6..84a8e1d 100644
Binary files a/results/architectures/architectures.pdf and b/results/architectures/architectures.pdf differ
diff --git a/results/architectures/architectures.png b/results/architectures/architectures.png
index 77581f8..c26814d 100644
Binary files a/results/architectures/architectures.png and b/results/architectures/architectures.png differ
diff --git a/results/grounding/grounding.pdf b/results/grounding/grounding.pdf
index c00ff7e..bacec0d 100644
Binary files a/results/grounding/grounding.pdf and b/results/grounding/grounding.pdf differ
diff --git a/results/grounding/grounding.png b/results/grounding/grounding.png
index ac05878..9642ffb 100644
Binary files a/results/grounding/grounding.png and b/results/grounding/grounding.png differ
diff --git a/results/kernel_sharpen/kernel.pdf b/results/kernel_sharpen/kernel.pdf
index fe6543b..a535bb1 100644
Binary files a/results/kernel_sharpen/kernel.pdf and b/results/kernel_sharpen/kernel.pdf differ
diff --git a/results/kernel_sharpen/kernel.png b/results/kernel_sharpen/kernel.png
index 17dfbf8..e33f94e 100644
Binary files a/results/kernel_sharpen/kernel.png and b/results/kernel_sharpen/kernel.png differ
diff --git a/results/kernel_smooth/kernel.pdf b/results/kernel_smooth/kernel.pdf
index 671073e..0022763 100644
Binary files a/results/kernel_smooth/kernel.pdf and b/results/kernel_smooth/kernel.pdf differ
diff --git a/results/kernel_smooth/kernel.png b/results/kernel_smooth/kernel.png
index 17dfbf8..64b4a58 100644
Binary files a/results/kernel_smooth/kernel.png and b/results/kernel_smooth/kernel.png differ
diff --git a/results/llm_compose/s1/llm_compose.pdf b/results/llm_compose/s1/llm_compose.pdf
new file mode 100644
index 0000000..e269bde
Binary files /dev/null and b/results/llm_compose/s1/llm_compose.pdf differ
diff --git a/results/llm_compose/s1/llm_compose.png b/results/llm_compose/s1/llm_compose.png
new file mode 100644
index 0000000..99ee8e3
Binary files /dev/null and b/results/llm_compose/s1/llm_compose.png differ
diff --git a/results/llm_compose/s1/manifest.json b/results/llm_compose/s1/manifest.json
new file mode 100644
index 0000000..017e235
--- /dev/null
+++ b/results/llm_compose/s1/manifest.json
@@ -0,0 +1,40 @@
+{
+  "experiment": "llm_compose",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 366,
+  "results_sha256": "92ea7965e13685f77a79b85393685a1e7b53e8c821778f2368c4a68097292818",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "compose": {
+    "arms": [
+      "dry",
+      "grounded",
+      "dry_cat"
+    ],
+    "generations": 6,
+    "g": 0.1,
+    "k_inherit": 300,
+    "conf_gate": 0.85,
+    "epochs": 3,
+    "n_hard": 150,
+    "n_gsm8k": 150,
+    "n_mbpp": 100,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_compose/s1/partial_dry_cat_s1.parquet b/results/llm_compose/s1/partial_dry_cat_s1.parquet
new file mode 100644
index 0000000..3e1815c
Binary files /dev/null and b/results/llm_compose/s1/partial_dry_cat_s1.parquet differ
diff --git a/results/llm_compose/s1/partial_dry_s1.parquet b/results/llm_compose/s1/partial_dry_s1.parquet
new file mode 100644
index 0000000..acfebf7
Binary files /dev/null and b/results/llm_compose/s1/partial_dry_s1.parquet differ
diff --git a/results/llm_compose/s1/partial_grounded_s1.parquet b/results/llm_compose/s1/partial_grounded_s1.parquet
new file mode 100644
index 0000000..2ba32ae
Binary files /dev/null and b/results/llm_compose/s1/partial_grounded_s1.parquet differ
diff --git a/results/llm_compose/s1/resolved_config.yaml b/results/llm_compose/s1/resolved_config.yaml
new file mode 100644
index 0000000..68aab2d
--- /dev/null
+++ b/results/llm_compose/s1/resolved_config.yaml
@@ -0,0 +1,49 @@
+experiment: llm_compose
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_compose
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  generations: 6
+  arms:
+  - dry
+  - grounded
+  - dry_cat
+  g: 0.1
+  n_hard: 150
+  n_gsm8k: 150
+  n_mbpp: 100
+  n_probe: 60
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 16
+  score_batch_size: 4
+  train_batch_size: 2
+  train_max_len: 448
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose/s1
+  arm_ops:
+    dry: linear
+    grounded: linear
+    dry_cat: cat
+  n_hard_val: 60
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  - - 0.1
+    - 0.9
+  n_replicates: 1
diff --git a/results/llm_compose/s2_dry/manifest.json b/results/llm_compose/s2_dry/manifest.json
new file mode 100644
index 0000000..89140c9
--- /dev/null
+++ b/results/llm_compose/s2_dry/manifest.json
@@ -0,0 +1,38 @@
+{
+  "experiment": "llm_compose",
+  "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": 122,
+  "results_sha256": "fb747c86d164496f423a83ba09bbdf79eb85723fefbc3c2ccd28bba7c1f7086e",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "compose": {
+    "arms": [
+      "dry"
+    ],
+    "generations": 6,
+    "g": 0.1,
+    "k_inherit": 300,
+    "conf_gate": 0.85,
+    "epochs": 3,
+    "n_hard": 150,
+    "n_gsm8k": 150,
+    "n_mbpp": 100,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_compose/s2_dry/partial_dry_s2.parquet b/results/llm_compose/s2_dry/partial_dry_s2.parquet
new file mode 100644
index 0000000..204b927
Binary files /dev/null and b/results/llm_compose/s2_dry/partial_dry_s2.parquet differ
diff --git a/results/llm_compose/s2_dry/resolved_config.yaml b/results/llm_compose/s2_dry/resolved_config.yaml
new file mode 100644
index 0000000..c7f9ce4
--- /dev/null
+++ b/results/llm_compose/s2_dry/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_compose
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_compose
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  generations: 6
+  arms:
+  - dry
+  g: 0.1
+  n_hard: 150
+  n_gsm8k: 150
+  n_mbpp: 100
+  n_probe: 60
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 32
+  score_batch_size: 16
+  train_batch_size: 2
+  train_max_len: 448
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose/s2_dry
+  arm_ops:
+    dry: linear
+    grounded: linear
+    dry_cat: cat
+  n_hard_val: 60
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  - - 0.1
+    - 0.9
+  n_replicates: 1
diff --git a/results/llm_compose/s2_dry_cat/manifest.json b/results/llm_compose/s2_dry_cat/manifest.json
new file mode 100644
index 0000000..5255758
--- /dev/null
+++ b/results/llm_compose/s2_dry_cat/manifest.json
@@ -0,0 +1,38 @@
+{
+  "experiment": "llm_compose",
+  "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": 122,
+  "results_sha256": "e0a1c452c8ae05f0830f97c3faf53530bda42e6420824dfb9e15a7b09399f11d",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "compose": {
+    "arms": [
+      "dry_cat"
+    ],
+    "generations": 6,
+    "g": 0.1,
+    "k_inherit": 300,
+    "conf_gate": 0.85,
+    "epochs": 3,
+    "n_hard": 150,
+    "n_gsm8k": 150,
+    "n_mbpp": 100,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_compose/s2_dry_cat/partial_dry_cat_s2.parquet b/results/llm_compose/s2_dry_cat/partial_dry_cat_s2.parquet
new file mode 100644
index 0000000..3d936a8
Binary files /dev/null and b/results/llm_compose/s2_dry_cat/partial_dry_cat_s2.parquet differ
diff --git a/results/llm_compose/s2_dry_cat/resolved_config.yaml b/results/llm_compose/s2_dry_cat/resolved_config.yaml
new file mode 100644
index 0000000..dd97bdd
--- /dev/null
+++ b/results/llm_compose/s2_dry_cat/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_compose
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_compose
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  generations: 6
+  arms:
+  - dry_cat
+  g: 0.1
+  n_hard: 150
+  n_gsm8k: 150
+  n_mbpp: 100
+  n_probe: 60
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 32
+  score_batch_size: 16
+  train_batch_size: 2
+  train_max_len: 448
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose/s2_dry_cat
+  arm_ops:
+    dry: linear
+    grounded: linear
+    dry_cat: cat
+  n_hard_val: 60
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  - - 0.1
+    - 0.9
+  n_replicates: 1
diff --git a/results/llm_compose/s2_grounded/manifest.json b/results/llm_compose/s2_grounded/manifest.json
new file mode 100644
index 0000000..01906cd
--- /dev/null
+++ b/results/llm_compose/s2_grounded/manifest.json
@@ -0,0 +1,38 @@
+{
+  "experiment": "llm_compose",
+  "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": 122,
+  "results_sha256": "a4355506daf356e216915d10e451ba314667e5e50e4b2e96ab38f0985d20e01b",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "compose": {
+    "arms": [
+      "grounded"
+    ],
+    "generations": 6,
+    "g": 0.1,
+    "k_inherit": 300,
+    "conf_gate": 0.85,
+    "epochs": 3,
+    "n_hard": 150,
+    "n_gsm8k": 150,
+    "n_mbpp": 100,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_compose/s2_grounded/partial_grounded_s2.parquet b/results/llm_compose/s2_grounded/partial_grounded_s2.parquet
new file mode 100644
index 0000000..53d6739
Binary files /dev/null and b/results/llm_compose/s2_grounded/partial_grounded_s2.parquet differ
diff --git a/results/llm_compose/s2_grounded/resolved_config.yaml b/results/llm_compose/s2_grounded/resolved_config.yaml
new file mode 100644
index 0000000..21a4b59
--- /dev/null
+++ b/results/llm_compose/s2_grounded/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_compose
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_compose
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  generations: 6
+  arms:
+  - grounded
+  g: 0.1
+  n_hard: 150
+  n_gsm8k: 150
+  n_mbpp: 100
+  n_probe: 60
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 32
+  score_batch_size: 16
+  train_batch_size: 2
+  train_max_len: 448
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose/s2_grounded
+  arm_ops:
+    dry: linear
+    grounded: linear
+    dry_cat: cat
+  n_hard_val: 60
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  - - 0.1
+    - 0.9
+  n_replicates: 1
diff --git a/results/llm_compose/s3_dry/manifest.json b/results/llm_compose/s3_dry/manifest.json
new file mode 100644
index 0000000..5c39552
--- /dev/null
+++ b/results/llm_compose/s3_dry/manifest.json
@@ -0,0 +1,38 @@
+{
+  "experiment": "llm_compose",
+  "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": 122,
+  "results_sha256": "d9be9eacf3014ab9341090c18961297d97a0e68d1ca20b229a7fb0713c3b5ff5",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "compose": {
+    "arms": [
+      "dry"
+    ],
+    "generations": 6,
+    "g": 0.1,
+    "k_inherit": 300,
+    "conf_gate": 0.85,
+    "epochs": 3,
+    "n_hard": 150,
+    "n_gsm8k": 150,
+    "n_mbpp": 100,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_compose/s3_dry/partial_dry_s3.parquet b/results/llm_compose/s3_dry/partial_dry_s3.parquet
new file mode 100644
index 0000000..e3a8cd2
Binary files /dev/null and b/results/llm_compose/s3_dry/partial_dry_s3.parquet differ
diff --git a/results/llm_compose/s3_dry/resolved_config.yaml b/results/llm_compose/s3_dry/resolved_config.yaml
new file mode 100644
index 0000000..0fc3f86
--- /dev/null
+++ b/results/llm_compose/s3_dry/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_compose
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_compose
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  generations: 6
+  arms:
+  - dry
+  g: 0.1
+  n_hard: 150
+  n_gsm8k: 150
+  n_mbpp: 100
+  n_probe: 60
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 32
+  score_batch_size: 16
+  train_batch_size: 2
+  train_max_len: 448
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose/s3_dry
+  arm_ops:
+    dry: linear
+    grounded: linear
+    dry_cat: cat
+  n_hard_val: 60
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  - - 0.1
+    - 0.9
+  n_replicates: 1
diff --git a/results/llm_compose/s3_dry_cat/manifest.json b/results/llm_compose/s3_dry_cat/manifest.json
new file mode 100644
index 0000000..8a3fa7a
--- /dev/null
+++ b/results/llm_compose/s3_dry_cat/manifest.json
@@ -0,0 +1,38 @@
+{
+  "experiment": "llm_compose",
+  "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": 122,
+  "results_sha256": "c9d6d1408cb87b1bf71b3f85a5f58384fe5f3678350d10a32ed5e639cb63d48d",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "compose": {
+    "arms": [
+      "dry_cat"
+    ],
+    "generations": 6,
+    "g": 0.1,
+    "k_inherit": 300,
+    "conf_gate": 0.85,
+    "epochs": 3,
+    "n_hard": 150,
+    "n_gsm8k": 150,
+    "n_mbpp": 100,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_compose/s3_dry_cat/partial_dry_cat_s3.parquet b/results/llm_compose/s3_dry_cat/partial_dry_cat_s3.parquet
new file mode 100644
index 0000000..b36d991
Binary files /dev/null and b/results/llm_compose/s3_dry_cat/partial_dry_cat_s3.parquet differ
diff --git a/results/llm_compose/s3_dry_cat/resolved_config.yaml b/results/llm_compose/s3_dry_cat/resolved_config.yaml
new file mode 100644
index 0000000..150cb95
--- /dev/null
+++ b/results/llm_compose/s3_dry_cat/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_compose
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_compose
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  generations: 6
+  arms:
+  - dry_cat
+  g: 0.1
+  n_hard: 150
+  n_gsm8k: 150
+  n_mbpp: 100
+  n_probe: 60
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 32
+  score_batch_size: 16
+  train_batch_size: 2
+  train_max_len: 448
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose/s3_dry_cat
+  arm_ops:
+    dry: linear
+    grounded: linear
+    dry_cat: cat
+  n_hard_val: 60
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  - - 0.1
+    - 0.9
+  n_replicates: 1
diff --git a/results/llm_compose/s3_grounded/manifest.json b/results/llm_compose/s3_grounded/manifest.json
new file mode 100644
index 0000000..03f6736
--- /dev/null
+++ b/results/llm_compose/s3_grounded/manifest.json
@@ -0,0 +1,38 @@
+{
+  "experiment": "llm_compose",
+  "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": 122,
+  "results_sha256": "52d7b0c456160ea828e7adc55341ad13358c214715b3be80a31834bb7ef4ea6e",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "compose": {
+    "arms": [
+      "grounded"
+    ],
+    "generations": 6,
+    "g": 0.1,
+    "k_inherit": 300,
+    "conf_gate": 0.85,
+    "epochs": 3,
+    "n_hard": 150,
+    "n_gsm8k": 150,
+    "n_mbpp": 100,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_compose/s3_grounded/partial_grounded_s3.parquet b/results/llm_compose/s3_grounded/partial_grounded_s3.parquet
new file mode 100644
index 0000000..7c8894d
Binary files /dev/null and b/results/llm_compose/s3_grounded/partial_grounded_s3.parquet differ
diff --git a/results/llm_compose/s3_grounded/resolved_config.yaml b/results/llm_compose/s3_grounded/resolved_config.yaml
new file mode 100644
index 0000000..6be9805
--- /dev/null
+++ b/results/llm_compose/s3_grounded/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_compose
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_compose
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  generations: 6
+  arms:
+  - grounded
+  g: 0.1
+  n_hard: 150
+  n_gsm8k: 150
+  n_mbpp: 100
+  n_probe: 60
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 32
+  score_batch_size: 16
+  train_batch_size: 2
+  train_max_len: 448
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose/s3_grounded
+  arm_ops:
+    dry: linear
+    grounded: linear
+    dry_cat: cat
+  n_hard_val: 60
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  - - 0.1
+    - 0.9
+  n_replicates: 1
diff --git a/results/llm_compose_all/llm_compose.pdf b/results/llm_compose_all/llm_compose.pdf
new file mode 100644
index 0000000..2ce1b6d
Binary files /dev/null and b/results/llm_compose_all/llm_compose.pdf differ
diff --git a/results/llm_compose_all/llm_compose.png b/results/llm_compose_all/llm_compose.png
new file mode 100644
index 0000000..c8d45a9
Binary files /dev/null and b/results/llm_compose_all/llm_compose.png differ
diff --git a/results/llm_compose_all/s1/resolved_config.yaml b/results/llm_compose_all/s1/resolved_config.yaml
new file mode 100644
index 0000000..68aab2d
--- /dev/null
+++ b/results/llm_compose_all/s1/resolved_config.yaml
@@ -0,0 +1,49 @@
+experiment: llm_compose
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_compose
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  generations: 6
+  arms:
+  - dry
+  - grounded
+  - dry_cat
+  g: 0.1
+  n_hard: 150
+  n_gsm8k: 150
+  n_mbpp: 100
+  n_probe: 60
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 16
+  score_batch_size: 4
+  train_batch_size: 2
+  train_max_len: 448
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose/s1
+  arm_ops:
+    dry: linear
+    grounded: linear
+    dry_cat: cat
+  n_hard_val: 60
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  - - 0.1
+    - 0.9
+  n_replicates: 1
diff --git a/results/llm_compose_all/s2_dry/resolved_config.yaml b/results/llm_compose_all/s2_dry/resolved_config.yaml
new file mode 100644
index 0000000..c7f9ce4
--- /dev/null
+++ b/results/llm_compose_all/s2_dry/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_compose
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_compose
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  generations: 6
+  arms:
+  - dry
+  g: 0.1
+  n_hard: 150
+  n_gsm8k: 150
+  n_mbpp: 100
+  n_probe: 60
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 32
+  score_batch_size: 16
+  train_batch_size: 2
+  train_max_len: 448
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose/s2_dry
+  arm_ops:
+    dry: linear
+    grounded: linear
+    dry_cat: cat
+  n_hard_val: 60
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  - - 0.1
+    - 0.9
+  n_replicates: 1
diff --git a/results/llm_compose_all/s2_dry_cat/resolved_config.yaml b/results/llm_compose_all/s2_dry_cat/resolved_config.yaml
new file mode 100644
index 0000000..dd97bdd
--- /dev/null
+++ b/results/llm_compose_all/s2_dry_cat/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_compose
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_compose
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  generations: 6
+  arms:
+  - dry_cat
+  g: 0.1
+  n_hard: 150
+  n_gsm8k: 150
+  n_mbpp: 100
+  n_probe: 60
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 32
+  score_batch_size: 16
+  train_batch_size: 2
+  train_max_len: 448
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose/s2_dry_cat
+  arm_ops:
+    dry: linear
+    grounded: linear
+    dry_cat: cat
+  n_hard_val: 60
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  - - 0.1
+    - 0.9
+  n_replicates: 1
diff --git a/results/llm_compose_all/s2_grounded/resolved_config.yaml b/results/llm_compose_all/s2_grounded/resolved_config.yaml
new file mode 100644
index 0000000..21a4b59
--- /dev/null
+++ b/results/llm_compose_all/s2_grounded/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_compose
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_compose
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  generations: 6
+  arms:
+  - grounded
+  g: 0.1
+  n_hard: 150
+  n_gsm8k: 150
+  n_mbpp: 100
+  n_probe: 60
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 32
+  score_batch_size: 16
+  train_batch_size: 2
+  train_max_len: 448
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose/s2_grounded
+  arm_ops:
+    dry: linear
+    grounded: linear
+    dry_cat: cat
+  n_hard_val: 60
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  - - 0.1
+    - 0.9
+  n_replicates: 1
diff --git a/results/llm_compose_all/s3_dry/resolved_config.yaml b/results/llm_compose_all/s3_dry/resolved_config.yaml
new file mode 100644
index 0000000..0fc3f86
--- /dev/null
+++ b/results/llm_compose_all/s3_dry/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_compose
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_compose
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  generations: 6
+  arms:
+  - dry
+  g: 0.1
+  n_hard: 150
+  n_gsm8k: 150
+  n_mbpp: 100
+  n_probe: 60
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 32
+  score_batch_size: 16
+  train_batch_size: 2
+  train_max_len: 448
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose/s3_dry
+  arm_ops:
+    dry: linear
+    grounded: linear
+    dry_cat: cat
+  n_hard_val: 60
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  - - 0.1
+    - 0.9
+  n_replicates: 1
diff --git a/results/llm_compose_all/s3_dry_cat/resolved_config.yaml b/results/llm_compose_all/s3_dry_cat/resolved_config.yaml
new file mode 100644
index 0000000..150cb95
--- /dev/null
+++ b/results/llm_compose_all/s3_dry_cat/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_compose
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_compose
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  generations: 6
+  arms:
+  - dry_cat
+  g: 0.1
+  n_hard: 150
+  n_gsm8k: 150
+  n_mbpp: 100
+  n_probe: 60
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 32
+  score_batch_size: 16
+  train_batch_size: 2
+  train_max_len: 448
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose/s3_dry_cat
+  arm_ops:
+    dry: linear
+    grounded: linear
+    dry_cat: cat
+  n_hard_val: 60
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  - - 0.1
+    - 0.9
+  n_replicates: 1
diff --git a/results/llm_compose_all/s3_grounded/resolved_config.yaml b/results/llm_compose_all/s3_grounded/resolved_config.yaml
new file mode 100644
index 0000000..6be9805
--- /dev/null
+++ b/results/llm_compose_all/s3_grounded/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_compose
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_compose
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  generations: 6
+  arms:
+  - grounded
+  g: 0.1
+  n_hard: 150
+  n_gsm8k: 150
+  n_mbpp: 100
+  n_probe: 60
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 32
+  score_batch_size: 16
+  train_batch_size: 2
+  train_max_len: 448
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose/s3_grounded
+  arm_ops:
+    dry: linear
+    grounded: linear
+    dry_cat: cat
+  n_hard_val: 60
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  - - 0.1
+    - 0.9
+  n_replicates: 1
diff --git a/results/llm_compose_gate/manifest.json b/results/llm_compose_gate/manifest.json
new file mode 100644
index 0000000..f7735b2
--- /dev/null
+++ b/results/llm_compose_gate/manifest.json
@@ -0,0 +1,38 @@
+{
+  "experiment": "llm_compose_gate",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 13,
+  "results_sha256": "3c22a286420de512c6b3a114bb8d928072bc8750f861405252c8e563405d7b39",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "compose": {
+    "arms": [
+      "dry"
+    ],
+    "generations": 0,
+    "g": 0.1,
+    "k_inherit": 300,
+    "conf_gate": 0.85,
+    "epochs": 3,
+    "n_hard": 150,
+    "n_gsm8k": 100,
+    "n_mbpp": 80,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_compose_gate/resolved_config.yaml b/results/llm_compose_gate/resolved_config.yaml
new file mode 100644
index 0000000..5f8d113
--- /dev/null
+++ b/results/llm_compose_gate/resolved_config.yaml
@@ -0,0 +1,32 @@
+experiment: llm_compose_gate
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_compose_gate
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  generations: 0
+  arms:
+  - dry
+  n_hard: 150
+  n_gsm8k: 100
+  n_mbpp: 80
+  n_probe: 40
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  g: 0.1
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 16
+  score_batch_size: 8
+  train_batch_size: 2
+  train_max_len: 448
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose_gate
+  n_replicates: 1
diff --git a/results/llm_compose_gate_math500/manifest.json b/results/llm_compose_gate_math500/manifest.json
new file mode 100644
index 0000000..987cf0a
--- /dev/null
+++ b/results/llm_compose_gate_math500/manifest.json
@@ -0,0 +1,38 @@
+{
+  "experiment": "llm_compose_gate",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 14,
+  "results_sha256": "cc1c6f5ac13eda7c26eecb563b3fcd22b034027dfec432e80cb071a71bf2a7c6",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "compose": {
+    "arms": [
+      "dry"
+    ],
+    "generations": 0,
+    "g": 0.1,
+    "k_inherit": 300,
+    "conf_gate": 0.85,
+    "epochs": 3,
+    "n_hard": 120,
+    "n_gsm8k": 100,
+    "n_mbpp": 80,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_compose_gate_math500/resolved_config.yaml b/results/llm_compose_gate_math500/resolved_config.yaml
new file mode 100644
index 0000000..55e30f4
--- /dev/null
+++ b/results/llm_compose_gate_math500/resolved_config.yaml
@@ -0,0 +1,41 @@
+experiment: llm_compose_gate
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_compose_gate
+  kind: llm_compose
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  generations: 0
+  arms:
+  - dry
+  target: math500
+  n_hard: 120
+  n_hard_val: 50
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.2
+    - 0.8
+  n_gsm8k: 100
+  n_mbpp: 80
+  n_probe: 40
+  k_inherit: 300
+  epochs: 3
+  conf_gate: 0.85
+  g: 0.1
+  spec_train: 1200
+  spec_epochs: 3
+  max_new_tokens: 320
+  batch_size: 16
+  score_batch_size: 8
+  train_batch_size: 2
+  train_max_len: 448
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_compose_gate_math500
+  n_replicates: 1
diff --git a/results/llm_curriculum_g2/manifest.json b/results/llm_curriculum_g2/manifest.json
new file mode 100644
index 0000000..850bc39
--- /dev/null
+++ b/results/llm_curriculum_g2/manifest.json
@@ -0,0 +1,48 @@
+{
+  "experiment": "llm_curriculum_g2",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 136,
+  "results_sha256": "0ead4632190886ae91cefc2d95b8318a4330adc42d25c7cc8e5e5e422ea08275",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "strings",
+      "setops",
+      "numtheory",
+      "mixedtoken",
+      "digits",
+      "alphabet",
+      "prime",
+      "wordlen",
+      "roman"
+    ],
+    "lineages": 1,
+    "generations": 9,
+    "arms": [
+      "isolated"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 0,
+    "operator": null,
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_g2/partial_isolated_s1.parquet b/results/llm_curriculum_g2/partial_isolated_s1.parquet
new file mode 100644
index 0000000..b5a3f1e
Binary files /dev/null and b/results/llm_curriculum_g2/partial_isolated_s1.parquet differ
diff --git a/results/llm_curriculum_g2/resolved_config.yaml b/results/llm_curriculum_g2/resolved_config.yaml
new file mode 100644
index 0000000..ff10291
--- /dev/null
+++ b/results/llm_curriculum_g2/resolved_config.yaml
@@ -0,0 +1,39 @@
+experiment: llm_curriculum_g2
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_g2
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  families:
+  - strings
+  - setops
+  - numtheory
+  - mixedtoken
+  - digits
+  - alphabet
+  - prime
+  - wordlen
+  - roman
+  lineages: 1
+  generations: 9
+  arms:
+  - isolated
+  baselines: []
+  n_new: 300
+  n_replay: 0
+  n_test: 60
+  n_val: 30
+  epochs: 3
+  lr: 0.0001
+  max_new_tokens: 32
+  batch_size: 32
+  train_batch_size: 2
+  train_max_len: 448
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_g2
+  n_replicates: 1
diff --git a/results/llm_curriculum_gate/manifest.json b/results/llm_curriculum_gate/manifest.json
new file mode 100644
index 0000000..0b5183b
--- /dev/null
+++ b/results/llm_curriculum_gate/manifest.json
@@ -0,0 +1,43 @@
+{
+  "experiment": "llm_curriculum_gate",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 144,
+  "results_sha256": "c910942d8071f802cca5c01a8d50710622b4c921e4b8f5dfce67f19674016e8f",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "strings",
+      "setops",
+      "numtheory"
+    ],
+    "lineages": 3,
+    "generations": 3,
+    "arms": [
+      "isolated",
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 120,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_gate/partial_isolated_s1.parquet b/results/llm_curriculum_gate/partial_isolated_s1.parquet
new file mode 100644
index 0000000..a59ebe3
Binary files /dev/null and b/results/llm_curriculum_gate/partial_isolated_s1.parquet differ
diff --git a/results/llm_curriculum_gate/partial_society_s1.parquet b/results/llm_curriculum_gate/partial_society_s1.parquet
new file mode 100644
index 0000000..ddb6f6f
Binary files /dev/null and b/results/llm_curriculum_gate/partial_society_s1.parquet differ
diff --git a/results/llm_curriculum_gate/resolved_config.yaml b/results/llm_curriculum_gate/resolved_config.yaml
new file mode 100644
index 0000000..2dc4d9a
--- /dev/null
+++ b/results/llm_curriculum_gate/resolved_config.yaml
@@ -0,0 +1,42 @@
+experiment: llm_curriculum_gate
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_gate
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  families:
+  - strings
+  - setops
+  - numtheory
+  lineages: 3
+  generations: 3
+  arms:
+  - isolated
+  - society
+  baselines: []
+  n_new: 300
+  n_replay: 120
+  n_test: 60
+  n_val: 30
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 32
+  batch_size: 32
+  train_batch_size: 2
+  train_max_len: 448
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_gate
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5/s1/manifest.json b/results/llm_curriculum_v5/s1/manifest.json
new file mode 100644
index 0000000..bbc0c4f
--- /dev/null
+++ b/results/llm_curriculum_v5/s1/manifest.json
@@ -0,0 +1,52 @@
+{
+  "experiment": "llm_curriculum_v5",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 829,
+  "results_sha256": "8c33f8cde08890036bf203fbd501f10d9a0aaba6c6e3d413c5eaed7213a4aade",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated",
+      "society",
+      "society_dry",
+      "seed_bank"
+    ],
+    "baselines": [
+      "sequential",
+      "single_shot_merge",
+      "joint"
+    ],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": 3,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5/s1/partial_isolated_s1.parquet b/results/llm_curriculum_v5/s1/partial_isolated_s1.parquet
new file mode 100644
index 0000000..ac4f041
Binary files /dev/null and b/results/llm_curriculum_v5/s1/partial_isolated_s1.parquet differ
diff --git a/results/llm_curriculum_v5/s1/partial_seed_bank_s1.parquet b/results/llm_curriculum_v5/s1/partial_seed_bank_s1.parquet
new file mode 100644
index 0000000..e1c4eb0
Binary files /dev/null and b/results/llm_curriculum_v5/s1/partial_seed_bank_s1.parquet differ
diff --git a/results/llm_curriculum_v5/s1/partial_society_dry_s1.parquet b/results/llm_curriculum_v5/s1/partial_society_dry_s1.parquet
new file mode 100644
index 0000000..030b080
Binary files /dev/null and b/results/llm_curriculum_v5/s1/partial_society_dry_s1.parquet differ
diff --git a/results/llm_curriculum_v5/s1/partial_society_s1.parquet b/results/llm_curriculum_v5/s1/partial_society_s1.parquet
new file mode 100644
index 0000000..775da02
Binary files /dev/null and b/results/llm_curriculum_v5/s1/partial_society_s1.parquet differ
diff --git a/results/llm_curriculum_v5/s1/resolved_config.yaml b/results/llm_curriculum_v5/s1/resolved_config.yaml
new file mode 100644
index 0000000..1efb02a
--- /dev/null
+++ b/results/llm_curriculum_v5/s1/resolved_config.yaml
@@ -0,0 +1,65 @@
+experiment: llm_curriculum_v5
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  - society
+  - society_dry
+  - seed_bank
+  baselines:
+  - sequential
+  - single_shot_merge
+  - joint
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  ancestor_depth: 3
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  baseline_weights:
+  - - 0.333
+    - 0.333
+    - 0.334
+  - - 0.5
+    - 0.25
+    - 0.25
+  - - 0.25
+    - 0.5
+    - 0.25
+  - - 0.25
+    - 0.25
+    - 0.5
+  max_new_tokens: 48
+  batch_size: 24
+  train_batch_size: 2
+  train_max_len: 512
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5/s1
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5/s2_isolated/manifest.json b/results/llm_curriculum_v5/s2_isolated/manifest.json
new file mode 100644
index 0000000..2f807be
--- /dev/null
+++ b/results/llm_curriculum_v5/s2_isolated/manifest.json
@@ -0,0 +1,49 @@
+{
+  "experiment": "llm_curriculum_v5",
+  "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": 235,
+  "results_sha256": "b6b9a506e47066ec93ec262c5d499f775b75f1669b021a651cd620a7af899cbc",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated"
+    ],
+    "baselines": [
+      "sequential",
+      "single_shot_merge",
+      "joint"
+    ],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": 3,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5/s2_isolated/partial_isolated_s2.parquet b/results/llm_curriculum_v5/s2_isolated/partial_isolated_s2.parquet
new file mode 100644
index 0000000..a3eb244
Binary files /dev/null and b/results/llm_curriculum_v5/s2_isolated/partial_isolated_s2.parquet differ
diff --git a/results/llm_curriculum_v5/s2_isolated/resolved_config.yaml b/results/llm_curriculum_v5/s2_isolated/resolved_config.yaml
new file mode 100644
index 0000000..438dec4
--- /dev/null
+++ b/results/llm_curriculum_v5/s2_isolated/resolved_config.yaml
@@ -0,0 +1,62 @@
+experiment: llm_curriculum_v5
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  baselines:
+  - sequential
+  - single_shot_merge
+  - joint
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  ancestor_depth: 3
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  baseline_weights:
+  - - 0.333
+    - 0.333
+    - 0.334
+  - - 0.5
+    - 0.25
+    - 0.25
+  - - 0.25
+    - 0.5
+    - 0.25
+  - - 0.25
+    - 0.25
+    - 0.5
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5/s2_isolated
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5/s2_seed_bank/manifest.json b/results/llm_curriculum_v5/s2_seed_bank/manifest.json
new file mode 100644
index 0000000..4e3a024
--- /dev/null
+++ b/results/llm_curriculum_v5/s2_seed_bank/manifest.json
@@ -0,0 +1,45 @@
+{
+  "experiment": "llm_curriculum_v5",
+  "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": 205,
+  "results_sha256": "ee5e10d1da4a83ad4e499e09b00a6d70e66517d4915a32517b65514d462cc261",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "seed_bank"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": 3,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5/s2_seed_bank/partial_seed_bank_s2.parquet b/results/llm_curriculum_v5/s2_seed_bank/partial_seed_bank_s2.parquet
new file mode 100644
index 0000000..6d7540f
Binary files /dev/null and b/results/llm_curriculum_v5/s2_seed_bank/partial_seed_bank_s2.parquet differ
diff --git a/results/llm_curriculum_v5/s2_seed_bank/resolved_config.yaml b/results/llm_curriculum_v5/s2_seed_bank/resolved_config.yaml
new file mode 100644
index 0000000..00bc696
--- /dev/null
+++ b/results/llm_curriculum_v5/s2_seed_bank/resolved_config.yaml
@@ -0,0 +1,59 @@
+experiment: llm_curriculum_v5
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - seed_bank
+  baselines: []
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  ancestor_depth: 3
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  baseline_weights:
+  - - 0.333
+    - 0.333
+    - 0.334
+  - - 0.5
+    - 0.25
+    - 0.25
+  - - 0.25
+    - 0.5
+    - 0.25
+  - - 0.25
+    - 0.25
+    - 0.5
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5/s2_seed_bank
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5/s2_society/manifest.json b/results/llm_curriculum_v5/s2_society/manifest.json
new file mode 100644
index 0000000..12da3a2
--- /dev/null
+++ b/results/llm_curriculum_v5/s2_society/manifest.json
@@ -0,0 +1,45 @@
+{
+  "experiment": "llm_curriculum_v5",
+  "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": 205,
+  "results_sha256": "67c63a97ee14a686e3395e927a17594e65ead722415c60636915f9eba30c7426",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": 3,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5/s2_society/partial_society_s2.parquet b/results/llm_curriculum_v5/s2_society/partial_society_s2.parquet
new file mode 100644
index 0000000..b98ce6e
Binary files /dev/null and b/results/llm_curriculum_v5/s2_society/partial_society_s2.parquet differ
diff --git a/results/llm_curriculum_v5/s2_society/resolved_config.yaml b/results/llm_curriculum_v5/s2_society/resolved_config.yaml
new file mode 100644
index 0000000..21e84f4
--- /dev/null
+++ b/results/llm_curriculum_v5/s2_society/resolved_config.yaml
@@ -0,0 +1,59 @@
+experiment: llm_curriculum_v5
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society
+  baselines: []
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  ancestor_depth: 3
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  baseline_weights:
+  - - 0.333
+    - 0.333
+    - 0.334
+  - - 0.5
+    - 0.25
+    - 0.25
+  - - 0.25
+    - 0.5
+    - 0.25
+  - - 0.25
+    - 0.25
+    - 0.5
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5/s2_society
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5/s2_society_dry/manifest.json b/results/llm_curriculum_v5/s2_society_dry/manifest.json
new file mode 100644
index 0000000..0fb622f
--- /dev/null
+++ b/results/llm_curriculum_v5/s2_society_dry/manifest.json
@@ -0,0 +1,45 @@
+{
+  "experiment": "llm_curriculum_v5",
+  "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": 205,
+  "results_sha256": "226126c5e9799d4cdf2589068e3aaf6bfa1b9a71fcda03777f908b754e3f4bbf",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society_dry"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": 3,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5/s2_society_dry/partial_society_dry_s2.parquet b/results/llm_curriculum_v5/s2_society_dry/partial_society_dry_s2.parquet
new file mode 100644
index 0000000..afd999c
Binary files /dev/null and b/results/llm_curriculum_v5/s2_society_dry/partial_society_dry_s2.parquet differ
diff --git a/results/llm_curriculum_v5/s2_society_dry/resolved_config.yaml b/results/llm_curriculum_v5/s2_society_dry/resolved_config.yaml
new file mode 100644
index 0000000..486c2e2
--- /dev/null
+++ b/results/llm_curriculum_v5/s2_society_dry/resolved_config.yaml
@@ -0,0 +1,59 @@
+experiment: llm_curriculum_v5
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society_dry
+  baselines: []
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  ancestor_depth: 3
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  baseline_weights:
+  - - 0.333
+    - 0.333
+    - 0.334
+  - - 0.5
+    - 0.25
+    - 0.25
+  - - 0.25
+    - 0.5
+    - 0.25
+  - - 0.25
+    - 0.25
+    - 0.5
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5/s2_society_dry
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5/s3_isolated/manifest.json b/results/llm_curriculum_v5/s3_isolated/manifest.json
new file mode 100644
index 0000000..2286ec5
--- /dev/null
+++ b/results/llm_curriculum_v5/s3_isolated/manifest.json
@@ -0,0 +1,49 @@
+{
+  "experiment": "llm_curriculum_v5",
+  "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": 235,
+  "results_sha256": "291a074fe83cc1c282346197177afa78a69d48d8e4dbfcff29f165b4e1720744",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated"
+    ],
+    "baselines": [
+      "sequential",
+      "single_shot_merge",
+      "joint"
+    ],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": 3,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5/s3_isolated/partial_isolated_s3.parquet b/results/llm_curriculum_v5/s3_isolated/partial_isolated_s3.parquet
new file mode 100644
index 0000000..79c7106
Binary files /dev/null and b/results/llm_curriculum_v5/s3_isolated/partial_isolated_s3.parquet differ
diff --git a/results/llm_curriculum_v5/s3_isolated/resolved_config.yaml b/results/llm_curriculum_v5/s3_isolated/resolved_config.yaml
new file mode 100644
index 0000000..f9e2c55
--- /dev/null
+++ b/results/llm_curriculum_v5/s3_isolated/resolved_config.yaml
@@ -0,0 +1,62 @@
+experiment: llm_curriculum_v5
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  baselines:
+  - sequential
+  - single_shot_merge
+  - joint
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  ancestor_depth: 3
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  baseline_weights:
+  - - 0.333
+    - 0.333
+    - 0.334
+  - - 0.5
+    - 0.25
+    - 0.25
+  - - 0.25
+    - 0.5
+    - 0.25
+  - - 0.25
+    - 0.25
+    - 0.5
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5/s3_isolated
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5/s3_seed_bank/manifest.json b/results/llm_curriculum_v5/s3_seed_bank/manifest.json
new file mode 100644
index 0000000..ee130ed
--- /dev/null
+++ b/results/llm_curriculum_v5/s3_seed_bank/manifest.json
@@ -0,0 +1,45 @@
+{
+  "experiment": "llm_curriculum_v5",
+  "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": 205,
+  "results_sha256": "f41adbd818646624e419c1448d5abe68c2005d810e709e740171e62bfc4a469d",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "seed_bank"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": 3,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5/s3_seed_bank/partial_seed_bank_s3.parquet b/results/llm_curriculum_v5/s3_seed_bank/partial_seed_bank_s3.parquet
new file mode 100644
index 0000000..c7cb8f6
Binary files /dev/null and b/results/llm_curriculum_v5/s3_seed_bank/partial_seed_bank_s3.parquet differ
diff --git a/results/llm_curriculum_v5/s3_seed_bank/resolved_config.yaml b/results/llm_curriculum_v5/s3_seed_bank/resolved_config.yaml
new file mode 100644
index 0000000..79e1df1
--- /dev/null
+++ b/results/llm_curriculum_v5/s3_seed_bank/resolved_config.yaml
@@ -0,0 +1,59 @@
+experiment: llm_curriculum_v5
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - seed_bank
+  baselines: []
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  ancestor_depth: 3
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  baseline_weights:
+  - - 0.333
+    - 0.333
+    - 0.334
+  - - 0.5
+    - 0.25
+    - 0.25
+  - - 0.25
+    - 0.5
+    - 0.25
+  - - 0.25
+    - 0.25
+    - 0.5
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5/s3_seed_bank
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5/s3_society/manifest.json b/results/llm_curriculum_v5/s3_society/manifest.json
new file mode 100644
index 0000000..aabdee1
--- /dev/null
+++ b/results/llm_curriculum_v5/s3_society/manifest.json
@@ -0,0 +1,45 @@
+{
+  "experiment": "llm_curriculum_v5",
+  "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": 205,
+  "results_sha256": "e4624c2f2db818a23db13cf9fde14cac60214fad9b109b4646a2604788ea1019",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": 3,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5/s3_society/partial_society_s3.parquet b/results/llm_curriculum_v5/s3_society/partial_society_s3.parquet
new file mode 100644
index 0000000..87ee976
Binary files /dev/null and b/results/llm_curriculum_v5/s3_society/partial_society_s3.parquet differ
diff --git a/results/llm_curriculum_v5/s3_society/resolved_config.yaml b/results/llm_curriculum_v5/s3_society/resolved_config.yaml
new file mode 100644
index 0000000..8b66851
--- /dev/null
+++ b/results/llm_curriculum_v5/s3_society/resolved_config.yaml
@@ -0,0 +1,59 @@
+experiment: llm_curriculum_v5
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society
+  baselines: []
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  ancestor_depth: 3
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  baseline_weights:
+  - - 0.333
+    - 0.333
+    - 0.334
+  - - 0.5
+    - 0.25
+    - 0.25
+  - - 0.25
+    - 0.5
+    - 0.25
+  - - 0.25
+    - 0.25
+    - 0.5
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5/s3_society
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5/s3_society_dry/manifest.json b/results/llm_curriculum_v5/s3_society_dry/manifest.json
new file mode 100644
index 0000000..2e3d85e
--- /dev/null
+++ b/results/llm_curriculum_v5/s3_society_dry/manifest.json
@@ -0,0 +1,45 @@
+{
+  "experiment": "llm_curriculum_v5",
+  "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": 205,
+  "results_sha256": "14ef9eeaa96b4d9345e14094cc9015b5797d2c08e78ead3c0f014ac6b39e1846",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society_dry"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": 3,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5/s3_society_dry/partial_society_dry_s3.parquet b/results/llm_curriculum_v5/s3_society_dry/partial_society_dry_s3.parquet
new file mode 100644
index 0000000..28da87c
Binary files /dev/null and b/results/llm_curriculum_v5/s3_society_dry/partial_society_dry_s3.parquet differ
diff --git a/results/llm_curriculum_v5/s3_society_dry/resolved_config.yaml b/results/llm_curriculum_v5/s3_society_dry/resolved_config.yaml
new file mode 100644
index 0000000..e65fbfe
--- /dev/null
+++ b/results/llm_curriculum_v5/s3_society_dry/resolved_config.yaml
@@ -0,0 +1,59 @@
+experiment: llm_curriculum_v5
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society_dry
+  baselines: []
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  ancestor_depth: 3
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  baseline_weights:
+  - - 0.333
+    - 0.333
+    - 0.334
+  - - 0.5
+    - 0.25
+    - 0.25
+  - - 0.25
+    - 0.5
+    - 0.25
+  - - 0.25
+    - 0.25
+    - 0.5
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  resume: true
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5/s3_society_dry
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_calib/manifest.json b/results/llm_curriculum_v5_calib/manifest.json
new file mode 100644
index 0000000..b6fd39b
--- /dev/null
+++ b/results/llm_curriculum_v5_calib/manifest.json
@@ -0,0 +1,50 @@
+{
+  "experiment": "llm_curriculum_v5_calib",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 188,
+  "results_sha256": "a585ee6a11a47ab65732abcd5e263b885a6cfa74fbcae0bec6b5c71bf2827fd8",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "gsm8k",
+      "mbpp",
+      "boolq",
+      "mnli",
+      "sst2",
+      "csqa",
+      "arc",
+      "winogrande",
+      "squad",
+      "nq_open",
+      "hellaswag"
+    ],
+    "lineages": 11,
+    "generations": 1,
+    "arms": [
+      "isolated"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 0,
+    "operator": null,
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_calib/partial_isolated_s1.parquet b/results/llm_curriculum_v5_calib/partial_isolated_s1.parquet
new file mode 100644
index 0000000..1d43aad
Binary files /dev/null and b/results/llm_curriculum_v5_calib/partial_isolated_s1.parquet differ
diff --git a/results/llm_curriculum_v5_calib/resolved_config.yaml b/results/llm_curriculum_v5_calib/resolved_config.yaml
new file mode 100644
index 0000000..7b2e29a
--- /dev/null
+++ b/results/llm_curriculum_v5_calib/resolved_config.yaml
@@ -0,0 +1,41 @@
+experiment: llm_curriculum_v5_calib
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_calib
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  families:
+  - gsm8k
+  - mbpp
+  - boolq
+  - mnli
+  - sst2
+  - csqa
+  - arc
+  - winogrande
+  - squad
+  - nq_open
+  - hellaswag
+  lineages: 11
+  generations: 1
+  arms:
+  - isolated
+  baselines: []
+  n_new: 300
+  n_replay: 0
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  max_new_tokens: 48
+  batch_size: 24
+  train_batch_size: 2
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_calib
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_calib_b/manifest.json b/results/llm_curriculum_v5_calib_b/manifest.json
new file mode 100644
index 0000000..4ad8fc3
--- /dev/null
+++ b/results/llm_curriculum_v5_calib_b/manifest.json
@@ -0,0 +1,45 @@
+{
+  "experiment": "llm_curriculum_v5_calib_b",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 73,
+  "results_sha256": "dfd9abe18530d6999399962bce0347f35e6e9151b09e87664ce9c94eddcbd0d7",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "gsm8k",
+      "mbpp",
+      "sst2",
+      "csqa",
+      "winogrande",
+      "nq_open"
+    ],
+    "lineages": 6,
+    "generations": 1,
+    "arms": [
+      "isolated"
+    ],
+    "baselines": [],
+    "n_new": 1200,
+    "n_replay": 0,
+    "operator": null,
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_calib_b/partial_isolated_s1.parquet b/results/llm_curriculum_v5_calib_b/partial_isolated_s1.parquet
new file mode 100644
index 0000000..d9e436c
Binary files /dev/null and b/results/llm_curriculum_v5_calib_b/partial_isolated_s1.parquet differ
diff --git a/results/llm_curriculum_v5_calib_b/resolved_config.yaml b/results/llm_curriculum_v5_calib_b/resolved_config.yaml
new file mode 100644
index 0000000..fb940c7
--- /dev/null
+++ b/results/llm_curriculum_v5_calib_b/resolved_config.yaml
@@ -0,0 +1,36 @@
+experiment: llm_curriculum_v5_calib_b
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_calib_b
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  families:
+  - gsm8k
+  - mbpp
+  - sst2
+  - csqa
+  - winogrande
+  - nq_open
+  lineages: 6
+  generations: 1
+  arms:
+  - isolated
+  baselines: []
+  n_new: 1200
+  n_replay: 0
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  max_new_tokens: 48
+  batch_size: 24
+  train_batch_size: 2
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_calib_b
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_cull/README.md b/results/llm_curriculum_v5_cull/README.md
new file mode 100644
index 0000000..fdbd25e
--- /dev/null
+++ b/results/llm_curriculum_v5_cull/README.md
@@ -0,0 +1,38 @@
+# llm_curriculum_v5_cull — differential reproduction in the six-generation population
+
+**Claim tested (manuscript revision 2026-09-12).** In the six-generation population recombination
+bought speed but not level: the declinable-merge arm led early and finished level with never merging.
+The population had no differential reproduction (lineages were never culled), and the Discussion
+predicted that with it a merged lineage's early lead would be inherited by more descendants and turn
+into a level advantage. This run adds truncation selection: after every generation's measurement the
+lowest-scoring lineage (all-families accuracy) is re-founded from the highest-scoring one, keeping
+its own curriculum slot (`cull: true`; `cull_step`/`inherit_slot` in `src/llm/curriculum.py`;
+ties leave the population alone). Arms: `isolated` + culling and declinable `society` + culling,
+read against the existing `isolated` and `veto` arms. Latin square, Qwen2.5-1.5B, 3 training seeds
+(`hpc/llm_cull.pbs`, ~35 min per seed on one L40S). Figure `curriculum_cull.png`; numbers from
+`figures/stats_llm_curriculum.py` and the per-generation tables printed in the revision log.
+
+### Result — parity again; the prediction is not supported
+- **Final best-lineage accuracy (all six families), mean of 3 seeds:** never merge 0.796; declinable
+  merge 0.792; never merge + culling **0.804**; declinable merge + culling **0.793**.
+- **Contrasts (per seed; mean ± 95% CI):** culled declinable − culled never-merge −0.011, −0.014,
+  −0.008 (**−0.011 ± 0.003**, below in 3/3); culled declinable − declinable +0.001 ± 0.007;
+  culled never-merge − never-merge +0.007 ± 0.030 (−0.022, +0.028, +0.017).
+- **The early lead survives, the level does not.** Best lineage at generation 1: declinable 0.680
+  and culled declinable 0.679 against never-merge 0.601 and culled never-merge 0.638; by generation
+  5 all four sit at 0.78–0.80. Population mean: culling lifts the *mean* early (generation 1: 0.577
+  vs 0.477 for the never-merge arms) because the best genome is copied into the worst slot, but the
+  final means converge too (0.775–0.786).
+- **Selection was active throughout:** exactly one cull per generation in every arm and seed (no
+  ties); the culled slot rotated among all three lineages. Declines in the culled declinable arm
+  rose with generation as before (0.33 → 1.00).
+- Retention of taught families at generation 6: 0.78–0.79 in all four arms.
+
+**Reading.** Under a curriculum that delivers every skill to every lineage, the ceiling is set by
+what one adapter can carry, and both sex and selection can only move a lineage toward that ceiling
+faster. Selection spreads the best genome; recombination assembles it earlier; neither raises it.
+The Fisher–Muller advantage in this population is a speed advantage, now shown with and without
+differential reproduction. Falsifier for the null (not triggered): culled declinable above culled
+never-merge in a majority of seeds by more than the seed-to-seed spread (~0.02). What would change
+the prediction is a curriculum in which skills are *not* guaranteed to every lineage (a lineage that
+never learns a family can only obtain it by merging), which is a different experiment.
diff --git a/results/llm_curriculum_v5_cull/curriculum_cull.pdf b/results/llm_curriculum_v5_cull/curriculum_cull.pdf
new file mode 100644
index 0000000..41c5c46
Binary files /dev/null and b/results/llm_curriculum_v5_cull/curriculum_cull.pdf differ
diff --git a/results/llm_curriculum_v5_cull/curriculum_cull.png b/results/llm_curriculum_v5_cull/curriculum_cull.png
new file mode 100644
index 0000000..5d3fbe0
Binary files /dev/null and b/results/llm_curriculum_v5_cull/curriculum_cull.png differ
diff --git a/results/llm_curriculum_v5_cull/s1/manifest.json b/results/llm_curriculum_v5_cull/s1/manifest.json
new file mode 100644
index 0000000..3776b01
--- /dev/null
+++ b/results/llm_curriculum_v5_cull/s1/manifest.json
@@ -0,0 +1,50 @@
+{
+  "experiment": "llm_curriculum_v5_cull",
+  "master_seed": 1,
+  "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": 511,
+  "results_sha256": "88e21029f057d0a40274b6253ea83f0ff178d3386cf85bcbdfda069b25d1c1c4",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated",
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": true,
+    "merge_until": null,
+    "orders": null,
+    "cull": true
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_cull/s1/partial_isolated_s1.parquet b/results/llm_curriculum_v5_cull/s1/partial_isolated_s1.parquet
new file mode 100644
index 0000000..a550f73
Binary files /dev/null and b/results/llm_curriculum_v5_cull/s1/partial_isolated_s1.parquet differ
diff --git a/results/llm_curriculum_v5_cull/s1/partial_society_s1.parquet b/results/llm_curriculum_v5_cull/s1/partial_society_s1.parquet
new file mode 100644
index 0000000..d9298d6
Binary files /dev/null and b/results/llm_curriculum_v5_cull/s1/partial_society_s1.parquet differ
diff --git a/results/llm_curriculum_v5_cull/s1/resolved_config.yaml b/results/llm_curriculum_v5_cull/s1/resolved_config.yaml
new file mode 100644
index 0000000..d2a86ab
--- /dev/null
+++ b/results/llm_curriculum_v5_cull/s1/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_curriculum_v5_cull
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_cull
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_cull/s1
+  cull: true
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_cull/s2/manifest.json b/results/llm_curriculum_v5_cull/s2/manifest.json
new file mode 100644
index 0000000..ebe375d
--- /dev/null
+++ b/results/llm_curriculum_v5_cull/s2/manifest.json
@@ -0,0 +1,50 @@
+{
+  "experiment": "llm_curriculum_v5_cull",
+  "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": 511,
+  "results_sha256": "104c6e6be137e2b9ac5969a611323b12773697576720502cca9bc950b33def3c",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated",
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": true,
+    "merge_until": null,
+    "orders": null,
+    "cull": true
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_cull/s2/partial_isolated_s2.parquet b/results/llm_curriculum_v5_cull/s2/partial_isolated_s2.parquet
new file mode 100644
index 0000000..d8adfa8
Binary files /dev/null and b/results/llm_curriculum_v5_cull/s2/partial_isolated_s2.parquet differ
diff --git a/results/llm_curriculum_v5_cull/s2/partial_society_s2.parquet b/results/llm_curriculum_v5_cull/s2/partial_society_s2.parquet
new file mode 100644
index 0000000..ace3c5a
Binary files /dev/null and b/results/llm_curriculum_v5_cull/s2/partial_society_s2.parquet differ
diff --git a/results/llm_curriculum_v5_cull/s2/resolved_config.yaml b/results/llm_curriculum_v5_cull/s2/resolved_config.yaml
new file mode 100644
index 0000000..968eed1
--- /dev/null
+++ b/results/llm_curriculum_v5_cull/s2/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_curriculum_v5_cull
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_cull
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_cull/s2
+  cull: true
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_cull/s3/manifest.json b/results/llm_curriculum_v5_cull/s3/manifest.json
new file mode 100644
index 0000000..3cb2889
--- /dev/null
+++ b/results/llm_curriculum_v5_cull/s3/manifest.json
@@ -0,0 +1,50 @@
+{
+  "experiment": "llm_curriculum_v5_cull",
+  "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": 511,
+  "results_sha256": "2669b74029d85d4197dca9229e3b1ab8769177f18e05fd08615f7bc2790b2945",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated",
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": true,
+    "merge_until": null,
+    "orders": null,
+    "cull": true
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_cull/s3/partial_isolated_s3.parquet b/results/llm_curriculum_v5_cull/s3/partial_isolated_s3.parquet
new file mode 100644
index 0000000..e320c90
Binary files /dev/null and b/results/llm_curriculum_v5_cull/s3/partial_isolated_s3.parquet differ
diff --git a/results/llm_curriculum_v5_cull/s3/partial_society_s3.parquet b/results/llm_curriculum_v5_cull/s3/partial_society_s3.parquet
new file mode 100644
index 0000000..d412f2a
Binary files /dev/null and b/results/llm_curriculum_v5_cull/s3/partial_society_s3.parquet differ
diff --git a/results/llm_curriculum_v5_cull/s3/resolved_config.yaml b/results/llm_curriculum_v5_cull/s3/resolved_config.yaml
new file mode 100644
index 0000000..49c3ac9
--- /dev/null
+++ b/results/llm_curriculum_v5_cull/s3/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_curriculum_v5_cull
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_cull
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_cull/s3
+  cull: true
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_decor/README.md b/results/llm_curriculum_v5_decor/README.md
new file mode 100644
index 0000000..2d6c7a0
--- /dev/null
+++ b/results/llm_curriculum_v5_decor/README.md
@@ -0,0 +1,53 @@
+# llm_curriculum_v5_decor — a curriculum that decouples partner complementarity from generation
+
+Config `configs/llm/curriculum_v5_decor.yaml`. Same population as v5 (three lineages, six real-dataset
+families, Qwen2.5-1.5B, rank-16 adapters continued from the parent) but every lineage starts with
+mnli, then diverges maximally, then converges, so mean pairwise complementarity by generation is
+0.00, 0.67, 0.70, 0.58, 0.33, 0.00 (Latin square: 1.00, 1.00, 0.80, 0.67, 0.33, 0.00). Arms:
+`isolated` (never merge) and `society` with `allow_veto: true` (declinable merge). Pre-registered in
+`tasks/prereg-llm-society-v4.md` §8h before running. Seed 1 local; seeds 2–3 on CX3
+(`hpc/llm_curriculum_controls.pbs`). Layout: `results.parquet` (seed 1), `s2/`, `s3/`.
+
+Why: in the Latin square, complementarity and generation number are collinear, so the veto's
+acceptance curve (Fig. 4B, Spearman ρ = −0.57 with complementarity) could equally be a response to
+adapter age. Pooling both curricula breaks the collinearity.
+
+## Result (`figures/stats_llm_curriculum.py`)
+
+Fraction of proposed merges declined (mean of 3 seeds) against complementarity:
+
+| generation | Latin: declined | Latin: compl. | decor: declined | decor: compl. |
+|---|---|---|---|---|
+| 0 | 0.44 | 1.00 | 0.44 | 0.00 |
+| 1 | 0.56 | 1.00 | 0.44 | 0.67 |
+| 2 | 0.44 | 0.80 | 0.67 | 0.70 |
+| 3 | 0.78 | 0.67 | 0.67 | 0.58 |
+| 4 | 0.67 | 0.33 | 0.44 | 0.33 |
+| 5 | 1.00 | 0.00 | 0.89 | 0.00 |
+
+Pooled test (2 curricula × 6 generations × 3 seeds = 36 points):
+
+| quantity | value |
+|---|---|
+| partial Spearman ρ(declined, complementarity \| generation) | −0.067, seed-clustered 95% CI (−0.211, +0.088) |
+| partial Spearman ρ(declined, generation \| complementarity) | +0.31 |
+| raw ρ(declined, complementarity) | −0.314 |
+| raw ρ(declined, generation) | +0.458 |
+
+Final accuracy (best lineage, all six families, generation 5):
+
+| arm | s1 | s2 | s3 | mean |
+|---|---|---|---|---|
+| decor, declinable merge | 0.789 | 0.792 | 0.789 | 0.790 |
+| decor, never merge | 0.786 | 0.792 | 0.792 | 0.790 |
+
+Pre-registered reading (§8h): the modifier hypothesis (partial ρ with complementarity < 0, CI
+excluding 0) is **not supported**; the adapter-age hypothesis (partial ρ with complementarity ≈ 0,
+with generation > 0) fits. The Latin-square correlation of −0.57 was carried by generation. What
+rises with generation in both curricula and is not separated here: the adapters' training age, the
+number of skills each holds, and the presence of the two format-destroyer families (boolq,
+winogrande), which every lineage carries by the late generations in both schedules. The declinable
+merge again finished level with never merging (−0.000 ± 0.003 over seeds).
+
+Falsifier status: the manuscript's reading of the acceptance curve as a recombination modifier
+tracking complementarity (the reduction principle) is withdrawn; the curve tracks generation.
diff --git a/results/llm_curriculum_v5_decor/manifest.json b/results/llm_curriculum_v5_decor/manifest.json
new file mode 100644
index 0000000..3306ae5
--- /dev/null
+++ b/results/llm_curriculum_v5_decor/manifest.json
@@ -0,0 +1,74 @@
+{
+  "experiment": "llm_curriculum_v5_decor",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 439,
+  "results_sha256": "19c07b8460eabea024ee8a16a6ed98be2c771450e9f9b23f71a1e4f9e2573f07",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated",
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": true,
+    "merge_until": null,
+    "orders": [
+      [
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad",
+        "boolq",
+        "winogrande"
+      ],
+      [
+        "mnli",
+        "squad",
+        "boolq",
+        "winogrande",
+        "arc",
+        "hellaswag"
+      ],
+      [
+        "mnli",
+        "winogrande",
+        "arc",
+        "hellaswag",
+        "squad",
+        "boolq"
+      ]
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_decor/partial_isolated_s1.parquet b/results/llm_curriculum_v5_decor/partial_isolated_s1.parquet
new file mode 100644
index 0000000..641ab24
Binary files /dev/null and b/results/llm_curriculum_v5_decor/partial_isolated_s1.parquet differ
diff --git a/results/llm_curriculum_v5_decor/partial_society_s1.parquet b/results/llm_curriculum_v5_decor/partial_society_s1.parquet
new file mode 100644
index 0000000..5053e34
Binary files /dev/null and b/results/llm_curriculum_v5_decor/partial_society_s1.parquet differ
diff --git a/results/llm_curriculum_v5_decor/resolved_config.yaml b/results/llm_curriculum_v5_decor/resolved_config.yaml
new file mode 100644
index 0000000..e6fc243
--- /dev/null
+++ b/results/llm_curriculum_v5_decor/resolved_config.yaml
@@ -0,0 +1,65 @@
+experiment: llm_curriculum_v5_decor
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_decor
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  orders:
+  - - mnli
+    - arc
+    - hellaswag
+    - squad
+    - boolq
+    - winogrande
+  - - mnli
+    - squad
+    - boolq
+    - winogrande
+    - arc
+    - hellaswag
+  - - mnli
+    - winogrande
+    - arc
+    - hellaswag
+    - squad
+    - boolq
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 24
+  train_batch_size: 2
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_decor
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_decor/s2/manifest.json b/results/llm_curriculum_v5_decor/s2/manifest.json
new file mode 100644
index 0000000..72e5983
--- /dev/null
+++ b/results/llm_curriculum_v5_decor/s2/manifest.json
@@ -0,0 +1,74 @@
+{
+  "experiment": "llm_curriculum_v5_decor",
+  "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": 439,
+  "results_sha256": "a75595b9f4eeef9d0ddb7533cdeec3f225906c835e66c0b2215e8885080cb66b",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated",
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": true,
+    "merge_until": null,
+    "orders": [
+      [
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad",
+        "boolq",
+        "winogrande"
+      ],
+      [
+        "mnli",
+        "squad",
+        "boolq",
+        "winogrande",
+        "arc",
+        "hellaswag"
+      ],
+      [
+        "mnli",
+        "winogrande",
+        "arc",
+        "hellaswag",
+        "squad",
+        "boolq"
+      ]
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_decor/s2/partial_isolated_s2.parquet b/results/llm_curriculum_v5_decor/s2/partial_isolated_s2.parquet
new file mode 100644
index 0000000..f7a948e
Binary files /dev/null and b/results/llm_curriculum_v5_decor/s2/partial_isolated_s2.parquet differ
diff --git a/results/llm_curriculum_v5_decor/s2/partial_society_s2.parquet b/results/llm_curriculum_v5_decor/s2/partial_society_s2.parquet
new file mode 100644
index 0000000..d66c456
Binary files /dev/null and b/results/llm_curriculum_v5_decor/s2/partial_society_s2.parquet differ
diff --git a/results/llm_curriculum_v5_decor/s2/resolved_config.yaml b/results/llm_curriculum_v5_decor/s2/resolved_config.yaml
new file mode 100644
index 0000000..3a8857c
--- /dev/null
+++ b/results/llm_curriculum_v5_decor/s2/resolved_config.yaml
@@ -0,0 +1,65 @@
+experiment: llm_curriculum_v5_decor
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_decor
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  orders:
+  - - mnli
+    - arc
+    - hellaswag
+    - squad
+    - boolq
+    - winogrande
+  - - mnli
+    - squad
+    - boolq
+    - winogrande
+    - arc
+    - hellaswag
+  - - mnli
+    - winogrande
+    - arc
+    - hellaswag
+    - squad
+    - boolq
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_decor/s2
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_decor/s3/manifest.json b/results/llm_curriculum_v5_decor/s3/manifest.json
new file mode 100644
index 0000000..f06ed64
--- /dev/null
+++ b/results/llm_curriculum_v5_decor/s3/manifest.json
@@ -0,0 +1,74 @@
+{
+  "experiment": "llm_curriculum_v5_decor",
+  "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": 439,
+  "results_sha256": "e1edd757be0e27f489b5835e64fd7103f08b8f4d27482e00e751b4a43e6f8e6e",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated",
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": true,
+    "merge_until": null,
+    "orders": [
+      [
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad",
+        "boolq",
+        "winogrande"
+      ],
+      [
+        "mnli",
+        "squad",
+        "boolq",
+        "winogrande",
+        "arc",
+        "hellaswag"
+      ],
+      [
+        "mnli",
+        "winogrande",
+        "arc",
+        "hellaswag",
+        "squad",
+        "boolq"
+      ]
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_decor/s3/partial_isolated_s3.parquet b/results/llm_curriculum_v5_decor/s3/partial_isolated_s3.parquet
new file mode 100644
index 0000000..62a45d9
Binary files /dev/null and b/results/llm_curriculum_v5_decor/s3/partial_isolated_s3.parquet differ
diff --git a/results/llm_curriculum_v5_decor/s3/partial_society_s3.parquet b/results/llm_curriculum_v5_decor/s3/partial_society_s3.parquet
new file mode 100644
index 0000000..502f9ac
Binary files /dev/null and b/results/llm_curriculum_v5_decor/s3/partial_society_s3.parquet differ
diff --git a/results/llm_curriculum_v5_decor/s3/resolved_config.yaml b/results/llm_curriculum_v5_decor/s3/resolved_config.yaml
new file mode 100644
index 0000000..4391017
--- /dev/null
+++ b/results/llm_curriculum_v5_decor/s3/resolved_config.yaml
@@ -0,0 +1,65 @@
+experiment: llm_curriculum_v5_decor
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_decor
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  orders:
+  - - mnli
+    - arc
+    - hellaswag
+    - squad
+    - boolq
+    - winogrande
+  - - mnli
+    - squad
+    - boolq
+    - winogrande
+    - arc
+    - hellaswag
+  - - mnli
+    - winogrande
+    - arc
+    - hellaswag
+    - squad
+    - boolq
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_decor/s3
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_early/README.md b/results/llm_curriculum_v5_early/README.md
new file mode 100644
index 0000000..89bb353
--- /dev/null
+++ b/results/llm_curriculum_v5_early/README.md
@@ -0,0 +1,48 @@
+# Conflict-arrival curricula — does the decline (and the collapse) follow conflict, or generation?
+
+**Claim tested (manuscript revision 2026-09-12).** In the Latin-square population the fraction of
+merges a lineage declines rose with generation, and the obligate-merge arm collapsed from generation
+4. Three things rise together there: adapter age, skill count, and the arrival of the two families
+whose answer conventions conflict (`boolq` yes/no, `winogrande` 1/2). The decorrelated curriculum
+separated complementarity from generation but not conflict arrival. These two curricula move ONLY
+conflict arrival: **conflict-early** puts `boolq`/`winogrande` in generations 1–2 of every lineage;
+**conflict-late** puts them in generations 5–6; the four compatible families fill the rest in
+rotated orders. Age and skill count rise one family per generation in both (tested in
+`tests/test_llm_curriculum.py`). Pre-registered readings: declines and collapse at generations 2–3
+in early and 5–6 in late → conflict arrival drives them; the same rise/collapse schedule in both →
+age or skill count.
+
+**Setup.** As `curriculum_v5` (Qwen2.5-1.5B base, 3 lineages, 6 generations, 300 new + 150 replay
+examples, rank-16 LoRA, 60 test items per family). Configs: `curriculum_v5_{early,late}.yaml`
+(arms `isolated` + declinable `society`) and `curriculum_v5_{early,late}_obl.yaml` (obligate
+`society`). Seeds 1–3 via `hpc/llm_curriculum_timing.pbs` (L40S, 20–40 min per element). Bundles:
+`results/llm_curriculum_v5_{early,late,early_obl,late_obl}/s{seed}/`. Figure
+`curriculum_timing.png` (this directory); numbers below from `figures/stats_llm_curriculum.py`.
+
+### Result — generation, not conflict arrival
+- **Declines rise with generation in both curricula on the same schedule** (mean fraction declined,
+  generations 1→6; conflict present from generation 2 in early, 6 in late):
+  early 0.56, 0.33, 0.67, 0.67, 0.89, 0.78 · late 0.44, 0.67, 0.44, 0.56, 0.78, 0.89
+  (Latin 0.44 → 1.00; decorrelated 0.44 → 0.89).
+- **Conflict-timing test** (partial Spearman of declined on a conflict-present indicator,
+  controlling for generation; seed-clustered bootstrap): early + late pooled, n = 36:
+  ρ(conflict | generation) = **−0.09**, 95% CI (−0.45, 0.15); ρ(generation | conflict) = **+0.45**.
+  All four curricula pooled, n = 72: ρ(conflict | generation) = −0.04, CI (−0.30, 0.15);
+  ρ(generation | conflict) = +0.39. Complementarity, pooled over four curricula with generation
+  controlled: +0.05, CI (−0.08, 0.20).
+- **Obligate collapse also follows generation.** Best-lineage all-families accuracy of the obligate
+  arm, generations 1→6, mean of 3 seeds: early 0.63, 0.61, 0.72, 0.68, 0.50, 0.28 · late 0.75,
+  0.76, 0.71, 0.61, 0.57, 0.44 (Latin 0.68 … 0.27). Conflict-early dips when the pair arrives
+  (generation 2), recovers to the others' level by generation 3, and collapses from generation 5;
+  conflict-late collapses from generation 4 with its conflicting pair still to come, and ends
+  less deep. Final obligate − isolated: early −0.517 ± 0.050, late −0.395 ± 0.053 (3/3 seeds each).
+- **Declinable arms finish level with never merging in both curricula:** early 0.777 vs 0.796
+  (per seed −0.022, −0.039, +0.003), late 0.791 vs 0.781 (+0.019, +0.003, +0.006).
+
+**Reading.** With conflict arrival moved by four generations, neither the decline curve nor the
+collapse moved with it. What remains confounded is adapter age with skill count (both rise one per
+generation by construction). The recombination-modifier reading (declines track complementarity)
+stays unsupported; the "conflict arrival explains the collapse" reading is now also unsupported at
+the level of timing, though conflicting conventions still set the per-pair error floor
+(Proposition S2) and the early-arrival dip is visible. Falsifier for the generation reading (not
+triggered): declines or collapse shifting by ≥ 3 generations between the two curricula.
diff --git a/results/llm_curriculum_v5_early/curriculum_timing.pdf b/results/llm_curriculum_v5_early/curriculum_timing.pdf
new file mode 100644
index 0000000..dfff3b3
Binary files /dev/null and b/results/llm_curriculum_v5_early/curriculum_timing.pdf differ
diff --git a/results/llm_curriculum_v5_early/curriculum_timing.png b/results/llm_curriculum_v5_early/curriculum_timing.png
new file mode 100644
index 0000000..b4762fc
Binary files /dev/null and b/results/llm_curriculum_v5_early/curriculum_timing.png differ
diff --git a/results/llm_curriculum_v5_early/s1/manifest.json b/results/llm_curriculum_v5_early/s1/manifest.json
new file mode 100644
index 0000000..a43d8cf
--- /dev/null
+++ b/results/llm_curriculum_v5_early/s1/manifest.json
@@ -0,0 +1,75 @@
+{
+  "experiment": "llm_curriculum_v5_early",
+  "master_seed": 1,
+  "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": 439,
+  "results_sha256": "acbf0fd695b12a33c352a5aed5ef719476c0638002eeb3e190914b5e239bc820",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated",
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": true,
+    "merge_until": null,
+    "orders": [
+      [
+        "boolq",
+        "winogrande",
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad"
+      ],
+      [
+        "winogrande",
+        "boolq",
+        "arc",
+        "hellaswag",
+        "squad",
+        "mnli"
+      ],
+      [
+        "boolq",
+        "winogrande",
+        "hellaswag",
+        "squad",
+        "mnli",
+        "arc"
+      ]
+    ],
+    "cull": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_early/s1/partial_isolated_s1.parquet b/results/llm_curriculum_v5_early/s1/partial_isolated_s1.parquet
new file mode 100644
index 0000000..3b97698
Binary files /dev/null and b/results/llm_curriculum_v5_early/s1/partial_isolated_s1.parquet differ
diff --git a/results/llm_curriculum_v5_early/s1/partial_society_s1.parquet b/results/llm_curriculum_v5_early/s1/partial_society_s1.parquet
new file mode 100644
index 0000000..356b0e6
Binary files /dev/null and b/results/llm_curriculum_v5_early/s1/partial_society_s1.parquet differ
diff --git a/results/llm_curriculum_v5_early/s1/resolved_config.yaml b/results/llm_curriculum_v5_early/s1/resolved_config.yaml
new file mode 100644
index 0000000..dd93dcf
--- /dev/null
+++ b/results/llm_curriculum_v5_early/s1/resolved_config.yaml
@@ -0,0 +1,65 @@
+experiment: llm_curriculum_v5_early
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_early
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_early/s1
+  orders:
+  - - boolq
+    - winogrande
+    - mnli
+    - arc
+    - hellaswag
+    - squad
+  - - winogrande
+    - boolq
+    - arc
+    - hellaswag
+    - squad
+    - mnli
+  - - boolq
+    - winogrande
+    - hellaswag
+    - squad
+    - mnli
+    - arc
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_early/s2/manifest.json b/results/llm_curriculum_v5_early/s2/manifest.json
new file mode 100644
index 0000000..96d5cd0
--- /dev/null
+++ b/results/llm_curriculum_v5_early/s2/manifest.json
@@ -0,0 +1,75 @@
+{
+  "experiment": "llm_curriculum_v5_early",
+  "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": 439,
+  "results_sha256": "dd5697baee62e082eeb8b90321cd030317d0af91664a79c094b68f845f577cc2",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated",
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": true,
+    "merge_until": null,
+    "orders": [
+      [
+        "boolq",
+        "winogrande",
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad"
+      ],
+      [
+        "winogrande",
+        "boolq",
+        "arc",
+        "hellaswag",
+        "squad",
+        "mnli"
+      ],
+      [
+        "boolq",
+        "winogrande",
+        "hellaswag",
+        "squad",
+        "mnli",
+        "arc"
+      ]
+    ],
+    "cull": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_early/s2/partial_isolated_s2.parquet b/results/llm_curriculum_v5_early/s2/partial_isolated_s2.parquet
new file mode 100644
index 0000000..6ade16e
Binary files /dev/null and b/results/llm_curriculum_v5_early/s2/partial_isolated_s2.parquet differ
diff --git a/results/llm_curriculum_v5_early/s2/partial_society_s2.parquet b/results/llm_curriculum_v5_early/s2/partial_society_s2.parquet
new file mode 100644
index 0000000..1eb5c01
Binary files /dev/null and b/results/llm_curriculum_v5_early/s2/partial_society_s2.parquet differ
diff --git a/results/llm_curriculum_v5_early/s2/resolved_config.yaml b/results/llm_curriculum_v5_early/s2/resolved_config.yaml
new file mode 100644
index 0000000..5944b5e
--- /dev/null
+++ b/results/llm_curriculum_v5_early/s2/resolved_config.yaml
@@ -0,0 +1,65 @@
+experiment: llm_curriculum_v5_early
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_early
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_early/s2
+  orders:
+  - - boolq
+    - winogrande
+    - mnli
+    - arc
+    - hellaswag
+    - squad
+  - - winogrande
+    - boolq
+    - arc
+    - hellaswag
+    - squad
+    - mnli
+  - - boolq
+    - winogrande
+    - hellaswag
+    - squad
+    - mnli
+    - arc
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_early/s3/manifest.json b/results/llm_curriculum_v5_early/s3/manifest.json
new file mode 100644
index 0000000..3788d00
--- /dev/null
+++ b/results/llm_curriculum_v5_early/s3/manifest.json
@@ -0,0 +1,75 @@
+{
+  "experiment": "llm_curriculum_v5_early",
+  "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": 439,
+  "results_sha256": "3d69712e820af51ae2263b9d20d62a9c5e0d0a34d06d678b48e1116f4b740ac3",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated",
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": true,
+    "merge_until": null,
+    "orders": [
+      [
+        "boolq",
+        "winogrande",
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad"
+      ],
+      [
+        "winogrande",
+        "boolq",
+        "arc",
+        "hellaswag",
+        "squad",
+        "mnli"
+      ],
+      [
+        "boolq",
+        "winogrande",
+        "hellaswag",
+        "squad",
+        "mnli",
+        "arc"
+      ]
+    ],
+    "cull": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_early/s3/partial_isolated_s3.parquet b/results/llm_curriculum_v5_early/s3/partial_isolated_s3.parquet
new file mode 100644
index 0000000..ed00265
Binary files /dev/null and b/results/llm_curriculum_v5_early/s3/partial_isolated_s3.parquet differ
diff --git a/results/llm_curriculum_v5_early/s3/partial_society_s3.parquet b/results/llm_curriculum_v5_early/s3/partial_society_s3.parquet
new file mode 100644
index 0000000..f37ab6f
Binary files /dev/null and b/results/llm_curriculum_v5_early/s3/partial_society_s3.parquet differ
diff --git a/results/llm_curriculum_v5_early/s3/resolved_config.yaml b/results/llm_curriculum_v5_early/s3/resolved_config.yaml
new file mode 100644
index 0000000..cd04ff6
--- /dev/null
+++ b/results/llm_curriculum_v5_early/s3/resolved_config.yaml
@@ -0,0 +1,65 @@
+experiment: llm_curriculum_v5_early
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_early
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_early/s3
+  orders:
+  - - boolq
+    - winogrande
+    - mnli
+    - arc
+    - hellaswag
+    - squad
+  - - winogrande
+    - boolq
+    - arc
+    - hellaswag
+    - squad
+    - mnli
+  - - boolq
+    - winogrande
+    - hellaswag
+    - squad
+    - mnli
+    - arc
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_early_obl/README.md b/results/llm_curriculum_v5_early_obl/README.md
new file mode 100644
index 0000000..3a00242
--- /dev/null
+++ b/results/llm_curriculum_v5_early_obl/README.md
@@ -0,0 +1,5 @@
+# llm_curriculum_v5_early_obl
+
+One of the four conflict-arrival curriculum bundles; the legend, numbers and reading for all four are in
+`results/llm_curriculum_v5_early/README.md` (figure `curriculum_timing.png` there). Config
+`configs/llm/curriculum_v5_early_obl.yaml`; seeds via `hpc/llm_curriculum_timing.pbs`.
diff --git a/results/llm_curriculum_v5_early_obl/s1/manifest.json b/results/llm_curriculum_v5_early_obl/s1/manifest.json
new file mode 100644
index 0000000..02f0662
--- /dev/null
+++ b/results/llm_curriculum_v5_early_obl/s1/manifest.json
@@ -0,0 +1,74 @@
+{
+  "experiment": "llm_curriculum_v5_early_obl",
+  "master_seed": 1,
+  "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": 205,
+  "results_sha256": "9e9cffa0a9c6b8ef5cb62563acce24195f062f984d1eb2fa54d91ae5e75101a3",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": false,
+    "merge_until": null,
+    "orders": [
+      [
+        "boolq",
+        "winogrande",
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad"
+      ],
+      [
+        "winogrande",
+        "boolq",
+        "arc",
+        "hellaswag",
+        "squad",
+        "mnli"
+      ],
+      [
+        "boolq",
+        "winogrande",
+        "hellaswag",
+        "squad",
+        "mnli",
+        "arc"
+      ]
+    ],
+    "cull": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_early_obl/s1/partial_society_s1.parquet b/results/llm_curriculum_v5_early_obl/s1/partial_society_s1.parquet
new file mode 100644
index 0000000..e0472ee
Binary files /dev/null and b/results/llm_curriculum_v5_early_obl/s1/partial_society_s1.parquet differ
diff --git a/results/llm_curriculum_v5_early_obl/s1/resolved_config.yaml b/results/llm_curriculum_v5_early_obl/s1/resolved_config.yaml
new file mode 100644
index 0000000..564ec00
--- /dev/null
+++ b/results/llm_curriculum_v5_early_obl/s1/resolved_config.yaml
@@ -0,0 +1,64 @@
+experiment: llm_curriculum_v5_early_obl
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_early_obl
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society
+  baselines: []
+  allow_veto: false
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_early_obl/s1
+  orders:
+  - - boolq
+    - winogrande
+    - mnli
+    - arc
+    - hellaswag
+    - squad
+  - - winogrande
+    - boolq
+    - arc
+    - hellaswag
+    - squad
+    - mnli
+  - - boolq
+    - winogrande
+    - hellaswag
+    - squad
+    - mnli
+    - arc
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_early_obl/s2/manifest.json b/results/llm_curriculum_v5_early_obl/s2/manifest.json
new file mode 100644
index 0000000..5db525c
--- /dev/null
+++ b/results/llm_curriculum_v5_early_obl/s2/manifest.json
@@ -0,0 +1,74 @@
+{
+  "experiment": "llm_curriculum_v5_early_obl",
+  "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": 205,
+  "results_sha256": "7847cd841fc61baaca6f3c469be9532f5065de43f965cb5422af08bad18f7f9a",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": false,
+    "merge_until": null,
+    "orders": [
+      [
+        "boolq",
+        "winogrande",
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad"
+      ],
+      [
+        "winogrande",
+        "boolq",
+        "arc",
+        "hellaswag",
+        "squad",
+        "mnli"
+      ],
+      [
+        "boolq",
+        "winogrande",
+        "hellaswag",
+        "squad",
+        "mnli",
+        "arc"
+      ]
+    ],
+    "cull": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_early_obl/s2/partial_society_s2.parquet b/results/llm_curriculum_v5_early_obl/s2/partial_society_s2.parquet
new file mode 100644
index 0000000..cb211e9
Binary files /dev/null and b/results/llm_curriculum_v5_early_obl/s2/partial_society_s2.parquet differ
diff --git a/results/llm_curriculum_v5_early_obl/s2/resolved_config.yaml b/results/llm_curriculum_v5_early_obl/s2/resolved_config.yaml
new file mode 100644
index 0000000..ebd570b
--- /dev/null
+++ b/results/llm_curriculum_v5_early_obl/s2/resolved_config.yaml
@@ -0,0 +1,64 @@
+experiment: llm_curriculum_v5_early_obl
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_early_obl
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society
+  baselines: []
+  allow_veto: false
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_early_obl/s2
+  orders:
+  - - boolq
+    - winogrande
+    - mnli
+    - arc
+    - hellaswag
+    - squad
+  - - winogrande
+    - boolq
+    - arc
+    - hellaswag
+    - squad
+    - mnli
+  - - boolq
+    - winogrande
+    - hellaswag
+    - squad
+    - mnli
+    - arc
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_early_obl/s3/manifest.json b/results/llm_curriculum_v5_early_obl/s3/manifest.json
new file mode 100644
index 0000000..6f3a9bf
--- /dev/null
+++ b/results/llm_curriculum_v5_early_obl/s3/manifest.json
@@ -0,0 +1,74 @@
+{
+  "experiment": "llm_curriculum_v5_early_obl",
+  "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": 205,
+  "results_sha256": "e43d374c1ebe852d3a814fa8abb7393afbe749af038db3bc035e5135e0ea8c36",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": false,
+    "merge_until": null,
+    "orders": [
+      [
+        "boolq",
+        "winogrande",
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad"
+      ],
+      [
+        "winogrande",
+        "boolq",
+        "arc",
+        "hellaswag",
+        "squad",
+        "mnli"
+      ],
+      [
+        "boolq",
+        "winogrande",
+        "hellaswag",
+        "squad",
+        "mnli",
+        "arc"
+      ]
+    ],
+    "cull": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_early_obl/s3/partial_society_s3.parquet b/results/llm_curriculum_v5_early_obl/s3/partial_society_s3.parquet
new file mode 100644
index 0000000..0a981da
Binary files /dev/null and b/results/llm_curriculum_v5_early_obl/s3/partial_society_s3.parquet differ
diff --git a/results/llm_curriculum_v5_early_obl/s3/resolved_config.yaml b/results/llm_curriculum_v5_early_obl/s3/resolved_config.yaml
new file mode 100644
index 0000000..d96bfc6
--- /dev/null
+++ b/results/llm_curriculum_v5_early_obl/s3/resolved_config.yaml
@@ -0,0 +1,64 @@
+experiment: llm_curriculum_v5_early_obl
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_early_obl
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society
+  baselines: []
+  allow_veto: false
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_early_obl/s3
+  orders:
+  - - boolq
+    - winogrande
+    - mnli
+    - arc
+    - hellaswag
+    - squad
+  - - winogrande
+    - boolq
+    - arc
+    - hellaswag
+    - squad
+    - mnli
+  - - boolq
+    - winogrande
+    - hellaswag
+    - squad
+    - mnli
+    - arc
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_g2/manifest.json b/results/llm_curriculum_v5_g2/manifest.json
new file mode 100644
index 0000000..79476ef
--- /dev/null
+++ b/results/llm_curriculum_v5_g2/manifest.json
@@ -0,0 +1,45 @@
+{
+  "experiment": "llm_curriculum_v5_g2",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 73,
+  "results_sha256": "27493600f7086998e911d87c98c5106eacec2092ff7ff9d6912844dd5c8b88bd",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 1,
+    "generations": 6,
+    "arms": [
+      "isolated"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 0,
+    "operator": null,
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_g2/partial_isolated_s1.parquet b/results/llm_curriculum_v5_g2/partial_isolated_s1.parquet
new file mode 100644
index 0000000..3aba74c
Binary files /dev/null and b/results/llm_curriculum_v5_g2/partial_isolated_s1.parquet differ
diff --git a/results/llm_curriculum_v5_g2/resolved_config.yaml b/results/llm_curriculum_v5_g2/resolved_config.yaml
new file mode 100644
index 0000000..d70777a
--- /dev/null
+++ b/results/llm_curriculum_v5_g2/resolved_config.yaml
@@ -0,0 +1,36 @@
+experiment: llm_curriculum_v5_g2
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_g2
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 1
+  generations: 6
+  arms:
+  - isolated
+  baselines: []
+  n_new: 300
+  n_replay: 0
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  max_new_tokens: 48
+  batch_size: 24
+  train_batch_size: 2
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_g2
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_late/README.md b/results/llm_curriculum_v5_late/README.md
new file mode 100644
index 0000000..716b736
--- /dev/null
+++ b/results/llm_curriculum_v5_late/README.md
@@ -0,0 +1,5 @@
+# llm_curriculum_v5_late
+
+One of the four conflict-arrival curriculum bundles; the legend, numbers and reading for all four are in
+`results/llm_curriculum_v5_early/README.md` (figure `curriculum_timing.png` there). Config
+`configs/llm/curriculum_v5_late.yaml`; seeds via `hpc/llm_curriculum_timing.pbs`.
diff --git a/results/llm_curriculum_v5_late/s1/manifest.json b/results/llm_curriculum_v5_late/s1/manifest.json
new file mode 100644
index 0000000..76e7c3f
--- /dev/null
+++ b/results/llm_curriculum_v5_late/s1/manifest.json
@@ -0,0 +1,75 @@
+{
+  "experiment": "llm_curriculum_v5_late",
+  "master_seed": 1,
+  "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": 439,
+  "results_sha256": "85cbf1f211b7336d5eea2048a9385f1f97e8e2c92804ab52441544b33796ad78",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated",
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": true,
+    "merge_until": null,
+    "orders": [
+      [
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad",
+        "boolq",
+        "winogrande"
+      ],
+      [
+        "arc",
+        "hellaswag",
+        "squad",
+        "mnli",
+        "winogrande",
+        "boolq"
+      ],
+      [
+        "hellaswag",
+        "squad",
+        "mnli",
+        "arc",
+        "boolq",
+        "winogrande"
+      ]
+    ],
+    "cull": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_late/s1/partial_isolated_s1.parquet b/results/llm_curriculum_v5_late/s1/partial_isolated_s1.parquet
new file mode 100644
index 0000000..1acc672
Binary files /dev/null and b/results/llm_curriculum_v5_late/s1/partial_isolated_s1.parquet differ
diff --git a/results/llm_curriculum_v5_late/s1/partial_society_s1.parquet b/results/llm_curriculum_v5_late/s1/partial_society_s1.parquet
new file mode 100644
index 0000000..18639d2
Binary files /dev/null and b/results/llm_curriculum_v5_late/s1/partial_society_s1.parquet differ
diff --git a/results/llm_curriculum_v5_late/s1/resolved_config.yaml b/results/llm_curriculum_v5_late/s1/resolved_config.yaml
new file mode 100644
index 0000000..e47ace2
--- /dev/null
+++ b/results/llm_curriculum_v5_late/s1/resolved_config.yaml
@@ -0,0 +1,65 @@
+experiment: llm_curriculum_v5_late
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_late
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_late/s1
+  orders:
+  - - mnli
+    - arc
+    - hellaswag
+    - squad
+    - boolq
+    - winogrande
+  - - arc
+    - hellaswag
+    - squad
+    - mnli
+    - winogrande
+    - boolq
+  - - hellaswag
+    - squad
+    - mnli
+    - arc
+    - boolq
+    - winogrande
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_late/s2/manifest.json b/results/llm_curriculum_v5_late/s2/manifest.json
new file mode 100644
index 0000000..455b899
--- /dev/null
+++ b/results/llm_curriculum_v5_late/s2/manifest.json
@@ -0,0 +1,75 @@
+{
+  "experiment": "llm_curriculum_v5_late",
+  "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": 439,
+  "results_sha256": "5d3d56679c87e4514ab3d113556ee863bc410307496e6baf3032ddb437aff43c",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated",
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": true,
+    "merge_until": null,
+    "orders": [
+      [
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad",
+        "boolq",
+        "winogrande"
+      ],
+      [
+        "arc",
+        "hellaswag",
+        "squad",
+        "mnli",
+        "winogrande",
+        "boolq"
+      ],
+      [
+        "hellaswag",
+        "squad",
+        "mnli",
+        "arc",
+        "boolq",
+        "winogrande"
+      ]
+    ],
+    "cull": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_late/s2/partial_isolated_s2.parquet b/results/llm_curriculum_v5_late/s2/partial_isolated_s2.parquet
new file mode 100644
index 0000000..0aafed0
Binary files /dev/null and b/results/llm_curriculum_v5_late/s2/partial_isolated_s2.parquet differ
diff --git a/results/llm_curriculum_v5_late/s2/partial_society_s2.parquet b/results/llm_curriculum_v5_late/s2/partial_society_s2.parquet
new file mode 100644
index 0000000..62b523b
Binary files /dev/null and b/results/llm_curriculum_v5_late/s2/partial_society_s2.parquet differ
diff --git a/results/llm_curriculum_v5_late/s2/resolved_config.yaml b/results/llm_curriculum_v5_late/s2/resolved_config.yaml
new file mode 100644
index 0000000..e6bf0ed
--- /dev/null
+++ b/results/llm_curriculum_v5_late/s2/resolved_config.yaml
@@ -0,0 +1,65 @@
+experiment: llm_curriculum_v5_late
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_late
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_late/s2
+  orders:
+  - - mnli
+    - arc
+    - hellaswag
+    - squad
+    - boolq
+    - winogrande
+  - - arc
+    - hellaswag
+    - squad
+    - mnli
+    - winogrande
+    - boolq
+  - - hellaswag
+    - squad
+    - mnli
+    - arc
+    - boolq
+    - winogrande
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_late/s3/manifest.json b/results/llm_curriculum_v5_late/s3/manifest.json
new file mode 100644
index 0000000..21a07a6
--- /dev/null
+++ b/results/llm_curriculum_v5_late/s3/manifest.json
@@ -0,0 +1,75 @@
+{
+  "experiment": "llm_curriculum_v5_late",
+  "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": 439,
+  "results_sha256": "f4514ed30ba113620e3cc6760945e4329e3e09c5cce149706b29358fda325f9e",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "isolated",
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": true,
+    "merge_until": null,
+    "orders": [
+      [
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad",
+        "boolq",
+        "winogrande"
+      ],
+      [
+        "arc",
+        "hellaswag",
+        "squad",
+        "mnli",
+        "winogrande",
+        "boolq"
+      ],
+      [
+        "hellaswag",
+        "squad",
+        "mnli",
+        "arc",
+        "boolq",
+        "winogrande"
+      ]
+    ],
+    "cull": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_late/s3/partial_isolated_s3.parquet b/results/llm_curriculum_v5_late/s3/partial_isolated_s3.parquet
new file mode 100644
index 0000000..eea3a1e
Binary files /dev/null and b/results/llm_curriculum_v5_late/s3/partial_isolated_s3.parquet differ
diff --git a/results/llm_curriculum_v5_late/s3/partial_society_s3.parquet b/results/llm_curriculum_v5_late/s3/partial_society_s3.parquet
new file mode 100644
index 0000000..1dc6ada
Binary files /dev/null and b/results/llm_curriculum_v5_late/s3/partial_society_s3.parquet differ
diff --git a/results/llm_curriculum_v5_late/s3/resolved_config.yaml b/results/llm_curriculum_v5_late/s3/resolved_config.yaml
new file mode 100644
index 0000000..60c89af
--- /dev/null
+++ b/results/llm_curriculum_v5_late/s3/resolved_config.yaml
@@ -0,0 +1,65 @@
+experiment: llm_curriculum_v5_late
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_late
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - isolated
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_late/s3
+  orders:
+  - - mnli
+    - arc
+    - hellaswag
+    - squad
+    - boolq
+    - winogrande
+  - - arc
+    - hellaswag
+    - squad
+    - mnli
+    - winogrande
+    - boolq
+  - - hellaswag
+    - squad
+    - mnli
+    - arc
+    - boolq
+    - winogrande
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_late_obl/README.md b/results/llm_curriculum_v5_late_obl/README.md
new file mode 100644
index 0000000..fd24b92
--- /dev/null
+++ b/results/llm_curriculum_v5_late_obl/README.md
@@ -0,0 +1,5 @@
+# llm_curriculum_v5_late_obl
+
+One of the four conflict-arrival curriculum bundles; the legend, numbers and reading for all four are in
+`results/llm_curriculum_v5_early/README.md` (figure `curriculum_timing.png` there). Config
+`configs/llm/curriculum_v5_late_obl.yaml`; seeds via `hpc/llm_curriculum_timing.pbs`.
diff --git a/results/llm_curriculum_v5_late_obl/s1/manifest.json b/results/llm_curriculum_v5_late_obl/s1/manifest.json
new file mode 100644
index 0000000..97de0ae
--- /dev/null
+++ b/results/llm_curriculum_v5_late_obl/s1/manifest.json
@@ -0,0 +1,74 @@
+{
+  "experiment": "llm_curriculum_v5_late_obl",
+  "master_seed": 1,
+  "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": 205,
+  "results_sha256": "78f711723c6a7d9817005e6ddbfd52d8cdae084918d1cdeca5bc2e29ebd666dc",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": false,
+    "merge_until": null,
+    "orders": [
+      [
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad",
+        "boolq",
+        "winogrande"
+      ],
+      [
+        "arc",
+        "hellaswag",
+        "squad",
+        "mnli",
+        "winogrande",
+        "boolq"
+      ],
+      [
+        "hellaswag",
+        "squad",
+        "mnli",
+        "arc",
+        "boolq",
+        "winogrande"
+      ]
+    ],
+    "cull": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_late_obl/s1/partial_society_s1.parquet b/results/llm_curriculum_v5_late_obl/s1/partial_society_s1.parquet
new file mode 100644
index 0000000..652bbf4
Binary files /dev/null and b/results/llm_curriculum_v5_late_obl/s1/partial_society_s1.parquet differ
diff --git a/results/llm_curriculum_v5_late_obl/s1/resolved_config.yaml b/results/llm_curriculum_v5_late_obl/s1/resolved_config.yaml
new file mode 100644
index 0000000..e4b547c
--- /dev/null
+++ b/results/llm_curriculum_v5_late_obl/s1/resolved_config.yaml
@@ -0,0 +1,64 @@
+experiment: llm_curriculum_v5_late_obl
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_late_obl
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society
+  baselines: []
+  allow_veto: false
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_late_obl/s1
+  orders:
+  - - mnli
+    - arc
+    - hellaswag
+    - squad
+    - boolq
+    - winogrande
+  - - arc
+    - hellaswag
+    - squad
+    - mnli
+    - winogrande
+    - boolq
+  - - hellaswag
+    - squad
+    - mnli
+    - arc
+    - boolq
+    - winogrande
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_late_obl/s2/manifest.json b/results/llm_curriculum_v5_late_obl/s2/manifest.json
new file mode 100644
index 0000000..a3e83a0
--- /dev/null
+++ b/results/llm_curriculum_v5_late_obl/s2/manifest.json
@@ -0,0 +1,74 @@
+{
+  "experiment": "llm_curriculum_v5_late_obl",
+  "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": 205,
+  "results_sha256": "c88b710ec21bffd74c8b1b8d6e0c161a33f54ad1e97b27b6bcc543a624174f28",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": false,
+    "merge_until": null,
+    "orders": [
+      [
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad",
+        "boolq",
+        "winogrande"
+      ],
+      [
+        "arc",
+        "hellaswag",
+        "squad",
+        "mnli",
+        "winogrande",
+        "boolq"
+      ],
+      [
+        "hellaswag",
+        "squad",
+        "mnli",
+        "arc",
+        "boolq",
+        "winogrande"
+      ]
+    ],
+    "cull": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_late_obl/s2/partial_society_s2.parquet b/results/llm_curriculum_v5_late_obl/s2/partial_society_s2.parquet
new file mode 100644
index 0000000..a8cdef7
Binary files /dev/null and b/results/llm_curriculum_v5_late_obl/s2/partial_society_s2.parquet differ
diff --git a/results/llm_curriculum_v5_late_obl/s2/resolved_config.yaml b/results/llm_curriculum_v5_late_obl/s2/resolved_config.yaml
new file mode 100644
index 0000000..f17f9c7
--- /dev/null
+++ b/results/llm_curriculum_v5_late_obl/s2/resolved_config.yaml
@@ -0,0 +1,64 @@
+experiment: llm_curriculum_v5_late_obl
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_late_obl
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society
+  baselines: []
+  allow_veto: false
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_late_obl/s2
+  orders:
+  - - mnli
+    - arc
+    - hellaswag
+    - squad
+    - boolq
+    - winogrande
+  - - arc
+    - hellaswag
+    - squad
+    - mnli
+    - winogrande
+    - boolq
+  - - hellaswag
+    - squad
+    - mnli
+    - arc
+    - boolq
+    - winogrande
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_late_obl/s3/manifest.json b/results/llm_curriculum_v5_late_obl/s3/manifest.json
new file mode 100644
index 0000000..2947feb
--- /dev/null
+++ b/results/llm_curriculum_v5_late_obl/s3/manifest.json
@@ -0,0 +1,74 @@
+{
+  "experiment": "llm_curriculum_v5_late_obl",
+  "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": 205,
+  "results_sha256": "656a85d05b84b8c48fe928a841fa792c5caaf574c5baa0a97c3479ab556242c6",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": false,
+    "merge_until": null,
+    "orders": [
+      [
+        "mnli",
+        "arc",
+        "hellaswag",
+        "squad",
+        "boolq",
+        "winogrande"
+      ],
+      [
+        "arc",
+        "hellaswag",
+        "squad",
+        "mnli",
+        "winogrande",
+        "boolq"
+      ],
+      [
+        "hellaswag",
+        "squad",
+        "mnli",
+        "arc",
+        "boolq",
+        "winogrande"
+      ]
+    ],
+    "cull": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_late_obl/s3/partial_society_s3.parquet b/results/llm_curriculum_v5_late_obl/s3/partial_society_s3.parquet
new file mode 100644
index 0000000..dd3ba2f
Binary files /dev/null and b/results/llm_curriculum_v5_late_obl/s3/partial_society_s3.parquet differ
diff --git a/results/llm_curriculum_v5_late_obl/s3/resolved_config.yaml b/results/llm_curriculum_v5_late_obl/s3/resolved_config.yaml
new file mode 100644
index 0000000..e4902af
--- /dev/null
+++ b/results/llm_curriculum_v5_late_obl/s3/resolved_config.yaml
@@ -0,0 +1,64 @@
+experiment: llm_curriculum_v5_late_obl
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_late_obl
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society
+  baselines: []
+  allow_veto: false
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_late_obl/s3
+  orders:
+  - - mnli
+    - arc
+    - hellaswag
+    - squad
+    - boolq
+    - winogrande
+  - - arc
+    - hellaswag
+    - squad
+    - mnli
+    - winogrande
+    - boolq
+  - - hellaswag
+    - squad
+    - mnli
+    - arc
+    - boolq
+    - winogrande
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_stop3/README.md b/results/llm_curriculum_v5_stop3/README.md
new file mode 100644
index 0000000..9336835
--- /dev/null
+++ b/results/llm_curriculum_v5_stop3/README.md
@@ -0,0 +1,35 @@
+# llm_curriculum_v5_stop3 — forced stop at generation 3 (control for the declinable merge)
+
+Config `configs/llm/curriculum_v5_stop3.yaml`: the v5 `society` arm (three lineages, six real-dataset
+families in a Latin square, Qwen2.5-1.5B base, rank-16 adapters continued from the parent) with
+recombination switched off from generation 3 (`merge_until: 3`, no veto). Generations 0–2 merge
+obligately; 3–5 never. Pre-registered in `tasks/prereg-llm-society-v4.md` §8h before running.
+Seed 1 local (batch 24 / train batch 2); seeds 2–3 on CX3 via `hpc/llm_curriculum_controls.pbs`
+(batch 48 / train batch 4), as in the v5 campaign. Layout: `results.parquet` (seed 1), `s2/`, `s3/`.
+
+Why: in the seed-1 veto run lineages declined 1/3 of merges at generations 0–2 and 3/3 at 3–5, so
+this is the fixed schedule the declinable merge's *timing* must be separated from.
+
+## Result (best lineage, all six families, generation 5; `figures/stats_llm_curriculum.py`)
+
+| arm | s1 | s2 | s3 | mean |
+|---|---|---|---|---|
+| forced stop at 3 (this run) | 0.792 | 0.794 | 0.792 | 0.793 |
+| declinable merge (veto) | 0.783 | 0.789 | 0.803 | 0.792 |
+| never merge (isolated) | 0.814 | 0.783 | 0.792 | 0.796 |
+| always merge (society) | 0.211 | 0.247 | 0.350 | 0.269 |
+
+| contrast | s1 | s2 | s3 | mean ± 95% CI |
+|---|---|---|---|---|
+| veto − stop3 | −0.008 | −0.006 | +0.011 | −0.001 ± 0.012 |
+| stop3 − isolated | −0.022 | +0.011 | 0.000 | −0.004 ± 0.019 |
+| stop3 − society | +0.581 | +0.547 | +0.442 | +0.523 ± 0.082 |
+
+Pre-registered reading (§8h, first branch): the forced stop matches the veto within ±0.03 in every
+seed, so the declinable merge's final accuracy is explained by *when* it stopped merging. What the
+veto adds is that it found that schedule by measurement rather than by having it set in advance;
+the claim that per-decision evaluation adds value beyond timing is not supported here. Both
+non-obligate schedules avoid the collapse of obligate merging (+0.52 over `society`).
+
+Falsifier status: the paper's caveat "the control separating the modifier's timing from a fixed
+early stop was not run" is removed; the modifier claim is reduced accordingly.
diff --git a/results/llm_curriculum_v5_stop3/manifest.json b/results/llm_curriculum_v5_stop3/manifest.json
new file mode 100644
index 0000000..1c14c4f
--- /dev/null
+++ b/results/llm_curriculum_v5_stop3/manifest.json
@@ -0,0 +1,48 @@
+{
+  "experiment": "llm_curriculum_v5_stop3",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 205,
+  "results_sha256": "a2096209e2203a6e6295a6deca1bc6a45b5894e6a2c74e267444a0cd7c97174d",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": false,
+    "merge_until": 3,
+    "orders": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_stop3/partial_society_s1.parquet b/results/llm_curriculum_v5_stop3/partial_society_s1.parquet
new file mode 100644
index 0000000..4bcd063
Binary files /dev/null and b/results/llm_curriculum_v5_stop3/partial_society_s1.parquet differ
diff --git a/results/llm_curriculum_v5_stop3/resolved_config.yaml b/results/llm_curriculum_v5_stop3/resolved_config.yaml
new file mode 100644
index 0000000..edda394
--- /dev/null
+++ b/results/llm_curriculum_v5_stop3/resolved_config.yaml
@@ -0,0 +1,46 @@
+experiment: llm_curriculum_v5_stop3
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_stop3
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society
+  baselines: []
+  allow_veto: false
+  merge_until: 3
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 24
+  train_batch_size: 2
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_stop3
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_stop3/s2/manifest.json b/results/llm_curriculum_v5_stop3/s2/manifest.json
new file mode 100644
index 0000000..731b694
--- /dev/null
+++ b/results/llm_curriculum_v5_stop3/s2/manifest.json
@@ -0,0 +1,48 @@
+{
+  "experiment": "llm_curriculum_v5_stop3",
+  "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": 205,
+  "results_sha256": "cdcd68e8f66fcc48974633eeb31e88fafe318b7f821145393291d2402607dd18",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": false,
+    "merge_until": 3,
+    "orders": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_stop3/s2/partial_society_s2.parquet b/results/llm_curriculum_v5_stop3/s2/partial_society_s2.parquet
new file mode 100644
index 0000000..07d4353
Binary files /dev/null and b/results/llm_curriculum_v5_stop3/s2/partial_society_s2.parquet differ
diff --git a/results/llm_curriculum_v5_stop3/s2/resolved_config.yaml b/results/llm_curriculum_v5_stop3/s2/resolved_config.yaml
new file mode 100644
index 0000000..588a0b4
--- /dev/null
+++ b/results/llm_curriculum_v5_stop3/s2/resolved_config.yaml
@@ -0,0 +1,46 @@
+experiment: llm_curriculum_v5_stop3
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_stop3
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society
+  baselines: []
+  allow_veto: false
+  merge_until: 3
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_stop3/s2
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_stop3/s3/manifest.json b/results/llm_curriculum_v5_stop3/s3/manifest.json
new file mode 100644
index 0000000..60e5e7b
--- /dev/null
+++ b/results/llm_curriculum_v5_stop3/s3/manifest.json
@@ -0,0 +1,48 @@
+{
+  "experiment": "llm_curriculum_v5_stop3",
+  "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": 205,
+  "results_sha256": "1a924dad6710b9258dffb70e4496b0c4480e36ab8c7f76dae1a1c669e023b382",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    },
+    "allow_veto": false,
+    "merge_until": 3,
+    "orders": null
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_stop3/s3/partial_society_s3.parquet b/results/llm_curriculum_v5_stop3/s3/partial_society_s3.parquet
new file mode 100644
index 0000000..c824e38
Binary files /dev/null and b/results/llm_curriculum_v5_stop3/s3/partial_society_s3.parquet differ
diff --git a/results/llm_curriculum_v5_stop3/s3/resolved_config.yaml b/results/llm_curriculum_v5_stop3/s3/resolved_config.yaml
new file mode 100644
index 0000000..5a300f5
--- /dev/null
+++ b/results/llm_curriculum_v5_stop3/s3/resolved_config.yaml
@@ -0,0 +1,46 @@
+experiment: llm_curriculum_v5_stop3
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_stop3
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society
+  baselines: []
+  allow_veto: false
+  merge_until: 3
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_stop3/s3
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_veto/manifest.json b/results/llm_curriculum_v5_veto/manifest.json
new file mode 100644
index 0000000..94d9d93
--- /dev/null
+++ b/results/llm_curriculum_v5_veto/manifest.json
@@ -0,0 +1,45 @@
+{
+  "experiment": "llm_curriculum_v5_veto",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 241,
+  "results_sha256": "2284d8e18a88de2d2356e73de9d0cdeac672b9852255b4efaeee63e347023b31",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_veto/partial_society_s1.parquet b/results/llm_curriculum_v5_veto/partial_society_s1.parquet
new file mode 100644
index 0000000..1b38c60
Binary files /dev/null and b/results/llm_curriculum_v5_veto/partial_society_s1.parquet differ
diff --git a/results/llm_curriculum_v5_veto/resolved_config.yaml b/results/llm_curriculum_v5_veto/resolved_config.yaml
new file mode 100644
index 0000000..f1adefd
--- /dev/null
+++ b/results/llm_curriculum_v5_veto/resolved_config.yaml
@@ -0,0 +1,45 @@
+experiment: llm_curriculum_v5_veto
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_veto
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 1
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 24
+  train_batch_size: 2
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_veto
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_veto/s2/manifest.json b/results/llm_curriculum_v5_veto/s2/manifest.json
new file mode 100644
index 0000000..fecee7d
--- /dev/null
+++ b/results/llm_curriculum_v5_veto/s2/manifest.json
@@ -0,0 +1,45 @@
+{
+  "experiment": "llm_curriculum_v5_veto",
+  "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": 241,
+  "results_sha256": "8011042bf52fd4e5c33c2f5540abd47f1ae817787e4274017f5bb8f1e82ba27f",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_veto/s2/partial_society_s2.parquet b/results/llm_curriculum_v5_veto/s2/partial_society_s2.parquet
new file mode 100644
index 0000000..9ebd309
Binary files /dev/null and b/results/llm_curriculum_v5_veto/s2/partial_society_s2.parquet differ
diff --git a/results/llm_curriculum_v5_veto/s2/resolved_config.yaml b/results/llm_curriculum_v5_veto/s2/resolved_config.yaml
new file mode 100644
index 0000000..72fa630
--- /dev/null
+++ b/results/llm_curriculum_v5_veto/s2/resolved_config.yaml
@@ -0,0 +1,45 @@
+experiment: llm_curriculum_v5_veto
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_veto
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 2
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_veto/s2
+  n_replicates: 1
diff --git a/results/llm_curriculum_v5_veto/s3/manifest.json b/results/llm_curriculum_v5_veto/s3/manifest.json
new file mode 100644
index 0000000..8cfabbb
--- /dev/null
+++ b/results/llm_curriculum_v5_veto/s3/manifest.json
@@ -0,0 +1,45 @@
+{
+  "experiment": "llm_curriculum_v5_veto",
+  "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": 241,
+  "results_sha256": "9818955be3803630258664ec98fc355625d61c18aeac207e24f57d26b9f1aa91",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-1.5B",
+  "hard": false,
+  "curriculum": {
+    "families": [
+      "mnli",
+      "arc",
+      "hellaswag",
+      "squad",
+      "boolq",
+      "winogrande"
+    ],
+    "lineages": 3,
+    "generations": 6,
+    "arms": [
+      "society"
+    ],
+    "baselines": [],
+    "n_new": 300,
+    "n_replay": 150,
+    "operator": "linear",
+    "ancestor_depth": null,
+    "lora": {
+      "r": 16,
+      "alpha": 32
+    }
+  }
+}
\ No newline at end of file
diff --git a/results/llm_curriculum_v5_veto/s3/partial_society_s3.parquet b/results/llm_curriculum_v5_veto/s3/partial_society_s3.parquet
new file mode 100644
index 0000000..f841d1e
Binary files /dev/null and b/results/llm_curriculum_v5_veto/s3/partial_society_s3.parquet differ
diff --git a/results/llm_curriculum_v5_veto/s3/resolved_config.yaml b/results/llm_curriculum_v5_veto/s3/resolved_config.yaml
new file mode 100644
index 0000000..47a0b72
--- /dev/null
+++ b/results/llm_curriculum_v5_veto/s3/resolved_config.yaml
@@ -0,0 +1,45 @@
+experiment: llm_curriculum_v5_veto
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_curriculum_v5_veto
+  kind: llm_curriculum
+  base_model: Qwen/Qwen2.5-1.5B
+  seed: 3
+  families:
+  - mnli
+  - arc
+  - hellaswag
+  - squad
+  - boolq
+  - winogrande
+  lineages: 3
+  generations: 6
+  arms:
+  - society
+  baselines: []
+  allow_veto: true
+  n_new: 300
+  n_replay: 150
+  n_test: 60
+  n_val: 20
+  epochs: 3
+  lr: 0.0001
+  operator: linear
+  merge_weights:
+  - - 0.5
+    - 0.5
+  - - 0.3
+    - 0.7
+  - - 0.7
+    - 0.3
+  max_new_tokens: 48
+  batch_size: 48
+  train_batch_size: 4
+  train_max_len: 512
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_curriculum_v5_veto/s3
+  n_replicates: 1
diff --git a/results/llm_directed_hard_hpc/README.md b/results/llm_directed_hard_hpc/README.md
index 386885a..90c9401 100644
--- a/results/llm_directed_hard_hpc/README.md
+++ b/results/llm_directed_hard_hpc/README.md
@@ -40,3 +40,26 @@ Together with `llm_moe_hard_hpc` this completes the correction — **both** "mer
 the tasks are hard enough to leave room, not weak-base-only effects. **Falsifier (not triggered):**
 directed offspring ≤ uniform soup — instead they beat it by 10 points. Provenance in `manifest.json`
 (`hard: true`, L40S, torch 2.12.1 / transformers 5.13.0 / peft 0.19.1).
+
+## Seeds 1–3 (2026-09-11)
+
+Seeds 2–3 were run on CX3 via `hpc/llm_7b_seeds.pbs` (seed 1 above was moved to `s1/`; the bundle
+layout is now `s{seed}/`). Fixed test sets, training seed varied. Per-seed values and mean ± 95% CI
+from `figures/stats_llm_7b_seeds.py`:
+```
+model       metric  n_seeds    s1    s2    s3  mean  ci95
+       merge_soup      overall        3 0.392 0.405 0.428 0.408 0.021
+       merge_soup worst_family        3 0.300 0.345 0.340 0.328 0.028
+ directed_overall      overall        3 0.492 0.480 0.473 0.482 0.011
+ directed_overall worst_family        3 0.380 0.405 0.430 0.405 0.028
+directed_balanced      overall        3 0.492 0.480 0.473 0.482 0.011
+directed_balanced worst_family        3 0.380 0.405 0.430 0.405 0.028
+
+                      contrast       metric  n_seeds   s1    s2    s3  mean  ci95 sign_agrees
+ directed_overall − merge_soup      overall        3 0.10 0.075 0.045 0.073 0.031         3/3
+ directed_overall − merge_soup worst_family        3 0.08 0.060 0.090 0.077 0.017         3/3
+directed_balanced − merge_soup      overall        3 0.10 0.075 0.045 0.073 0.031         3/3
+directed_balanced − merge_soup worst_family        3 0.08 0.060 0.090 0.077 0.017         3/3
+```
+
+Reading: directed selection beats the a-priori soup in every seed (+0.073 ± 0.031 overall, +0.077 ± 0.017 worst-family). The two objectives selected the same offspring in all three seeds.
diff --git a/results/llm_directed_hard_hpc/s1/manifest.json b/results/llm_directed_hard_hpc/s1/manifest.json
new file mode 100644
index 0000000..2fb7b65
--- /dev/null
+++ b/results/llm_directed_hard_hpc/s1/manifest.json
@@ -0,0 +1,26 @@
+{
+  "experiment": "llm_directed_hard_hpc",
+  "master_seed": 1,
+  "git_commit": null,
+  "python": "3.11.13",
+  "libraries": {
+    "numpy": "2.4.6",
+    "scipy": "1.17.1",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.13.0",
+    "peft": "0.19.1"
+  },
+  "rows": 35,
+  "results_sha256": "a5e45785a8701c5e1cdcfc64bc1482dffe4e68f8c6978e9d07dc8f04d40fbab6",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-7B-Instruct",
+  "hard": true,
+  "directed": {
+    "n_candidates": 24,
+    "concentration": 0.5,
+    "n_val": 100
+  }
+}
\ No newline at end of file
diff --git a/results/llm_directed_hard_hpc/s1/resolved_config.yaml b/results/llm_directed_hard_hpc/s1/resolved_config.yaml
new file mode 100644
index 0000000..4949ae0
--- /dev/null
+++ b/results/llm_directed_hard_hpc/s1/resolved_config.yaml
@@ -0,0 +1,25 @@
+experiment: llm_directed_hard_hpc
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_directed_hard_hpc
+  kind: llm_directed
+  seed: 1
+  n_replicates: 1
+  base_model: Qwen/Qwen2.5-7B-Instruct
+  hard: true
+  families:
+  - lists
+  - strings
+  - arith
+  n_train: 800
+  n_val: 100
+  n_test: 200
+  n_candidates: 24
+  concentration: 0.5
+  epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_directed_hard_hpc
diff --git a/results/llm_directed_hard_hpc/s2/manifest.json b/results/llm_directed_hard_hpc/s2/manifest.json
new file mode 100644
index 0000000..9a80ca3
--- /dev/null
+++ b/results/llm_directed_hard_hpc/s2/manifest.json
@@ -0,0 +1,26 @@
+{
+  "experiment": "llm_directed_hard_hpc",
+  "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": 35,
+  "results_sha256": "27ced93ac5ec7b6af3a5034d97d45326bde182b9894c5abdaf5f867405d978b3",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-7B-Instruct",
+  "hard": true,
+  "directed": {
+    "n_candidates": 24,
+    "concentration": 0.5,
+    "n_val": 100
+  }
+}
\ No newline at end of file
diff --git a/results/llm_directed_hard_hpc/s2/resolved_config.yaml b/results/llm_directed_hard_hpc/s2/resolved_config.yaml
new file mode 100644
index 0000000..6586f9a
--- /dev/null
+++ b/results/llm_directed_hard_hpc/s2/resolved_config.yaml
@@ -0,0 +1,25 @@
+experiment: llm_directed_hard_hpc
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_directed_hard_hpc
+  kind: llm_directed
+  seed: 2
+  n_replicates: 1
+  base_model: Qwen/Qwen2.5-7B-Instruct
+  hard: true
+  families:
+  - lists
+  - strings
+  - arith
+  n_train: 800
+  n_val: 100
+  n_test: 200
+  n_candidates: 24
+  concentration: 0.5
+  epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_directed_hard_hpc/s2
diff --git a/results/llm_directed_hard_hpc/s3/manifest.json b/results/llm_directed_hard_hpc/s3/manifest.json
new file mode 100644
index 0000000..6156215
--- /dev/null
+++ b/results/llm_directed_hard_hpc/s3/manifest.json
@@ -0,0 +1,26 @@
+{
+  "experiment": "llm_directed_hard_hpc",
+  "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": 35,
+  "results_sha256": "ed2b40be721b464690960744b0a72ef2f39fc6d7623cc32f6128741e8d241699",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-7B-Instruct",
+  "hard": true,
+  "directed": {
+    "n_candidates": 24,
+    "concentration": 0.5,
+    "n_val": 100
+  }
+}
\ No newline at end of file
diff --git a/results/llm_directed_hard_hpc/s3/resolved_config.yaml b/results/llm_directed_hard_hpc/s3/resolved_config.yaml
new file mode 100644
index 0000000..511bf05
--- /dev/null
+++ b/results/llm_directed_hard_hpc/s3/resolved_config.yaml
@@ -0,0 +1,25 @@
+experiment: llm_directed_hard_hpc
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_directed_hard_hpc
+  kind: llm_directed
+  seed: 3
+  n_replicates: 1
+  base_model: Qwen/Qwen2.5-7B-Instruct
+  hard: true
+  families:
+  - lists
+  - strings
+  - arith
+  n_train: 800
+  n_val: 100
+  n_test: 200
+  n_candidates: 24
+  concentration: 0.5
+  epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_directed_hard_hpc/s3
diff --git a/results/llm_merge_hpc/README.md b/results/llm_merge_hpc/README.md
index 0ec5989..fc2ca82 100644
--- a/results/llm_merge_hpc/README.md
+++ b/results/llm_merge_hpc/README.md
@@ -47,3 +47,26 @@ transformers 5.13.0 / peft 0.19.1, `manifest.json` records the results hash and
 
 *Note: this run's `manifest.json` has `git_commit: null` because it was produced on the HPC node from
 an rsync'd (non-git) working copy; the committed artefacts here are the source of truth for the figure.*
+
+## Seeds 1–3 (2026-09-11)
+
+Seeds 2–3 were run on CX3 via `hpc/llm_7b_seeds.pbs` (seed 1 above was moved to `s1/`; the bundle
+layout is now `s{seed}/`). Fixed test sets, training seed varied. Per-seed values and mean ± 95% CI
+from `figures/stats_llm_7b_seeds.py`:
+```
+model       metric  n_seeds    s1    s2    s3  mean  ci95
+best_specialist      overall        3 0.773 0.840 0.808 0.807 0.038
+best_specialist worst_family        3 0.575 0.520 0.630 0.575 0.062
+     merge_soup      overall        3 0.873 0.877 0.870 0.873 0.004
+     merge_soup worst_family        3 0.625 0.635 0.640 0.633 0.009
+     merge_ties      overall        3 0.868 0.873 0.860 0.867 0.008
+     merge_ties worst_family        3 0.615 0.635 0.625 0.625 0.011
+
+                    contrast       metric  n_seeds    s1    s2     s3  mean  ci95 sign_agrees
+merge_soup − best_specialist      overall        3 0.100 0.037  0.062 0.066 0.036         3/3
+merge_soup − best_specialist worst_family        3 0.050 0.115  0.010 0.058 0.060         3/3
+merge_ties − best_specialist      overall        3 0.095 0.033  0.052 0.060 0.036         3/3
+merge_ties − best_specialist worst_family        3 0.040 0.115 -0.005 0.050 0.069         2/3
+```
+
+Reading: merged specialists beat the best single specialist overall in every seed (+0.066 ± 0.036); the seed-1 margin (+0.100) was the largest of the three because seed 1's best specialist was the weakest (0.773 vs 0.840, 0.808).
diff --git a/results/llm_merge_hpc/llm_seeds.pdf b/results/llm_merge_hpc/llm_seeds.pdf
new file mode 100644
index 0000000..ff45693
Binary files /dev/null and b/results/llm_merge_hpc/llm_seeds.pdf differ
diff --git a/results/llm_merge_hpc/llm_seeds.png b/results/llm_merge_hpc/llm_seeds.png
new file mode 100644
index 0000000..dcfa11d
Binary files /dev/null and b/results/llm_merge_hpc/llm_seeds.png differ
diff --git a/results/llm_merge_hpc/s1/manifest.json b/results/llm_merge_hpc/s1/manifest.json
new file mode 100644
index 0000000..f0125f2
--- /dev/null
+++ b/results/llm_merge_hpc/s1/manifest.json
@@ -0,0 +1,20 @@
+{
+  "experiment": "llm_merge_hpc",
+  "master_seed": 1,
+  "git_commit": null,
+  "python": "3.11.13",
+  "libraries": {
+    "numpy": "2.4.6",
+    "scipy": "1.17.1",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.13.0",
+    "peft": "0.19.1"
+  },
+  "rows": 30,
+  "results_sha256": "6cc0a07c66ba92a379d895d6d6707591aced48f06eee895bb4f6c15d12e6e588",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-7B-Instruct"
+}
\ No newline at end of file
diff --git a/results/llm_merge_hpc/s1/resolved_config.yaml b/results/llm_merge_hpc/s1/resolved_config.yaml
new file mode 100644
index 0000000..b02f7fa
--- /dev/null
+++ b/results/llm_merge_hpc/s1/resolved_config.yaml
@@ -0,0 +1,24 @@
+experiment: llm_merge_hpc
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_merge_hpc
+  kind: llm_merge
+  seed: 1
+  n_replicates: 1
+  base_model: Qwen/Qwen2.5-7B-Instruct
+  families:
+  - lists
+  - strings
+  - arith
+  n_train: 800
+  n_test: 200
+  epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  merges:
+  - soup
+  - ties
+  output:
+    dir: results/llm_merge_hpc
diff --git a/results/llm_merge_hpc/s2/manifest.json b/results/llm_merge_hpc/s2/manifest.json
new file mode 100644
index 0000000..7696eb5
--- /dev/null
+++ b/results/llm_merge_hpc/s2/manifest.json
@@ -0,0 +1,21 @@
+{
+  "experiment": "llm_merge_hpc",
+  "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": 30,
+  "results_sha256": "a7345f168ae007ed570374bd86df715a60782bd60493aee53eac5d7e6fc1f393",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-7B-Instruct",
+  "hard": false
+}
\ No newline at end of file
diff --git a/results/llm_merge_hpc/s2/resolved_config.yaml b/results/llm_merge_hpc/s2/resolved_config.yaml
new file mode 100644
index 0000000..e9eb4ad
--- /dev/null
+++ b/results/llm_merge_hpc/s2/resolved_config.yaml
@@ -0,0 +1,24 @@
+experiment: llm_merge_hpc
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_merge_hpc
+  kind: llm_merge
+  seed: 2
+  n_replicates: 1
+  base_model: Qwen/Qwen2.5-7B-Instruct
+  families:
+  - lists
+  - strings
+  - arith
+  n_train: 800
+  n_test: 200
+  epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  merges:
+  - soup
+  - ties
+  output:
+    dir: results/llm_merge_hpc/s2
diff --git a/results/llm_merge_hpc/s3/manifest.json b/results/llm_merge_hpc/s3/manifest.json
new file mode 100644
index 0000000..f5f625f
--- /dev/null
+++ b/results/llm_merge_hpc/s3/manifest.json
@@ -0,0 +1,21 @@
+{
+  "experiment": "llm_merge_hpc",
+  "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": 30,
+  "results_sha256": "b59cf7d62c07a21001208cad8dc79607e93e4bc6d66199081192f84a6b614db7",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-7B-Instruct",
+  "hard": false
+}
\ No newline at end of file
diff --git a/results/llm_merge_hpc/s3/resolved_config.yaml b/results/llm_merge_hpc/s3/resolved_config.yaml
new file mode 100644
index 0000000..81a2416
--- /dev/null
+++ b/results/llm_merge_hpc/s3/resolved_config.yaml
@@ -0,0 +1,24 @@
+experiment: llm_merge_hpc
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_merge_hpc
+  kind: llm_merge
+  seed: 3
+  n_replicates: 1
+  base_model: Qwen/Qwen2.5-7B-Instruct
+  families:
+  - lists
+  - strings
+  - arith
+  n_train: 800
+  n_test: 200
+  epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  merges:
+  - soup
+  - ties
+  output:
+    dir: results/llm_merge_hpc/s3
diff --git a/results/llm_merge_seeds_smol/README.md b/results/llm_merge_seeds_smol/README.md
new file mode 100644
index 0000000..a99decb
--- /dev/null
+++ b/results/llm_merge_seeds_smol/README.md
@@ -0,0 +1,21 @@
+# llm_merge_seeds_smol — the Fisher–Muller replication on a second base lineage (SmolLM2-1.7B-Instruct)
+
+**Claim tested (manuscript revision 2026-09-12).** Every language-model result in the paper used one
+model lineage (Qwen2.5). Does "merged specialists exceed every parent" hold on an unrelated base?
+Base: `HuggingFaceTB/SmolLM2-1.7B-Instruct` (Apache-2.0, Llama architecture, different lab and
+pretraining corpus). Identical protocol to `llm_merge_seeds` (three disjoint families, 600 training
+tasks, 3 epochs, rank-16 LoRA, fixed 100-task test sets, soup and TIES merges, 5 training seeds);
+`adapters_dir: models/llm_smol` keeps the specialist cache apart from Qwen's. Ran on one L40S in
+12 min (`hpc/llm_smol.pbs`). Numbers from `figures/stats_llm_smol.py`; figure `llm_smol.png` (both
+lineages side by side).
+
+### Result — replicates, 5/5 seeds, with the same magnitudes
+| contrast (SmolLM2) | overall | worst family |
+|---|---|---|
+| soup − best specialist | +0.049 ± 0.022 (5/5 seeds) | +0.190 ± 0.045 (5/5) |
+| TIES − best specialist | +0.097 ± 0.020 (5/5) | +0.202 ± 0.077 (5/5) |
+| *(Qwen2.5-0.5B, for reference)* soup − best | +0.040 ± 0.035 (4/5) | +0.200 ± 0.020 (5/5) |
+| *(Qwen)* TIES − best | +0.055 ± 0.020 (5/5) | +0.204 ± 0.016 (5/5) |
+
+Absolute levels: best specialist 0.610 ± 0.013 overall / 0.128 worst-family; soup 0.659 / 0.318;
+TIES 0.707 / 0.330. Falsifier (not triggered): merged ≤ best specialist in a majority of seeds.
diff --git a/results/llm_merge_seeds_smol/llm_smol.pdf b/results/llm_merge_seeds_smol/llm_smol.pdf
new file mode 100644
index 0000000..1361a13
Binary files /dev/null and b/results/llm_merge_seeds_smol/llm_smol.pdf differ
diff --git a/results/llm_merge_seeds_smol/llm_smol.png b/results/llm_merge_seeds_smol/llm_smol.png
new file mode 100644
index 0000000..146d595
Binary files /dev/null and b/results/llm_merge_seeds_smol/llm_smol.png differ
diff --git a/results/llm_merge_seeds_smol/manifest.json b/results/llm_merge_seeds_smol/manifest.json
new file mode 100644
index 0000000..7cb65f3
--- /dev/null
+++ b/results/llm_merge_seeds_smol/manifest.json
@@ -0,0 +1,28 @@
+{
+  "experiment": "llm_merge_seeds_smol",
+  "master_seed": 1,
+  "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": 150,
+  "results_sha256": "dbcf4a5a9ffd5fa8dec1eb876e9278f274379f01d546b4dd569671253f73998c",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "HuggingFaceTB/SmolLM2-1.7B-Instruct",
+  "hard": false,
+  "seeds": [
+    1,
+    2,
+    3,
+    4,
+    5
+  ]
+}
\ No newline at end of file
diff --git a/results/llm_merge_seeds_smol/resolved_config.yaml b/results/llm_merge_seeds_smol/resolved_config.yaml
new file mode 100644
index 0000000..24cbdee
--- /dev/null
+++ b/results/llm_merge_seeds_smol/resolved_config.yaml
@@ -0,0 +1,31 @@
+experiment: llm_merge_seeds_smol
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_merge_seeds_smol
+  kind: llm_merge
+  seed: 1
+  seeds:
+  - 1
+  - 2
+  - 3
+  - 4
+  - 5
+  n_replicates: 1
+  base_model: HuggingFaceTB/SmolLM2-1.7B-Instruct
+  families:
+  - lists
+  - strings
+  - arith
+  n_train: 600
+  n_test: 100
+  epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  merges:
+  - soup
+  - ties
+  output:
+    dir: results/llm_merge_seeds_smol
+  adapters_dir: models/llm_smol
diff --git a/results/llm_moe_hard/manifest.json b/results/llm_moe_hard/manifest.json
new file mode 100644
index 0000000..a7ac2a9
--- /dev/null
+++ b/results/llm_moe_hard/manifest.json
@@ -0,0 +1,28 @@
+{
+  "experiment": "llm_moe_hard",
+  "master_seed": 1,
+  "git_commit": "e433e48860322161b7a67677f5817d76535ef69c",
+  "python": "3.14.5",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.13.0",
+    "peft": "0.19.1"
+  },
+  "rows": 47,
+  "results_sha256": "a0bd6f8abaa9c8b4581340ec60789900063b67d1f2b348553d9cf7f4c6368750",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": true,
+  "operators": [
+    "soup",
+    "ties",
+    "moe_oracle",
+    "moe_learned",
+    "max_merge"
+  ]
+}
\ No newline at end of file
diff --git a/results/llm_moe_hard/resolved_config.yaml b/results/llm_moe_hard/resolved_config.yaml
new file mode 100644
index 0000000..bc8ad53
--- /dev/null
+++ b/results/llm_moe_hard/resolved_config.yaml
@@ -0,0 +1,29 @@
+experiment: llm_moe_hard
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_moe_hard
+  kind: llm_moe
+  seed: 1
+  n_replicates: 1
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  hard: true
+  families:
+  - lists
+  - strings
+  - arith
+  n_train: 400
+  n_test: 80
+  n_route: 32
+  epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  operators:
+  - soup
+  - ties
+  - moe_oracle
+  - moe_learned
+  - max_merge
+  output:
+    dir: results/llm_moe_hard
diff --git a/results/llm_moe_hard_hpc/README.md b/results/llm_moe_hard_hpc/README.md
index 15c4e3d..d790f59 100644
--- a/results/llm_moe_hard_hpc/README.md
+++ b/results/llm_moe_hard_hpc/README.md
@@ -43,3 +43,34 @@ margin it does at 0.5B — E8's `max > mean` in real weights, robust across scal
 saturation. The `llm_moe_hpc` flip is re-read as a saturation artefact. **Falsifier (not triggered):**
 fusion matching/beating routing on hard tasks — instead fusion diluted below even the best specialist.
 Provenance in `manifest.json` (`hard: true`, L40S, torch 2.12.1 / transformers 5.13.0 / peft 0.19.1).
+
+## Seeds 1–3 (2026-09-11)
+
+Seeds 2–3 were run on CX3 via `hpc/llm_7b_seeds.pbs` (seed 1 above was moved to `s1/`; the bundle
+layout is now `s{seed}/`). Fixed test sets, training seed varied. Per-seed values and mean ± 95% CI
+from `figures/stats_llm_7b_seeds.py`:
+```
+model       metric  n_seeds    s1    s2    s3  mean  ci95
+best_specialist      overall        3 0.425 0.407 0.390 0.407 0.020
+best_specialist worst_family        3 0.155 0.150 0.185 0.163 0.021
+     merge_soup      overall        3 0.392 0.405 0.428 0.408 0.021
+     merge_soup worst_family        3 0.300 0.345 0.340 0.328 0.028
+     merge_ties      overall        3 0.400 0.427 0.438 0.422 0.022
+     merge_ties worst_family        3 0.330 0.385 0.380 0.365 0.034
+     moe_oracle      overall        3 0.500 0.498 0.510 0.503 0.007
+     moe_oracle worst_family        3 0.335 0.360 0.455 0.383 0.072
+    moe_learned      overall        3 0.500 0.498 0.510 0.503 0.007
+    moe_learned worst_family        3 0.335 0.360 0.455 0.383 0.072
+      max_merge      overall        3 0.297 0.342 0.403 0.347 0.061
+      max_merge worst_family        3 0.195 0.175 0.240 0.203 0.038
+
+                    contrast       metric  n_seeds     s1     s2    s3  mean  ci95 sign_agrees
+     moe_oracle − merge_soup      overall        3  0.108  0.093 0.082 0.094 0.015         3/3
+     moe_oracle − merge_soup worst_family        3  0.035  0.015 0.115 0.055 0.060         3/3
+    moe_learned − merge_soup      overall        3  0.108  0.093 0.082 0.094 0.015         3/3
+    moe_learned − merge_soup worst_family        3  0.035  0.015 0.115 0.055 0.060         3/3
+merge_soup − best_specialist      overall        3 -0.033 -0.002 0.038 0.001 0.041         1/3
+merge_soup − best_specialist worst_family        3  0.145  0.195 0.155 0.165 0.030         3/3
+```
+
+Reading: routing beats the weight-average in every seed (+0.094 ± 0.015 overall). The seed-1 observation that the soup fell *below* the best single specialist did not replicate (soup − best specialist overall −0.033, −0.002, +0.038; mean +0.001): over three seeds the soup matches the best parent overall and beats it on worst-family (+0.165, 3/3). `max_merge` remains the weakest union (0.347).
diff --git a/results/llm_moe_hard_hpc/s1/manifest.json b/results/llm_moe_hard_hpc/s1/manifest.json
new file mode 100644
index 0000000..eee66cf
--- /dev/null
+++ b/results/llm_moe_hard_hpc/s1/manifest.json
@@ -0,0 +1,28 @@
+{
+  "experiment": "llm_moe_hard_hpc",
+  "master_seed": 1,
+  "git_commit": null,
+  "python": "3.11.13",
+  "libraries": {
+    "numpy": "2.4.6",
+    "scipy": "1.17.1",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.13.0",
+    "peft": "0.19.1"
+  },
+  "rows": 47,
+  "results_sha256": "a4e7c37e7cd900b56aa24ffc827e38e9a9d5cbb44dcff8d83cf010e992ed5c8a",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-7B-Instruct",
+  "hard": true,
+  "operators": [
+    "soup",
+    "ties",
+    "moe_oracle",
+    "moe_learned",
+    "max_merge"
+  ]
+}
\ No newline at end of file
diff --git a/results/llm_moe_hard_hpc/s1/resolved_config.yaml b/results/llm_moe_hard_hpc/s1/resolved_config.yaml
new file mode 100644
index 0000000..839a86d
--- /dev/null
+++ b/results/llm_moe_hard_hpc/s1/resolved_config.yaml
@@ -0,0 +1,29 @@
+experiment: llm_moe_hard_hpc
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_moe_hard_hpc
+  kind: llm_moe
+  seed: 1
+  n_replicates: 1
+  base_model: Qwen/Qwen2.5-7B-Instruct
+  hard: true
+  families:
+  - lists
+  - strings
+  - arith
+  n_train: 800
+  n_test: 200
+  n_route: 48
+  epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  operators:
+  - soup
+  - ties
+  - moe_oracle
+  - moe_learned
+  - max_merge
+  output:
+    dir: results/llm_moe_hard_hpc
diff --git a/results/llm_moe_hard_hpc/s2/manifest.json b/results/llm_moe_hard_hpc/s2/manifest.json
new file mode 100644
index 0000000..f880710
--- /dev/null
+++ b/results/llm_moe_hard_hpc/s2/manifest.json
@@ -0,0 +1,28 @@
+{
+  "experiment": "llm_moe_hard_hpc",
+  "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": 47,
+  "results_sha256": "60202401aa7a95c011736322389efec0c078f9fb9f0d0594cfa9002146ae97fb",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-7B-Instruct",
+  "hard": true,
+  "operators": [
+    "soup",
+    "ties",
+    "moe_oracle",
+    "moe_learned",
+    "max_merge"
+  ]
+}
\ No newline at end of file
diff --git a/results/llm_moe_hard_hpc/s2/resolved_config.yaml b/results/llm_moe_hard_hpc/s2/resolved_config.yaml
new file mode 100644
index 0000000..b0d966a
--- /dev/null
+++ b/results/llm_moe_hard_hpc/s2/resolved_config.yaml
@@ -0,0 +1,29 @@
+experiment: llm_moe_hard_hpc
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_moe_hard_hpc
+  kind: llm_moe
+  seed: 2
+  n_replicates: 1
+  base_model: Qwen/Qwen2.5-7B-Instruct
+  hard: true
+  families:
+  - lists
+  - strings
+  - arith
+  n_train: 800
+  n_test: 200
+  n_route: 48
+  epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  operators:
+  - soup
+  - ties
+  - moe_oracle
+  - moe_learned
+  - max_merge
+  output:
+    dir: results/llm_moe_hard_hpc/s2
diff --git a/results/llm_moe_hard_hpc/s3/manifest.json b/results/llm_moe_hard_hpc/s3/manifest.json
new file mode 100644
index 0000000..93a1c01
--- /dev/null
+++ b/results/llm_moe_hard_hpc/s3/manifest.json
@@ -0,0 +1,28 @@
+{
+  "experiment": "llm_moe_hard_hpc",
+  "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": 47,
+  "results_sha256": "1a9962f95ed0b0458676682d415fafcaa530a11eefc3833ba46a144e22ee90d5",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-7B-Instruct",
+  "hard": true,
+  "operators": [
+    "soup",
+    "ties",
+    "moe_oracle",
+    "moe_learned",
+    "max_merge"
+  ]
+}
\ No newline at end of file
diff --git a/results/llm_moe_hard_hpc/s3/resolved_config.yaml b/results/llm_moe_hard_hpc/s3/resolved_config.yaml
new file mode 100644
index 0000000..93ca729
--- /dev/null
+++ b/results/llm_moe_hard_hpc/s3/resolved_config.yaml
@@ -0,0 +1,29 @@
+experiment: llm_moe_hard_hpc
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_moe_hard_hpc
+  kind: llm_moe
+  seed: 3
+  n_replicates: 1
+  base_model: Qwen/Qwen2.5-7B-Instruct
+  hard: true
+  families:
+  - lists
+  - strings
+  - arith
+  n_train: 800
+  n_test: 200
+  n_route: 48
+  epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  operators:
+  - soup
+  - ties
+  - moe_oracle
+  - moe_learned
+  - max_merge
+  output:
+    dir: results/llm_moe_hard_hpc/s3
diff --git a/results/llm_moe_hard_seeds_smol/README.md b/results/llm_moe_hard_seeds_smol/README.md
new file mode 100644
index 0000000..7e5f7df
--- /dev/null
+++ b/results/llm_moe_hard_seeds_smol/README.md
@@ -0,0 +1,21 @@
+# llm_moe_hard_seeds_smol — the headroom rule on a second base lineage (SmolLM2-1.7B-Instruct)
+
+**Claim tested (manuscript revision 2026-09-12).** Union (routing among intact specialists) beats
+fusion (weight averaging) wherever the average falls short of attainable performance. Replicates
+`llm_moe_hard_seeds` (hard task variant, 400 training tasks, 80 test tasks per family, soup / TIES /
+oracle router / learned router, 3 training seeds) on `HuggingFaceTB/SmolLM2-1.7B-Instruct`. Ran in
+7 min on one L40S (`hpc/llm_smol.pbs`). Numbers from `figures/stats_llm_smol.py`.
+
+### Result — replicates, 3/3 seeds, larger margin than on Qwen
+| contrast (SmolLM2, hard) | overall | worst family |
+|---|---|---|
+| routing (learned = oracle) − soup | **+0.162 ± 0.036** (3/3) | +0.221 ± 0.029 (3/3) |
+| soup − best specialist | −0.029 ± 0.017 (3/3 below) | +0.012 ± 0.014 |
+| *(Qwen2.5-0.5B)* routing − soup | +0.100 ± 0.090 (3/3) | +0.150 ± 0.075 (3/3) |
+| *(Qwen)* soup − best specialist | −0.025 ± 0.122 (1/3 above) | 0.000 ± 0.102 |
+
+Absolute levels (SmolLM2): best specialist 0.194, soup 0.165, routing 0.328 overall. Two riders carry
+over unchanged: the learned router equals the oracle (the families are lexically separable, so routing
+is easy here), and on this base the soup falls **below** the best single specialist in every seed,
+the dilution the Qwen 0.5B hard run showed in one seed of three. Falsifier (not triggered): routing ≤
+soup in a majority of seeds.
diff --git a/results/llm_moe_hard_seeds_smol/manifest.json b/results/llm_moe_hard_seeds_smol/manifest.json
new file mode 100644
index 0000000..d4d8a8a
--- /dev/null
+++ b/results/llm_moe_hard_seeds_smol/manifest.json
@@ -0,0 +1,32 @@
+{
+  "experiment": "llm_moe_hard_seeds_smol",
+  "master_seed": 1,
+  "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": 126,
+  "results_sha256": "38eb9f8ca0b52d9d2c17a385f33612a0d14fb622066e524eb5aff8d85d1fe0f1",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "HuggingFaceTB/SmolLM2-1.7B-Instruct",
+  "hard": true,
+  "seeds": [
+    1,
+    2,
+    3
+  ],
+  "operators": [
+    "soup",
+    "ties",
+    "moe_oracle",
+    "moe_learned"
+  ]
+}
\ No newline at end of file
diff --git a/results/llm_moe_hard_seeds_smol/resolved_config.yaml b/results/llm_moe_hard_seeds_smol/resolved_config.yaml
new file mode 100644
index 0000000..a342176
--- /dev/null
+++ b/results/llm_moe_hard_seeds_smol/resolved_config.yaml
@@ -0,0 +1,33 @@
+experiment: llm_moe_hard_seeds_smol
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_moe_hard_seeds_smol
+  kind: llm_moe
+  seed: 1
+  seeds:
+  - 1
+  - 2
+  - 3
+  n_replicates: 1
+  base_model: HuggingFaceTB/SmolLM2-1.7B-Instruct
+  hard: true
+  families:
+  - lists
+  - strings
+  - arith
+  n_train: 400
+  n_test: 80
+  n_route: 32
+  epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  operators:
+  - soup
+  - ties
+  - moe_oracle
+  - moe_learned
+  output:
+    dir: results/llm_moe_hard_seeds_smol
+  adapters_dir: models/llm_smol
diff --git a/results/llm_society/manifest.json b/results/llm_society/manifest.json
new file mode 100644
index 0000000..c47aa18
--- /dev/null
+++ b/results/llm_society/manifest.json
@@ -0,0 +1,32 @@
+{
+  "experiment": "llm_society",
+  "master_seed": 1,
+  "git_commit": "438931d67b4aadfc0310898863630c21eb83b2c3",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.13.0",
+    "peft": "0.19.1"
+  },
+  "rows": 692,
+  "results_sha256": "23344c6993ee5953b7a9ccb670b7f656f8ddc23c66ac48b0b8de604ad4c4f48f",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "society": {
+    "agents": 6,
+    "generations": 8,
+    "arms": [
+      "full",
+      "no_grounding"
+    ],
+    "g": 0.5,
+    "lam": 0.3,
+    "n_candidates": 6
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society/resolved_config.yaml b/results/llm_society/resolved_config.yaml
new file mode 100644
index 0000000..3915dd2
--- /dev/null
+++ b/results/llm_society/resolved_config.yaml
@@ -0,0 +1,31 @@
+experiment: llm_society
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society
+  kind: llm_society
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  agents: 6
+  generations: 8
+  arms:
+  - full
+  - no_grounding
+  g: 0.5
+  lam: 0.3
+  n_test: 40
+  n_val: 30
+  n_conf: 90
+  n_inherit: 600
+  n_candidates: 6
+  elitism: 1
+  n_parents: 3
+  epochs: 3
+  spec_train: 600
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society
+  n_replicates: 1
diff --git a/results/llm_society_campaign/s1/manifest.json b/results/llm_society_campaign/s1/manifest.json
new file mode 100644
index 0000000..f0f8d4f
--- /dev/null
+++ b/results/llm_society_campaign/s1/manifest.json
@@ -0,0 +1,34 @@
+{
+  "experiment": "llm_society_campaign",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 2288,
+  "results_sha256": "c12c17434b5ee5aaf84f300b5fd92da24396b2ed5c4ff9482d2549de9fe44a17",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "society": {
+    "agents": 8,
+    "generations": 10,
+    "arms": [
+      "full",
+      "no_grounding",
+      "no_sex",
+      "no_diversity"
+    ],
+    "g": 0.5,
+    "lam": 0.3,
+    "n_candidates": 6
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_campaign/s1/resolved_config.yaml b/results/llm_society_campaign/s1/resolved_config.yaml
new file mode 100644
index 0000000..6c807f5
--- /dev/null
+++ b/results/llm_society_campaign/s1/resolved_config.yaml
@@ -0,0 +1,33 @@
+experiment: llm_society_campaign
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_campaign
+  kind: llm_society
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  agents: 8
+  generations: 10
+  arms:
+  - full
+  - no_grounding
+  - no_sex
+  - no_diversity
+  g: 0.5
+  lam: 0.3
+  n_test: 40
+  n_val: 30
+  n_conf: 90
+  n_inherit: 600
+  n_candidates: 6
+  elitism: 1
+  n_parents: 4
+  epochs: 3
+  spec_train: 600
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_campaign/s1
+  n_replicates: 1
diff --git a/results/llm_society_campaign/s2/manifest.json b/results/llm_society_campaign/s2/manifest.json
new file mode 100644
index 0000000..a37fb80
--- /dev/null
+++ b/results/llm_society_campaign/s2/manifest.json
@@ -0,0 +1,34 @@
+{
+  "experiment": "llm_society_campaign",
+  "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": 2288,
+  "results_sha256": "1347ac11eb77b49987cf7b0c49c6e2f582d0ae53bb7734d0fab3fcd29e407cc6",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "society": {
+    "agents": 8,
+    "generations": 10,
+    "arms": [
+      "full",
+      "no_grounding",
+      "no_sex",
+      "no_diversity"
+    ],
+    "g": 0.5,
+    "lam": 0.3,
+    "n_candidates": 6
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_campaign/s2/resolved_config.yaml b/results/llm_society_campaign/s2/resolved_config.yaml
new file mode 100644
index 0000000..e7d872a
--- /dev/null
+++ b/results/llm_society_campaign/s2/resolved_config.yaml
@@ -0,0 +1,33 @@
+experiment: llm_society_campaign
+seed: 2
+n_replicates: 1
+source_config:
+  experiment: llm_society_campaign
+  kind: llm_society
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 2
+  agents: 8
+  generations: 10
+  arms:
+  - full
+  - no_grounding
+  - no_sex
+  - no_diversity
+  g: 0.5
+  lam: 0.3
+  n_test: 40
+  n_val: 30
+  n_conf: 90
+  n_inherit: 600
+  n_candidates: 6
+  elitism: 1
+  n_parents: 4
+  epochs: 3
+  spec_train: 600
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_campaign/s2
+  n_replicates: 1
diff --git a/results/llm_society_campaign/s3/manifest.json b/results/llm_society_campaign/s3/manifest.json
new file mode 100644
index 0000000..d6c6296
--- /dev/null
+++ b/results/llm_society_campaign/s3/manifest.json
@@ -0,0 +1,34 @@
+{
+  "experiment": "llm_society_campaign",
+  "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": 2288,
+  "results_sha256": "ca33684321ad860001fd2adfcb5feac45934d0ea6297fde8a9a9913bf29dbe61",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "society": {
+    "agents": 8,
+    "generations": 10,
+    "arms": [
+      "full",
+      "no_grounding",
+      "no_sex",
+      "no_diversity"
+    ],
+    "g": 0.5,
+    "lam": 0.3,
+    "n_candidates": 6
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_campaign/s3/resolved_config.yaml b/results/llm_society_campaign/s3/resolved_config.yaml
new file mode 100644
index 0000000..5025e19
--- /dev/null
+++ b/results/llm_society_campaign/s3/resolved_config.yaml
@@ -0,0 +1,33 @@
+experiment: llm_society_campaign
+seed: 3
+n_replicates: 1
+source_config:
+  experiment: llm_society_campaign
+  kind: llm_society
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 3
+  agents: 8
+  generations: 10
+  arms:
+  - full
+  - no_grounding
+  - no_sex
+  - no_diversity
+  g: 0.5
+  lam: 0.3
+  n_test: 40
+  n_val: 30
+  n_conf: 90
+  n_inherit: 600
+  n_candidates: 6
+  elitism: 1
+  n_parents: 4
+  epochs: 3
+  spec_train: 600
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_campaign/s3
+  n_replicates: 1
diff --git a/results/llm_society_campaign/s4/manifest.json b/results/llm_society_campaign/s4/manifest.json
new file mode 100644
index 0000000..d9e694e
--- /dev/null
+++ b/results/llm_society_campaign/s4/manifest.json
@@ -0,0 +1,34 @@
+{
+  "experiment": "llm_society_campaign",
+  "master_seed": 4,
+  "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": 2288,
+  "results_sha256": "e8722aa1fac61f7f870839f0477d1df97a63ca8847c21c5ddfcc76d15fb02561",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "society": {
+    "agents": 8,
+    "generations": 10,
+    "arms": [
+      "full",
+      "no_grounding",
+      "no_sex",
+      "no_diversity"
+    ],
+    "g": 0.5,
+    "lam": 0.3,
+    "n_candidates": 6
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_campaign/s4/resolved_config.yaml b/results/llm_society_campaign/s4/resolved_config.yaml
new file mode 100644
index 0000000..cddda68
--- /dev/null
+++ b/results/llm_society_campaign/s4/resolved_config.yaml
@@ -0,0 +1,33 @@
+experiment: llm_society_campaign
+seed: 4
+n_replicates: 1
+source_config:
+  experiment: llm_society_campaign
+  kind: llm_society
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 4
+  agents: 8
+  generations: 10
+  arms:
+  - full
+  - no_grounding
+  - no_sex
+  - no_diversity
+  g: 0.5
+  lam: 0.3
+  n_test: 40
+  n_val: 30
+  n_conf: 90
+  n_inherit: 600
+  n_candidates: 6
+  elitism: 1
+  n_parents: 4
+  epochs: 3
+  spec_train: 600
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_campaign/s4
+  n_replicates: 1
diff --git a/results/llm_society_pilot1/manifest.json b/results/llm_society_pilot1/manifest.json
new file mode 100644
index 0000000..312e9c3
--- /dev/null
+++ b/results/llm_society_pilot1/manifest.json
@@ -0,0 +1,32 @@
+{
+  "experiment": "llm_society",
+  "master_seed": 1,
+  "git_commit": "16e90027736e1a0346c76fa6be132147a1a5fd31",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.13.0",
+    "peft": "0.19.1"
+  },
+  "rows": 692,
+  "results_sha256": "a49437dd4836c08db4aefc77ea4c338d441178ad0ee584bc92c1482e826ace61",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "society": {
+    "agents": 6,
+    "generations": 8,
+    "arms": [
+      "full",
+      "no_grounding"
+    ],
+    "g": 0.5,
+    "lam": 0.3,
+    "n_candidates": 6
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_pilot1/resolved_config.yaml b/results/llm_society_pilot1/resolved_config.yaml
new file mode 100644
index 0000000..9addbb6
--- /dev/null
+++ b/results/llm_society_pilot1/resolved_config.yaml
@@ -0,0 +1,29 @@
+experiment: llm_society
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society
+  kind: llm_society
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  agents: 6
+  generations: 8
+  arms:
+  - full
+  - no_grounding
+  g: 0.5
+  lam: 0.3
+  n_test: 40
+  n_val: 30
+  n_conf: 60
+  n_inherit: 240
+  n_candidates: 6
+  epochs: 2
+  spec_train: 300
+  spec_epochs: 2
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society
+  n_replicates: 1
diff --git a/results/llm_society_smoke/manifest.json b/results/llm_society_smoke/manifest.json
new file mode 100644
index 0000000..e0f0f52
--- /dev/null
+++ b/results/llm_society_smoke/manifest.json
@@ -0,0 +1,31 @@
+{
+  "experiment": "llm_society_smoke",
+  "master_seed": 1,
+  "git_commit": "d75c58474a2c9e169ec9a5d74e4955e1d7fef0b4",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.13.0",
+    "peft": "0.19.1"
+  },
+  "rows": 56,
+  "results_sha256": "7d5b1d2d5b050d6036a9f50a664e1fa04feb8b887f918168bd250e8cd59b00cc",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "society": {
+    "agents": 4,
+    "generations": 2,
+    "arms": [
+      "full"
+    ],
+    "g": 0.5,
+    "lam": 0.3,
+    "n_candidates": 4
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_smoke/resolved_config.yaml b/results/llm_society_smoke/resolved_config.yaml
new file mode 100644
index 0000000..aa61529
--- /dev/null
+++ b/results/llm_society_smoke/resolved_config.yaml
@@ -0,0 +1,28 @@
+experiment: llm_society_smoke
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_smoke
+  kind: llm_society
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  agents: 4
+  generations: 2
+  arms:
+  - full
+  g: 0.5
+  lam: 0.3
+  n_test: 15
+  n_val: 10
+  n_conf: 30
+  n_inherit: 90
+  n_candidates: 4
+  epochs: 2
+  spec_train: 150
+  spec_epochs: 2
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_smoke
+  n_replicates: 1
diff --git a/results/llm_society_v2_calib_a/manifest.json b/results/llm_society_v2_calib_a/manifest.json
new file mode 100644
index 0000000..1afaace
--- /dev/null
+++ b/results/llm_society_v2_calib_a/manifest.json
@@ -0,0 +1,43 @@
+{
+  "experiment": "llm_society_v2_calib_a",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 357,
+  "results_sha256": "2c4423fb777236ec7319c8a31ff08d9eb6c5280a3bdfa1a398ac7d6b6cb7d785",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "calibration": {
+    "stage": "families",
+    "families": [
+      "lists",
+      "strings",
+      "arith",
+      "roman",
+      "binary",
+      "sortletters",
+      "setops",
+      "numtheory",
+      "mixedtoken",
+      "caesar",
+      "vectors",
+      "progression",
+      "charfreq",
+      "digits",
+      "liststats",
+      "alphabet",
+      "prime"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_v2_calib_a/resolved_config.yaml b/results/llm_society_v2_calib_a/resolved_config.yaml
new file mode 100644
index 0000000..e28a8c4
--- /dev/null
+++ b/results/llm_society_v2_calib_a/resolved_config.yaml
@@ -0,0 +1,37 @@
+experiment: llm_society_v2_calib_a
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_v2_calib_a
+  kind: llm_society_calib
+  stage: families
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  families:
+  - lists
+  - strings
+  - arith
+  - roman
+  - binary
+  - sortletters
+  - setops
+  - numtheory
+  - mixedtoken
+  - caesar
+  - vectors
+  - progression
+  - charfreq
+  - digits
+  - liststats
+  - alphabet
+  - prime
+  n_test: 100
+  n_probe: 10
+  spec_train: 600
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_v2_calib_a
+  n_replicates: 1
diff --git a/results/llm_society_v2_calib_a2/manifest.json b/results/llm_society_v2_calib_a2/manifest.json
new file mode 100644
index 0000000..b7a78d9
--- /dev/null
+++ b/results/llm_society_v2_calib_a2/manifest.json
@@ -0,0 +1,43 @@
+{
+  "experiment": "llm_society_v2_calib_a2",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 357,
+  "results_sha256": "4087c04fd01cade2182eb57bb8c7fb60d3c5f2af6c02701de7080469def9d7bf",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "calibration": {
+    "stage": "families",
+    "families": [
+      "lists",
+      "strings",
+      "arith",
+      "roman",
+      "binary",
+      "setops",
+      "numtheory",
+      "mixedtoken",
+      "vectors",
+      "charfreq",
+      "digits",
+      "liststats",
+      "alphabet",
+      "prime",
+      "wordlen",
+      "lettercount",
+      "sumeven"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_v2_calib_a2/resolved_config.yaml b/results/llm_society_v2_calib_a2/resolved_config.yaml
new file mode 100644
index 0000000..7099414
--- /dev/null
+++ b/results/llm_society_v2_calib_a2/resolved_config.yaml
@@ -0,0 +1,38 @@
+experiment: llm_society_v2_calib_a2
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_v2_calib_a2
+  kind: llm_society_calib
+  stage: families
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  families:
+  - lists
+  - strings
+  - arith
+  - roman
+  - binary
+  - setops
+  - numtheory
+  - mixedtoken
+  - vectors
+  - charfreq
+  - digits
+  - liststats
+  - alphabet
+  - prime
+  - wordlen
+  - lettercount
+  - sumeven
+  spec_hi: 1.0
+  n_test: 100
+  n_probe: 10
+  spec_train: 1200
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_v2_calib_a2
+  n_replicates: 1
diff --git a/results/llm_society_v2_calib_b/manifest.json b/results/llm_society_v2_calib_b/manifest.json
new file mode 100644
index 0000000..605062a
--- /dev/null
+++ b/results/llm_society_v2_calib_b/manifest.json
@@ -0,0 +1,35 @@
+{
+  "experiment": "llm_society_v2_calib_b",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 96,
+  "results_sha256": "11c91e525f7956aca2a6b7c6d4fba92c4faf1ddc42c832597325011e937bb861",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "calibration": {
+    "stage": "transmission",
+    "families": [
+      "strings",
+      "setops",
+      "numtheory",
+      "mixedtoken",
+      "digits",
+      "alphabet",
+      "prime",
+      "wordlen",
+      "roman"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_v2_calib_b/resolved_config.yaml b/results/llm_society_v2_calib_b/resolved_config.yaml
new file mode 100644
index 0000000..0f356b2
--- /dev/null
+++ b/results/llm_society_v2_calib_b/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_society_v2_calib_b
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_v2_calib_b
+  kind: llm_society_calib
+  stage: transmission
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  families:
+  - strings
+  - setops
+  - numtheory
+  - mixedtoken
+  - digits
+  - alphabet
+  - prime
+  - wordlen
+  - roman
+  probe_families:
+  - setops
+  - alphabet
+  - digits
+  ks:
+  - 25
+  - 50
+  - 100
+  - 150
+  epochs_grid:
+  - 2
+  - 3
+  cross:
+  - setops
+  - alphabet
+  k_inherit: 100
+  epochs: 3
+  n_candidates: 6
+  n_test: 100
+  n_probe: 10
+  spec_train: 1200
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_v2_calib_b
+  n_replicates: 1
diff --git a/results/llm_society_v2_calib_b_consensus/manifest.json b/results/llm_society_v2_calib_b_consensus/manifest.json
new file mode 100644
index 0000000..174ebc5
--- /dev/null
+++ b/results/llm_society_v2_calib_b_consensus/manifest.json
@@ -0,0 +1,35 @@
+{
+  "experiment": "llm_society_v2_calib_b",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 20,
+  "results_sha256": "162f9cfc2ac2db50ccde4dc3c63e1b6a5bd21f0347d49f45aad810979ba6054f",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "calibration": {
+    "stage": "consensus",
+    "families": [
+      "strings",
+      "setops",
+      "numtheory",
+      "mixedtoken",
+      "digits",
+      "alphabet",
+      "prime",
+      "wordlen",
+      "roman"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_v2_calib_b_consensus/resolved_config.yaml b/results/llm_society_v2_calib_b_consensus/resolved_config.yaml
new file mode 100644
index 0000000..a1e7780
--- /dev/null
+++ b/results/llm_society_v2_calib_b_consensus/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_society_v2_calib_b
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_v2_calib_b
+  kind: llm_society_calib
+  stage: consensus
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  families:
+  - strings
+  - setops
+  - numtheory
+  - mixedtoken
+  - digits
+  - alphabet
+  - prime
+  - wordlen
+  - roman
+  probe_families:
+  - setops
+  - alphabet
+  - digits
+  ks:
+  - 25
+  - 50
+  - 100
+  - 150
+  epochs_grid:
+  - 2
+  - 3
+  cross:
+  - setops
+  - alphabet
+  k_inherit: 100
+  epochs: 3
+  n_candidates: 6
+  n_test: 100
+  n_probe: 10
+  spec_train: 1200
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_v2_calib_b_consensus
+  n_replicates: 1
diff --git a/results/llm_society_v2_calib_b_cross/manifest.json b/results/llm_society_v2_calib_b_cross/manifest.json
new file mode 100644
index 0000000..d289de4
--- /dev/null
+++ b/results/llm_society_v2_calib_b_cross/manifest.json
@@ -0,0 +1,35 @@
+{
+  "experiment": "llm_society_v2_calib_b",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 11,
+  "results_sha256": "c0360befc80b607beaaf9d31aa50ead0cfa0f7d7c8d4698241b68a9c856f518f",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "calibration": {
+    "stage": "cross",
+    "families": [
+      "strings",
+      "setops",
+      "numtheory",
+      "mixedtoken",
+      "digits",
+      "alphabet",
+      "prime",
+      "wordlen",
+      "roman"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_v2_calib_b_cross/resolved_config.yaml b/results/llm_society_v2_calib_b_cross/resolved_config.yaml
new file mode 100644
index 0000000..fbea330
--- /dev/null
+++ b/results/llm_society_v2_calib_b_cross/resolved_config.yaml
@@ -0,0 +1,47 @@
+experiment: llm_society_v2_calib_b
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_v2_calib_b
+  kind: llm_society_calib
+  stage: cross
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  families:
+  - strings
+  - setops
+  - numtheory
+  - mixedtoken
+  - digits
+  - alphabet
+  - prime
+  - wordlen
+  - roman
+  probe_families:
+  - setops
+  - alphabet
+  - digits
+  ks:
+  - 25
+  - 50
+  - 100
+  - 150
+  epochs_grid:
+  - 2
+  - 3
+  cross:
+  - setops
+  - alphabet
+  k_inherit: 100
+  epochs: 3
+  n_candidates: 6
+  n_test: 100
+  n_probe: 10
+  spec_train: 1200
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_v2_calib_b_cross
+  n_replicates: 1
diff --git a/results/llm_society_v2_calib_b_cross_gated/manifest.json b/results/llm_society_v2_calib_b_cross_gated/manifest.json
new file mode 100644
index 0000000..34d9332
--- /dev/null
+++ b/results/llm_society_v2_calib_b_cross_gated/manifest.json
@@ -0,0 +1,35 @@
+{
+  "experiment": "llm_society_v2_calib_b_cross_gated",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 13,
+  "results_sha256": "1c3cf43a2ebe543f9f1381c6ffa4409ccb8c1389d31cc524ef53f18309fcbda7",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "calibration": {
+    "stage": "cross",
+    "families": [
+      "strings",
+      "setops",
+      "numtheory",
+      "mixedtoken",
+      "digits",
+      "alphabet",
+      "prime",
+      "wordlen",
+      "roman"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_v2_calib_b_cross_gated/resolved_config.yaml b/results/llm_society_v2_calib_b_cross_gated/resolved_config.yaml
new file mode 100644
index 0000000..b2bf212
--- /dev/null
+++ b/results/llm_society_v2_calib_b_cross_gated/resolved_config.yaml
@@ -0,0 +1,48 @@
+experiment: llm_society_v2_calib_b_cross_gated
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_v2_calib_b_cross_gated
+  kind: llm_society_calib
+  stage: cross
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  families:
+  - strings
+  - setops
+  - numtheory
+  - mixedtoken
+  - digits
+  - alphabet
+  - prime
+  - wordlen
+  - roman
+  probe_families:
+  - setops
+  - alphabet
+  - digits
+  ks:
+  - 25
+  - 50
+  - 100
+  - 150
+  epochs_grid:
+  - 2
+  - 3
+  cross:
+  - setops
+  - alphabet
+  k_inherit: 300
+  epochs: 3
+  n_candidates: 6
+  n_test: 100
+  n_probe: 10
+  spec_train: 1200
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_v2_calib_b_cross_gated
+  conf_gate: 0.5
+  n_replicates: 1
diff --git a/results/llm_society_v2_calib_b_transmission_conf/manifest.json b/results/llm_society_v2_calib_b_transmission_conf/manifest.json
new file mode 100644
index 0000000..e9aedc1
--- /dev/null
+++ b/results/llm_society_v2_calib_b_transmission_conf/manifest.json
@@ -0,0 +1,35 @@
+{
+  "experiment": "llm_society_v2_calib_b_transmission_conf",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 69,
+  "results_sha256": "7705ea9dc94ebaded6b722a90e08500c4f4ed6219680ecf1f10556e3ee7c4684",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "calibration": {
+    "stage": "transmission_conf",
+    "families": [
+      "strings",
+      "setops",
+      "numtheory",
+      "mixedtoken",
+      "digits",
+      "alphabet",
+      "prime",
+      "wordlen",
+      "roman"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_v2_calib_b_transmission_conf/resolved_config.yaml b/results/llm_society_v2_calib_b_transmission_conf/resolved_config.yaml
new file mode 100644
index 0000000..bcc2b08
--- /dev/null
+++ b/results/llm_society_v2_calib_b_transmission_conf/resolved_config.yaml
@@ -0,0 +1,38 @@
+experiment: llm_society_v2_calib_b_transmission_conf
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_v2_calib_b_transmission_conf
+  kind: llm_society_calib
+  stage: transmission_conf
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  families:
+  - strings
+  - setops
+  - numtheory
+  - mixedtoken
+  - digits
+  - alphabet
+  - prime
+  - wordlen
+  - roman
+  probe_families:
+  - setops
+  - alphabet
+  - digits
+  k_pool: 300
+  taus:
+  - 0.5
+  - 0.7
+  - 0.85
+  epochs: 3
+  n_test: 100
+  spec_train: 1200
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_v2_calib_b_transmission_conf
+  n_replicates: 1
diff --git a/results/llm_society_v2_calib_c3b_e6/manifest.json b/results/llm_society_v2_calib_c3b_e6/manifest.json
new file mode 100644
index 0000000..2c17337
--- /dev/null
+++ b/results/llm_society_v2_calib_c3b_e6/manifest.json
@@ -0,0 +1,35 @@
+{
+  "experiment": "llm_society_v2_calib_c3b_e6",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 13,
+  "results_sha256": "8784ea32ca98741cd3e932c9d73459e088a40aea29ad297758637904ab8d9bfd",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "calibration": {
+    "stage": "cross",
+    "families": [
+      "strings",
+      "setops",
+      "numtheory",
+      "mixedtoken",
+      "digits",
+      "alphabet",
+      "prime",
+      "wordlen",
+      "roman"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_v2_calib_c3b_e6/resolved_config.yaml b/results/llm_society_v2_calib_c3b_e6/resolved_config.yaml
new file mode 100644
index 0000000..b77623c
--- /dev/null
+++ b/results/llm_society_v2_calib_c3b_e6/resolved_config.yaml
@@ -0,0 +1,48 @@
+experiment: llm_society_v2_calib_c3b_e6
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_v2_calib_c3b_e6
+  kind: llm_society_calib
+  stage: cross
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  families:
+  - strings
+  - setops
+  - numtheory
+  - mixedtoken
+  - digits
+  - alphabet
+  - prime
+  - wordlen
+  - roman
+  probe_families:
+  - setops
+  - alphabet
+  - digits
+  ks:
+  - 25
+  - 50
+  - 100
+  - 150
+  epochs_grid:
+  - 2
+  - 3
+  cross:
+  - setops
+  - alphabet
+  k_inherit: 300
+  epochs: 6
+  n_candidates: 6
+  n_test: 100
+  n_probe: 10
+  spec_train: 1200
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_v2_calib_c3b_e6
+  conf_gate: 0.5
+  n_replicates: 1
diff --git a/results/llm_society_v2_calib_c3b_r64/manifest.json b/results/llm_society_v2_calib_c3b_r64/manifest.json
new file mode 100644
index 0000000..64fabee
--- /dev/null
+++ b/results/llm_society_v2_calib_c3b_r64/manifest.json
@@ -0,0 +1,35 @@
+{
+  "experiment": "llm_society_v2_calib_c3b_r64",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 13,
+  "results_sha256": "34d2e0284c91a72779b1b1f8c22d6da33c7658d7c2ff4c23dcf06cfae774265a",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "calibration": {
+    "stage": "cross",
+    "families": [
+      "strings",
+      "setops",
+      "numtheory",
+      "mixedtoken",
+      "digits",
+      "alphabet",
+      "prime",
+      "wordlen",
+      "roman"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_v2_calib_c3b_r64/resolved_config.yaml b/results/llm_society_v2_calib_c3b_r64/resolved_config.yaml
new file mode 100644
index 0000000..9f5b141
--- /dev/null
+++ b/results/llm_society_v2_calib_c3b_r64/resolved_config.yaml
@@ -0,0 +1,48 @@
+experiment: llm_society_v2_calib_c3b_r64
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_v2_calib_c3b_r64
+  kind: llm_society_calib
+  stage: cross
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  families:
+  - strings
+  - setops
+  - numtheory
+  - mixedtoken
+  - digits
+  - alphabet
+  - prime
+  - wordlen
+  - roman
+  probe_families:
+  - setops
+  - alphabet
+  - digits
+  ks:
+  - 25
+  - 50
+  - 100
+  - 150
+  epochs_grid:
+  - 2
+  - 3
+  cross:
+  - setops
+  - alphabet
+  k_inherit: 300
+  epochs: 3
+  n_candidates: 6
+  n_test: 100
+  n_probe: 10
+  spec_train: 1200
+  spec_epochs: 3
+  lora:
+    r: 64
+    alpha: 128
+  output:
+    dir: results/llm_society_v2_calib_c3b_r64
+  conf_gate: 0.5
+  n_replicates: 1
diff --git a/results/llm_society_v2_calib_c3b_r64e6/manifest.json b/results/llm_society_v2_calib_c3b_r64e6/manifest.json
new file mode 100644
index 0000000..c353a78
--- /dev/null
+++ b/results/llm_society_v2_calib_c3b_r64e6/manifest.json
@@ -0,0 +1,35 @@
+{
+  "experiment": "llm_society_v2_calib_c3b_r64e6",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 13,
+  "results_sha256": "7be2c1178219ce7e869240ef9006ed77e5e12379c691490d7e405903d570c1de",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "calibration": {
+    "stage": "cross",
+    "families": [
+      "strings",
+      "setops",
+      "numtheory",
+      "mixedtoken",
+      "digits",
+      "alphabet",
+      "prime",
+      "wordlen",
+      "roman"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_v2_calib_c3b_r64e6/resolved_config.yaml b/results/llm_society_v2_calib_c3b_r64e6/resolved_config.yaml
new file mode 100644
index 0000000..f2884ca
--- /dev/null
+++ b/results/llm_society_v2_calib_c3b_r64e6/resolved_config.yaml
@@ -0,0 +1,48 @@
+experiment: llm_society_v2_calib_c3b_r64e6
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_v2_calib_c3b_r64e6
+  kind: llm_society_calib
+  stage: cross
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  families:
+  - strings
+  - setops
+  - numtheory
+  - mixedtoken
+  - digits
+  - alphabet
+  - prime
+  - wordlen
+  - roman
+  probe_families:
+  - setops
+  - alphabet
+  - digits
+  ks:
+  - 25
+  - 50
+  - 100
+  - 150
+  epochs_grid:
+  - 2
+  - 3
+  cross:
+  - setops
+  - alphabet
+  k_inherit: 300
+  epochs: 6
+  n_candidates: 6
+  n_test: 100
+  n_probe: 10
+  spec_train: 1200
+  spec_epochs: 3
+  lora:
+    r: 64
+    alpha: 128
+  output:
+    dir: results/llm_society_v2_calib_c3b_r64e6
+  conf_gate: 0.5
+  n_replicates: 1
diff --git a/results/llm_society_v2_calib_c3c_t85e3/manifest.json b/results/llm_society_v2_calib_c3c_t85e3/manifest.json
new file mode 100644
index 0000000..2372c6e
--- /dev/null
+++ b/results/llm_society_v2_calib_c3c_t85e3/manifest.json
@@ -0,0 +1,35 @@
+{
+  "experiment": "llm_society_v2_calib_c3c_t85e3",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 13,
+  "results_sha256": "45098f8d15b0db20afd494e3898300dd1c86658b856e2893e1630b8402694b7a",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "calibration": {
+    "stage": "cross",
+    "families": [
+      "strings",
+      "setops",
+      "numtheory",
+      "mixedtoken",
+      "digits",
+      "alphabet",
+      "prime",
+      "wordlen",
+      "roman"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_v2_calib_c3c_t85e3/resolved_config.yaml b/results/llm_society_v2_calib_c3c_t85e3/resolved_config.yaml
new file mode 100644
index 0000000..c96f67d
--- /dev/null
+++ b/results/llm_society_v2_calib_c3c_t85e3/resolved_config.yaml
@@ -0,0 +1,48 @@
+experiment: llm_society_v2_calib_c3c_t85e3
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_v2_calib_c3c_t85e3
+  kind: llm_society_calib
+  stage: cross
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  families:
+  - strings
+  - setops
+  - numtheory
+  - mixedtoken
+  - digits
+  - alphabet
+  - prime
+  - wordlen
+  - roman
+  probe_families:
+  - setops
+  - alphabet
+  - digits
+  ks:
+  - 25
+  - 50
+  - 100
+  - 150
+  epochs_grid:
+  - 2
+  - 3
+  cross:
+  - setops
+  - alphabet
+  k_inherit: 300
+  epochs: 3
+  n_candidates: 6
+  n_test: 100
+  n_probe: 10
+  spec_train: 1200
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_v2_calib_c3c_t85e3
+  conf_gate: 0.85
+  n_replicates: 1
diff --git a/results/llm_society_v2_calib_c3c_t85e6/manifest.json b/results/llm_society_v2_calib_c3c_t85e6/manifest.json
new file mode 100644
index 0000000..ed54f01
--- /dev/null
+++ b/results/llm_society_v2_calib_c3c_t85e6/manifest.json
@@ -0,0 +1,35 @@
+{
+  "experiment": "llm_society_v2_calib_c3c_t85e6",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 13,
+  "results_sha256": "455a79e0a92c4042a2f893452eea8a468d279f41d8b90537056a6cae3be53ac4",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "calibration": {
+    "stage": "cross",
+    "families": [
+      "strings",
+      "setops",
+      "numtheory",
+      "mixedtoken",
+      "digits",
+      "alphabet",
+      "prime",
+      "wordlen",
+      "roman"
+    ]
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_v2_calib_c3c_t85e6/resolved_config.yaml b/results/llm_society_v2_calib_c3c_t85e6/resolved_config.yaml
new file mode 100644
index 0000000..c083dd3
--- /dev/null
+++ b/results/llm_society_v2_calib_c3c_t85e6/resolved_config.yaml
@@ -0,0 +1,48 @@
+experiment: llm_society_v2_calib_c3c_t85e6
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_v2_calib_c3c_t85e6
+  kind: llm_society_calib
+  stage: cross
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  families:
+  - strings
+  - setops
+  - numtheory
+  - mixedtoken
+  - digits
+  - alphabet
+  - prime
+  - wordlen
+  - roman
+  probe_families:
+  - setops
+  - alphabet
+  - digits
+  ks:
+  - 25
+  - 50
+  - 100
+  - 150
+  epochs_grid:
+  - 2
+  - 3
+  cross:
+  - setops
+  - alphabet
+  k_inherit: 300
+  epochs: 6
+  n_candidates: 6
+  n_test: 100
+  n_probe: 10
+  spec_train: 1200
+  spec_epochs: 3
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_v2_calib_c3c_t85e6
+  conf_gate: 0.85
+  n_replicates: 1
diff --git a/results/llm_society_v2_smoke/llm_society_v2.pdf b/results/llm_society_v2_smoke/llm_society_v2.pdf
new file mode 100644
index 0000000..e48cb39
Binary files /dev/null and b/results/llm_society_v2_smoke/llm_society_v2.pdf differ
diff --git a/results/llm_society_v2_smoke/llm_society_v2.png b/results/llm_society_v2_smoke/llm_society_v2.png
new file mode 100644
index 0000000..f7e4b6a
Binary files /dev/null and b/results/llm_society_v2_smoke/llm_society_v2.png differ
diff --git a/results/llm_society_v2_smoke/manifest.json b/results/llm_society_v2_smoke/manifest.json
new file mode 100644
index 0000000..0d9e347
--- /dev/null
+++ b/results/llm_society_v2_smoke/manifest.json
@@ -0,0 +1,44 @@
+{
+  "experiment": "llm_society_v2_smoke",
+  "master_seed": 1,
+  "git_commit": "e4804adabcdce6d928c5e6b1e85429b2a6acf2fe",
+  "python": "3.14.7",
+  "libraries": {
+    "numpy": "2.5.0",
+    "scipy": "1.18.0",
+    "pandas": "3.0.3",
+    "pyarrow": "24.0.0",
+    "torch": "2.12.1",
+    "transformers": "5.16.1",
+    "peft": "0.20.0"
+  },
+  "rows": 904,
+  "results_sha256": "0577efd67364be4c159e3c8dc654da68b08f4d4dfa89f08927cd618ad0f0ff16",
+  "layer": "2",
+  "tier": "llm",
+  "base_model": "Qwen/Qwen2.5-0.5B-Instruct",
+  "hard": false,
+  "society_v2": {
+    "families": [
+      "lists",
+      "roman",
+      "binary",
+      "setops"
+    ],
+    "agents": 4,
+    "generations": 2,
+    "arms": [
+      "full",
+      "no_grounding",
+      "no_sex",
+      "no_diversity"
+    ],
+    "g": 0.85,
+    "lam": 0.3,
+    "k_inherit": 20,
+    "epochs": 2,
+    "n_test": 8,
+    "n_val": 5,
+    "n_conf": 5
+  }
+}
\ No newline at end of file
diff --git a/results/llm_society_v2_smoke/partial_full_s1.parquet b/results/llm_society_v2_smoke/partial_full_s1.parquet
new file mode 100644
index 0000000..2da67f7
Binary files /dev/null and b/results/llm_society_v2_smoke/partial_full_s1.parquet differ
diff --git a/results/llm_society_v2_smoke/partial_no_diversity_s1.parquet b/results/llm_society_v2_smoke/partial_no_diversity_s1.parquet
new file mode 100644
index 0000000..9b72fe5
Binary files /dev/null and b/results/llm_society_v2_smoke/partial_no_diversity_s1.parquet differ
diff --git a/results/llm_society_v2_smoke/partial_no_grounding_s1.parquet b/results/llm_society_v2_smoke/partial_no_grounding_s1.parquet
new file mode 100644
index 0000000..9c8228c
Binary files /dev/null and b/results/llm_society_v2_smoke/partial_no_grounding_s1.parquet differ
diff --git a/results/llm_society_v2_smoke/partial_no_sex_s1.parquet b/results/llm_society_v2_smoke/partial_no_sex_s1.parquet
new file mode 100644
index 0000000..4617f22
Binary files /dev/null and b/results/llm_society_v2_smoke/partial_no_sex_s1.parquet differ
diff --git a/results/llm_society_v2_smoke/resolved_config.yaml b/results/llm_society_v2_smoke/resolved_config.yaml
new file mode 100644
index 0000000..7218b4a
--- /dev/null
+++ b/results/llm_society_v2_smoke/resolved_config.yaml
@@ -0,0 +1,35 @@
+experiment: llm_society_v2_smoke
+seed: 1
+n_replicates: 1
+source_config:
+  experiment: llm_society_v2_smoke
+  kind: llm_society_v2
+  base_model: Qwen/Qwen2.5-0.5B-Instruct
+  seed: 1
+  families:
+  - lists
+  - roman
+  - binary
+  - setops
+  agents: 4
+  generations: 2
+  arms:
+  - full
+  - no_grounding
+  - no_sex
+  - no_diversity
+  g: 0.85
+  lam: 0.3
+  n_test: 8
+  n_val: 5
+  n_conf: 5
+  k_inherit: 20
+  epochs: 2
+  spec_train: 120
+  spec_epochs: 2
+  lora:
+    r: 16
+    alpha: 32
+  output:
+    dir: results/llm_society_v2_smoke
+  n_replicates: 1
diff --git a/results/llm_speciation/README.md b/results/llm_speciation/README.md
index bc3234d..4a1edf0 100644
--- a/results/llm_speciation/README.md
+++ b/results/llm_speciation/README.md
@@ -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 2–3 (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. 5C–D 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
diff --git a/results/llm_speciation/manifest.json b/results/llm_speciation/s1/manifest.json
similarity index 100%
rename from results/llm_speciation/manifest.json
rename to results/llm_speciation/s1/manifest.json
diff --git a/results/llm_speciation/resolved_config.yaml b/results/llm_speciation/s1/resolved_config.yaml
similarity index 100%
rename from results/llm_speciation/resolved_config.yaml
rename to results/llm_speciation/s1/resolved_config.yaml
diff --git a/results/llm_speciation/s2/manifest.json b/results/llm_speciation/s2/manifest.json
new file mode 100644
index 0000000..db65f96
--- /dev/null
+++ b/results/llm_speciation/s2/manifest.json
@@ -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
+}
\ No newline at end of file
diff --git a/results/llm_speciation/s2/resolved_config.yaml b/results/llm_speciation/s2/resolved_config.yaml
new file mode 100644
index 0000000..9998ba0
--- /dev/null
+++ b/results/llm_speciation/s2/resolved_config.yaml
@@ -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
diff --git a/results/llm_speciation/s3/manifest.json b/results/llm_speciation/s3/manifest.json
new file mode 100644
index 0000000..97ac39b
--- /dev/null
+++ b/results/llm_speciation/s3/manifest.json
@@ -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
+}
\ No newline at end of file
diff --git a/results/llm_speciation/s3/resolved_config.yaml b/results/llm_speciation/s3/resolved_config.yaml
new file mode 100644
index 0000000..78a0121
--- /dev/null
+++ b/results/llm_speciation/s3/resolved_config.yaml
@@ -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
diff --git a/results/mnist_collapse/mnist_collapse.pdf b/results/mnist_collapse/mnist_collapse.pdf
index d4dabb0..10651fc 100644
Binary files a/results/mnist_collapse/mnist_collapse.pdf and b/results/mnist_collapse/mnist_collapse.pdf differ
diff --git a/results/mnist_collapse/mnist_collapse.png b/results/mnist_collapse/mnist_collapse.png
index 9084e4e..7ba55ad 100644
Binary files a/results/mnist_collapse/mnist_collapse.png and b/results/mnist_collapse/mnist_collapse.png differ
diff --git a/src/llm/calibrate.py b/src/llm/calibrate.py
new file mode 100644
index 0000000..74acbd0
--- /dev/null
+++ b/src/llm/calibrate.py
@@ -0,0 +1,348 @@
+"""Calibration gates for the v2 society (``kind: llm_society_calib``; prereg §4).
+
+Four stages, each a config ``stage:``, each printing its gate table and writing the usual artifact
+triple. Nothing in the campaign is chosen by feel: the family set, the inheritance pool size, and
+the recombination operator are all fixed here, by measurement, before any campaign job is submitted.
+
+* ``families`` (C1a–c, C4): base and specialist accuracy per candidate family; specialist confidence
+  AUC (own- vs off-family prompts — the routing precondition); pairwise confidence-weighted functional
+  conflict between specialists (the ``llm_epistasis`` measure; the grid's no-conflict axis sits at
+  ≈0.20–0.26 and its conflict axis at ≈0.46–0.52, so the gate is < 0.35); gen-0 behavioural distance.
+* ``transmission`` (C2): retention of a founder's own-family skill in a child distilled from the
+  founder's *own answers*, as a function of examples-per-family ``k`` and epochs. Sets ``k_inherit``.
+* ``cross`` (C3): one two-founder cross, union-distil vs best-of-6 linear-merge-distil; both
+  families' accuracy in each child. Tests the operator choice for twenty minutes, not eighty hours.
+* ``consensus`` (C5): consensus accuracy over the founders at gen 0 (must be low, else conformity
+  is a truth proxy and the ``no_grounding`` arm cannot fail by the predicted mechanism).
+
+Specialists are cached under ``models/llm/society_v2/calib_s{seed}/`` and shared across stages.
+"""
+
+from __future__ import annotations
+
+from pathlib import Path
+
+import numpy as np
+import pandas as pd
+
+from . import families as _families  # noqa: F401
+from .society_ops import behavioural_distance, consensus_answers, conformity_scores, fitness_of, route_union
+from .tasks import Task, make_tasks, verify, _normalise
+
+
+def _auc(pos: np.ndarray, neg: np.ndarray) -> float:
+    """Rank AUC: P(confidence on own-family prompt > confidence on off-family prompt)."""
+    if len(pos) == 0 or len(neg) == 0:
+        return float("nan")
+    return float(np.mean([(p > n) + 0.5 * (p == n) for p in pos for n in neg]))
+
+
+def _specialists(cfg, fams, root, base):
+    from .specialise import train_specialist
+    dirs = []
+    n_tr, n_ep = int(cfg.get("spec_train", 600)), int(cfg.get("spec_epochs", 3))
+    r_ = int(cfg.get("lora", {}).get("r", 16))
+    for i, f in enumerate(fams):
+        d = root / (f"spec_{f}_n{n_tr}e{n_ep}" + ("" if r_ == 16 else f"_r{r_}"))   # keyed by budget + rank
+        if not (d / "adapter_config.json").exists():
+            train_specialist(base, f, str(d), n_train=int(cfg.get("spec_train", 600)),
+                             epochs=int(cfg.get("spec_epochs", 3)), seed=int(cfg["seed"]) * 100 + i,
+                             r=int(cfg.get("lora", {}).get("r", 16)),
+                             alpha=int(cfg.get("lora", {}).get("alpha", 32)))
+        dirs.append(str(d))
+    return dirs
+
+
+def _stage_families(cfg, base, fams, root) -> list[dict]:
+    import torch
+    from .epistasis import generate_with_confidence
+    from .evaluate import generate, load_model
+    from .merge import load_specialists
+
+    n_test, n_probe = int(cfg.get("n_test", 100)), int(cfg.get("n_probe", 10))
+    spec_hi = float(cfg.get("spec_hi", 0.90))                # prereg §4 amendment 1: 1.0 in stage A2
+    tests = {f: make_tasks(f, n_test, seed=1000 + i) for i, f in enumerate(fams)}
+    probe = sum([make_tasks(f, n_probe, seed=5000 + i) for i, f in enumerate(fams)], [])
+    p_prompts = [x.prompt for x in probe]
+    p_fam = np.array([x.family for x in probe])
+    rows = []
+
+    model, tok = load_model(base)                            # base alone
+    base_acc = {f: fitness_of(generate(model, tok, [x.prompt for x in tests[f]]), tests[f], [f])[f]
+                for f in fams}
+    del model; torch.cuda.empty_cache()
+
+    dirs = _specialists(cfg, fams, root, base)
+    model, tok = load_specialists(base, dirs)
+    spec_acc, ans, conf = {}, {}, {}
+    for i, f in enumerate(fams):
+        model.set_adapter(f"a{i}")
+        spec_acc[f] = fitness_of(generate(model, tok, [x.prompt for x in tests[f]]), tests[f], [f])[f]
+        ans[f], conf[f] = generate_with_confidence(model, tok, p_prompts)
+    del model; torch.cuda.empty_cache()
+
+    for f in fams:
+        uniq = len({t.prompt for t in make_tasks(f, 600, seed=7)})
+        auc = _auc(conf[f][p_fam == f], conf[f][p_fam != f])
+        in_band = 0.05 <= base_acc[f] <= 0.40 and 0.60 <= spec_acc[f] <= spec_hi
+        for m, v in (("base_acc", base_acc[f]), ("spec_acc", spec_acc[f]), ("conf_auc", auc),
+                     ("unique_of_600", uniq), ("in_band", float(in_band))):
+            rows.append({"stage": "families", "family": f, "other": "", "metric": m, "value": float(v)})
+    norm = {f: [_normalise(a) for a in ans[f]] for f in fams}
+    dist = behavioural_distance([ans[f] for f in fams])
+    for i, fa in enumerate(fams):
+        for j, fb in enumerate(fams):
+            if j <= i:
+                continue
+            dis = np.array([a != b for a, b in zip(norm[fa], norm[fb])], dtype=float)
+            epi = float(np.mean(conf[fa] * conf[fb] * dis))
+            rows.append({"stage": "families", "family": fa, "other": fb, "metric": "epi_conf", "value": epi})
+            rows.append({"stage": "families", "family": fa, "other": fb, "metric": "dist", "value": float(dist[i, j])})
+
+    print(f"\n== C1 family band (base ∈ [0.05,0.40], specialist ∈ [0.60,{spec_hi:.2f}]) ==")
+    for f in fams:
+        flag = "OK " if 0.05 <= base_acc[f] <= 0.40 and 0.60 <= spec_acc[f] <= spec_hi else "-- "
+        print(f"  {flag}{f:12s} base {base_acc[f]:.2f}  spec {spec_acc[f]:.2f}  "
+              f"confAUC {_auc(conf[f][p_fam == f], conf[f][p_fam != f]):.2f}  "
+              f"unique/600 {len({t.prompt for t in make_tasks(f, 600, seed=7)})}")
+    epis = [r["value"] for r in rows if r["metric"] == "epi_conf"]
+    dists = [r["value"] for r in rows if r["metric"] == "dist"]
+    print(f"== C1b pairwise epi_conf: max {max(epis):.3f} (gate < 0.35)   "
+          f"C1c min pairwise distance {min(dists):.2f} (gate ≥ 0.5)")
+    return rows
+
+
+def _stage_transmission(cfg, base, fams, root) -> list[dict]:
+    import torch
+    from .evaluate import generate
+    from .merge import load_specialists
+    from .specialise import train_lora_on_tasks
+
+    probe_f = list(cfg.get("probe_families", fams[:3]))
+    ks, eps = list(cfg.get("ks", [25, 50, 100, 150])), list(cfg.get("epochs_grid", [2, 3]))
+    n_test = int(cfg.get("n_test", 100))
+    dirs = _specialists(cfg, fams, root, base)
+    rows = []
+    for f in probe_f:
+        i = fams.index(f)
+        test = make_tasks(f, n_test, seed=1000 + i)
+        model, tok = load_specialists(base, [dirs[i]])
+        founder_acc = fitness_of(generate(model, tok, [x.prompt for x in test]), test, [f])[f]
+        pools = {k: sum([make_tasks(g, k, seed=9000 + k * 31 + j) for j, g in enumerate(fams)], [])
+                 for k in ks}
+        answers = {k: generate(model, tok, [x.prompt for x in pools[k]]) for k in ks}
+        del model; torch.cuda.empty_cache()
+        for k in ks:
+            supplied = fitness_of(answers[k], pools[k], [f])[f]
+            data = [Task(x.family, x.prompt, a.strip().split("\n")[0][:64]) for x, a in zip(pools[k], answers[k])
+                    if a.strip()]
+            for ep in eps:
+                d = root / "transmission" / f"{f}_k{k}_e{ep}"
+                train_lora_on_tasks(base, data, str(d), epochs=ep, seed=int(cfg["seed"]) * 7 + k + ep)
+                m, t2 = load_specialists(base, [str(d)])
+                child_acc = fitness_of(generate(m, t2, [x.prompt for x in test]), test, [f])[f]
+                del m; torch.cuda.empty_cache()
+                ret = child_acc / founder_acc if founder_acc > 0 else float("nan")
+                for name, v in (("founder_acc", founder_acc), ("supplied_acc", supplied),
+                                ("child_acc", child_acc), ("retention", ret)):
+                    rows.append({"stage": "transmission", "family": f, "other": f"k{k}_e{ep}",
+                                 "metric": name, "value": float(v), "k": k, "epochs": ep})
+                print(f"  {f:12s} k={k:3d} ep={ep}: founder {founder_acc:.2f} supplied {supplied:.2f} "
+                      f"child {child_acc:.2f} retention {ret:.2f}", flush=True)
+    df = pd.DataFrame(rows)
+    ret = df[df.metric == "retention"].groupby(["k", "epochs"]).value.mean().unstack()
+    print("\n== C2 mean retention (gate: choose k* = min k with retention ≥ 0.85) ==")
+    print(ret.round(2).to_string())
+    return rows
+
+
+def _stage_transmission_conf(cfg, base, fams, root) -> list[dict]:
+    """C2b — confidence-gated inheritance: retention when the child learns only the prompts its source
+    is confident on (verifier-free). Also reports the τ that separates own- from off-family confidence
+    (Youden's J on the founder's own confidences, using family labels for calibration only) and the
+    off-family harm of ungated inheritance (child off-family accuracy vs base)."""
+    import torch
+    from .epistasis import generate_with_confidence
+    from .evaluate import generate, load_model
+    from .merge import load_specialists
+    from .specialise import train_lora_on_tasks
+
+    probe_f = list(cfg.get("probe_families", fams[:3]))
+    k, ep = int(cfg.get("k_pool", 300)), int(cfg.get("epochs", 3))
+    taus = list(cfg.get("taus", [0.5, 0.7, 0.85]))
+    n_test = int(cfg.get("n_test", 100))
+    dirs = _specialists(cfg, fams, root, base)
+    tests = {f: make_tasks(f, n_test, seed=1000 + i) for i, f in enumerate(fams)}
+    pool = sum([make_tasks(g, k, seed=9300 + j) for j, g in enumerate(fams)], [])
+    p_fam = np.array([x.family for x in pool])
+
+    model, tok = load_model(base)
+    base_acc = {f: fitness_of(generate(model, tok, [x.prompt for x in tests[f]]), tests[f], [f])[f] for f in fams}
+    del model; torch.cuda.empty_cache()
+
+    rows = []
+    for f in probe_f:
+        i = fams.index(f)
+        model, tok = load_specialists(base, [dirs[i]])
+        founder_acc = fitness_of(generate(model, tok, [x.prompt for x in tests[f]]), tests[f], [f])[f]
+        ans, conf = generate_with_confidence(model, tok, [x.prompt for x in pool])
+        del model; torch.cuda.empty_cache()
+        own, off = conf[p_fam == f], conf[p_fam != f]
+        # Youden-optimal τ over a grid — calibration only (uses family labels)
+        grid = np.linspace(0.05, 0.99, 95)
+        J = [np.mean(own >= t) - np.mean(off >= t) for t in grid]
+        tau_star = float(grid[int(np.argmax(J))])
+        rows.append({"stage": "transmission_conf", "family": f, "other": "", "metric": "tau_youden", "value": tau_star})
+        rows.append({"stage": "transmission_conf", "family": f, "other": "", "metric": "own_conf_median", "value": float(np.median(own))})
+        rows.append({"stage": "transmission_conf", "family": f, "other": "", "metric": "off_conf_median", "value": float(np.median(off))})
+        print(f"  {f:12s} founder {founder_acc:.2f}  own-conf median {np.median(own):.2f}  off-conf median "
+              f"{np.median(off):.2f}  τ* {tau_star:.2f} (keeps {np.mean(own >= tau_star):.0%} own, "
+              f"{np.mean(off >= tau_star):.0%} off)", flush=True)
+        for tau in [None] + taus:
+            keep = np.ones(len(pool), bool) if tau is None else conf >= tau
+            data = [Task(x.family, x.prompt, a.strip().split("\n")[0][:64])
+                    for x, a, kp in zip(pool, ans, keep) if kp and a.strip()]
+            if len(data) < 8:
+                print(f"  {f:12s} τ={tau}: only {len(data)} prompts kept — skipped"); continue
+            d = root / "transmission_conf" / f"{f}_tau{tau}"
+            train_lora_on_tasks(base, data, str(d), epochs=ep, seed=int(cfg["seed"]) * 13 + int((tau or 0) * 100))
+            m, t2 = load_specialists(base, [str(d)])
+            child_own = fitness_of(generate(m, t2, [x.prompt for x in tests[f]]), tests[f], [f])[f]
+            off_f = [g for g in fams if g != f][:3]           # off-family harm on three other families
+            child_off = float(np.mean([fitness_of(generate(m, t2, [x.prompt for x in tests[g]]), tests[g], [g])[g] for g in off_f]))
+            base_off = float(np.mean([base_acc[g] for g in off_f]))
+            del m; torch.cuda.empty_cache()
+            ret = child_own / founder_acc if founder_acc > 0 else float("nan")
+            lab = "none" if tau is None else f"{tau:.2f}"
+            for name, v in (("retention", ret), ("child_own_acc", child_own), ("n_kept", len(data)),
+                            ("child_off_acc", child_off), ("base_off_acc", base_off)):
+                rows.append({"stage": "transmission_conf", "family": f, "other": f"tau{lab}", "metric": name, "value": float(v)})
+            print(f"  {f:12s} τ={lab}: kept {len(data):4d}/{len(pool)}  child own {child_own:.2f} "
+                  f"retention {ret:.2f}   off-family child {child_off:.2f} vs base {base_off:.2f}", flush=True)
+    df = pd.DataFrame(rows)
+    r = df[df.metric == "retention"].groupby("other").value.mean()
+    print("\n== C2b mean retention by gate (target ≥ 0.85) ==\n" + r.round(2).to_string())
+    return rows
+
+
+def _stage_cross(cfg, base, fams, root) -> list[dict]:
+    import torch
+    from .directed import sample_merge_weights
+    from .epistasis import generate_with_confidence
+    from .evaluate import generate
+    from .merge import load_specialists
+    from .specialise import train_lora_on_tasks
+
+    fa, fb = cfg["cross"]
+    k, ep = int(cfg.get("k_inherit", 100)), int(cfg.get("epochs", 3))
+    n_cand = int(cfg.get("n_candidates", 6))
+    ia, ib = fams.index(fa), fams.index(fb)
+    tests = {f: make_tasks(f, int(cfg.get("n_test", 100)), seed=1000 + fams.index(f)) for f in (fa, fb)}
+    val = sum([make_tasks(g, 10, seed=3000 + j) for j, g in enumerate(fams)], [])
+    inherit = sum([make_tasks(g, k, seed=9100 + j) for j, g in enumerate(fams)], [])
+    inh_p = [x.prompt for x in inherit]
+    dirs = _specialists(cfg, fams, root, base)
+    rows = []
+
+    model, tok = load_specialists(base, [dirs[ia], dirs[ib]])
+    parent_acc = {}
+    for j, f in enumerate((fa, fb)):
+        model.set_adapter(f"a{j}")
+        for g in (fa, fb):
+            parent_acc[(f, g)] = fitness_of(generate(model, tok, [x.prompt for x in tests[g]]), tests[g], [g])[g]
+    model.set_adapter("a0"); ans_a, cf_a = generate_with_confidence(model, tok, inh_p)
+    model.set_adapter("a1"); ans_b, cf_b = generate_with_confidence(model, tok, inh_p)
+    union_ans, src = route_union(ans_a, cf_a, ans_b, cf_b)
+
+    rng = np.random.default_rng(int(cfg["seed"]))
+    w = sample_merge_weights(2, n_cand, rng)
+    best_i, best_v = 0, -np.inf
+    for ci in range(n_cand):
+        model.add_weighted_adapter(["a0", "a1"], w[ci].tolist(), f"c{ci}", combination_type="linear")
+        model.set_adapter(f"c{ci}")
+        v = fitness_of(generate(model, tok, [x.prompt for x in val]), val, fams)["overall"]
+        if v > best_v:
+            best_i, best_v = ci, v
+        model.set_adapter("a0"); model.delete_adapter(f"c{ci}")
+    model.add_weighted_adapter(["a0", "a1"], w[best_i].tolist(), "win", combination_type="linear")
+    model.set_adapter("win"); linear_ans, cf_lin = generate_with_confidence(model, tok, inh_p)
+    del model; torch.cuda.empty_cache()
+
+    # optional confidence gate (C2b amendment): each child keeps only prompts its own source is
+    # confident on — the union by max(parent confidences), the linear merge by its own confidence.
+    gate = cfg.get("conf_gate")
+    gate = None if gate is None else float(gate)
+    keep_u = np.ones(len(inherit), bool) if gate is None else np.maximum(cf_a, cf_b) >= gate
+    keep_l = np.ones(len(inherit), bool) if gate is None else cf_lin >= gate
+
+    out = {}
+    for op, answers, keep in (("union", union_ans, keep_u), ("linear", linear_ans, keep_l)):
+        supplied = fitness_of(answers, inherit, [fa, fb])
+        data = [Task(x.family, x.prompt, a.strip().split("\n")[0][:64])
+                for x, a, kp in zip(inherit, answers, keep) if kp and a.strip()]
+        rows.append({"stage": "cross", "family": "", "other": op, "metric": "n_kept", "value": float(len(data))})
+        r_, a_ = int(cfg.get("lora", {}).get("r", 16)), int(cfg.get("lora", {}).get("alpha", 32))
+        d = root / "cross" / f"{fa}_{fb}_{op}_g{gate}_e{ep}_r{r_}"
+        train_lora_on_tasks(base, data, str(d), epochs=ep, seed=int(cfg["seed"]) * 11, r=r_, alpha=a_)
+        m, t2 = load_specialists(base, [str(d)])
+        for g in (fa, fb):
+            acc = fitness_of(generate(m, t2, [x.prompt for x in tests[g]]), tests[g], [g])[g]
+            out[(op, g)] = acc
+            rows.append({"stage": "cross", "family": g, "other": op, "metric": "child_acc", "value": float(acc)})
+            rows.append({"stage": "cross", "family": g, "other": op, "metric": "supplied_acc", "value": float(supplied[g])})
+        del m; torch.cuda.empty_cache()
+    for f in (fa, fb):
+        rows.append({"stage": "cross", "family": f, "other": "parent", "metric": "parent_own_acc",
+                     "value": float(parent_acc[(f, f)])})
+    rows.append({"stage": "cross", "family": fa, "other": fb, "metric": "union_share_b", "value": float(src.mean())})
+
+    print(f"\n== C3 cross {fa} × {fb}  (gate: union ≥ 0.85×parent on each; union ≥ linear on the min) ==")
+    for g in (fa, fb):
+        print(f"  {g:12s} parent {parent_acc[(g, g)]:.2f}   union child {out[('union', g)]:.2f}   "
+              f"linear child {out[('linear', g)]:.2f}")
+    print(f"  union routed {src.mean():.2f} of prompts to {fb}")
+    return rows
+
+
+def _stage_consensus(cfg, base, fams, root) -> list[dict]:
+    import torch
+    from .evaluate import generate
+    from .merge import load_specialists
+
+    probe = sum([make_tasks(f, int(cfg.get("n_probe", 10)), seed=5000 + i) for i, f in enumerate(fams)], [])
+    dirs = _specialists(cfg, fams, root, base)
+    model, tok = load_specialists(base, dirs)
+    outs = []
+    for i in range(len(fams)):
+        model.set_adapter(f"a{i}"); outs.append(generate(model, tok, [x.prompt for x in probe]))
+    del model; torch.cuda.empty_cache()
+    cons = consensus_answers(outs)
+    cons_acc = float(np.mean([verify(c, x) for c, x in zip(cons, probe)]))
+    conf = conformity_scores(outs, cons)
+    dist = behavioural_distance(outs)
+    fit = [fitness_of(o, probe, fams)["overall"] for o in outs]
+    rows = [{"stage": "consensus", "family": "", "other": "", "metric": "consensus_acc", "value": cons_acc},
+            {"stage": "consensus", "family": "", "other": "", "metric": "min_pair_dist",
+             "value": float(dist[np.triu_indices(len(fams), 1)].min())}]
+    for i, f in enumerate(fams):
+        rows.append({"stage": "consensus", "family": f, "other": "", "metric": "conformity", "value": float(conf[i])})
+        rows.append({"stage": "consensus", "family": f, "other": "", "metric": "probe_acc", "value": float(fit[i])})
+    print(f"\n== C5 consensus accuracy at gen 0: {cons_acc:.2f} (gate < 0.35)   "
+          f"corr(conformity, accuracy) = {np.corrcoef(conf, fit)[0, 1]:+.2f}   "
+          f"min pairwise distance {rows[1]['value']:.2f}")
+    return rows
+
+
+def run_calibration(cfg: dict) -> pd.DataFrame:
+    """Dispatch on ``stage`` and return the stage's rows as a DataFrame."""
+    base = cfg["base_model"]
+    fams = list(cfg["families"])
+    root = Path(cfg.get("adapters_dir", "models/llm")) / "society_v2" / f"calib_s{int(cfg['seed'])}"
+    stage = cfg["stage"]
+    fn = {"families": _stage_families, "transmission": _stage_transmission,
+          "transmission_conf": _stage_transmission_conf,
+          "cross": _stage_cross, "consensus": _stage_consensus}[stage]
+    rows = fn(cfg, base, fams, root)
+    df = pd.DataFrame(rows)
+    df["experiment"] = cfg["experiment"]
+    return df
diff --git a/src/llm/compose.py b/src/llm/compose.py
new file mode 100644
index 0000000..f23f8a8
--- /dev/null
+++ b/src/llm/compose.py
@@ -0,0 +1,348 @@
+"""`llm_compose` — does a composed capability survive inheritance? (prereg v3)
+
+Two single-skill LoRA lineages on a shared frozen base — **math** and **code**. Each generation both
+lineages reproduce by self-consumption (a fresh LoRA distilled from their own confidence-gated answers
+on fresh prompts, optionally mixed with a fraction ``g`` of verified real examples — E2's immigration
+in the training mix). Each generation the *current* two parents are merged and evaluated on the
+held-out composed target, GSM8k-Hard, program-aided with an execution verifier.
+
+The composed model is a **measurement, not a lineage**: it is re-formed each generation from whatever
+the parents currently are, which separates "does composition survive parental drift?" from "does the
+composed model itself drift?". The ``composed`` arm makes it a lineage as well.
+
+Measured every generation (§1.6): ``q_math`` (GSM8K), ``q_code`` (MBPP, execution-verified),
+``rho`` (behavioural agreement on a shared probe + LoRA-delta cosine), composed accuracy for the
+merge *and each parent alone*, hence the **surplus** (merge − best parent) and the
+**union-exceedance** (composed-solved items neither parent solves — the super-linear signature).
+"""
+
+from __future__ import annotations
+
+import json
+import shutil
+from pathlib import Path
+
+import numpy as np
+import pandas as pd
+
+from .compose_data import (ProgTask, code_train, composed_target, gsm8k_probe, gsm_hard,
+                           math_train, mbpp_probe, probe_pool)
+from .execute import extract_code, numeric_match, run_solution, verify_program
+from .tasks import Task, _normalise
+
+LINEAGES = ("math", "code")
+
+
+# ------------------------------------------------------------------ scoring helpers (pure-ish)
+
+
+def score_composed(completions: list[str], tasks: list[ProgTask]) -> tuple[float, np.ndarray, float]:
+    """Program-aided accuracy over the composed target.
+
+    Returns:
+        (accuracy, per-item correctness, executable-rate) — the last is the fraction whose code ran
+        at all, which is the code sub-skill isolated from the maths.
+    """
+    ok, ran = [], []
+    for c, t in zip(completions, tasks):
+        good, res = verify_program(c, t.target)
+        ok.append(bool(good)); ran.append(bool(res.ok))
+    return float(np.mean(ok)), np.array(ok, dtype=bool), float(np.mean(ran))
+
+
+_NUM = __import__("re").compile(r"-?\d[\d,]*\.?\d*")
+
+
+def _last_number(text: str) -> float | None:
+    """The last number in a completion, commas stripped — the conventional GSM8K readout."""
+    m = _NUM.findall(text)
+    for tok in reversed(m):
+        try:
+            return float(tok.replace(",", "").rstrip("."))
+        except ValueError:
+            continue
+    return None
+
+
+def score_gsm8k(completions: list[str], tasks: list[Task]) -> float:
+    """Math own-skill: the number after '####' if the model used it, else the last number.
+
+    Graded numerically rather than by string equality, so "18" and "18.00" both count and a model
+    that reasons past its answer is not punished for formatting.
+    """
+    hit = []
+    for c, t in zip(completions, tasks):
+        tail = c.split("####")[-1] if "####" in c else c
+        got, want = _last_number(tail), _last_number(t.answer)
+        hit.append(got is not None and want is not None and numeric_match(got, want))
+    return float(np.mean(hit))
+
+
+def score_mbpp(completions: list[str], items: list[dict], timeout_s: float = 6.0) -> float:
+    """Code own-skill: the emitted function must pass MBPP's reference asserts."""
+    hit = []
+    for c, it in zip(completions, items):
+        prog = "\n".join(list(it["imports"]) + [extract_code(c)] + list(it["tests"])
+                         + ["def solution():\n    return 1"])
+        hit.append(run_solution(prog, timeout_s=timeout_s).ok)
+    return float(np.mean(hit))
+
+
+def union_exceedance(merged_ok: np.ndarray, parent_ok: list[np.ndarray]) -> float:
+    """Fraction of all items that the merge solves and *no* parent solves (super-linear signature)."""
+    any_parent = np.zeros_like(merged_ok)
+    for p in parent_ok:
+        any_parent |= p
+    return float(np.mean(merged_ok & ~any_parent))
+
+
+def mean_logprob(model, tok, prompts: list[str], completions: list[str], *,
+                 batch_size: int = 8, device: str = "cuda") -> np.ndarray:
+    """Mean token log-probability of each completion under the model, teacher-forced.
+
+    ``generate(..., output_scores=True)`` keeps one (batch × vocab) tensor per step, which at 320 new
+    tokens is gigabytes; one extra forward pass over prompt+completion costs a fraction of that and
+    gives the same quantity. Returns exp(mean logprob) ∈ (0, 1] — the same self-certainty scale the
+    epistasis module uses.
+    """
+    import torch
+
+    out = np.zeros(len(prompts))
+    for i in range(0, len(prompts), batch_size):
+        p_chunk, c_chunk = prompts[i:i + batch_size], completions[i:i + batch_size]
+        ids, labels = [], []
+        from .evaluate import format_prompt
+        for p, c in zip(p_chunk, c_chunk):
+            pi = tok(format_prompt(tok, p), add_special_tokens=False).input_ids
+            ci = tok(c if c.strip() else " ", add_special_tokens=False).input_ids[:512]
+            ids.append(pi + ci); labels.append([-100] * len(pi) + ci)
+        L = max(len(x) for x in ids)
+        pad = tok.pad_token_id
+        inp = torch.full((len(ids), L), pad, dtype=torch.long)
+        lab = torch.full((len(ids), L), -100, dtype=torch.long)
+        att = torch.zeros((len(ids), L), dtype=torch.long)
+        for b, (x, y) in enumerate(zip(ids, labels)):        # right-pad (scoring, not generation)
+            inp[b, :len(x)] = torch.tensor(x); lab[b, :len(y)] = torch.tensor(y)
+            att[b, :len(x)] = 1
+        with torch.no_grad():
+            logits = model(input_ids=inp.to(device), attention_mask=att.to(device)).logits[:, :-1]
+            tgt = lab[:, 1:].to(device)
+            mask = tgt != -100
+            # cross_entropy streams the log-partition internally: no float32 copy of the logits and
+            # no second tensor for log_softmax, which together were ~8 GB at batch 8 x 800 x 152k.
+            nll = torch.nn.functional.cross_entropy(
+                logits.reshape(-1, logits.size(-1)).float(),
+                tgt.reshape(-1).clamp(min=0), reduction="none").view(tgt.shape)
+            n = mask.sum(-1).clamp(min=1)
+            out[i:i + len(p_chunk)] = torch.exp(-(nll * mask).sum(-1) / n).cpu().numpy()
+            del logits, nll
+    return out
+
+
+def predicted_composition(q_math: np.ndarray, q_code: np.ndarray, rho: np.ndarray,
+                          observed0: float) -> np.ndarray:
+    """The framework's forecast Ĉ_t (prereg §2), one free scale fixed at generation 0.
+
+    Ĉ_t = c0 · q_math_t · q_code_t · (1 − rho_t)/(1 − rho_0),  c0 chosen so Ĉ_0 = observed_0.
+    """
+    q_math, q_code, rho = map(np.asarray, (q_math, q_code, rho))
+    shape = q_math * q_code * (1.0 - rho) / max(1e-9, 1.0 - rho[0])
+    c0 = observed0 / shape[0] if shape[0] > 1e-9 else 0.0
+    return c0 * shape
+
+
+# ------------------------------------------------------------------ the GPU loop
+
+
+def _state_path(root: Path, arm: str) -> Path:
+    return root / arm / "state.json"
+
+
+def run_compose(cfg: dict) -> pd.DataFrame:
+    """Run every configured arm; return tidy long-form rows (resumable per arm)."""
+    import torch
+
+    from .epistasis import delta_geometry
+    from .evaluate import generate
+    from .merge import load_specialists
+    from .specialise import train_lora_on_tasks
+
+    name, base, seed = cfg["experiment"], cfg["base_model"], int(cfg["seed"])
+    G = int(cfg.get("generations", 6))
+    arms = list(cfg.get("arms", ["dry", "grounded", "dry_linear"]))
+    n_hard = int(cfg.get("n_hard", 200))
+    n_hard_val = int(cfg.get("n_hard_val", 0))       # >0 enables directed merge-weight selection
+    n_gsm = int(cfg.get("n_gsm8k", 150))
+    n_mbpp = int(cfg.get("n_mbpp", 100))
+    n_probe = int(cfg.get("n_probe", 60))
+    k_inh = int(cfg.get("k_inherit", 300))
+    epochs = int(cfg.get("epochs", 3))
+    conf_gate = cfg.get("conf_gate")
+    conf_gate = None if conf_gate is None else float(conf_gate)
+    spec_train = int(cfg.get("spec_train", 1200))
+    spec_epochs = int(cfg.get("spec_epochs", 3))
+    max_new = int(cfg.get("max_new_tokens", 320))
+    tb = int(cfg.get("train_batch_size", 2))          # the causal-LM loss upcasts logits to fp32:
+    tlen = int(cfg.get("train_max_len", 448))         # memory ~ batch * len * vocab(152k) * 4 B
+    r, alpha = (int(cfg.get("lora", {}).get(k, v)) for k, v in (("r", 16), ("alpha", 32)))
+    root = Path(cfg.get("adapters_dir", "models/llm")) / "compose" / f"{name}_s{seed}"
+    out_dir = Path(cfg.get("output", {}).get("dir", f"results/{name}"))
+    out_dir.mkdir(parents=True, exist_ok=True)
+
+    # fixed evaluation sets (identical across arms, generations and seeds-within-a-config)
+    target_kind = str(cfg.get("target", "gsm_hard"))
+    hard = composed_target(target_kind, n_hard, 1000)
+    hard_prompts = [t.prompt for t in hard]
+    # Directed recombination (E10): candidate merge weights are screened on a DISJOINT validation
+    # split and only the winner is reported on the test split, so nothing is selected on the numbers
+    # we report. n_hard_val = 0 keeps the fixed 0.5/0.5 blend of the original design.
+    hard_val = composed_target(target_kind, n_hard_val, 5000, split="val") if n_hard_val else []
+    val_prompts = [t.prompt for t in hard_val]
+    weight_grid = [list(w) for w in cfg.get("merge_weights", [[0.5, 0.5]])]
+    gsm = gsm8k_probe(n_gsm, 2000)
+    mbpp = mbpp_probe(n_mbpp, 3000)
+    probes = probe_pool(n_probe, 4000)
+
+    def gen(model, tok, prompts, **kw):
+        return generate(model, tok, prompts, max_new_tokens=max_new,
+                        batch_size=int(cfg.get("batch_size", 16)), **kw)
+
+    # ---- founders: one specialist per lineage, cached and shared across arms
+    founders = {}
+    for lin in LINEAGES:
+        d = root / "founders" / lin
+        if not (d / "adapter_config.json").exists():
+            data = (math_train(spec_train, seed * 100 + 1, with_answers=True) if lin == "math"
+                    else code_train(spec_train, seed * 100 + 2, with_answers=True))
+            train_lora_on_tasks(base, data, str(d), epochs=spec_epochs, seed=seed * 100 + 7,
+                                r=r, alpha=alpha, batch_size=tb, max_len=tlen)
+        founders[lin] = str(d)
+
+    frames = []
+    for a_idx, arm in enumerate(arms):
+        # Operator per arm, explicit: the gen-0 sweep showed the blend ratio dominates the operator,
+        # so which operator an arm uses is a stated choice, not an inference from its name.
+        op = str(cfg.get("arm_ops", {}).get(arm, "linear" if arm.endswith("_linear") else "cat"))
+        g_frac = float(cfg.get("g", 0.10)) if arm.startswith("grounded") else 0.0
+        rows: list[dict] = []
+        parents, t0 = dict(founders), 0
+        st_path = _state_path(root, arm)
+        partial = out_dir / f"partial_{arm}_s{seed}.parquet"
+        if bool(cfg.get("resume", True)) and st_path.exists():
+            st = json.loads(st_path.read_text())
+            if all(Path(p, "adapter_config.json").exists() for p in st["parents"].values()):
+                parents, t0 = dict(st["parents"]), int(st["generation"])
+                if partial.exists():
+                    rows = pd.read_parquet(partial).to_dict("records")
+                print(f"[{arm}] resuming at generation {t0}", flush=True)
+
+        for t in range(t0, G + 1):
+            rng = np.random.default_rng([seed, a_idx, t])
+            tag = {"experiment": name, "arm": arm, "seed": seed, "generation": t, "operator": op}
+
+            model, tok = load_specialists(base, [parents["math"], parents["code"]])
+
+            # ---- own-skill retention q_t, and each parent alone on the composed target
+            model.set_adapter("a0")
+            q_math = score_gsm8k(gen(model, tok, [x.prompt for x in gsm]), gsm)
+            math_comp = gen(model, tok, hard_prompts)
+            _, math_ok, math_exec = score_composed(math_comp, hard)
+            probe_math = gen(model, tok, probes)
+            model.set_adapter("a1")
+            q_code = score_mbpp(gen(model, tok, [x["prompt"] for x in mbpp]), mbpp)
+            code_comp = gen(model, tok, hard_prompts)
+            _, code_ok, code_exec = score_composed(code_comp, hard)
+            probe_code = gen(model, tok, probes)
+
+            rho_behav = float(np.mean([_normalise(a) == _normalise(b)
+                                       for a, b in zip(probe_math, probe_code)]))
+            rho_geom = float(delta_geometry(parents["math"], parents["code"])["delta_cos"])
+
+            # ---- merge and measure the composition (optionally selecting the weights on val)
+            chosen = weight_grid[0]
+            if hard_val and len(weight_grid) > 1:
+                best_v = -np.inf
+                for wi, w in enumerate(weight_grid):
+                    cn = f"cand{wi}"
+                    model.add_weighted_adapter(["a0", "a1"], w, cn, combination_type=op)
+                    model.set_adapter(cn)
+                    v, _, _ = score_composed(gen(model, tok, val_prompts), hard_val)
+                    if v > best_v:
+                        best_v, chosen = v, w
+                    model.set_adapter("a0"); model.delete_adapter(cn)
+                rows.append({**tag, "metric": "chosen_weight_math", "value": float(chosen[0])})
+            model.add_weighted_adapter(["a0", "a1"], chosen, "merged", combination_type=op)
+            model.set_adapter("merged")
+            merged_comp = gen(model, tok, hard_prompts)
+            comp_acc, merged_ok, merged_exec = score_composed(merged_comp, hard)
+            model.set_adapter("a0"); model.delete_adapter("merged")
+
+            best_parent = max(float(math_ok.mean()), float(code_ok.mean()))
+            surplus = comp_acc - best_parent
+            uex = union_exceedance(merged_ok, [math_ok, code_ok])
+            for metric, value in (
+                ("q_math", q_math), ("q_code", q_code),
+                ("rho_behav", rho_behav), ("rho_geom", rho_geom),
+                ("composed_acc", comp_acc), ("composed_exec", merged_exec),
+                ("parent_math_composed", float(math_ok.mean())),
+                ("parent_code_composed", float(code_ok.mean())),
+                ("parent_math_exec", math_exec), ("parent_code_exec", code_exec),
+                ("best_parent_composed", best_parent), ("surplus", surplus),
+                ("union_exceedance", uex),
+            ):
+                rows.append({**tag, "metric": metric, "value": float(value)})
+            print(f"[{arm}] gen {t}/{G}: composed {comp_acc:.3f} (best parent {best_parent:.3f}, "
+                  f"surplus {surplus:+.3f}, uex {uex:.3f}) q_math {q_math:.2f} q_code {q_code:.2f} "
+                  f"rho {rho_behav:.2f}", flush=True)
+
+            if t == G:
+                del model; torch.cuda.empty_cache()
+                break
+
+            # ---- reproduce: each lineage distils from its own gated answers (+ g real examples)
+            new_parents = {}
+            for li, lin in enumerate(LINEAGES):
+                pool = (math_train(k_inh, seed * 9001 + t * 31 + li, with_answers=False)
+                        if lin == "math" else
+                        code_train(k_inh, seed * 9001 + t * 31 + li, with_answers=False))
+                model.set_adapter(f"a{li}")
+                pool_prompts = [x.prompt for x in pool]
+                answers = gen(model, tok, pool_prompts)
+                if conf_gate is None:
+                    keep = np.ones(len(pool), bool)
+                else:
+                    conf = mean_logprob(model, tok, pool_prompts, answers,
+                                        batch_size=int(cfg.get("score_batch_size", 8)))
+                    keep = conf >= conf_gate
+                data = [Task(lin, x.prompt, a.strip()[:512])
+                        for x, a, kp in zip(pool, answers, keep) if kp and a.strip()]
+                n_self = len(data)
+                if g_frac > 0:                    # immigration: verified real examples, fresh each gen
+                    n_real = max(1, int(round(g_frac / (1 - g_frac) * n_self)))
+                    real = (math_train(n_real, seed * 7717 + t * 13 + li, with_answers=True)
+                            if lin == "math" else
+                            code_train(n_real, seed * 7717 + t * 13 + li, with_answers=True))
+                    data += [x for x in real if x.answer.strip()]
+                rows.append({**tag, "metric": f"n_inherit_{lin}", "value": float(n_self)})
+                rows.append({**tag, "metric": f"n_real_{lin}", "value": float(len(data) - n_self)})
+                d = root / arm / f"gen{t + 1}" / lin
+                if len(data) >= 8:
+                    train_lora_on_tasks(base, data, str(d), epochs=epochs,
+                                        seed=seed * 31 + t * 7 + li, r=r, alpha=alpha,
+                                        batch_size=tb, max_len=tlen)
+                else:                              # terminal degeneration: inherit unchanged
+                    shutil.copytree(parents[lin], d, dirs_exist_ok=True)
+                    rows.append({**tag, "metric": f"degenerate_{lin}", "value": 1.0})
+                new_parents[lin] = str(d)
+            del model; torch.cuda.empty_cache()
+
+            for lin in LINEAGES:                   # disk hygiene: drop the superseded generation
+                if parents[lin] != founders[lin]:
+                    shutil.rmtree(parents[lin], ignore_errors=True)
+            parents = new_parents
+            st_path.parent.mkdir(parents=True, exist_ok=True)
+            st_path.write_text(json.dumps({"generation": t + 1, "parents": parents}))
+            pd.DataFrame(rows).to_parquet(partial, index=False)
+
+        frames.append(pd.DataFrame(rows))
+    return pd.concat(frames, ignore_index=True)
diff --git a/src/llm/compose_data.py b/src/llm/compose_data.py
new file mode 100644
index 0000000..ceeedd3
--- /dev/null
+++ b/src/llm/compose_data.py
@@ -0,0 +1,170 @@
+"""Datasets and prompts for the composition experiment (prereg v3 §1.1).
+
+Two single-skill training corpora and three evaluation sets, all pinned to fixed subsets by seed so
+every generation sees *fresh* prompts from a *fixed* pool and no split ever leaks into another:
+
+* **math** lineage — trains on MetaMathQA (natural-language chain-of-thought); own-skill probe is
+  GSM8K test (numeric answer).
+* **code** lineage — trains on CodeAlpaca-20k (instruction → code); own-skill probe is MBPP
+  (sanitized) with execution against the reference tests.
+* **composed** target — GSM8k-Hard, program-aided: emit ``solution()``, execute, compare numerically.
+  Out-of-domain for both lineages, which is the point (LoRA Soups, COLING 2025).
+
+The composed prompt is fixed here rather than tuned per model, so the operator contrast is never
+confounded with prompt search.
+"""
+
+from __future__ import annotations
+
+from dataclasses import dataclass
+from functools import lru_cache
+
+import numpy as np
+
+from .tasks import Task
+
+COMPOSED_PROMPT = (
+    "{question}\n\n"
+    "Write a Python function `solution()` that takes no arguments and returns the numeric answer. "
+    "Reply with only the code, inside a ```python code block."
+)
+MATH_PROMPT = "{question}\n\nSolve this step by step, then give the final numeric answer after '####'."
+CODE_PROMPT = "{instruction}\n\nReply with only the Python code, inside a ```python code block."
+
+
+@dataclass(frozen=True)
+class ProgTask:
+    """A program-aided task: prompt, numeric target, and its source id."""
+
+    prompt: str
+    target: float
+    idx: int
+
+
+@lru_cache(maxsize=8)
+def _load(name: str, split: str, config: str | None = None):
+    from datasets import load_dataset
+    return load_dataset(name, config, split=split) if config else load_dataset(name, split=split)
+
+
+def _pick(n_total: int, n: int, seed: int) -> np.ndarray:
+    return np.random.default_rng(seed).choice(n_total, size=min(n, n_total), replace=False)
+
+
+def _split_pool(n_total: int, split: str) -> np.ndarray:
+    """Deterministic disjoint halves of an index pool.
+
+    The composed target's val split screens merge weights and the test split reports them; with a
+    pool as small as MATH-500's 271 usable items, sampling both by seed alone would overlap and leak
+    selection into the reported number. Splitting first makes the disjointness structural.
+    """
+    idx = np.random.default_rng(20260907).permutation(n_total)
+    cut = int(0.7 * n_total)
+    return idx[:cut] if split == "test" else idx[cut:]
+
+
+def gsm_hard(n: int, seed: int, split: str = "test") -> list[ProgTask]:
+    """The composed target: GSM8k-Hard, program-aided. ``split`` picks a disjoint val/test half."""
+    d = _load("reasoning-machines/gsm-hard", "train")
+    pool = _split_pool(len(d), split)
+    return [ProgTask(COMPOSED_PROMPT.format(question=d[int(pool[j])]["input"]),
+                     float(d[int(pool[j])]["target"]), int(pool[j]))
+            for j in _pick(len(pool), n, seed)]
+
+
+_FRAC = __import__("re").compile(r"-?\\d?frac\{(-?\d+)\}\{(-?\d+)\}")
+
+
+def _numeric_answer(a: str) -> float | None:
+    """Parse a MATH-500 answer to a float, or None if it is not a plain number/simple fraction."""
+    import re
+    a = (a.strip().replace("\\!", "").replace("{,}", "").replace(",", "")
+         .replace("\\%", "").replace("$", "").replace("\\dfrac", "\\frac"))
+    if re.fullmatch(r"-?\d+(\.\d+)?", a):
+        return float(a)
+    f = re.fullmatch(r"-?\\frac\{(-?\d+)\}\{(-?\d+)\}", a)
+    if f and int(f.group(2)) != 0:
+        v = int(f.group(1)) / int(f.group(2))
+        return -v if a.startswith("-") else v
+    return None
+
+
+def math500(n: int, seed: int, split: str = "test", min_level: int = 3) -> list[ProgTask]:
+    """Harder composed target: MATH-500 (competition maths), program-aided, numeric answers only.
+
+    The alternative target for when the base can already do the *reasoning* in GSM8k-Hard once code
+    removes the arithmetic burden (measured 2026-09-07: code-only 0.427 there). MetaMathQA is built
+    from GSM8K **and** MATH, so the math specialist is trained on exactly this reasoning while the
+    base is weak at it — which restores E8's premise that each parent supplies something scarce.
+    ``min_level`` filters MATH's 1–5 difficulty scale.
+    """
+    d = _load("HuggingFaceH4/MATH-500", "test")
+    pool = [(i, _numeric_answer(d[i]["answer"])) for i in range(len(d))]
+    pool = [(i, v) for i, v in pool if v is not None and int(d[i]["level"]) >= min_level]
+    half = _split_pool(len(pool), split)
+    idx = [int(half[j]) for j in _pick(len(half), n, seed)]
+    return [ProgTask(COMPOSED_PROMPT.format(question=d[pool[j][0]]["problem"]),
+                     float(pool[j][1]), int(pool[j][0])) for j in idx]
+
+
+def composed_target(kind: str, n: int, seed: int, split: str = "test", **kw) -> list[ProgTask]:
+    """Dispatch the composed target by name: ``gsm_hard`` (default) or ``math500``."""
+    return {"gsm_hard": gsm_hard, "math500": math500}[kind](n, seed, split=split, **kw)
+
+
+def gsm8k_probe(n: int, seed: int) -> list[Task]:
+    """Math own-skill probe: GSM8K test, answer after '####'."""
+    d = _load("openai/gsm8k", "test", "main")
+    out = []
+    for i in _pick(len(d), n, seed):
+        r = d[int(i)]
+        out.append(Task("math", MATH_PROMPT.format(question=r["question"]),
+                        r["answer"].split("####")[-1].strip().replace(",", "")))
+    return out
+
+
+def mbpp_probe(n: int, seed: int) -> list[dict]:
+    """Code own-skill probe: MBPP sanitized, with the reference asserts as the verifier."""
+    d = _load("google-research-datasets/mbpp", "test", "sanitized")
+    out = []
+    for i in _pick(len(d), n, seed):
+        r = d[int(i)]
+        out.append({"prompt": CODE_PROMPT.format(instruction=r["prompt"]),
+                    "tests": list(r["test_list"]), "imports": list(r.get("test_imports") or []),
+                    "idx": int(i)})
+    return out
+
+
+def math_train(n: int, seed: int, *, with_answers: bool) -> list[Task]:
+    """MetaMathQA examples. ``with_answers=False`` returns prompts only (self-consumption pool)."""
+    d = _load("meta-math/MetaMathQA", "train")
+    out = []
+    for i in _pick(len(d), n, seed):
+        r = d[int(i)]
+        # Reason: MetaMathQA responses end "The answer is: X"; rewrite to the '####' convention the
+        # probe grades on, so training format and evaluation format agree.
+        body = r["response"].strip()
+        ans = body.split("The answer is:")[-1].strip()
+        target = (body[:480] + f"\n#### {ans}") if with_answers else ""
+        out.append(Task("math", MATH_PROMPT.format(question=r["query"]), target))
+    return out
+
+
+def code_train(n: int, seed: int, *, with_answers: bool) -> list[Task]:
+    """CodeAlpaca examples (input-free subset, so the prompt is self-contained)."""
+    d = _load("sahil2801/CodeAlpaca-20k", "train")
+    idx = [int(i) for i in _pick(len(d), n * 3, seed) if not d[int(i)]["input"].strip()][:n]
+    return [Task("code", CODE_PROMPT.format(instruction=d[i]["instruction"]),
+                 d[i]["output"].strip()[:512] if with_answers else "") for i in idx]
+
+
+def probe_pool(n: int, seed: int) -> list[str]:
+    """Shared prompts both lineages answer, for the behavioural correlation rho_t (§1.6).
+
+    Half composed-task prompts, half a mix of each lineage's own domain — so rho reflects agreement
+    on ground both lineages actually walk on, not on prompts only one has ever seen.
+    """
+    half = n // 2
+    return ([t.prompt for t in gsm_hard(half, seed + 71)]
+            + [t.prompt for t in gsm8k_probe(half // 2, seed + 72)]
+            + [t.prompt for t in code_train(n - half - half // 2, seed + 73, with_answers=False)])
diff --git a/src/llm/curriculum.py b/src/llm/curriculum.py
new file mode 100644
index 0000000..235e917
--- /dev/null
+++ b/src/llm/curriculum.py
@@ -0,0 +1,494 @@
+"""`llm_curriculum` — does a society accumulate more than its members? (prereg v4)
+
+Continual learning in a population. ``L`` lineages of LoRA adapters on a shared frozen base each meet
+a **new task family every generation** and learn it on verified real data, inheriting their parent's
+adapter rather than restarting from the base — so what a lineage acquires is passed on as *structure*
+(the Lamarckian channel v3 lacked). Old families are kept alive by replay, and lineages periodically
+**recombine**.
+
+The curriculum is a cyclic Latin square: every lineage sees all ``F`` families but in a different
+order, so at generation ``t`` each has met ``t`` families and (early on) *different* ones.
+Complementarity is therefore a known function of generation — maximal at ``t = F/L``, zero at
+``t = F`` — which lets the framework predict the *shape* of any recombination advantage, not just its
+sign (prereg §4, H6).
+
+Arms differ only in who a lineage recombines with and how old skills are maintained:
+``isolated`` (nobody) · ``society`` (a decorrelated contemporary) · ``society_dry`` (contemporary,
+self-generated replay) · ``seed_bank`` (its own ancestor at ``t-3`` — temporal rather than spatial
+complementarity). Three single-shot baselines at matched budget make the multigenerational claim
+falsifiable: ``sequential``, ``single_shot_merge``, ``joint``.
+"""
+
+from __future__ import annotations
+
+import json
+import shutil
+from pathlib import Path
+
+import numpy as np
+import pandas as pd
+
+from . import families as _families  # noqa: F401  (registers the extra task families)
+from .tasks import Task, make_tasks, verify as _verify_proc
+from .curriculum_data import REAL_FAMILIES, real_tasks, verify_real
+
+
+def tasks_of(family: str, n: int, seed: int, split: str = "train") -> list[Task]:
+    """Dataset-backed families draw from a real split; procedural families are generated by seed."""
+    if family in REAL_FAMILIES:
+        return real_tasks(family, n, seed, split)
+    return make_tasks(family, n, seed=seed)
+
+
+def verify(output: str, task: Task) -> bool:
+    """Family-appropriate verifier: dataset-backed families carry their own; the rest exact-match."""
+    return verify_real(output, task) if task.family in REAL_FAMILIES else _verify_proc(output, task)
+
+ARMS = ("isolated", "society", "society_dry", "seed_bank")
+BASELINES = ("sequential", "single_shot_merge", "joint")
+
+
+# ------------------------------------------------------------------ pure schedule / bookkeeping
+
+
+def latin_square(n_lineages: int, n_families: int) -> list[list[int]]:
+    """Curriculum orders: lineage ``i`` starts at family ``i * F / L`` and cycles.
+
+    With L=3, F=9 the lineages hold disjoint family sets at generation 3 ({0,1,2}, {3,4,5}, {6,7,8})
+    and identical sets at generation 9 — complementarity by construction, decaying on a known
+    schedule.
+    """
+    if n_families % n_lineages:
+        raise ValueError(f"{n_families} families must divide evenly among {n_lineages} lineages")
+    step = n_families // n_lineages
+    return [[(i * step + t) % n_families for t in range(n_families)] for i in range(n_lineages)]
+
+
+def complementarity(orders: list[list[int]], t: int) -> float:
+    """Mean pairwise Jaccard *distance* between lineages' seen-family sets after ``t`` generations.
+
+    1.0 = fully disjoint curricula, 0.0 = identical. The predictor H6 tests the advantage against.
+    """
+    seen = [set(o[:t]) for o in orders]
+    if t == 0 or len(seen) < 2:
+        return 0.0
+    ds = [1.0 - len(a & b) / len(a | b) for i, a in enumerate(seen) for b in seen[i + 1:]]
+    return float(np.mean(ds))
+
+
+def resolve_orders(cfg: dict, fams: list[str], n_lineages: int, generations: int) -> list[list[int]]:
+    """Per-lineage family orders (indices into ``fams``).
+
+    ``cfg["orders"]`` (a list of family-name lists, one per lineage) overrides the Latin square, so a
+    curriculum can decouple partner complementarity from generation number (the Latin square makes
+    them collinear). Every name must be a configured family and every order must cover the run.
+    """
+    if not cfg.get("orders"):
+        return latin_square(n_lineages, len(fams))
+    orders = cfg["orders"]
+    if len(orders) != n_lineages:
+        raise ValueError(f"orders has {len(orders)} lineages, config has {n_lineages}")
+    out = []
+    for o in orders:
+        bad = [f for f in o if f not in fams]
+        if bad:
+            raise ValueError(f"unknown families in orders: {bad}")
+        if len(o) < generations:
+            raise ValueError(f"order {o} shorter than {generations} generations")
+        out.append([fams.index(f) for f in o])
+    return out
+
+
+def replay_split(seen: list[int], n_replay: int) -> dict[int, int]:
+    """Split a fixed replay budget evenly across every family seen so far.
+
+    Fixed *total* (not per-family), so protection per family thins as the curriculum grows and
+    forgetting stays a live pressure — the realistic regime, and the one where recombination has
+    something to fix (prereg §8 decision 2).
+    """
+    if not seen or n_replay <= 0:
+        return {}
+    per = n_replay // len(seen)
+    rem = n_replay - per * len(seen)
+    return {f: per + (1 if k < rem else 0) for k, f in enumerate(seen)}
+
+
+def partner_for(arm: str, lineage: int, t: int, n_lineages: int, ancestor_depth: int = 3,
+                merge_until: int | None = None):
+    """Who does ``lineage`` recombine with this generation?
+
+    Returns ``("contemporary", j)``, ``("ancestor", t - depth)``, or ``None``. ``merge_until`` is
+    the forced-stop control: recombination is allowed only at generations ``t < merge_until``
+    (the fixed "merge early, then stop" schedule the declinable merge is compared against).
+    """
+    if arm == "isolated":
+        return None
+    if merge_until is not None and t >= merge_until:
+        return None
+    if arm == "seed_bank":
+        return ("ancestor", t - ancestor_depth) if t >= ancestor_depth else None
+    return ("contemporary", (lineage + 1) % n_lineages) if n_lineages > 1 else None
+
+
+def cull_step(scores: list[float]) -> tuple[int, int] | None:
+    """Truncation selection at fixed population size: ``(culled_slot, source_slot)``.
+
+    The lowest-scoring lineage is replaced by a copy of the highest-scoring one (differential
+    reproduction: the fittest genome leaves two descendants, the least fit none). Ties are left
+    alone, so a population of equals is never reshuffled. NaN scores are treated as the worst.
+
+    Args:
+        scores (list[float]): one fitness per lineage slot (all-families accuracy this generation).
+
+    Returns:
+        tuple[int, int] | None: (slot to overwrite, slot to copy from), or None when best == worst.
+    """
+    s = [(-np.inf if np.isnan(x) else float(x)) for x in scores]
+    worst, best = int(np.argmin(s)), int(np.argmax(s))
+    return None if s[best] <= s[worst] else (worst, best)
+
+
+def inherit_slot(i: int, j: int, adapters: list, history: list[list[str]], budget: list[int],
+                 archive: dict[tuple[int, int], str], t: int) -> None:
+    """Make slot ``i`` carry lineage ``j``'s genome: adapter path, taught families, example budget,
+    and the ancestry archive up to generation ``t`` (so a seed-bank partner follows the genome, not
+    the slot). Paths are aliased, never copied: every generation trains into a fresh ``gen{t}/lin{i}``
+    directory, so a shared path is read-only from here on."""
+    adapters[i] = adapters[j]
+    history[i] = list(history[j])
+    budget[i] = budget[j]
+    for k in range(t + 1):
+        if (j, k) in archive:
+            archive[(i, k)] = archive[(j, k)]
+
+
+def cumulative_accuracy(per_family: dict[str, float], seen: list[str]) -> float:
+    """Mean accuracy over the families a model is supposed to know (the primary outcome)."""
+    vals = [per_family[f] for f in seen if f in per_family and not np.isnan(per_family[f])]
+    return float(np.mean(vals)) if vals else float("nan")
+
+
+def forgetting(history: list[dict[str, float]], fam: str, learned_at: int, now: int) -> float:
+    """Drop in ``fam`` from the generation it was learned to ``now`` (positive = forgotten)."""
+    if learned_at >= len(history) or now >= len(history):
+        return float("nan")
+    a, b = history[learned_at].get(fam), history[now].get(fam)
+    return float("nan") if a is None or b is None else float(a - b)
+
+
+# ------------------------------------------------------------------ the GPU loop
+
+
+def _eval_all(model, tok, gen_fn, tests: dict[str, list[Task]]) -> dict[str, float]:
+    """Per-family exact-match accuracy over every family in the curriculum."""
+    out = {}
+    for fam, ts in tests.items():
+        outs = gen_fn(model, tok, [x.prompt for x in ts])
+        out[fam] = float(np.mean([verify(o, x) for o, x in zip(outs, ts)]))
+    return out
+
+
+def run_curriculum(cfg: dict) -> pd.DataFrame:
+    """Run every configured arm and baseline; return tidy long-form rows (resumable per arm)."""
+    import torch
+
+    from .evaluate import generate
+    from .merge import load_specialists
+    from .specialise import continue_lora_training, train_lora_on_tasks
+
+    name, base, seed = cfg["experiment"], cfg["base_model"], int(cfg["seed"])
+    fams = list(cfg["families"])
+    F, L = len(fams), int(cfg.get("lineages", 3))
+    G = int(cfg.get("generations", F))
+    arms = list(cfg.get("arms", ARMS))
+    baselines = list(cfg.get("baselines", []))
+    n_new = int(cfg.get("n_new", 300))
+    n_replay = int(cfg.get("n_replay", 150))
+    n_test = int(cfg.get("n_test", 60))
+    n_val = int(cfg.get("n_val", 30))
+    epochs = int(cfg.get("epochs", 3))
+    lr_new = float(cfg.get("lr", 1e-4))
+    depth = int(cfg.get("ancestor_depth", 3))
+    merge_weights = [list(w) for w in cfg.get("merge_weights", [[0.5, 0.5], [0.3, 0.7], [0.7, 0.3]])]
+    op = str(cfg.get("operator", "linear"))
+    allow_veto = bool(cfg.get("allow_veto", False))
+    cull = bool(cfg.get("cull", False))
+    merge_until = cfg.get("merge_until")
+    merge_until = None if merge_until is None else int(merge_until)
+    max_new = int(cfg.get("max_new_tokens", 32))
+    bs = int(cfg.get("batch_size", 32))
+    tb, tlen = int(cfg.get("train_batch_size", 2)), int(cfg.get("train_max_len", 448))
+    r, alpha = int(cfg.get("lora", {}).get("r", 16)), int(cfg.get("lora", {}).get("alpha", 32))
+    root = Path(cfg.get("adapters_dir", "models/llm")) / "curriculum" / f"{name}_s{seed}"
+    out_dir = Path(cfg.get("output", {}).get("dir", f"results/{name}"))
+    out_dir.mkdir(parents=True, exist_ok=True)
+
+    orders = resolve_orders(cfg, fams, L, G)
+    tests = {f: tasks_of(f, n_test, 1000 + i, "test") for i, f in enumerate(fams)}
+    vals = {f: tasks_of(f, n_val, 2000 + i, "train") for i, f in enumerate(fams)}
+
+    def gen(model, tok, prompts):
+        return generate(model, tok, prompts, max_new_tokens=max_new, batch_size=bs)
+
+    def train_data(fam_idx: int, seen_idx: list[int], t: int, lineage: int) -> tuple[list[Task], int]:
+        """New-family examples plus a replay split over families already seen. Returns (data, n)."""
+        data = tasks_of(fams[fam_idx], n_new, seed * 977 + t * 31 + fam_idx, "train")
+        for f, k in replay_split(seen_idx, n_replay).items():
+            data += tasks_of(fams[f], k, seed * 613 + t * 17 + f + lineage, "train")
+        return data, len(data)
+
+    rows: list[dict] = []        # every arm, returned at the end
+    arm_rows: list[dict] = []    # the arm currently running — what its partial file holds
+
+    def measure_base():
+        """Base model on every family, before any adapter — the format-transfer reference."""
+        from .evaluate import load_model
+        m, tk = load_model(base)
+        acc = _eval_all(m, tk, gen, tests)
+        del m
+        torch.cuda.empty_cache()
+        return acc
+
+    def record(arm: str, t: int, who: str, acc: dict, seen: list[str], budget: int, **extra):
+        tag = {"experiment": name, "arm": arm, "seed": seed, "generation": t, "model": who}
+        for f, v in acc.items():
+            arm_rows.append({**tag, "metric": f"acc_{f}", "value": v})
+        # Two different questions, both recorded, easily confused:
+        #   retention_seen — mean over families this model was TAUGHT: "of what you learned, how much
+        #                    do you still know?" It starts at ~1 family freshly learned and can only
+        #                    fall as the curriculum grows. This is the forgetting readout.
+        #   all_families   — mean over ALL F families in the curriculum: total capability, which is
+        #                    what ACCUMULATES. This is the pre-registered primary outcome (§4).
+        arm_rows.append({**tag, "metric": "retention_seen", "value": cumulative_accuracy(acc, seen)})
+        arm_rows.append({**tag, "metric": "all_families", "value": float(np.mean(list(acc.values())))})
+        arm_rows.append({**tag, "metric": "n_seen", "value": float(len(seen))})
+        arm_rows.append({**tag, "metric": "budget_examples", "value": float(budget)})
+        for k, v in extra.items():
+            arm_rows.append({**tag, "metric": k, "value": float(v)})
+
+    base_acc = measure_base()
+    for f, v in base_acc.items():
+        rows.append({"experiment": name, "arm": "base", "seed": seed, "generation": -1,
+                     "model": "base", "metric": f"acc_{f}", "value": v})
+    rows.append({"experiment": name, "arm": "base", "seed": seed, "generation": -1, "model": "base",
+                 "metric": "all_families", "value": float(np.mean(list(base_acc.values())))})
+    print(f"[base] all-families {np.mean(list(base_acc.values())):.3f}  "
+          + " ".join(f"{k}={v:.2f}" for k, v in base_acc.items()), flush=True)
+
+    # ---------------------------------------------------------------- society arms
+    for arm in arms:
+        arm_rows = []                                    # this arm's rows only
+        state = root / arm / "state.json"
+        partial = out_dir / f"partial_{arm}_s{seed}.parquet"
+        adapters: list[str | None] = [None] * L          # current adapter per lineage
+        history: list[list[str]] = [[] for _ in range(L)]
+        archive: dict[tuple[int, int], str] = {}         # (lineage, generation) -> adapter dir
+        budget = [0] * L
+        t0 = 0
+        if bool(cfg.get("resume", True)) and state.exists():
+            st = json.loads(state.read_text())
+            if all(a is None or Path(a, "adapter_config.json").exists() for a in st["adapters"]):
+                adapters, history, budget, t0 = st["adapters"], st["history"], st["budget"], st["t"]
+                archive = {tuple(map(int, k.split(","))): v for k, v in st["archive"].items()}
+                if partial.exists():
+                    arm_rows = pd.read_parquet(partial).to_dict("records")
+                print(f"[{arm}] resuming at generation {t0}", flush=True)
+
+        for t in range(t0, G):
+            for i in range(L):
+                fam_idx = orders[i][t]
+                seen_idx = list(dict.fromkeys(orders[i][k] for k in range(t)))
+                data, n = train_data(fam_idx, seen_idx, t, i)
+                budget[i] += n
+                d = root / arm / f"gen{t}" / f"lin{i}"
+                if adapters[i] is None:                   # generation 0: the founding adapter
+                    train_lora_on_tasks(base, data, str(d), epochs=epochs, r=r, alpha=alpha,
+                                        seed=seed * 41 + i, batch_size=tb, max_len=tlen)
+                else:                                     # inherit the parent's weights, then add
+                    continue_lora_training(base, adapters[i], data, str(d), epochs=epochs,
+                                           lr=lr_new, seed=seed * 41 + t * L + i, batch_size=tb,
+                                           max_len=tlen)
+                adapters[i] = str(d)
+                # Union with what the slot already carries: after a cull the slot holds a genome
+                # taught elsewhere, and those families stay "taught" (no-op for uncull arms).
+                history[i] = list(dict.fromkeys(history[i] + [fams[k] for k in seen_idx]
+                                                + [fams[fam_idx]]))
+                archive[(i, t)] = str(d)
+
+            # ---- recombination (after everyone has learned this generation's family)
+            merged: list[str | None] = [None] * L
+            model, tok = load_specialists(base, [a for a in adapters])
+            for i in range(L):
+                p = partner_for(arm, i, t, L, depth, merge_until)
+                if p is None:
+                    continue
+                kind, j = p
+                if kind == "ancestor":
+                    anc = archive.get((i, j))
+                    if anc is None:
+                        continue
+                    model.load_adapter(anc, adapter_name=f"anc{i}")
+                    names = [f"a{i}", f"anc{i}"]
+                else:
+                    names = [f"a{i}", f"a{j}"]
+                # directed recombination: weights screened on a held-out validation split.
+                # With `allow_veto`, "keep the parent unchanged" is itself a candidate offspring —
+                # a lineage may decline a merge that no weighting makes worthwhile. Without it the
+                # merge is obligate, which is what v5 tested and nobody would build.
+                seen_f = history[i]
+
+                def _val_score(adapter_name):
+                    model.set_adapter(adapter_name)
+                    acc = {f: float(np.mean([verify(o, x) for o, x in
+                                             zip(gen(model, tok, [x.prompt for x in vals[f]]), vals[f])]))
+                           for f in seen_f}
+                    return cumulative_accuracy(acc, seen_f)
+
+                veto_score = _val_score(f"a{i}") if allow_veto else -np.inf
+                best_w, best_v = merge_weights[0], -np.inf
+                for wi, w in enumerate(merge_weights):
+                    cn = f"c{i}_{wi}"
+                    model.add_weighted_adapter(names, w, cn, combination_type=op)
+                    model.set_adapter(cn)
+                    acc = {f: float(np.mean([verify(o, x) for o, x in
+                                             zip(gen(model, tok, [x.prompt for x in vals[f]]), vals[f])]))
+                           for f in seen_f}
+                    v = cumulative_accuracy(acc, seen_f)
+                    if v > best_v:
+                        best_v, best_w = v, w
+                    model.set_adapter(f"a{i}"); model.delete_adapter(cn)
+                if allow_veto:
+                    declined = best_v <= veto_score
+                    arm_rows.append({"experiment": name, "arm": arm, "seed": seed, "generation": t,
+                                     "model": f"lineage{i}", "metric": "veto_used",
+                                     "value": float(declined)})
+                    arm_rows.append({"experiment": name, "arm": arm, "seed": seed, "generation": t,
+                                     "model": f"lineage{i}", "metric": "veto_margin",
+                                     "value": float(best_v - veto_score)})
+                    if declined:                      # no merge improves on the parent — keep it
+                        if kind == "ancestor":
+                            model.delete_adapter(f"anc{i}")
+                        continue
+                mn = f"m{i}"
+                model.add_weighted_adapter(names, best_w, mn, combination_type=op)
+                model.set_adapter(mn)
+                md = root / arm / f"gen{t}" / f"merged{i}"
+                model.save_pretrained(str(md.parent), selected_adapters=[mn])
+                shutil.rmtree(md, ignore_errors=True)
+                shutil.move(str(md.parent / mn), str(md))
+                merged[i] = str(md)
+                model.set_adapter(f"a{i}"); model.delete_adapter(mn)
+                if kind == "ancestor":
+                    model.delete_adapter(f"anc{i}")
+
+            # ---- measure every lineage's deployed model on ALL families
+            for i in range(L):
+                use = merged[i] or adapters[i]
+                if merged[i]:
+                    model.load_adapter(use, adapter_name=f"dep{i}")
+                    model.set_adapter(f"dep{i}")
+                else:
+                    model.set_adapter(f"a{i}")
+                acc = _eval_all(model, tok, gen, tests)
+                record(arm, t, f"lineage{i}", acc, history[i], budget[i],
+                       complementarity=complementarity(orders, t + 1))
+                if merged[i]:
+                    model.set_adapter(f"a{i}"); model.delete_adapter(f"dep{i}")
+                adapters[i] = use                        # the merged offspring continues the lineage
+            del model; torch.cuda.empty_cache()
+
+            def _acc_of(i):
+                return {r["metric"][4:]: r["value"] for r in arm_rows
+                        if r["arm"] == arm and r["generation"] == t and r["model"] == f"lineage{i}"
+                        and r["metric"].startswith("acc_")}
+
+            # ---- differential reproduction: the least fit slot is re-founded from the fittest
+            if cull:
+                scores = [float(np.mean(list(_acc_of(i).values()))) for i in range(L)]
+                step = cull_step(scores)
+                for i in range(L):
+                    culled = step is not None and i == step[0]
+                    tag = {"experiment": name, "arm": arm, "seed": seed, "generation": t,
+                           "model": f"lineage{i}"}
+                    arm_rows.append({**tag, "metric": "culled", "value": float(culled)})
+                    arm_rows.append({**tag, "metric": "cull_source",
+                                     "value": float(step[1]) if culled else -1.0})
+                if step is not None:
+                    inherit_slot(step[0], step[1], adapters, history, budget, archive, t)
+                    print(f"[{arm}] gen {t}: culled lineage{step[0]} ({scores[step[0]]:.3f}), "
+                          f"re-founded from lineage{step[1]} ({scores[step[1]]:.3f})", flush=True)
+
+            state.parent.mkdir(parents=True, exist_ok=True)
+            state.write_text(json.dumps({"adapters": adapters, "history": history, "budget": budget,
+                                         "t": t + 1,
+                                         "archive": {f"{a},{b}": v for (a, b), v in archive.items()}}))
+            pd.DataFrame(arm_rows).to_parquet(partial, index=False)
+
+            best = max(float(np.mean(list(_acc_of(i).values()))) for i in range(L))
+            ret = max(cumulative_accuracy(_acc_of(i), history[i]) for i in range(L))
+            print(f"[{arm}] gen {t}/{G - 1}: ALL-FAMILIES {best:.3f} (retention-of-taught {ret:.3f})  "
+                  f"complementarity {complementarity(orders, t + 1):.2f}  budget {budget[0]}",
+                  flush=True)
+
+        rows += arm_rows                                 # fold the finished arm into the run
+
+    # ---------------------------------------------------------------- single-shot baselines
+    arm_rows = rows                                      # baselines append straight to the run
+    for bl in baselines:
+        d = root / "baselines" / bl
+        chunk = F // L
+        if bl == "joint":
+            data = sum([tasks_of(f, (n_new + n_replay) * G // F, seed * 811 + i, "train")
+                        for i, f in enumerate(fams)], [])
+            train_lora_on_tasks(base, data, str(d), epochs=epochs, r=r, alpha=alpha,
+                                seed=seed * 53, batch_size=tb, max_len=tlen)
+            model, tok = load_specialists(base, [str(d)])
+            record(bl, G - 1, "baseline", _eval_all(model, tok, gen, tests), fams, len(data))
+            del model; torch.cuda.empty_cache()
+        elif bl == "sequential":
+            cur, used = None, 0
+            for t, f in enumerate(fams):
+                data, n = train_data(t, list(range(t)), t, 0); used += n
+                dd = d / f"step{t}"
+                if cur is None:
+                    train_lora_on_tasks(base, data, str(dd), epochs=epochs, r=r, alpha=alpha,
+                                        seed=seed * 59, batch_size=tb, max_len=tlen)
+                else:
+                    continue_lora_training(base, cur, data, str(dd), epochs=epochs, lr=lr_new,
+                                           seed=seed * 59 + t, batch_size=tb, max_len=tlen)
+                cur = str(dd)
+            model, tok = load_specialists(base, [cur])
+            record(bl, G - 1, "baseline", _eval_all(model, tok, gen, tests), fams, used)
+            del model; torch.cuda.empty_cache()
+        elif bl == "single_shot_merge":
+            specs, used = [], 0
+            for i in range(L):
+                mine = [orders[i][k] for k in range(F)][:chunk] if chunk else []
+                data = sum([tasks_of(fams[k], (n_new + n_replay) * G // F,
+                                     seed * 733 + k, "train") for k in mine], [])
+                used += len(data)
+                dd = d / f"spec{i}"
+                train_lora_on_tasks(base, data, str(dd), epochs=epochs, r=r, alpha=alpha,
+                                    seed=seed * 67 + i, batch_size=tb, max_len=tlen)
+                specs.append(str(dd))
+            model, tok = load_specialists(base, specs)
+            best_w, best_v, wgrid = None, -np.inf, cfg.get("baseline_weights", [[1 / L] * L])
+            for wi, w in enumerate(wgrid):               # same directed selection the arms get
+                cn = f"bl{wi}"
+                model.add_weighted_adapter([f"a{i}" for i in range(L)], list(w), cn,
+                                           combination_type=op)
+                model.set_adapter(cn)
+                acc = {f: float(np.mean([verify(o, x) for o, x in
+                                         zip(gen(model, tok, [x.prompt for x in vals[f]]), vals[f])]))
+                       for f in fams}
+                v = cumulative_accuracy(acc, fams)
+                if v > best_v:
+                    best_v, best_w = v, list(w)
+                model.set_adapter("a0"); model.delete_adapter(cn)
+            model.add_weighted_adapter([f"a{i}" for i in range(L)], best_w, "blm",
+                                       combination_type=op)
+            model.set_adapter("blm")
+            record(bl, G - 1, "baseline", _eval_all(model, tok, gen, tests), fams, used)
+            del model; torch.cuda.empty_cache()
+
+    return pd.DataFrame(rows)
diff --git a/src/llm/curriculum_data.py b/src/llm/curriculum_data.py
new file mode 100644
index 0000000..9401cd4
--- /dev/null
+++ b/src/llm/curriculum_data.py
@@ -0,0 +1,187 @@
+"""A real curriculum: naturally heterogeneous tasks with distinct answer formats (prereg v4/v5).
+
+Why this exists. v2's nine procedural families could not serve as a curriculum: they share one
+answer convention (so the first family teaches the format for all nine — the base's 0.094 became 0.417
+after *one* family), were calibrated for low mutual conflict (so learning one never damaged another
+and there was nothing to forget except one confusable pair), and the base was merely unformatted
+rather than incapable. Continual learning needs the opposite on all three counts, which is why the
+literature's benchmarks use tasks like these.
+
+Every family here is drawn from a public dataset with a **train** split (acquisition and replay) and a
+disjoint **test** split (evaluation), and each has its own answer format and verifier:
+
+| family | source | format | verifier |
+|---|---|---|---|
+| gsm8k | openai/gsm8k | number | last number, numeric tolerance |
+| mbpp | google-research-datasets/mbpp (full) | Python function | execute against reference asserts |
+| boolq | google/boolq | yes / no | label |
+| mnli | nyu-mll/glue mnli | entailment / neutral / contradiction | label |
+| sst2 | nyu-mll/glue sst2 | positive / negative | label |
+| csqa | tau/commonsense_qa | letter A–E | label |
+| arc | allenai/ai2_arc ARC-Easy | letter A–D | label |
+| winogrande | allenai/winogrande xl | option 1 / 2 | label |
+| squad | rajpurkar/squad | extractive span | normalised exact match against gold aliases |
+| nq_open | google-research-datasets/nq_open | short free text | normalised exact match against aliases |
+| hellaswag | Rowan/hellaswag | letter A–D | label |
+
+Selection into the curriculum is by calibration (base ≤ 0.40, specialist ≥ 0.60, and the
+single-lineage zero-replay probe must show mean forgetting ≥ 0.15), not by preference.
+"""
+
+from __future__ import annotations
+
+import json
+import re
+import string
+from functools import lru_cache
+
+import numpy as np
+
+from .execute import extract_code, numeric_match, run_solution
+from .tasks import Task, _normalise
+
+# ------------------------------------------------------------------ registry
+
+FORMATS = {
+    "gsm8k": "number", "mbpp": "code", "boolq": "label", "mnli": "label", "sst2": "label",
+    "csqa": "label", "arc": "label", "winogrande": "label", "squad": "span", "nq_open": "text",
+    "hellaswag": "label",
+}
+REAL_FAMILIES = tuple(FORMATS)
+
+_SRC = {
+    "gsm8k": ("openai/gsm8k", "main", "train", "test"),
+    "mbpp": ("google-research-datasets/mbpp", "full", "train", "test"),
+    "boolq": ("google/boolq", None, "train", "validation"),
+    "mnli": ("nyu-mll/glue", "mnli", "train", "validation_matched"),
+    "sst2": ("nyu-mll/glue", "sst2", "train", "validation"),
+    "csqa": ("tau/commonsense_qa", None, "train", "validation"),
+    "arc": ("allenai/ai2_arc", "ARC-Easy", "train", "test"),
+    "winogrande": ("allenai/winogrande", "winogrande_xl", "train", "validation"),
+    "squad": ("rajpurkar/squad", None, "train", "validation"),
+    "nq_open": ("google-research-datasets/nq_open", None, "train", "validation"),
+    "hellaswag": ("Rowan/hellaswag", None, "train", "validation"),
+}
+
+
+@lru_cache(maxsize=32)
+def _load(family: str, split: str):
+    from datasets import load_dataset
+    name, cfg, tr, te = _SRC[family]
+    sp = tr if split == "train" else te
+    return load_dataset(name, cfg, split=sp) if cfg else load_dataset(name, split=sp)
+
+
+# ------------------------------------------------------------------ per-family formatting
+
+_L = "ABCDE"
+
+
+def _fmt(family: str, r: dict) -> Task:
+    if family == "gsm8k":
+        ans = r["answer"].strip()
+        return Task(family, f"{r['question']}\n\nSolve step by step, then give the final numeric "
+                    f"answer after '####'.", ans[:480] if "####" in ans[-12:] else
+                    ans[:440] + "\n#### " + ans.split("####")[-1].strip())
+    if family == "mbpp":
+        tests = list(r["test_list"])
+        sig = tests[0].split("assert ")[-1].split("(")[0].strip() if tests else "solution"
+        prompt = (f"{r['text']}\n\nWrite the Python function `{sig}`. Reply with only the code, "
+                  f"inside a ```python code block.")
+        return Task(family, prompt, "```python\n" + r["code"].strip() + "\n```",
+                    json.dumps({"tests": tests, "setup": r.get("test_setup_code", "") or ""}))
+    if family == "boolq":
+        return Task(family, f"Passage: {r['passage'][:900]}\n\nQuestion: {r['question']}?\n\n"
+                    f"Answer yes or no.", "yes" if r["answer"] else "no")
+    if family == "mnli":
+        lab = ["entailment", "neutral", "contradiction"][int(r["label"])]
+        return Task(family, f"Premise: {r['premise']}\nHypothesis: {r['hypothesis']}\n\nDoes the "
+                    f"premise entail the hypothesis? Answer entailment, neutral, or contradiction.", lab)
+    if family == "sst2":
+        return Task(family, f"Review: {r['sentence'].strip()}\n\nIs the sentiment positive or "
+                    f"negative? Answer with one word.", "positive" if r["label"] == 1 else "negative")
+    if family == "csqa":
+        ch = r["choices"]
+        opts = "\n".join(f"{l}. {t}" for l, t in zip(ch["label"], ch["text"]))
+        return Task(family, f"{r['question']}\n{opts}\n\nAnswer with the letter only.", r["answerKey"])
+    if family == "arc":
+        ch = r["choices"]
+        labels = [("ABCD"[i] if l.isdigit() else l) for i, l in enumerate(ch["label"])]
+        key = r["answerKey"]; key = "ABCD"[int(key) - 1] if key.isdigit() else key
+        opts = "\n".join(f"{l}. {t}" for l, t in zip(labels, ch["text"]))
+        return Task(family, f"{r['question']}\n{opts}\n\nAnswer with the letter only.", key)
+    if family == "winogrande":
+        return Task(family, f"{r['sentence']}\n\nWhat does the blank refer to?\n1. {r['option1']}\n"
+                    f"2. {r['option2']}\n\nAnswer 1 or 2.", str(r["answer"]))
+    if family == "squad":
+        golds = list(dict.fromkeys(r["answers"]["text"]))
+        return Task(family, f"Context: {r['context'][:1200]}\n\nQuestion: {r['question']}\n\n"
+                    f"Answer with the exact phrase from the context.", golds[0],
+                    json.dumps({"aliases": golds}))
+    if family == "nq_open":
+        golds = list(dict.fromkeys(r["answer"]))
+        return Task(family, f"Question: {r['question']}?\n\nAnswer in a few words.", golds[0],
+                    json.dumps({"aliases": golds}))
+    if family == "hellaswag":
+        ends = list(r["endings"])
+        opts = "\n".join(f"{_L[i]}. {e}" for i, e in enumerate(ends))
+        return Task(family, f"{r['ctx']}\n\nWhich ending is most plausible?\n{opts}\n\nAnswer with "
+                    f"the letter only.", _L[int(r["label"])])
+    raise KeyError(family)
+
+
+def real_tasks(family: str, n: int, seed: int, split: str = "train") -> list[Task]:
+    """``n`` tasks from ``family``'s ``split``, chosen deterministically by ``seed``."""
+    d = _load(family, split)
+    idx = np.random.default_rng(seed).choice(len(d), size=min(n, len(d)), replace=False)
+    return [_fmt(family, d[int(i)]) for i in idx]
+
+
+# ------------------------------------------------------------------ verifiers
+
+_ART = re.compile(r"\b(a|an|the)\b")
+_NUM = re.compile(r"-?\d[\d,]*\.?\d*")
+
+
+def _squad_norm(s: str) -> str:
+    s = s.lower()
+    s = "".join(c for c in s if c not in string.punctuation)
+    s = _ART.sub(" ", s)
+    return " ".join(s.split())
+
+
+def _last_number(text: str) -> float | None:
+    for tok in reversed(_NUM.findall(text)):
+        try:
+            return float(tok.replace(",", "").rstrip("."))
+        except ValueError:
+            continue
+    return None
+
+
+def _first_line_answer(output: str) -> str:
+    """Model outputs for short-answer formats: take the first non-empty line, strip a leading label."""
+    for line in output.strip().splitlines():
+        line = line.strip()
+        if line:
+            return re.sub(r"^(answer|final answer)\s*[:\-]\s*", "", line, flags=re.I).strip()
+    return ""
+
+
+def verify_real(output: str, task: Task) -> bool:
+    """Family-appropriate correctness for a dataset-backed task."""
+    kind = FORMATS[task.family]
+    if kind == "number":
+        got = _last_number(output.split("####")[-1] if "####" in output else output)
+        want = _last_number(task.answer.split("####")[-1])
+        return got is not None and want is not None and numeric_match(got, want)
+    if kind == "code":
+        meta = json.loads(task.meta or "{}")
+        prog = "\n".join([meta.get("setup", ""), extract_code(output)] + list(meta.get("tests", []))
+                         + ["def solution():\n    return 1"])
+        return run_solution(prog, timeout_s=6.0).ok
+    if kind == "label":
+        return _normalise(_first_line_answer(output)) == _normalise(task.answer)
+    aliases = json.loads(task.meta or "{}").get("aliases", [task.answer])
+    got = _squad_norm(_first_line_answer(output))
+    return bool(got) and any(got == _squad_norm(a) for a in aliases)
diff --git a/src/llm/evaluate.py b/src/llm/evaluate.py
index edd8c56..48ff95b 100644
--- a/src/llm/evaluate.py
+++ b/src/llm/evaluate.py
@@ -29,6 +29,20 @@ def load_model(name: str, device: str = "cuda", adapter_dir: str | None = None):
     return model, tok
 
 
+def format_prompt(tok, prompt: str) -> str:
+    """Render one user prompt to text, identically for training and inference.
+
+    Instruct checkpoints get their own chat template. Base checkpoints (no template — the regime the
+    composition experiment needs, since an instruction-tuned base already has the skills the
+    specialists are supposed to supply) get a plain instruction/response format. Training and
+    generation must agree on this or the adapter learns a format it is never evaluated in.
+    """
+    if getattr(tok, "chat_template", None):
+        return tok.apply_chat_template([{"role": "user", "content": prompt}],
+                                       add_generation_prompt=True, tokenize=False)
+    return f"### Instruction:\n{prompt}\n\n### Response:\n"
+
+
 def generate(model, tok, prompts: list[str], max_new_tokens: int = 24,
              batch_size: int = 32, device: str = "cuda") -> list[str]:
     """Greedy chat-formatted batched generation; returns the decoded completions."""
@@ -37,9 +51,8 @@ def generate(model, tok, prompts: list[str], max_new_tokens: int = 24,
     outs: list[str] = []
     for i in range(0, len(prompts), batch_size):
         chunk = prompts[i:i + batch_size]
-        msgs = [[{"role": "user", "content": p}] for p in chunk]
-        enc = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt",
-                                      return_dict=True, padding=True).to(device)
+        enc = tok([format_prompt(tok, p) for p in chunk], return_tensors="pt", padding=True,
+                  add_special_tokens=False).to(device)
         with torch.no_grad():
             gen = model.generate(**enc, max_new_tokens=max_new_tokens, do_sample=False,
                                  pad_token_id=tok.pad_token_id)
diff --git a/src/llm/execute.py b/src/llm/execute.py
new file mode 100644
index 0000000..4ddd38f
--- /dev/null
+++ b/src/llm/execute.py
@@ -0,0 +1,164 @@
+"""Sandboxed execution verifier for program-aided answers (prereg v3 §1.1, blueprint §3.6).
+
+The composed task is *program-aided* math: the model emits Python defining ``solution()``, the code is
+run, and its return value is compared numerically to the reference. Execution is the verifier — the
+one place in this tier where something outside the model population decides what is true.
+
+**Threat model, stated honestly.** The code comes from a small instruction-tuned model answering maths
+questions, so the realistic hazards are accidental: runaway loops, unbounded allocation, stray file
+writes, a fork bomb. Those are contained by running each snippet in a fresh subprocess with CPU,
+address-space, file-size and process-count rlimits, a wall-clock timeout, an empty temporary working
+directory, and a stripped environment, launched with ``-I -S`` (isolated, no site imports). This is
+*not* a security boundary against an adversary who controls the model — it does not use namespaces,
+seccomp, or a container, and generated code could still open a socket. Do not point this at
+untrusted model output without adding one of those.
+"""
+
+from __future__ import annotations
+
+import json
+import os
+import re
+import subprocess
+import sys
+import tempfile
+from dataclasses import dataclass
+
+_FENCE = re.compile(r"```(?:python|py)?\s*(.*?)```", re.S | re.I)
+
+_DRIVER = '''
+import json, sys, os, resource
+resource.setrlimit(resource.RLIMIT_AS, ({mem}, {mem}))
+resource.setrlimit(resource.RLIMIT_CPU, ({cpu}, {cpu}))
+resource.setrlimit(resource.RLIMIT_FSIZE, (1 << 20, 1 << 20))
+try:
+    resource.setrlimit(resource.RLIMIT_NPROC, (64, 64))
+except (ValueError, OSError):
+    pass
+
+_SRC = open({path!r}).read()          # read before the hook goes up; hooks cannot be removed
+_JAIL = os.path.realpath({jail!r})
+_BLOCKED = ("socket.socket", "socket.connect", "socket.getaddrinfo", "subprocess.Popen",
+            "os.system", "os.exec", "os.fork", "os.posix_spawn", "shutil.rmtree", "ftplib.connect",
+            "urllib.Request", "webbrowser.open")
+
+def _guard(event, args):
+    if event == "open":
+        mode = str(args[1]) if len(args) > 1 and args[1] else "r"
+        if any(c in mode for c in "wxa+"):
+            p = os.path.realpath(str(args[0]))
+            if not p.startswith(_JAIL):
+                raise PermissionError("sandbox: write outside jail: " + p)
+    elif event.startswith(_BLOCKED):
+        raise PermissionError("sandbox: blocked " + event)
+
+sys.addaudithook(_guard)
+
+_out = {{"status": "ok", "value": None}}
+try:
+    _ns = {{}}
+    exec(compile(_SRC, "solution.py", "exec"), _ns)
+    fn = _ns.get("solution")
+    if fn is None:
+        _out = {{"status": "no_solution", "value": None}}
+    else:
+        v = fn()
+        _out = {{"status": "ok", "value": v if isinstance(v, (int, float, bool)) else str(v)}}
+except MemoryError:
+    _out = {{"status": "memory", "value": None}}
+except RecursionError:
+    _out = {{"status": "recursion", "value": None}}
+except BaseException as e:
+    _out = {{"status": "error:" + type(e).__name__, "value": None}}
+sys.stdout.write("\\x00RESULT\\x00" + json.dumps(_out, default=str))
+'''
+
+
+@dataclass(frozen=True)
+class ExecResult:
+    """Outcome of running one generated snippet."""
+
+    ok: bool                  # solution() ran and returned a value
+    value: float | None       # numeric return value, if it could be coerced
+    status: str               # ok | no_code | no_solution | timeout | memory | recursion | error:Type
+
+
+def extract_code(text: str) -> str:
+    """Pull the Python out of a completion: fenced block if present, else the raw text.
+
+    Keeps only up to the last line that still looks like code, so trailing prose ("This function
+    computes…") does not become a SyntaxError.
+    """
+    m = _FENCE.findall(text)
+    body = m[-1] if m else text
+    lines = body.splitlines()
+    while lines and not lines[-1].strip():
+        lines.pop()
+    return "\n".join(lines).strip()
+
+
+def run_solution(code: str, *, timeout_s: float = 6.0, mem_mb: int = 768,
+                 cpu_s: int = 5) -> ExecResult:
+    """Run ``code`` (which should define ``solution()``) in a sandboxed subprocess.
+
+    Args:
+        code (str): the snippet, already extracted from any markdown fence.
+        timeout_s (float): wall-clock limit; the process is killed past it.
+        mem_mb (int): address-space limit inside the child.
+        cpu_s (int): CPU-time limit inside the child.
+
+    Returns:
+        ExecResult: ``ok`` iff ``solution()`` returned; ``value`` coerced to float where possible.
+    """
+    if not code.strip():
+        return ExecResult(False, None, "no_code")
+    with tempfile.TemporaryDirectory() as tmp:
+        src = os.path.join(tmp, "solution.py")
+        with open(src, "w") as fh:
+            fh.write(code)
+        drv = os.path.join(tmp, "_driver.py")
+        with open(drv, "w") as fh:
+            fh.write(_DRIVER.format(mem=mem_mb * 1024 * 1024, cpu=cpu_s, path=src, jail=tmp))
+        try:
+            proc = subprocess.run(
+                [sys.executable, "-I", "-S", drv],
+                cwd=tmp, capture_output=True, text=True, timeout=timeout_s,
+                env={"PATH": "/usr/bin:/bin", "HOME": tmp, "TMPDIR": tmp,
+                     "PYTHONHASHSEED": "0", "OPENBLAS_NUM_THREADS": "1"},
+            )
+        except subprocess.TimeoutExpired:
+            return ExecResult(False, None, "timeout")
+        except OSError as e:                                  # spawn failure — infrastructure, not model
+            return ExecResult(False, None, f"error:{type(e).__name__}")
+        marker = proc.stdout.rfind("\x00RESULT\x00")
+        if marker < 0:
+            # Killed by a signal with no result: the CPU rlimit (SIGXCPU) fires before the wall
+            # clock, so a runaway loop lands here — report it as the timeout it is.
+            return ExecResult(False, None, "timeout" if proc.returncode < 0 else "error:NoResult")
+        try:
+            out = json.loads(proc.stdout[marker + len("\x00RESULT\x00"):])
+        except json.JSONDecodeError:
+            return ExecResult(False, None, "error:BadJSON")
+        if out["status"] != "ok":
+            return ExecResult(False, None, out["status"])
+        try:
+            return ExecResult(True, float(out["value"]), "ok")
+        except (TypeError, ValueError):
+            return ExecResult(True, None, "ok")
+
+
+def numeric_match(value: float | None, target: float, *, rel: float = 1e-4,
+                  abs_: float = 1e-6) -> bool:
+    """Compare a returned value to the reference with a relative-or-absolute tolerance."""
+    if value is None:
+        return False
+    try:
+        return abs(value - target) <= max(abs_, rel * abs(target))
+    except (TypeError, ValueError, OverflowError):
+        return False
+
+
+def verify_program(completion: str, target: float, **kw) -> tuple[bool, ExecResult]:
+    """Full pipeline for one completion: extract → execute → compare. Returns (correct, result)."""
+    res = run_solution(extract_code(completion), **kw)
+    return (res.ok and numeric_match(res.value, target)), res
diff --git a/src/llm/experiment.py b/src/llm/experiment.py
index e6a734d..11a386b 100644
--- a/src/llm/experiment.py
+++ b/src/llm/experiment.py
@@ -273,9 +273,32 @@ def run_society_dispatch(cfg: dict) -> pd.DataFrame:
     return run_society_experiment(cfg)
 
 
+def run_society_v2_dispatch(cfg: dict) -> pd.DataFrame:
+    from .society_v2 import run_society_v2                 # local import: torch-heavy
+    return run_society_v2(cfg)
+
+
+def run_compose_dispatch(cfg: dict) -> pd.DataFrame:
+    from .compose import run_compose                        # local import: torch-heavy
+    return run_compose(cfg)
+
+
+def run_curriculum_dispatch(cfg: dict) -> pd.DataFrame:
+    from .curriculum import run_curriculum                  # local import: torch-heavy
+    return run_curriculum(cfg)
+
+
+def run_calib_dispatch(cfg: dict) -> pd.DataFrame:
+    from .calibrate import run_calibration                 # local import: torch-heavy
+    return run_calibration(cfg)
+
+
 _RUNNERS = {"llm_merge": run_merge_experiment, "llm_moe": run_moe_experiment,
             "llm_directed": run_directed_experiment, "llm_speciation": run_speciation_dispatch,
-            "llm_epistasis": run_epistasis_dispatch, "llm_society": run_society_dispatch}
+            "llm_epistasis": run_epistasis_dispatch, "llm_society": run_society_dispatch,
+            "llm_society_v2": run_society_v2_dispatch, "llm_society_calib": run_calib_dispatch,
+            "llm_compose": run_compose_dispatch,
+            "llm_curriculum": run_curriculum_dispatch}
 
 
 def run_and_save(config_path: str | Path) -> Path:
@@ -312,6 +335,21 @@ def run_and_save(config_path: str | Path) -> Path:
     if kind == "llm_society":
         extra["society"] = {k: cfg.get(k) for k in
                             ("agents", "generations", "arms", "g", "lam", "n_candidates")}
+    if kind == "llm_society_v2":
+        extra["society_v2"] = {k: cfg.get(k) for k in
+                               ("families", "agents", "generations", "arms", "g", "lam",
+                                "k_inherit", "epochs", "n_test", "n_val", "n_conf")}
+    if kind == "llm_compose":
+        extra["compose"] = {k: cfg.get(k) for k in
+                            ("arms", "generations", "g", "k_inherit", "conf_gate", "epochs",
+                             "n_hard", "n_gsm8k", "n_mbpp", "lora")}
+    if kind == "llm_curriculum":
+        extra["curriculum"] = {k: cfg.get(k) for k in
+                               ("families", "lineages", "generations", "arms", "baselines",
+                                "n_new", "n_replay", "operator", "ancestor_depth", "lora",
+                                "allow_veto", "merge_until", "orders", "cull")}
+    if kind == "llm_society_calib":
+        extra["calibration"] = {"stage": cfg.get("stage"), "families": cfg.get("families")}
     if kind == "llm_directed":
         extra["directed"] = {"n_candidates": int(cfg.get("n_candidates", 16)),
                              "concentration": float(cfg.get("concentration", 0.5)),
diff --git a/src/llm/families.py b/src/llm/families.py
new file mode 100644
index 0000000..a1beb3a
--- /dev/null
+++ b/src/llm/families.py
@@ -0,0 +1,259 @@
+"""Candidate task families for the L=12 society (pre-registration §3.2, §4 C1).
+
+The v1 society had three families, so eight agents were near-clones and the competence space had
+2^3 = 8 states (E8 needs room for a child to hold a combination no parent had). This module adds
+fourteen further *disjoint* procedural families with exact-match answers; calibration gate C1 keeps
+the twelve whose base / specialist accuracies fall in the pre-set band, so membership is measured,
+not chosen.
+
+Verifier safety (``tasks._normalise``): every answer is an integer, a bracketed integer list, or a
+single lowercase alphabetic token — the three forms the normaliser canonicalises. Families whose
+natural answer would be multi-word or alphanumeric (run-length codes, hex strings, word-order
+reversal) are deliberately absent because the verifier could not score them.
+
+The generators register into :data:`llm.tasks._GEN` on import, so ``make_tasks(family, ...)`` works
+unchanged for the new names; :data:`llm.tasks.FAMILIES` (the original three) is untouched because the
+merge / routing / directed experiments depend on it.
+"""
+
+from __future__ import annotations
+
+import math
+
+import numpy as np
+
+from .tasks import Task, _GEN, _WORDS, _fmt_list, _caesar
+
+_TAIL = " Output only the answer and nothing else."
+_ROMAN = (("M", 1000), ("CM", 900), ("D", 500), ("CD", 400), ("C", 100), ("XC", 90), ("L", 50),
+          ("XL", 40), ("X", 10), ("IX", 9), ("V", 5), ("IV", 4), ("I", 1))
+
+
+def _pseudo(rng, lo: int = 5, hi: int = 8) -> str:
+    """A random lowercase pseudo-word — a large prompt space so training cannot cover the test set."""
+    letters = "abcdefghijklmnopqrstuvwxyz"
+    return "".join(letters[i] for i in rng.integers(0, 26, size=int(rng.integers(lo, hi))))
+
+
+def _to_roman(n: int) -> str:
+    out = ""
+    for sym, val in _ROMAN:
+        while n >= val:
+            out += sym; n -= val
+    return out
+
+
+def _roman(rng, hard=False) -> Task:
+    n = int(rng.integers(4, 1000))                          # 1-999: a 600-item train set cannot cover it
+    if rng.random() < 0.5:
+        return Task("roman", f"Write the number {n} as a Roman numeral." + _TAIL, _to_roman(n))
+    return Task("roman", f"Convert the Roman numeral {_to_roman(n)} to an ordinary number." + _TAIL,
+                str(n))
+
+
+def _binary(rng, hard=False) -> Task:
+    n = int(rng.integers(5, 512))
+    if rng.random() < 0.5:
+        return Task("binary", f"Write the decimal number {n} in binary." + _TAIL, format(n, "b"))
+    return Task("binary", f"Convert the binary number {format(n, 'b')} to decimal." + _TAIL, str(n))
+
+
+def _sortletters(rng, hard=False) -> Task:
+    w = _pseudo(rng)
+    if rng.random() < 0.5:
+        return Task("sortletters", f"Sort the letters of the word \"{w}\" into alphabetical order "
+                    f"and write them as one word." + _TAIL, "".join(sorted(w)))
+    return Task("sortletters", f"Sort the letters of the word \"{w}\" into reverse alphabetical "
+                f"order and write them as one word." + _TAIL, "".join(sorted(w, reverse=True)))
+
+
+def _setops(rng, hard=False) -> Task:
+    a = sorted(set(rng.integers(1, 15, size=int(rng.integers(4, 7))).tolist()))
+    b = sorted(set(rng.integers(1, 15, size=int(rng.integers(4, 7))).tolist()))
+    op = rng.choice(["intersection", "union", "difference"])
+    if op == "intersection":
+        ans = sorted(set(a) & set(b)); what = "the elements present in both lists"
+    elif op == "union":
+        ans = sorted(set(a) | set(b)); what = "the elements present in either list, without repeats"
+    else:
+        ans = sorted(set(a) - set(b)); what = "the elements of the first list that are not in the second"
+    return Task("setops", f"Given the lists {_fmt_list(a)} and {_fmt_list(b)}, list {what}, sorted "
+                f"ascending, as a bracketed list (write [] if there are none)." + _TAIL, _fmt_list(ans))
+
+
+def _numtheory(rng, hard=False) -> Task:
+    kind = rng.choice(["gcd", "lcm", "mod", "parity"])
+    if kind == "gcd":
+        a, b = rng.integers(6, 80, size=2).tolist()
+        return Task("numtheory", f"What is the greatest common divisor of {a} and {b}?" + _TAIL,
+                    str(math.gcd(a, b)))
+    if kind == "lcm":
+        a, b = rng.integers(2, 13, size=2).tolist()
+        return Task("numtheory", f"What is the least common multiple of {a} and {b}?" + _TAIL,
+                    str(a * b // math.gcd(a, b)))
+    if kind == "mod":
+        a = int(rng.integers(20, 300)); b = int(rng.integers(3, 12))
+        return Task("numtheory", f"What is the remainder when {a} is divided by {b}?" + _TAIL,
+                    str(a % b))
+    n = int(rng.integers(10, 999))
+    return Task("numtheory", f"Is the number {n} even or odd? Answer with one word." + _TAIL,
+                "even" if n % 2 == 0 else "odd")
+
+
+def _mixedtoken(rng, hard=False) -> Task:
+    letters = "abcdefghijklmnopqrstuvwxyz"
+    n = int(rng.integers(6, 10))
+    chars = []
+    for _ in range(n):
+        r = rng.random()
+        if r < 0.35:
+            chars.append(str(rng.integers(0, 10)))
+        elif r < 0.65:
+            chars.append(letters[rng.integers(0, 26)].upper())
+        else:
+            chars.append(letters[rng.integers(0, 26)])
+    tokn = "".join(chars)
+    if not any(c.isdigit() for c in tokn):                  # guarantee at least one digit
+        tokn = tokn[:-1] + str(rng.integers(1, 10))
+    kind = rng.choice(["upper", "digits", "digitsum", "extract"])
+    if kind == "upper":
+        return Task("mixedtoken", f"How many uppercase letters are in \"{tokn}\"?" + _TAIL,
+                    str(sum(c.isupper() for c in tokn)))
+    if kind == "digits":
+        return Task("mixedtoken", f"How many digits are in \"{tokn}\"?" + _TAIL,
+                    str(sum(c.isdigit() for c in tokn)))
+    ds = [int(c) for c in tokn if c.isdigit()]
+    if kind == "digitsum":
+        return Task("mixedtoken", f"What is the sum of the digits that appear in \"{tokn}\"?" + _TAIL,
+                    str(sum(ds)))
+    return Task("mixedtoken", f"Write the digits that appear in \"{tokn}\", in order, as a single "
+                f"number." + _TAIL, str(int("".join(map(str, ds)))))
+
+
+def _caesar_task(rng, hard=False) -> Task:
+    w = _pseudo(rng); k = int(rng.integers(1, 6))
+    return Task("caesar", f"Shift every letter of the word \"{w}\" forward by {k} places in the "
+                f"alphabet, wrapping around from z to a." + _TAIL, _caesar(w, k))
+
+
+def _vectors(rng, hard=False) -> Task:
+    a = rng.integers(-5, 9, size=3).tolist(); b = rng.integers(-5, 9, size=3).tolist()
+    if rng.random() < 0.5:
+        return Task("vectors", f"What is the dot product of the vectors {_fmt_list(a)} and "
+                    f"{_fmt_list(b)}?" + _TAIL, str(sum(x * y for x, y in zip(a, b))))
+    return Task("vectors", f"Add the vectors {_fmt_list(a)} and {_fmt_list(b)} element by element "
+                f"and write the result as a bracketed list." + _TAIL,
+                _fmt_list([x + y for x, y in zip(a, b)]))
+
+
+def _progression(rng, hard=False) -> Task:
+    a = int(rng.integers(1, 20)); d = int(rng.integers(2, 9)); n = int(rng.integers(5, 15))
+    if rng.random() < 0.5:
+        return Task("progression", f"An arithmetic sequence starts at {a} and increases by {d} each "
+                    f"step. What is its {n}th term (the first term is term 1)?" + _TAIL,
+                    str(a + (n - 1) * d))
+    return Task("progression", f"An arithmetic sequence starts at {a} and increases by {d} each step. "
+                f"What is the sum of its first {n} terms?" + _TAIL, str(n * (2 * a + (n - 1) * d) // 2))
+
+
+def _charfreq(rng, hard=False) -> Task:
+    w = _pseudo(rng, 7, 11)
+    if rng.random() < 0.5:
+        ans = min(set(w), key=lambda c: (-w.count(c), c))
+        return Task("charfreq", f"Which letter occurs most often in \"{w}\"? If several tie, give the "
+                    f"one earliest in the alphabet." + _TAIL, ans)
+    return Task("charfreq", f"How many distinct letters does \"{w}\" contain?" + _TAIL,
+                str(len(set(w))))
+
+
+def _digits(rng, hard=False) -> Task:
+    n = int(rng.integers(100, 9999))
+    kind = rng.choice(["sum", "reverse", "count"])
+    if kind == "sum":
+        return Task("digits", f"What is the sum of the digits of {n}?" + _TAIL,
+                    str(sum(int(c) for c in str(n))))
+    if kind == "reverse":
+        return Task("digits", f"Write the digits of {n} in reverse order as a number." + _TAIL,
+                    str(int(str(n)[::-1])))
+    m = n * int(rng.integers(1, 12))
+    return Task("digits", f"How many digits does the number {m} have?" + _TAIL, str(len(str(m))))
+
+
+def _liststats(rng, hard=False) -> Task:
+    n = int(rng.choice([5, 7]))
+    xs = rng.integers(0, 40, size=n).tolist()
+    kind = rng.choice(["median", "range", "evens", "argmax"])
+    if kind == "median":
+        return Task("liststats", f"What is the median of {_fmt_list(xs)}?" + _TAIL,
+                    str(sorted(xs)[n // 2]))
+    if kind == "range":
+        return Task("liststats", f"What is the range (largest minus smallest) of {_fmt_list(xs)}?"
+                    + _TAIL, str(max(xs) - min(xs)))
+    if kind == "evens":
+        return Task("liststats", f"How many even numbers are in {_fmt_list(xs)}?" + _TAIL,
+                    str(sum(x % 2 == 0 for x in xs)))
+    return Task("liststats", f"At which position (counting from 0) is the largest value in "
+                f"{_fmt_list(xs)}? If it appears more than once, give the first position." + _TAIL,
+                str(int(np.argmax(xs))))
+
+
+def _alphabet(rng, hard=False) -> Task:
+    letters = "abcdefghijklmnopqrstuvwxyz"
+    kind = rng.choice(["pos", "at", "next"])
+    if kind == "pos":
+        c = letters[rng.integers(0, 26)]
+        return Task("alphabet", f"What is the position of the letter \"{c}\" in the alphabet "
+                    f"(a is 1)?" + _TAIL, str(letters.index(c) + 1))
+    if kind == "at":
+        k = int(rng.integers(1, 27))
+        return Task("alphabet", f"Which letter is at position {k} of the alphabet (a is 1)?" + _TAIL,
+                    letters[k - 1])
+    c = letters[rng.integers(0, 25)]; k = int(rng.integers(1, 5))
+    return Task("alphabet", f"Which letter comes {k} places after \"{c}\" in the alphabet?" + _TAIL,
+                letters[(letters.index(c) + k) % 26])
+
+
+def _wordlen(rng, hard=False) -> Task:
+    w = _pseudo(rng, 4, 12)
+    return Task("wordlen", f"How many letters are in the word \"{w}\"?" + _TAIL, str(len(w)))
+
+
+def _lettercount(rng, hard=False) -> Task:
+    w = _pseudo(rng, 6, 12)
+    c = w[rng.integers(0, len(w))]                          # a letter that occurs at least once
+    return Task("lettercount", f"How many times does the letter \"{c}\" occur in \"{w}\"?" + _TAIL,
+                str(w.count(c)))
+
+
+def _sumeven(rng, hard=False) -> Task:
+    xs = rng.integers(1, 30, size=int(rng.integers(5, 8))).tolist()
+    if rng.random() < 0.5:
+        return Task("sumeven", f"What is the sum of the even numbers in {_fmt_list(xs)}?" + _TAIL,
+                    str(sum(x for x in xs if x % 2 == 0)))
+    return Task("sumeven", f"What is the sum of the odd numbers in {_fmt_list(xs)}?" + _TAIL,
+                str(sum(x for x in xs if x % 2 == 1)))
+
+
+def _prime(rng, hard=False) -> Task:
+    n = int(rng.integers(4, 400))
+    if rng.random() < 0.5:
+        isp = n > 1 and all(n % d for d in range(2, int(n ** 0.5) + 1))
+        return Task("prime", f"Is {n} a prime number? Answer yes or no." + _TAIL, "yes" if isp else "no")
+    spf = next(d for d in range(2, n + 1) if n % d == 0)
+    return Task("prime", f"What is the smallest prime factor of {n}?" + _TAIL, str(spf))
+
+
+EXTRA_FAMILIES = ("roman", "binary", "sortletters", "setops", "numtheory", "mixedtoken", "caesar",
+                  "vectors", "progression", "charfreq", "digits", "liststats", "alphabet", "prime",
+                  "wordlen", "lettercount", "sumeven")
+"""The seventeen candidate families added for the society; gate C1 selects twelve from these plus
+the original three. ``wordlen``, ``lettercount``, ``sumeven`` were added after the first C1 table
+(2026-09-07) left only six in band."""
+
+_GEN.update({"roman": _roman, "binary": _binary, "sortletters": _sortletters, "setops": _setops,
+             "numtheory": _numtheory, "mixedtoken": _mixedtoken, "caesar": _caesar_task,
+             "vectors": _vectors, "progression": _progression, "charfreq": _charfreq,
+             "digits": _digits, "liststats": _liststats, "alphabet": _alphabet, "prime": _prime,
+             "wordlen": _wordlen, "lettercount": _lettercount, "sumeven": _sumeven})
+
+ALL_CANDIDATES = ("lists", "strings", "arith") + EXTRA_FAMILIES
diff --git a/src/llm/society.py b/src/llm/society.py
index 95738c2..505c594 100644
--- a/src/llm/society.py
+++ b/src/llm/society.py
@@ -26,129 +26,29 @@ from pathlib import Path
 import numpy as np
 import pandas as pd
 
-from .tasks import Task, make_tasks, verify, _normalise
+from .tasks import Task, make_tasks, _normalise
 
 
-# ---------------------------------------------------------------------------- pure operators
-
-
-def consensus_answers(outputs: list[list[str]]) -> list[str]:
-    """The population's modal (normalised) answer per prompt.
-
-    Args:
-        outputs (list[list[str]]): ``outputs[i][p]`` = agent i's raw answer to prompt p.
-
-    Returns:
-        list[str]: per-prompt modal normalised answer (ties broken lexicographically —
-        deterministic).
-    """
-    n_prompts = len(outputs[0])
-    cons = []
-    for p in range(n_prompts):
-        votes: dict[str, int] = {}
-        for out in outputs:
-            key = _normalise(out[p])
-            votes[key] = votes.get(key, 0) + 1
-        # Reason: max count, then lexicographically smallest key, so consensus is deterministic.
-        top = max(votes.values())
-        cons.append(min(k for k, v in votes.items() if v == top))
-    return cons
-
-
-def conformity_scores(outputs: list[list[str]], consensus: list[str]) -> np.ndarray:
-    """Each agent's agreement rate with the population consensus (the E11 conformity signal)."""
-    return np.array([np.mean([_normalise(o) == c for o, c in zip(out, consensus)])
-                     for out in outputs], dtype=float)
-
-
-def behavioural_distance(outputs: list[list[str]]) -> np.ndarray:
-    """Pairwise disagreement rate between agents' normalised answers (verifier-free diversity)."""
-    n = len(outputs)
-    norm = [[_normalise(o) for o in out] for out in outputs]
-    d = np.zeros((n, n))
-    for i in range(n):
-        for j in range(i + 1, n):
-            d[i, j] = d[j, i] = float(np.mean([a != b for a, b in zip(norm[i], norm[j])]))
-    return d
-
-
-def select_parents(scores: np.ndarray, dist: np.ndarray, k: int, *, diversity: bool,
-                   lam: float = 0.3) -> list[int]:
-    """Select ``k`` parents by score, optionally with quality-diversity preservation.
-
-    Diversity ON: greedy — take the top-scoring agent, then repeatedly add the agent maximising
-    ``score + lam * (mean behavioural distance to those already selected)``. Diversity OFF: plain
-    top-k by score.
-
-    Args:
-        scores (np.ndarray): per-agent selection score ``g*fitness + (1-g)*conformity``.
-        dist (np.ndarray): pairwise behavioural-distance matrix.
-        k (int): number of parents.
-        diversity (bool): quality-diversity (True) or greedy (False).
-        lam (float): diversity weight.
-
-    Returns:
-        list[int]: selected agent indices (deterministic).
-    """
-    if not diversity:
-        return list(np.argsort(-scores, kind="stable")[:k])
-    chosen = [int(np.argmax(scores))]
-    while len(chosen) < k:
-        best_i, best_v = -1, -np.inf
-        for i in range(len(scores)):
-            if i in chosen:
-                continue
-            v = scores[i] + lam * float(np.mean([dist[i, j] for j in chosen]))
-            if v > best_v:
-                best_i, best_v = i, v
-        chosen.append(best_i)
-    return chosen
-
-
-def complementary_pairs(parents: list[int], dist: np.ndarray, n_children: int) -> list[tuple[int, int]]:
-    """Mating plan: pairs of parents in descending behavioural distance, cycled to fill the slots.
-
-    Directed mate choice (E10): the most complementary (most-disagreeing) pairs breed first; the pair
-    list cycles until ``n_children`` slots are filled.
-    """
-    pairs = sorted(((a, b) for i, a in enumerate(parents) for b in parents[i + 1:]),
-                   key=lambda ab: -dist[ab[0], ab[1]])
-    if not pairs:                                           # single parent: self-pair (degenerate)
-        pairs = [(parents[0], parents[0])]
-    return [pairs[i % len(pairs)] for i in range(n_children)]
+# Pure operators live in society_ops (shared with the v2 loop); re-exported here so the v1 code
+# path and its tests are unchanged.
+from .society_ops import (  # noqa: E402,F401
+    answer_of as _answer_of, arm_settings as _arm_settings_v2, behavioural_distance,
+    complementary_pairs, conformity_scores, consensus_answers, fitness_of as _fitness,
+    select_parents,
+)
 
 
 def arm_settings(arm: str, g: float) -> dict:
-    """Resolve an arm name to its operator switches (the four-arm ablation)."""
-    if arm == "full":
-        return {"g": g, "sex": True, "diversity": True}
-    if arm == "no_grounding":
-        return {"g": 0.0, "sex": True, "diversity": True}
-    if arm == "no_sex":
-        return {"g": g, "sex": False, "diversity": True}
-    if arm == "no_diversity":
-        return {"g": g, "sex": True, "diversity": False}
-    raise ValueError(f"unknown arm {arm!r} (full|no_grounding|no_sex|no_diversity)")
+    """v1 four-arm switches (boolean ``sex``), resolved from the shared table."""
+    s = _arm_settings_v2(arm, g)
+    if s["sex"] == "linear":
+        raise ValueError("sex_linear is a v2 arm (kind: llm_society_v2)")
+    return {"g": s["g"], "sex": s["sex"] is not None, "diversity": s["diversity"]}
 
 
 # ---------------------------------------------------------------------------- the GPU loop
 
 
-def _fitness(outs: list[str], tasks: list[Task], fams: list[str]) -> dict:
-    """Overall / per-family / worst-family verifier accuracy from precomputed outputs."""
-    corr = np.array([verify(o, t) for o, t in zip(outs, tasks)])
-    fam = np.array([t.family for t in tasks])
-    acc = {"overall": float(corr.mean())}
-    acc.update({f: float(corr[fam == f].mean()) for f in fams})
-    acc["worst_family"] = min(acc[f] for f in fams)
-    return acc
-
-
-def _answer_of(raw: str) -> str:
-    """Trim a raw completion to a single short answer line for the inheritance data."""
-    return raw.strip().split("\n")[0][:64].strip()
-
-
 def run_society_experiment(cfg: dict) -> pd.DataFrame:
     """Run the society loop for every configured arm; return tidy long-form rows.
 
diff --git a/src/llm/society_ops.py b/src/llm/society_ops.py
new file mode 100644
index 0000000..b9858d7
--- /dev/null
+++ b/src/llm/society_ops.py
@@ -0,0 +1,209 @@
+"""Pure, testable operators for the LLM society (v1 and v2 — see ``tasks/prereg-llm-society-v2.md``).
+
+Everything here is NumPy on strings and floats; nothing touches a model. The v2 additions are the
+E11-faithful pieces the v1 design lacked:
+
+* :func:`pooled_survival` — selection acts on *survival over parents + offspring*, keeping the top N
+  by ``score + λ·novelty`` (E11's rule), instead of truncating parents before breeding, which in v1
+  discarded half the families at generation 1 with no operator able to restore them (E6).
+* :func:`mating_plan` — complementary pairing over the whole population with a per-agent use cap, so
+  every founder's family can reach the next generation.
+* :func:`route_union` — the union-preserving recombination operator in the *inheritance data*: per
+  prompt, the child learns the answer of the more confident parent. This is E4's ``max`` per item,
+  verifier-free (legal in ``no_grounding``), and directed in E10's sense.
+* :func:`choose_single_parent` — score-proportional parent sampling for the ``no_sex`` arm, so that
+  arm still has selection without recombination.
+"""
+
+from __future__ import annotations
+
+import numpy as np
+
+from .tasks import Task, _normalise, verify
+
+
+# ------------------------------------------------------------------ population readouts (v1)
+
+
+def consensus_answers(outputs: list[list[str]]) -> list[str]:
+    """The population's modal (normalised) answer per prompt; ties broken lexicographically."""
+    n_prompts = len(outputs[0])
+    cons = []
+    for p in range(n_prompts):
+        votes: dict[str, int] = {}
+        for out in outputs:
+            key = _normalise(out[p])
+            votes[key] = votes.get(key, 0) + 1
+        top = max(votes.values())
+        cons.append(min(k for k, v in votes.items() if v == top))
+    return cons
+
+
+def conformity_scores(outputs: list[list[str]], consensus: list[str]) -> np.ndarray:
+    """Each agent's agreement rate with the population consensus (the E11 conformity signal)."""
+    return np.array([np.mean([_normalise(o) == c for o, c in zip(out, consensus)])
+                     for out in outputs], dtype=float)
+
+
+def behavioural_distance(outputs: list[list[str]]) -> np.ndarray:
+    """Pairwise disagreement rate between agents' normalised answers (verifier-free diversity)."""
+    n = len(outputs)
+    norm = [[_normalise(o) for o in out] for out in outputs]
+    d = np.zeros((n, n))
+    for i in range(n):
+        for j in range(i + 1, n):
+            d[i, j] = d[j, i] = float(np.mean([a != b for a, b in zip(norm[i], norm[j])]))
+    return d
+
+
+def novelty(dist: np.ndarray) -> np.ndarray:
+    """Per-agent mean behavioural distance to the rest of the pool (E11's ``_novelty``)."""
+    n = dist.shape[0]
+    if n < 2:
+        return np.zeros(n)
+    return dist.sum(axis=1) / (n - 1)
+
+
+# ------------------------------------------------------------------ selection
+
+
+def select_parents(scores: np.ndarray, dist: np.ndarray, k: int, *, diversity: bool,
+                   lam: float = 0.3) -> list[int]:
+    """v1 parent truncation (kept for the v1 code path and its tests): greedy QD or plain top-k."""
+    if not diversity:
+        return list(np.argsort(-scores, kind="stable")[:k])
+    chosen = [int(np.argmax(scores))]
+    while len(chosen) < k:
+        best_i, best_v = -1, -np.inf
+        for i in range(len(scores)):
+            if i in chosen:
+                continue
+            v = scores[i] + lam * float(np.mean([dist[i, j] for j in chosen]))
+            if v > best_v:
+                best_i, best_v = i, v
+        chosen.append(best_i)
+    return chosen
+
+
+def pooled_survival(scores: np.ndarray, dist: np.ndarray, n_keep: int, *, lam: float) -> list[int]:
+    """E11 survival: keep the top ``n_keep`` of the pool by ``score + lam * novelty``.
+
+    ``lam = 0`` is the greedy (``no_diversity``) arm. Parents and children compete on equal terms, so
+    a strong parent survives by out-scoring its children (elitism is emergent, not a knob) and no
+    lineage is excluded before it has bred.
+
+    Args:
+        scores (np.ndarray): per-member selection score over the pooled parents + children.
+        dist (np.ndarray): pairwise behavioural distance over the pool.
+        n_keep (int): population size to keep.
+        lam (float): novelty weight (E11 ``novelty``).
+
+    Returns:
+        list[int]: indices into the pool, best merit first (deterministic).
+    """
+    merit = np.asarray(scores, dtype=float) + lam * novelty(dist)
+    order = np.argsort(-merit, kind="stable")
+    return [int(i) for i in order[:n_keep]]
+
+
+def choose_single_parent(scores: np.ndarray, rng: np.random.Generator) -> int:
+    """Score-proportional parent sampling (``no_sex``): selection without recombination."""
+    s = np.asarray(scores, dtype=float)
+    w = s - s.min() + 1e-6
+    return int(rng.choice(len(s), p=w / w.sum()))
+
+
+# ------------------------------------------------------------------ mating and recombination
+
+
+def mating_plan(dist: np.ndarray, n_pairs: int, *, max_use: int = 2) -> list[tuple[int, int]]:
+    """Complementary pairing over the whole population with a per-agent use cap.
+
+    Pairs are taken in descending behavioural distance (directed mate choice, E10) subject to each
+    agent appearing in at most ``max_use`` pairs, so no single agent monopolises reproduction and
+    every agent's knowledge has a route to the next generation. If the cap exhausts the candidates
+    before ``n_pairs`` is reached, the remaining slots cycle the most-distant pairs (degenerate but
+    never empty).
+    """
+    n = dist.shape[0]
+    cands = sorted(((i, j) for i in range(n) for j in range(i + 1, n)), key=lambda ij: -dist[ij])
+    if not cands:
+        return [(0, 0)] * n_pairs
+    use = np.zeros(n, dtype=int)
+    plan: list[tuple[int, int]] = []
+    for i, j in cands:
+        if len(plan) >= n_pairs:
+            break
+        if use[i] < max_use and use[j] < max_use:
+            plan.append((i, j)); use[i] += 1; use[j] += 1
+    k = 0
+    while len(plan) < n_pairs:                              # cap exhausted: cycle the best pairs
+        plan.append(cands[k % len(cands)]); k += 1
+    return plan
+
+
+def route_union(ans_a: list[str], conf_a: np.ndarray, ans_b: list[str],
+                conf_b: np.ndarray) -> tuple[list[str], np.ndarray]:
+    """Union-preserving recombination of two parents' answer sets: per prompt, the more confident wins.
+
+    Confidence is the parent's own self-certainty (exp mean token log-prob) — no verifier. Ties go to
+    parent A (deterministic).
+
+    Returns:
+        (answers, source): the child's inheritance answers and a 0/1 array naming the parent per
+        prompt (for the H6 diagnostic of *where* a skill is lost).
+    """
+    src = (np.asarray(conf_b) > np.asarray(conf_a)).astype(int)
+    out = [b if s else a for a, b, s in zip(ans_a, ans_b, src)]
+    return out, src
+
+
+def complementary_pairs(parents: list[int], dist: np.ndarray, n_children: int) -> list[tuple[int, int]]:
+    """v1 mating plan over a parent subset (kept for the v1 code path and its tests)."""
+    pairs = sorted(((a, b) for i, a in enumerate(parents) for b in parents[i + 1:]),
+                   key=lambda ab: -dist[ab[0], ab[1]])
+    if not pairs:
+        pairs = [(parents[0], parents[0])]
+    return [pairs[i % len(pairs)] for i in range(n_children)]
+
+
+# ------------------------------------------------------------------ arms and readouts
+
+
+def arm_settings(arm: str, g: float) -> dict:
+    """Resolve an arm name to its operator switches.
+
+    ``sex`` is ``"union"`` (confidence-routed union inheritance, the v2 default), ``"linear"`` (v1's
+    screened 2-parent LoRA blend — the H2 control arm ``sex_linear``), or ``None``.
+    """
+    table = {
+        "full":         {"g": g,   "sex": "union",  "diversity": True},
+        "no_grounding": {"g": 0.0, "sex": "union",  "diversity": True},
+        "no_sex":       {"g": g,   "sex": None,     "diversity": True},
+        "no_diversity": {"g": g,   "sex": "union",  "diversity": False},
+        "sex_linear":   {"g": g,   "sex": "linear", "diversity": True},
+    }
+    if arm not in table:
+        raise ValueError(f"unknown arm {arm!r} (expected one of {list(table)})")
+    return dict(table[arm])
+
+
+def fitness_of(outs: list[str], tasks: list[Task], fams: list[str]) -> dict:
+    """Overall / per-family / worst-family verifier accuracy from precomputed outputs."""
+    corr = np.array([verify(o, t) for o, t in zip(outs, tasks)])
+    fam = np.array([t.family for t in tasks])
+    acc = {"overall": float(corr.mean())}
+    acc.update({f: float(corr[fam == f].mean()) if (fam == f).any() else float("nan") for f in fams})
+    acc["worst_family"] = min(acc[f] for f in fams)
+    return acc
+
+
+def families_alive(per_family_acc: list[dict], fams: list[str], threshold: float = 0.6) -> int:
+    """Number of families on which at least one agent is competent (≥ ``threshold``) — the count of
+    'alleles' still present in the population; loss is permanent (E6)."""
+    return int(sum(any(a.get(f, 0.0) >= threshold for a in per_family_acc) for f in fams))
+
+
+def answer_of(raw: str) -> str:
+    """Trim a raw completion to a single short answer line for the inheritance data."""
+    return raw.strip().split("\n")[0][:64].strip()
diff --git a/src/llm/society_v2.py b/src/llm/society_v2.py
new file mode 100644
index 0000000..a3144cb
--- /dev/null
+++ b/src/llm/society_v2.py
@@ -0,0 +1,319 @@
+"""The composed society at LLM scale, v2 — E11 re-instantiated faithfully (``kind: llm_society_v2``).
+
+Pre-registered in ``tasks/prereg-llm-society-v2.md``; this module is its §3. What changed from v1 and
+why is in that document's §1. In one paragraph: ``L`` disjoint task families and **one founder per
+family** (ρ = 0 by construction); recombination is a **confidence-routed union** of two parents'
+inheritance answers (E4's ``max`` per item, verifier-free) rather than a linear LoRA blend; selection
+acts on **survival over the pooled parents + children** by ``score + λ·novelty`` (E11's rule) rather
+than on breeding eligibility; the run **checkpoints every generation** and resumes.
+
+One generation (§3.4): produce & score the population → mating plan by complementarity → each child's
+inheritance data from its parents' own answers (union / linear / single) → source diagnostics →
+train N fresh LoRAs → score the children against the *parents'* consensus → keep the top N of the
+2N pool → checkpoint.
+
+Row schema (long form): ``experiment, arm, seed, generation, agent, role, parents, selected,
+conformity, score, metric, value``. ``role`` ∈ {population, child, child_source, summary}.
+"""
+
+from __future__ import annotations
+
+import json
+import shutil
+from pathlib import Path
+
+import numpy as np
+import pandas as pd
+
+from . import families as _families  # noqa: F401  (registers the extra task families)
+from .society_ops import (answer_of, arm_settings, behavioural_distance, choose_single_parent,
+                          conformity_scores, consensus_answers, families_alive, fitness_of,
+                          mating_plan, novelty, pooled_survival, route_union)
+from .tasks import Task, make_tasks, verify, _normalise
+
+
+def _pool(fams: list[str], per_family: int, seed: int, hard: bool) -> list[Task]:
+    return sum([make_tasks(f, per_family, seed=seed + i, hard=hard) for i, f in enumerate(fams)], [])
+
+
+def _row(base: dict, **kw) -> dict:
+    r = dict(base); r.update(kw); return r
+
+
+def _train_founder_locked(d: Path, train, timeout_s: int = 3600) -> None:
+    """Train the founder at ``d`` exactly once across concurrent jobs (lock file, O_EXCL)."""
+    import os, time
+    done = d / "adapter_config.json"
+    if done.exists():
+        return
+    d.parent.mkdir(parents=True, exist_ok=True)
+    lock = d.parent / (d.name + ".lock")
+    try:
+        fd = os.open(lock, os.O_CREAT | os.O_EXCL | os.O_WRONLY)
+    except FileExistsError:
+        t0 = time.time()
+        while not done.exists():                        # another job is training it
+            if time.time() - t0 > timeout_s:
+                raise TimeoutError(f"waited {timeout_s}s for founder {d}")
+            time.sleep(15)
+        return
+    try:
+        os.write(fd, str(os.getpid()).encode()); os.close(fd)
+        train()
+    finally:
+        lock.unlink(missing_ok=True)
+
+
+class _State:
+    """Per-arm checkpoint: the current population's adapter dirs and the generation reached."""
+
+    def __init__(self, path: Path):
+        self.path = path
+
+    def load(self) -> dict | None:
+        return json.loads(self.path.read_text()) if self.path.exists() else None
+
+    def save(self, generation: int, agents: list[str]) -> None:
+        self.path.parent.mkdir(parents=True, exist_ok=True)
+        self.path.write_text(json.dumps({"generation": generation, "agents": agents}))
+
+
+def run_society_v2(cfg: dict) -> pd.DataFrame:
+    """Run every configured arm of the v2 society; return tidy rows (resumable per arm)."""
+    import torch
+
+    from .epistasis import generate_with_confidence
+    from .evaluate import generate
+    from .merge import load_specialists
+    from .specialise import train_lora_on_tasks, train_specialist
+
+    name = cfg["experiment"]
+    base = cfg["base_model"]
+    fams = list(cfg["families"])
+    L = len(fams)
+    N = int(cfg.get("agents", L))
+    G = int(cfg.get("generations", 12))
+    arms = list(cfg.get("arms", ["full", "no_grounding", "no_sex", "no_diversity"]))
+    g_val = float(cfg.get("g", 0.85))
+    lam = float(cfg.get("lam", 0.3))
+    n_test = int(cfg.get("n_test", 20))            # per family
+    n_val = int(cfg.get("n_val", 10))              # per family
+    n_conf = int(cfg.get("n_conf", 10))            # per family, fresh each generation
+    k_inh = int(cfg.get("k_inherit", 100))         # per family, fresh each generation (gate C2)
+    epochs = int(cfg.get("epochs", 3))
+    n_cand = int(cfg.get("n_candidates", 6))       # sex_linear only
+    spec_train = int(cfg.get("spec_train", 600))
+    spec_epochs = int(cfg.get("spec_epochs", 3))
+    hard = bool(cfg.get("hard", False))
+    resume = bool(cfg.get("resume", True))
+    seed = int(cfg["seed"])
+    lora = cfg.get("lora", {})
+    r, alpha = int(lora.get("r", 16)), int(lora.get("alpha", 32))
+    root = Path(cfg.get("adapters_dir", "models/llm")) / "society_v2" / f"{name}_s{seed}"
+    out_dir = Path(cfg.get("output", {}).get("dir", f"results/{name}"))
+    out_dir.mkdir(parents=True, exist_ok=True)
+    max_use = int(cfg.get("max_mate_use", 2))
+    # Confidence-gated inheritance (prereg §4a, C2b): a child learns only the prompts its source is
+    # confident on (exp mean token log-prob ≥ conf_gate). Verifier-free; identical in every arm;
+    # None = ungated (the pre-registered v2 default, which C2 showed loses 20-40%/generation).
+    conf_gate = cfg.get("conf_gate")
+    conf_gate = None if conf_gate is None else float(conf_gate)
+
+    test = _pool(fams, n_test, 1000, hard)
+    val = _pool(fams, n_val, 3000, hard)
+
+    # ---- founders: one specialist per family (agent i -> family i mod L), cached and shared by arms.
+    # Arm-jobs of one seed may start together on the cluster: an O_EXCL lock makes the first train
+    # and the rest wait on the finished adapter, so no two jobs write the same founder.
+    founders = []
+    for i in range(N):
+        fam = fams[i % L]
+        d = root / "founders" / f"agent{i}_{fam}"
+        _train_founder_locked(d, lambda d=d, fam=fam, i=i: train_specialist(
+            base, fam, str(d), n_train=spec_train, epochs=spec_epochs, seed=seed * 100 + i,
+            hard=hard, r=r, alpha=alpha))
+        founders.append(str(d))
+
+    frames: list[pd.DataFrame] = []
+    for a_idx, arm in enumerate(arms):
+        s = arm_settings(arm, g_val)
+        state = _State(root / arm / "state.json")
+        partial = out_dir / f"partial_{arm}_s{seed}.parquet"
+        rows: list[dict] = []
+        agents, t0 = list(founders), 0
+        st = state.load() if resume else None
+        if st and all(Path(d, "adapter_config.json").exists() for d in st["agents"]):
+            agents, t0 = list(st["agents"]), int(st["generation"])
+            if partial.exists():
+                rows = pd.read_parquet(partial).to_dict("records")
+            print(f"[{arm}] resuming at generation {t0}")
+
+        for t in range(t0, G + 1):
+            rng = np.random.default_rng([seed, a_idx, t])          # resume-safe per-generation RNG
+            conf_pool = _pool(fams, n_conf, seed * 7919 + t * 13, hard)
+            conf_prompts = [x.prompt for x in conf_pool]
+            tag = {"experiment": name, "arm": arm, "seed": seed, "generation": t}
+
+            # ---- (1) produce & score the population
+            model, tok = load_specialists(base, agents)
+            fit_test, fit_val, conf_outs = [], [], []
+            for i in range(N):
+                model.set_adapter(f"a{i}")
+                fit_test.append(fitness_of(generate(model, tok, [x.prompt for x in test]), test, fams))
+                fit_val.append(fitness_of(generate(model, tok, [x.prompt for x in val]), val, fams))
+                conf_outs.append(generate(model, tok, conf_prompts))
+            consensus = consensus_answers(conf_outs)
+            conf = conformity_scores(conf_outs, consensus)
+            dist = behavioural_distance(conf_outs)
+            nov = novelty(dist)
+            cons_acc = float(np.mean([verify(c, x) for c, x in zip(consensus, conf_pool)]))
+            fitness = np.array([fv["overall"] for fv in fit_val])
+            scores = s["g"] * fitness + (1.0 - s["g"]) * conf
+
+            for i in range(N):
+                b = _row(tag, agent=i, role="population", parents=Path(agents[i]).name,
+                         selected=True, conformity=float(conf[i]), score=float(scores[i]))
+                for k, v in fit_test[i].items():
+                    rows.append(_row(b, metric=f"test_{k}", value=v))
+                rows.append(_row(b, metric="val_overall", value=float(fitness[i])))
+                rows.append(_row(b, metric="novelty", value=float(nov[i])))
+            summ = _row(tag, agent=-1, role="summary", parents="", selected=False,
+                        conformity=float("nan"), score=float("nan"))
+            rows.append(_row(summ, metric="consensus_acc", value=cons_acc))
+            rows.append(_row(summ, metric="diversity_behav", value=float(nov.mean())))
+            rows.append(_row(summ, metric="families_alive", value=float(families_alive(fit_test, fams))))
+            rows.append(_row(summ, metric="gap_conformity_minus_truth",
+                             value=float(conf.mean() - np.mean([f["overall"] for f in fit_test]))))
+            if t == G:
+                del model; torch.cuda.empty_cache()
+                break
+
+            # ---- (2)-(3) mating plan and each child's inheritance data
+            inherit = _pool(fams, k_inh, seed * 104729 + t * 17, hard)
+            inh_prompts = [x.prompt for x in inherit]
+            child_src: list[dict] = []
+            if s["sex"] == "union":
+                plan = mating_plan(dist, N, max_use=max_use)
+                needed = sorted({p for ab in plan for p in ab})
+                ans, cf = {}, {}
+                for p in needed:                       # each parent answers the pool once
+                    model.set_adapter(f"a{p}")
+                    ans[p], cf[p] = generate_with_confidence(model, tok, inh_prompts)
+                for pa, pb in plan:
+                    routed, src = route_union(ans[pa], cf[pa], ans[pb], cf[pb])
+                    keep = np.maximum(cf[pa], cf[pb]) >= conf_gate if conf_gate is not None else None
+                    child_src.append({"parents": (pa, pb), "answers": routed,
+                                      "share_b": float(src.mean()), "keep": keep})
+            elif s["sex"] == "linear":
+                from .directed import sample_merge_weights
+                plan = mating_plan(dist, N, max_use=max_use)
+                for c, (pa, pb) in enumerate(plan):
+                    w = sample_merge_weights(2, n_cand, rng)
+                    best_i, best_v = 0, -np.inf
+                    for ci in range(n_cand):
+                        cname = f"g{t}c{c}k{ci}"
+                        model.add_weighted_adapter([f"a{pa}", f"a{pb}"], w[ci].tolist(), cname,
+                                                   combination_type="linear")
+                        model.set_adapter(cname)
+                        if s["g"] > 0:
+                            v = fitness_of(generate(model, tok, [x.prompt for x in val]), val,
+                                           fams)["overall"]
+                        else:
+                            oc = generate(model, tok, conf_prompts)
+                            v = float(np.mean([_normalise(o) == cc for o, cc in zip(oc, consensus)]))
+                        if v > best_v:
+                            best_i, best_v = ci, v
+                        model.set_adapter(f"a{pa}"); model.delete_adapter(cname)
+                    cname = f"g{t}c{c}win"
+                    model.add_weighted_adapter([f"a{pa}", f"a{pb}"], w[best_i].tolist(), cname,
+                                               combination_type="linear")
+                    model.set_adapter(cname)
+                    answers = generate(model, tok, inh_prompts)
+                    model.set_adapter(f"a{pa}"); model.delete_adapter(cname)
+                    child_src.append({"parents": (pa, pb), "answers": answers, "share_b": float("nan")})
+            else:                                       # no_sex: single parent, score-proportional
+                picks = [choose_single_parent(scores, rng) for _ in range(N)]
+                ans, cf = {}, {}
+                for p in sorted(set(picks)):
+                    model.set_adapter(f"a{p}")
+                    ans[p], cf[p] = generate_with_confidence(model, tok, inh_prompts)
+                for p in picks:
+                    keep = cf[p] >= conf_gate if conf_gate is not None else None
+                    child_src.append({"parents": (p, p), "answers": ans[p], "share_b": float("nan"),
+                                      "keep": keep})
+
+            # ---- source diagnostics (H6): what each child was *supplied*, per family
+            for c, src in enumerate(child_src):
+                supplied = fitness_of(src["answers"], inherit, fams)
+                b = _row(tag, agent=c, role="child_source", parents=f"{src['parents'][0]}+{src['parents'][1]}",
+                         selected=False, conformity=float("nan"), score=float("nan"))
+                for k, v in supplied.items():
+                    rows.append(_row(b, metric=f"source_{k}", value=v))
+                rows.append(_row(b, metric="source_share_b", value=src["share_b"]))
+            del model; torch.cuda.empty_cache()
+
+            # ---- (4) inherit: a fresh LoRA per child on its source's own answers
+            children, degenerate = [], 0
+            for c, src in enumerate(child_src):
+                keep = src.get("keep")
+                if keep is None:
+                    keep = np.ones(len(inherit), dtype=bool)
+                data = [Task(x.family, x.prompt, answer_of(a))
+                        for x, a, kp in zip(inherit, src["answers"], keep) if kp and answer_of(a)]
+                rows.append(_row(tag, agent=c, role="child_source", parents=f"{src['parents'][0]}+{src['parents'][1]}",
+                                 selected=False, conformity=float("nan"), score=float("nan"),
+                                 metric="n_inherit_kept", value=float(len(data))))
+                d = root / arm / f"gen{t + 1}" / f"child{c}"
+                if len(data) >= 8:
+                    train_lora_on_tasks(base, data, str(d), epochs=epochs,
+                                        seed=seed * 31 + t * N + c, r=r, alpha=alpha)
+                else:                                   # terminal degeneration: inherit unchanged
+                    shutil.copytree(agents[src["parents"][0]], d, dirs_exist_ok=True); degenerate += 1
+                children.append(str(d))
+
+            # ---- (5) survive: score children against the PARENTS' consensus; keep top N of 2N
+            model, tok = load_specialists(base, agents + children)
+            c_test, c_val, c_conf = [], [], []
+            for j in range(N):
+                model.set_adapter(f"a{N + j}")
+                c_test.append(fitness_of(generate(model, tok, [x.prompt for x in test]), test, fams))
+                c_val.append(fitness_of(generate(model, tok, [x.prompt for x in val]), val, fams))
+                c_conf.append(generate(model, tok, conf_prompts))
+            del model; torch.cuda.empty_cache()
+            conf_c = conformity_scores(c_conf, consensus)
+            fit_c = np.array([fv["overall"] for fv in c_val])
+            scores_c = s["g"] * fit_c + (1.0 - s["g"]) * conf_c
+            pool_scores = np.concatenate([scores, scores_c])
+            pool_dist = behavioural_distance(conf_outs + c_conf)
+            keep = pooled_survival(pool_scores, pool_dist, N, lam=lam if s["diversity"] else 0.0)
+            keep_set = set(keep)
+
+            for j in range(N):
+                b = _row(tag, agent=j, role="child",
+                         parents=f"{child_src[j]['parents'][0]}+{child_src[j]['parents'][1]}",
+                         selected=(N + j) in keep_set, conformity=float(conf_c[j]),
+                         score=float(scores_c[j]))
+                for k, v in c_test[j].items():
+                    rows.append(_row(b, metric=f"test_{k}", value=v))
+                rows.append(_row(b, metric="val_overall", value=float(fit_c[j])))
+            rows.append(_row(summ, metric="best_newborn_overall",
+                             value=float(max(f["overall"] for f in c_test))))
+            rows.append(_row(summ, metric="n_degenerate", value=float(degenerate)))
+            rows.append(_row(summ, metric="n_parents_survive",
+                             value=float(sum(1 for k in keep if k < N))))
+
+            pool_dirs = agents + children
+            survivors = [pool_dirs[k] for k in keep]
+            # disk hygiene: drop non-survivors (founders are shared across arms — keep them)
+            for k, d in enumerate(pool_dirs):
+                if k not in keep_set and not d.startswith(str(root / "founders")):
+                    shutil.rmtree(d, ignore_errors=True)
+            agents = survivors
+            state.save(t + 1, agents)
+            pd.DataFrame(rows).to_parquet(partial, index=False)
+            print(f"[{arm}] gen {t + 1}/{G}: best {max(f['overall'] for f in fit_test):.3f} "
+                  f"newborn {max(f['overall'] for f in c_test):.3f} cons {cons_acc:.2f} "
+                  f"alive {families_alive(fit_test, fams)} deg {degenerate}", flush=True)
+
+        frames.append(pd.DataFrame(rows))
+    return pd.concat(frames, ignore_index=True)
diff --git a/src/llm/specialise.py b/src/llm/specialise.py
index aade829..e6a505d 100644
--- a/src/llm/specialise.py
+++ b/src/llm/specialise.py
@@ -18,9 +18,8 @@ from .tasks import make_tasks
 
 def _encode(tok, task, device):
     """Return (input_ids, labels) for one example with the prompt tokens masked out of the loss."""
-    text = tok.apply_chat_template([{"role": "user", "content": task.prompt}],
-                                   add_generation_prompt=True, tokenize=False)
-    prompt_ids = tok(text, add_special_tokens=False).input_ids
+    from .evaluate import format_prompt
+    prompt_ids = tok(format_prompt(tok, task.prompt), add_special_tokens=False).input_ids
     answer_ids = tok(task.answer + tok.eos_token, add_special_tokens=False).input_ids
     ids = prompt_ids + answer_ids
     labels = [-100] * len(prompt_ids) + answer_ids
@@ -29,7 +28,7 @@ def _encode(tok, task, device):
 
 def train_lora_on_tasks(base_name: str, tasks: list, out_dir: str, *, epochs: int = 3,
                         lr: float = 2e-4, batch_size: int = 8, r: int = 16, alpha: int = 32,
-                        seed: int = 0, device: str = "cuda") -> str:
+                        seed: int = 0, device: str = "cuda", max_len: int | None = None) -> str:
     """Fine-tune a fresh LoRA adapter on an arbitrary list of ``tasks`` and save it to ``out_dir``.
 
     The reusable answer-only SFT primitive: each task supplies a ``.prompt`` and a ``.answer`` (which
@@ -60,9 +59,20 @@ def train_lora_on_tasks(base_name: str, tasks: list, out_dir: str, *, epochs: in
                       target_modules=["q_proj", "k_proj", "v_proj", "o_proj",
                                       "gate_proj", "up_proj", "down_proj"])
     model = get_peft_model(model, lora)
+    return _sft(model, tok, tasks, epochs=epochs, lr=lr, batch_size=batch_size, seed=seed,
+                device=device, max_len=max_len, out_dir=out_dir)
+
+
+def _sft(model, tok, tasks, *, epochs, lr, batch_size, seed, device, max_len, out_dir):
+    """The shared answer-only SFT loop. ``model`` is an already-prepared PEFT model."""
+    import torch
+
     model.train()
 
     encoded = [_encode(tok, t, device) for t in tasks]
+    if max_len:                                             # cap sequence length: the causal-LM loss
+        encoded = [(i[:max_len], l[:max_len]) for i, l in encoded]   # upcasts logits to float32,
+                                                                     # so memory ~ batch*len*vocab*4
     opt = torch.optim.AdamW([p for p in model.parameters() if p.requires_grad], lr=lr)
     rng = np.random.default_rng(seed)
     pad = tok.pad_token_id
@@ -101,3 +111,36 @@ def train_specialist(base_name: str, family: str, out_dir: str, *, n_train: int
     tasks = make_tasks(family, n_train, seed=seed, hard=hard)
     return train_lora_on_tasks(base_name, tasks, out_dir, epochs=epochs, lr=lr,
                                batch_size=batch_size, r=r, alpha=alpha, seed=seed, device=device)
+
+
+def continue_lora_training(base_name: str, adapter_dir: str, tasks: list, out_dir: str, *,
+                           epochs: int = 3, lr: float = 1e-4, batch_size: int = 2, seed: int = 0,
+                           device: str = "cuda", max_len: int | None = 448) -> str:
+    """Continue training an **existing** adapter on new data — the Lamarckian channel.
+
+    ``train_lora_on_tasks`` builds a fresh adapter from the frozen base, so knowledge survives only
+    through the data (Weismannian, and correct for the collapse experiments). Continual learning needs
+    the opposite: a child starts from its parent's weights and adds to them, so what a lineage
+    acquires is inherited as *structure*. The learning rate defaults lower than a fresh specialist's,
+    because the adapter is already in a good region and full-rate updates overwrite it.
+
+    Args:
+        base_name (str): HF id of the frozen base.
+        adapter_dir (str): the parent adapter to start from.
+        tasks (list): objects with ``.prompt`` and ``.answer``.
+        out_dir (str): where to save the child adapter.
+
+    Returns:
+        str: ``out_dir``.
+    """
+    import torch
+    from peft import PeftModel
+    from transformers import AutoModelForCausalLM, AutoTokenizer
+
+    tok = AutoTokenizer.from_pretrained(base_name)
+    if tok.pad_token_id is None:
+        tok.pad_token = tok.eos_token
+    base = AutoModelForCausalLM.from_pretrained(base_name, dtype=torch.bfloat16).to(device)
+    model = PeftModel.from_pretrained(base, adapter_dir, is_trainable=True)
+    return _sft(model, tok, tasks, epochs=epochs, lr=lr, batch_size=batch_size, seed=seed,
+                device=device, max_len=max_len, out_dir=out_dir)
diff --git a/src/llm/speciation.py b/src/llm/speciation.py
index 122be3a..b4df38f 100644
--- a/src/llm/speciation.py
+++ b/src/llm/speciation.py
@@ -73,6 +73,15 @@ def _acc(model, tok, tasks: list[Task]) -> float:
     return float(np.mean([verify(o, t) for o, t in zip(outs, tasks)]))
 
 
+
+def adapter_root(cfg: dict) -> Path:
+    """Seed-specific adapter directory for the speciation sweeps.
+
+    Children are retrained at every sweep point, so the directory is scratch; it is keyed by seed so
+    that seeds running concurrently (an HPC array) never overwrite each other's adapters.
+    """
+    return Path(cfg.get("adapters_dir", "models/llm")) / f"speciation_s{int(cfg['seed'])}"
+
 def run_speciation_experiment(cfg: dict) -> pd.DataFrame:
     """Run the conflict-cliff and/or duration sweeps; return long-form accuracies.
 
@@ -91,7 +100,7 @@ def run_speciation_experiment(cfg: dict) -> pd.DataFrame:
     r, alpha = int(lora.get("r", 16)), int(lora.get("alpha", 32))
     seed = int(cfg["seed"])
     hard = bool(cfg.get("hard", False))
-    root = Path(cfg.get("adapters_dir", "models/llm")) / "speciation"
+    root = adapter_root(cfg)
 
     # Fixed evaluation sets (identical across the sweep; convention pairs grade the SAME prompts).
     test_a = make_tasks(fam_a, n_test, seed=1000, hard=hard)
diff --git a/src/llm/tasks.py b/src/llm/tasks.py
index d450340..77b128b 100644
--- a/src/llm/tasks.py
+++ b/src/llm/tasks.py
@@ -31,11 +31,16 @@ _WORDS = ("apple", "table", "river", "cloud", "stone", "plant", "music", "green"
 
 @dataclass(frozen=True)
 class Task:
-    """One verifiable task: a prompt, its canonical answer, and its family."""
+    """One verifiable task: a prompt, its canonical answer, and its family.
+
+    ``meta`` is optional verifier context for dataset-backed families (JSON: unit tests for code,
+    answer aliases for span/short-text QA). Procedural families leave it ``None``.
+    """
 
     family: str
     prompt: str
     answer: str
+    meta: str | None = None
 
 
 def _fmt_list(xs) -> str:
diff --git a/tasks/clarity-audit-2026-09-13.md b/tasks/clarity-audit-2026-09-13.md
new file mode 100644
index 0000000..1114bbe
--- /dev/null
+++ b/tasks/clarity-audit-2026-09-13.md
@@ -0,0 +1,110 @@
+# Clarity audit of paper/pnas/main.md (2026-09-13)
+
+Standard: an interpretive sentence must state the concrete formula, number or mechanism it refers
+to; figure citations must match what the figure plots; no herald sentences; no process ghosts.
+Three parallel audits (Intro+model; Results 1–4; Results 5–6 + Discussion). Line numbers refer to
+main.md at the time of the audit. Nothing below has been applied yet.
+
+## Tier 1 — factual or self-contradictory (fix regardless)
+
+1. L131–132 "no amount of merging can recover it (Fig. S3)". Fig. S3 is re-baselining (E6); it has no
+   merging arm. It shows a population that adopts its own collapsed output as reference never regains
+   lost items. Recite it for that.
+2. L595–598 Discussion: replay fractions "sit where the inheritance model's operational threshold
+   lies". Contradicts the count-not-fraction closed form. Rewrite: they bracket 5% at n=200, and each
+   delivers tens to thousands of replayed examples per step, past the ten copies that hold 95%.
+3. L617–620 "past a threshold, become irreversible". Reintroduces the retracted threshold. The
+   irreversibility condition is concrete: every copy gone from every parent and source (Fig. S3).
+4. L276–277 "(Fig. 3B–C)" cited for a 2×2 (two sizes × easy/hard) comparison; 3B is 0.5B easy
+   merge-vs-specialist, 3C is 7B hard routing-vs-average. Cite precisely; point to Table S2 for the rest.
+5. L121–122 autoencoder "collapses faster (Fig. 2)". The comparison with drift is Fig. S2A–B; Fig. 2A
+   shows the collapse. Cite both.
+6. L107–110 three closed forms named, one written. The union formula `T[ρq + (1−ρ)(1−(1−q)^K_T)]`
+   appears nowhere in the paper, yet Table 1 labels that row "closed form". Write it (here or in the
+   merging section).
+7. L541–544 the in-sample rank correlation of the conflict predictor is never given (only its CI and
+   the held-out 0.35–0.40). Insert the value from Table S2.
+8. L263 "at any rarity (Fig. S8)" — supported only at the tested rarities.
+
+## Tier 2 — result named but not stated / revelation lands vague
+
+9. L246–256 Jenkin/blending null: "exact description" asserted; the conservation law announced
+   without saying what is conserved (expected rare-item mass q·p in the child, independent of K).
+10. L277–283 headroom definition is near-tautological ("routing wins when routing would score
+    higher"). State what sets it: 7B-easy at ceiling (1.00 on two families) → nothing to recover;
+    7B-hard average 0.41 vs routing 0.50 in every seed; 0.5B same gap on easy tasks.
+11. L235–237 "twice the fraction ... the measured price of the estimator bias" → 10% vs 5%, because
+    sharpening loses rare modes faster than sampling alone.
+12. L636–637 "the ablation shows what removing it does" → 0.48 vs 0.78, confident and wrong.
+13. L607–612 "equilibrium theory / failure theory / prediction" labels → give the three contents
+    (m ≈ 1/p per step, 2m/(2m+1) kept; self-replay = g=0; functional disagreement predicts where
+    weight distance does not, with shared-data control).
+14. L492–494 "what moves the cliff" never stated → share of shared prompts under contradictory
+    conventions (Fig. 5B).
+15. L447–452 six-generation ceiling never named → what one adapter holds (0.80 for a single model
+    taught the whole syllabus).
+16. L577–579 and L633–635 Discussion "headroom"/"composed" carry the result → give the margins
+    (routing +0.09, screened offspring +0.07 on hard tasks, every seed; parity at ceiling).
+17. L513–515 "paid this floor" — floor undefined in main text → obligate-merge arm from generation 3.
+18. L148 Table 1 "(the headroom rule)" used before defined (L281).
+19. L147 Table 1 "Consequence-level only" is internal shorthand.
+20. L318–321 conformity term never motivated → consensus = learning from own outputs when there is
+    no verifier; g=0 rewards agreement with itself.
+
+## Tier 3 — heralds, process ghosts, jargon
+
+21. L73–76 three programme sentences announcing the paper.
+22. L82 "Population genetics prices each decision."
+23. L83–86 Fig. 1B "society in time rather than in space" — say what the shift buys.
+24. L221–225 "What these runs add is the comparison ... exposes two departures".
+25. L254–256 herald before the proposition.
+26. L496 "The pre-registered emergent test constrains the claim most."
+27. L331–333 "partly built in ... could alter the picture" (review-response ghost) → separability point.
+28. L560–563 and L656–659 "does not validate a specifically population-genetic mechanism" said
+    twice; keep one, as a statement about the subject.
+29. L468–471 semicolon chain, "count-to-effect link"; the quadratic snowball is Orr (43), not Fig. 5E–F.
+30. L292–294 clonal interference in shorthand → spell out: two variants in different individuals
+    never meet in an asexual descendant.
+31. L346–348 "the Lamarckian channel biology forbids and engineering permits" → one clause of anchor.
+32. L273–275 nonlinearity caveat leaves out why the analogy holds (1/N scaling of an update, 67).
+33. L103–106 Wright–Fisher used before defined; "learner, not organism" antithesis.
+34. L93–94, L98–99, L111–112 housekeeping in reader-facing text ("I use the word throughout",
+    "allele frequency of the dictionary", "standing tests in the codebase").
+35. L372–413 fourteen numeric pairs in one paragraph; split at "Three things rise with generation".
+36. Fig. 3D legend colour order vs text order (conflict, overlap, duration) — check they match.
+
+
+## Proposed rewrites (from the audits; GG's voice to be checked before applying)
+
+1. "Once every copy of a rare item is gone from all parents and all sources nothing can rebuild it, and the inheritance model shows the trap in its commonest form: a population that adopts its own collapsed output as its new reference never recovers the items it had lost, whatever real data it is fed afterwards (Fig. S3), so remedies must act while copies still survive somewhere."
+2. "The replay fractions the field settled on empirically (about 1% for instruction tuning, 89; 5% to 25% in continual pretraining, 90) bracket the 5% found here at 200 samples per generation, and the closed form says why they scatter: at typical batch sizes each delivers tens to thousands of replayed examples per step, well past the ten copies per generation that hold 95% of a source's diversity, so the number that matters is the count of replayed examples of each skill, not the fraction."
+3. "Evaluation that averages over capabilities hides exactly the losses drift predicts first, the rare ones, and a rare capability is recoverable only while some parent or source still holds a copy (Fig. S3). Monitoring the tail, the accuracy on the rarest items rather than the mean, is therefore the leading indicator."
+4. Cite "(Fig. 3C for 7B on hard tasks; the 0.5B and 7B-easy comparisons in Supplementary Information, Table S2)" — verify the SI location.
+5. "(Fig. 2A; the comparison with drift in Fig. S2)".
+6. "(the heterozygosity decay `E[H_t] = H_0(1 − 1/n)^t`; the stationary diversity under real data, written in the next subsection; and the expected number of rare items held by at least one of `K_T` parents, `T[ρq + (1−ρ)(1−(1−q)^K_T)]`, used in the merging section)".
+7. Insert ρ and CI from Table S2.
+9. "Averaging two models does to a rare capability exactly what Jenkin said blending would do to a rare variant: a child fit to the mean of `K` parents sees the item `K` times more often in the mixture and at `1/K` of its mass when it does, and for a rare item the two cancel. Blending inheritance is therefore the null model of merging, and the proposition below states the cancellation exactly." Proposition lead: "In the inheritance model the dilution is a conservation law: the expected mass of a rare item in the child is `q·p` whatever the number of parents, so averaging over more parents neither helps nor harms a rare item's survival."
+10. "Routing wins by exactly the amount averaging loses to dilution, and two things set that loss. A strong base on easy tasks has none: after averaging, the 7B model scores at ceiling (1.00 on two of three families), and routing has nothing to recover. Hard tasks restore it: at 7B the average falls to the level of the best single specialist (0.41), because each specialist's own skill is diluted, and routing among the intact specialists scores 0.50, ahead in every seed. A weak base (0.5B) shows the same gap on easy tasks. The variable is headroom, the distance between the average and the ceiling, and neither model size nor task difficulty alone."
+11. "The autoencoder needed about 10% real data where the inheritance model needed 5%; the difference is what its sharpening bias costs, since a learner that concentrates mass on common modes loses rare ones faster than sampling alone would."
+12. "...and removing it is the one ablation that fails outright: a population selected on agreement with its own consensus instead of on the verifier settles at 0.48 against 0.78 for the full society (Fig. 4D–F), confident and wrong."
+13. "For continual learning the results give three things. The replay ratio has a formula: `m ≈ 1/p` examples per step of the rarest skill one refuses to lose, and 2m/(2m+1) of the diversity is kept. Replaying a network's own output (33, 91–93) is grounding with `g = 0` and collapses on the timescale of Fig. 2, one hop being too short to see it. And a pre-merge test (functional disagreement on shared probes) predicts interference where weight distance does not, with a control for shared training data that the regression (86) and distance (87, 88) studies lack."
+14. "That no single model can answer one prompt two ways is a matter of information, not of training (SI Text S1, Proposition S2). What the population view adds is where the cliff sits: it moves with the share of shared prompts under contradictory conventions (Fig. 5B), and in a population that share grows whenever lineages adopt conventions independently."
+15. "Under a curriculum that delivers every skill to every lineage the ceiling is what one adapter can hold (0.80 for a single model taught the whole syllabus), and sex and selection each reach it sooner without raising it."
+16. "*Route or screen rather than average whenever the average falls short of the best parent on any task*: on hard tasks routing beat averaging by 0.09 in every seed and screened offspring by 0.07 (Fig. 3C), whereas on tasks the 7B base already answered at ceiling the plain average matched them and nothing was lost." / "Blending dilutes whichever parent's skill is rarest, so routing and offspring screening pay only where the plain average falls short of the best parent, and were inert where it did not (Fig. 3B–C)."
+17. "...and this is the cost the obligate-merge arm of the six-generation population paid from generation 3 onward, when its partners began carrying opposite conventions for the same prompts (Fig. 4B)."
+18. Table cell: "Fig. 3B–C: merging beats blending whenever the weight-average scores well below the best parent, and blending suffices when it does not".
+19. Table cell: "The irreversibility is reproduced (Fig. S3); the mutational mechanism of the ratchet is not modelled, see (30)".
+20. "...*grounded evaluation*: an agent is scored partly against reality and partly against the population's own consensus (`g`·true-fitness + (1−g)·conformity). The consensus term stands for what a population does when it has no verifier, which is to learn from its own outputs, so `g = 0` is a population that rewards agreement with itself."
+21. "Drift is only the entry point, because population genetics is above all a theory of what keeps a population from decaying (immigration, recombination, selection, population structure) and of where each of those fails, and every one of them has a counterpart an operator of a model population can switch on: real data entering each generation, merging, verifier-anchored selection and the choice of which models merge with which."
+22. "...transposed from a single network to a population whose members inherit from one another, and each of them has a population-genetic answer with a number attached (how many real samples, how far the average sits below the best parent, how much the parents disagree on shared inputs)."
+23. "Fig. 1B draws the change of viewpoint the transfer rests on. Models are usually pictured as a society in space, contemporaries exchanging messages. The couplings that matter here (training on model output, merging, real data entering each generation) run between generations, and a society coupled in time is what population genetics describes."
+24. "Compared against the exact model, the trained networks depart in two ways, both consequences of the estimator bias measured above. The threshold softens: ..."
+26. "The sharpest test is whether isolation emerges with no conflicting signal anywhere, as a true Bateson–Dobzhansky–Muller incompatibility would: children were diverged..."
+27. "The arm without grounding fails by construction, since a rule that scores agreement will converge on agreement; what the ablation adds is that the other two removals fail in different ways, so recombination and diversity are not substitutes for grounding or for each other. Magnitudes depend on the mutation, restart and selection schemes, which were not varied."
+28. Keep one, in the Discussion: "Three of the framework's refinements failed (confidence weighting, the modifier reading of declines, selection turning speed into level), and the results are consistent with any account in which rare items are lost by sampling and conflicting conventions cannot share weights. The population-genetic reading earned its place by supplying the nulls and the overlap control, not by being the only mechanism left standing."
+29. "In the inheritance model (Fig. 5E–F) hybrid fitness stays at the parents' level while the lineages remain compatible and then falls below the ancestor, sooner the more incompatibilities the genomes carry. Orr showed the number of such incompatibilities grows with the square of divergence (43). Whether a growing number of conflicts produces a fall in performance in a trained network is the question the simulation cannot answer."
+30. "...the *Fisher–Muller effect* (37, 38). In an asexual population two useful variants that arise in different individuals can never meet in one descendant; the lineages carrying them compete, and one is lost. Recombination puts both into one offspring, which is why sexual populations adapt faster."
+31. "...so what the parent learned in its lifetime passes to the child, the inheritance of acquired characters that Lamarck proposed and biology rejected, and that a weight file makes trivial."
+32. "(a network is nonlinear in its weights, so averaging weights does not average outputs; but an update held by one of `N` parents is still scaled by `1/N` in the average (67), which is the dilution the proposition describes)".
+33. "The resampling step is the Wright–Fisher process, population genetics' canonical model of neutral evolution, in which each generation is a random sample of size `n` from the last. In this *inheritance model* the Wright–Fisher population is the sample a child is trained on and its individuals are the `n + m` samples; it is a model of a learner."
+34. "An item is the counterpart of an allele; a *capability* is what an item stands for." / "(allele frequency, in Table 1)" / cut or "(Methods)".
diff --git a/tasks/lessons.md b/tasks/lessons.md
index b66e0f2..3b85c6d 100644
--- a/tasks/lessons.md
+++ b/tasks/lessons.md
@@ -50,3 +50,120 @@ Rules: (1) never mutate `.venv` while a background job is running against it —
 throwaway venv elsewhere; (2) `uv sync` is *declarative* — always pass **every** extra the project
 needs, or it removes the ones you omit; (3) the repo now pins `.python-version` (3.14) so the
 interpreter can never drift silently.
+
+## Before a compute campaign, derive the design from the theory and read the analytic code beside the neural code (2026-09-07)
+The v1 `llm_society` campaign (4 seeds, ~13 L40S-h) returned a null that was *structurally guaranteed*:
+3 families over 8 agents made founders near-clones (E8's ρ=1 control: recombining clones buys nothing);
+2^3 competence states left no room for a child to be "new" (E8 needs L=12); sex was a linear blend at
+0.5B (E4/`llm_moe`: the dilution regime); parents were truncated before breeding (E11 selects on
+survival over parents+offspring — v1 threw away half the families at gen 1 with no operator to
+restore them); `n_test`=40 put every contrast inside one SE. GG caught the first fault by asking what
+the founders knew; the rest fell out of comparing `dynamic_society.py` with `society.py` line by line.
+Rules: (1) a Layer-2 instantiation of an analytic experiment must be checked *operator by operator*
+against the analytic code, not against its description; (2) every free parameter that the theory
+constrains (ρ, L, the operator regime, the observation floor, selection intensity) is set by a
+prediction or a calibration measurement, never by feel; (3) write the falsifiers with numbers and the
+power analysis *before* submission — the pre-registration is `tasks/prereg-llm-society-v2.md`.
+
+## Calibrate the inheritance channel before the population (2026-09-07, evening)
+Nine local GPU-hours of calibration found three ceilings a 96-GPU-hour campaign would have hidden:
+(1) with 3 skills over 8 agents, founders were near-clones (E8 ρ=1 → recombination buys nothing);
+(2) a fresh LoRA distilled from a one-skill parent's answers on nine families retains only 0.6–0.8 of
+the skill — interference from confident off-expertise answers, not the E2 observation floor, and
+removable by gating on the source's own confidence; (3) a two-skill child holds each skill at
+~0.85× of its parents at ANY training budget (rank 64 overfits) — the learning budget, not the
+sample budget, is the conserved quantity, and it caps how many skills one adapter can carry. GG's
+call was no-go at 0.5B rather than a campaign that could only test the ablations. Rules: (a) measure
+transmission fidelity of the inheritance channel for one skill, then two, before breeding populations;
+(b) when a gate fails, re-derive it from the data you already have (the conflict gate moved 0.35→0.41
+from the epistasis grid's own outcomes) rather than by feel, and record it as an amendment; (c) a
+pre-registration that ends in a no-go has done its job — write the ceiling up, don't route around it.
+
+## A plan for reader-facing prose must carry the dual-audience standard explicitly (2026-09-09)
+GG rejected the approved-in-substance manuscript-revision plan until it stated, as a first-class
+section, that every term from either field is defined at first use with an example from each world.
+The plan had the right content and structure but treated accessibility as a verification
+afterthought; GG's rule is that it is "paramount" and must be designed in, not checked for. Rule:
+before drafting any passage for a mixed readership, build the term table (term / one-clause
+definition / biology example / model example) *in the plan*, and put a two-reader pass in
+verification. The same applies to my status reports — GG twice said "I am lost with all these C3,
+E9, H1"; spell codenames out.
+
+## 2026-09-11 — check the figure panel inventory before flagging cross-references
+In the manuscript review I flagged Table 1's "Fig. 4C–E" and "Fig. 3C" as inconsistent with the text. They were
+correct: `make_figs.py` puts the E11 ablation in Fig. 4's bottom row and the predictive grid in Fig. 3C–D; the text
+simply failed to cite them. Rule: before calling a cross-reference wrong, read `paper/pnas/make_figs.py` and the
+captions in `build.py` for the panel inventory; the fix is usually a missing citation in the text, not a wrong table.
+
+## 2026-09-11 — never type a result number that a script has not printed
+Writing the stop3 README I filled the per-seed cells from memory of the mean and had three rows wrong
+until the loader's pivot table exposed it. Rule: every number in a README, SI table or manuscript is
+pasted from a stats-script printout produced in the same step; if the script has not printed it,
+print it first. This is the same rule the plan stated ("copied from the stats-script output, not
+typed") and I broke it within the hour.
+
+## Reference numbers hardcoded outside the renumber path (2026-09-11)
+`renumber_refs.py` rewrites main.md, si.md and build.py captions, but `make_figs.py` carries a literal "(refs. N, M)" in the fig1a grounding cell, which went stale after references were added. Rule: after any renumber, grep `refs\.` and `ref\.` across `paper/pnas/*.py` and fix by hand (or extend renumber_refs.py to cover make_figs.py). Also: fig text is rendered, so verify by `pdftotext figs/fig1a.pdf`, not by grepping the source alone.
+
+## 2026-09-12 — GG's manuscript comments: heralds, undefined terms, and phantom SI references
+Forty-five comments on the ODT. Three patterns. (1) **Herald sentences** ("Two boundaries follow.",
+"Modifier theory predicts its fate:", "X is the measurement no other arm produces") — GG: "Breaking
+down sentences like this is also a claudism." Now a HERALD block in the declaudify detector; run
+`--list herald` before handing over any draft. (2) **Every technical term defined at first use, with
+one word per concept**: item/capability/allele, mass, refit, verified real samples, Zipf source,
+practitioner, "which trained networks" — the dual-audience rule from 2026-09-09 applied to *my own*
+vocabulary, not only the biology. Rule: after drafting, grep each noun of art for its first
+occurrence and check a definition precedes it. (3) **Never cite the SI for something the SI does not
+contain.** The text cited "the SI separates three cases" and "the proof is Poisson thinning" and
+neither existed; and every "(SI)" pointer must name a figure or text number. Rule: before writing
+"(SI)" grep si.md for the claim; if absent, write it (SI Text S4) or drop the sentence.
+
+## 2026-09-12 (round 2) — the Discussion must discuss; novelty is flagged where the result is shown
+GG on the "What is borrowed and what is new" inventory: "The discussion should discuss, not list."
+And on the Limits paragraph: stating small-scale limits "is usually done by undergraduate students";
+either run the experiment or discuss only problems too big for the paper. Rules: (a) never write a
+Discussion paragraph that is a list of prior-art citations or of caveats; each Discussion paragraph
+argues one point; (b) attribute novelty at the point of the result, with the figure panel, and name
+the prior finding it explains or extends in the same sentence ("an observation reported by others
+and left unexplained (60)"); (c) "much/some/most of X was known" is a hedge that gives novelty away
+without saying what is new; replace with the specific thing prior work lacks. Also: after
+`renumber_refs.py --apply`, the fig1a literal (refs. 22, 33) went stale (Shumailov became 23); the lesson from 2026-09-11 held.
+
+## 2026-09-12 — a prediction written into the Discussion must be run before it is printed
+The revised Discussion predicted that differential reproduction would turn recombination's speed
+advantage into a level advantage. Three GPU-hours later it did not (parity, 3/3 seeds). Rules:
+(a) when a Discussion sentence forecasts the outcome of an experiment we can run in under a day,
+run it in the same revision; (b) check adapter/cache directories for seed- and base-specificity
+before any HPC array (speciation shared one dir across seeds; the specialist cache would have loaded
+Qwen adapters into SmolLM2); (c) the local smoke gate for a new base (termination, base accuracy in
+(0.05, 0.95), sample generations) cost 4 minutes and is worth running every time.
+
+## 2026-09-13 — a figure must be readable without its caption
+GG on the manuscript figures after reading the student guide: "too unclear, cryptic"; figures should
+"give some clear information without the need to read the legend". The house rule in make_figs.py
+("no per-panel headline titles; interpretation lives in the captions") was the wrong rule for this
+audience and is reversed. Rules: (a) every data panel carries a one-line headline stating its
+finding plus a grey line naming the system and its size; (b) legend entries say in words what is
+plotted ("accuracy on the model's weakest task family", not "worst_family"); (c) where the set-up is
+not obvious, a schematic panel explains it inside the figure; (d) bar comparisons carry the test
+(paired over seeds, stars, key printed under the legend). Layout lesson: headlines longer than the
+panel run into the neighbour; wrap at ~40 characters per line for a half-width panel, ~70 for full
+width, and render before trusting.
+
+## 2026-09-13 — figure layout rules I should apply without being told
+GG had to ask three times for things a careful eye catches: headlines running past their panel,
+a schematic strip narrower than the data panels beneath it and not flush with their left edge,
+and a large blank band between a strip and the next row. Rules, now encoded in make_figs.py:
+(a) any panel placed by hand (schematics) is positioned from the neighbouring data axes' geometry:
+left edge = the data panels' frame, right edge = the last panel's frame, bottom = a fixed 0.75 in
+above the headline below, height from the content's designed aspect (never let equal-aspect centre
+a too-wide axes); (b) text wraps to its own panel width (`headline()` measures the axes); (c) after
+every regeneration, render at ≥ 90 dpi and check four things before reporting: nothing crosses a
+panel boundary, nothing overlaps, blank bands are no larger than the row gaps, and left edges of
+stacked panels line up. Report only after that check passes.
+
+## 2026-09-13 — prose: no staccato fragments
+- GG flagged "These results say X. They do not say where. The inheritance model does, in closed form."
+  as a claudism. Breaking a thought into short declaratives is rarely necessary; join them (colon,
+  "because", "and", "but"). Clarity comes from stating the concrete object, not from short sentences.
+- After any rewrite pass, scan for sentences of ≤7 words introduced by the edit and rejoin them.
diff --git a/tasks/prereg-llm-compose-v3.md b/tasks/prereg-llm-compose-v3.md
new file mode 100644
index 0000000..7b3045a
--- /dev/null
+++ b/tasks/prereg-llm-compose-v3.md
@@ -0,0 +1,345 @@
+# Pre-registration — `llm_compose` v3: does a composed capability survive inheritance?
+
+**Status:** draft for GG review, 2026-09-07. Supersedes `prereg-llm-society-v2.md` (calibrated,
+no-go at 0.5B) and `workorder-llm-society.md` (v1, run, negative). Nothing runs until §4's gates pass
+and GG signs off §12.
+
+**The question, in one sentence.** Every model-merging paper merges *once*; this asks what happens to a
+composed capability when the models that carry it keep reproducing, and whether the population-genetic
+closed forms predict the trajectory.
+
+---
+
+## 0. Why the design changed, and what carried over
+
+GG's objection to the v2→7B plan (2026-09-07): *"there is no structural reason 7B would succeed if
+0.5B failed. Most likely we are simply using the wrong LoRA specialisations… look in the literature
+and see what kind of test people use as paradigmatic for LoRA."* Correct on both points. Three things
+came out of the literature check:
+
+1. **The paradigmatic test is binary skill composition on a held-out, out-of-domain target.**
+   [LoRA Soups](https://aclanthology.org/2025.coling-industry.55.pdf) (COLING 2025): Llama-2-7B,
+   rank 8, math (MetaMathQA) × code (Code Alpaca) → GSM8k-Hard with program-aided evaluation;
+   also manual × instruction-following → closed-book QA. [LoraHub](https://arxiv.org/abs/2307.13269)
+   (COLM 2024): many Flan modules → held-out BBH. [MergeBench](https://arxiv.org/pdf/2505.10833):
+   math, code, multilingual, safety, IF. Nobody uses procedurally generated puzzle families.
+
+2. **Our v1/v2 families were disjoint but *non-composable*.** Sorting a list and counting letters
+   combine into nothing, so fitness had to be the *average of nine separate objectives* — a
+   **capacity** test (can one r = 16 adapter hold six skills?), which v2's calibration answered: no,
+   ≈ 0.85× per skill for two, worse for more. E8's genotype model has loci contributing to **one**
+   fitness function. Composable skills restore that and need only **two** parents per child, so the
+   capacity ceiling never binds. This, not scale, was the fault.
+
+3. **The operator was wrong in a way with a clean algebraic diagnosis.** peft
+   `combination_type="linear"` computes ΔW = (α₁B₁+α₂B₂)(α₁A₁+α₂A₂)ᵀ, which carries **cross terms**
+   B₁A₂ᵀ and B₂A₁ᵀ — one parent's output projection driven by the other's input projection.
+   `combination_type="cat"` gives α₁B₁A₁ᵀ + α₂B₂A₂ᵀ: each parent's rank-r subspace intact, rank 2r.
+   **That is E4's union operator in the natural algebra of the medium**, and the cross terms are the
+   mechanism of blending dilution. Their GSM-Hard numbers: CAT 21.11 > TIES 15.77 > DARE 14.78 >
+   MoE-routing 13.5 > LoRAHub 4.1 (below the 5.91 base). Routing below CAT is our own `llm_moe_hpc`
+   reading — selection is capped at the best parent, composition is not.
+
+**Carried over from v2's calibration (not wasted — it calibrated the channel v3 uses).** The
+self-consumption inheritance channel: a child distilled from its source's own answers loses 20–40%
+per generation to interference from confident off-expertise answers; gating on the source's own
+confidence (τ = 0.85) restores single-skill retention to **0.87–0.93**, and v3's lineages carry
+**one skill each**, which is exactly the regime the gate was measured in. `k = 300` prompts/skill,
+3 epochs, r = 16, confidence gate τ = 0.85.
+
+**Prior art to cite rather than re-demonstrate.** Offspring capability neither parent had is
+established: [Akiba et al.](https://www.nature.com/articles/s42256-024-00975-8) (Nature Mach. Intell.,
+Japanese × math) and LoRA Soups' *super-linear improvement* (base 5.91 → +code 8.04 → +math 14.18 →
+CAT 21.11; ≥ 5% of solved problems solved by neither parent). Population-based LLM evolution with
+crossover/mutation/selection exists ([Zhang et al. 2025](https://arxiv.org/abs/2503.01155), 40 models),
+as does iterated merging ([M2N2](https://arxiv.org/html/2508.16204v1), EvoGM). **None of them
+iterates the *reproduction* loop**: they optimise a merge, they do not ask what a merged capability
+does over generations. That gap is the experiment.
+
+**Positioning (GG, 2026-09-07): the manuscript does not need repositioning.** The paper's claim is
+that population-genetic *rules describe and predict* the phenomenon — closed forms, thresholds,
+conservation laws — not that recombination or collapse were discovered here. §5's H3 is that claim
+made falsifiable at the language-model tier. One genuine overlap to co-cite:
+[Model Collapse as Cultural Evolution](https://arxiv.org/html/2605.23054) runs ten generations of
+self-training and finds rare-variants-lost-first plus quality-filtering-as-remedy — our E1 and E2 in
+spirit — but under *iterated learning* (Bayesian convergence to the prior), with no equilibrium
+closed form, no threshold, no recombination, and no population structure.
+
+---
+
+## 1. The design
+
+**Two lineages, one measurement.** Two single-skill LoRA lineages on a shared frozen base — a **math**
+lineage and a **code** lineage. Each generation, each lineage reproduces by self-consumption (a fresh
+LoRA distilled from its own confidence-gated answers on fresh prompts). Each generation, the *current*
+two parents are merged and the composed model is evaluated on the held-out composed task.
+
+The composed model is a **measurement, not a lineage** — re-formed each generation from whatever the
+parents currently are. This isolates the question ("does composition survive parental drift?") from a
+confound ("does the composed model itself drift?"). An optional third arm makes the composed model a
+lineage too (§1.4).
+
+**1.1 Task.** Math (MetaMathQA subset) × code (Code Alpaca subset) → **GSM8k-Hard**, program-aided:
+the model emits Python, the code is **executed in a sandboxed subprocess**, and the return value is
+compared to the reference answer. Execution is the verifier — reality's "no" — and returns Layer 2 to
+the blueprint's original §3.6 specification.
+
+**1.2 Operators.** `cat` (union; the campaign operator) and `linear` (blending; the H6 control), both
+at merge weights fixed a priori to (0.5, 0.5) — *not* tuned, because a tuned blend would confound the
+operator contrast with search. LoRA Soups' learned-CAT is a stronger operator than ours; we do not
+need it, and using the untuned version makes the comparison to `linear` clean.
+
+**1.3 Grounding.** The arm knob, in the *training mix* this time (E2's immigration, not E11's
+selection channel): the dry arm's children see only the parent's own answers; the grounded arm mixes a
+fraction **g = 0.10** of fresh verified real examples (correct answers from the held-out pool of the
+lineage's own dataset) into each child's training data. This is the first LLM-tier test of *immigration*
+in this project; Fig. 1A's note that training-mix grounding at LLM scale is established elsewhere
+stands, but here it is the manipulated variable, not a claim of novelty.
+
+**1.4 Arms.**
+
+| arm | parent reproduction | grounding | operator | tests |
+|---|---|---|---|---|
+| `dry` | self-consumption | g = 0 | cat | H2, H3, H5 |
+| `grounded` | self-consumption | g = 0.10 | cat | H4 |
+| `dry_linear` | self-consumption | g = 0 | linear | H6 |
+| `dry_composed` *(optional)* | the merged child becomes the next parent of both lineages | g = 0 | cat | does composition survive in a self-consuming *composed* lineage |
+
+**1.5 Generations and seeds.** G = 6 generations, seeds 1–3, fixed now.
+
+**1.6 Measured each generation.** Per lineage: own-skill accuracy (math on MATH-500 subset; code on
+HumanEval-subset) → **q_t**, the retained skill. Between lineages: **ρ_t**, the correlation of their
+behaviour, measured as in `llm_epistasis` (agreement rate on a shared probe pool, and LoRA-delta
+cosine as a geometric companion). Composed: GSM-Hard accuracy, plus the **surplus** (composed − best
+parent on the composed task) and the **union-exceedance** (fraction of composed-solved problems that
+neither parent solves — LoRA Soups' super-linear signature).
+
+---
+
+## 2. What the framework predicts, quantitatively
+
+E4's closed form for two parents, U(K=2, ρ, q) = ρq + (1−ρ)(1−(1−q)²), gives the expected coverage of
+a capability held by either parent. Composition on a two-skill task is the conjunction rather than the
+union, so the corresponding prediction for a task needing *both* skills is the product form
+
+  **Ĉ_t = c₀ · q_t^math · q_t^code · (1 − ρ_t)/(1 − ρ₀)**
+
+with c₀ fixed by generation 0 (one free scale parameter, fit once, never refit). Two consequences the
+merging literature has no reason to expect:
+
+- **Composition decays faster than either parent.** Ĉ depends on the *product* of both retentions and
+  on decorrelation. If each parent retains 0.9 per generation, the composed capability retains 0.81
+  before any ρ effect. Super-linear gain becomes super-linear loss.
+- **ρ rises under dry self-training**, because both lineages drift toward the same attractor — the
+  base model's prior. Rising ρ removes the complementarity composition depends on, so the surplus
+  collapses even where q is still respectable. This is the mechanism, and it is measurable.
+
+---
+
+## 3. Hypotheses, thresholds, falsifiers
+
+Primary outcome: **composition surplus** S_t = (composed GSM-Hard accuracy) − (best single parent on
+GSM-Hard), per arm per seed per generation. Secondary: union-exceedance, q_t per lineage, ρ_t, and the
+predicted Ĉ_t.
+
+| | Prediction (source) | Threshold | Falsified if |
+|---|---|---|---|
+| **H1** *(gate, not a claim)* | Generation 0 reproduces the literature: CAT composes | S₀ ≥ +0.05 and union-exceedance ≥ 0.03 and CAT > linear by ≥ 0.03, in ≥ 2 of 3 seeds | any of these fails → the setup does not reproduce a published effect; **stop and fix before iterating** |
+| **H2** | Composition decays faster than its parents (§2) | S_t declines monotonically (Spearman ρ ≤ −0.7 vs t) and the composed capability's fractional loss by G exceeds each parent's own fractional loss, in ≥ 2 of 3 seeds | S_t flat or rising, or composed decays no faster than parents |
+| **H3** | **The closed form predicts the trajectory** (E4/§2) — the paper's central claim, made falsifiable | Ĉ_t (one parameter, fit at t=0) predicts observed composed accuracy with mean absolute error ≤ 0.05 across t = 1…G, and beats a two-parameter exponential-decay baseline on AIC | MAE > 0.10, or the atheoretical baseline wins → the closed form describes nothing the data did not already say |
+| **H4** | Grounding arrests it (E2 immigration) | S_G(grounded) − S_G(dry) ≥ +0.08, paired per seed, 3/3 seeds positive | grounded ≤ dry, or difference < 0.03 |
+| **H5** | Rising ρ is the mechanism | ρ_t rises monotonically in `dry` (Spearman ≥ +0.7) and is flat-or-lower in `grounded`; partial correlation of S_t with ρ_t controlling for q_t is negative | ρ flat in dry, or S_t–ρ_t partial correlation ≈ 0 → decay is pure retention loss, not lost complementarity (report either way; it is a mechanism result, not a claim of failure) |
+| **H6** | Blending conserves (E4) | `dry_linear` shows S₀ ≤ +0.02 and union-exceedance ≤ 0.01 at every generation — the conservation law, in the operator the literature already shows is worse | linear matches cat at generation 0 → the cross-term account of dilution is wrong |
+
+Analysis: per-seed paired contrasts, mean ± 95% CI over 3 seeds, sign counts reported. H3 is
+pre-registered as a *prediction with a fixed functional form and one free parameter*; the fit is at
+t = 0 only and is never refit.
+
+---
+
+## 4. Calibration gates (before any campaign)
+
+| Gate | What | Pass criterion | Cost |
+|---|---|---|---|
+| **C1 base** | Smallest Qwen2.5-Instruct (0.5B → 1.5B → 3B → 7B) whose *generation-0* CAT composition on GSM-Hard lands in **[0.25, 0.70]** | first size in band wins; if 7B exceeds 0.70 the task is saturated and GSM-Hard is swapped for its large-number variant | ≤ 2 h, escalating |
+| **C2 verifier** | Execution sandbox: determinism (same code → same verdict ×3), isolation (no filesystem/network), timeout, and agreement with reference answers on 100 gold solutions | 100% determinism, ≥ 0.98 agreement, no escape | 1 h, no GPU |
+| **C3 specialists** | Math and code LoRAs each beat base on their *own* skill by ≥ 0.15 and are ≤ 0.4 on the *other* skill (genuine specialists, decorrelated) | both | 1 h |
+| **C4 replication** | H1 at generation 0 (above) | as H1 | 1 h |
+| **C5 transmission** | Single-skill retention through one gated self-consumption step, per lineage, as v2's C2b | ≥ 0.85 per lineage | 1 h |
+
+C1's escalation is the honest form of the scale question: the base is chosen by *task discriminability*,
+not by hope. If 0.5B or 1.5B lands in band, the campaign is cheap.
+
+---
+
+## 4a. Calibration record
+
+**C2 execution verifier — PASS (2026-09-07).** 100/100 agreement with GSM-Hard's own reference
+`solution()` functions at 32 ms/item; deterministic across three runs; every hazard contained
+(infinite loop → timeout, allocation → memory, write outside the jail → PermissionError, socket →
+PermissionError, subprocess → PermissionError, syntax error, recursion). Two bugs the gate caught:
+a file write initially escaped (fixed with a `sys.addaudithook` guard) and CPU-rlimit kills were
+misreported as errors rather than timeouts. A third surfaced only on CX3 — temp paths are symlinked
+there, so the jail check needed `realpath`, not `abspath`.
+
+**C1 base — the escalation axis is instruction-tuning, not size.** Zero-shot GSM-Hard, program-aided:
+
+| base | GSM-Hard | executable | GSM8K |
+|---|---|---|---|
+| Qwen2.5-1.5B-**Instruct** | 0.500 | 0.950 | — |
+| Qwen2.5-3B-**Instruct** | 0.417 | 0.617 | — |
+| Qwen2.5-3B (base) | 0.633 | 0.950 | 0.750 |
+| **Qwen2.5-1.5B (base)** | **0.067** | 0.117 | 0.117 |
+
+A base that already has the skills makes the specialists vacuous — the v2 disease in new clothes, and
+it would have been *worse* at 7B, which is the quantitative form of GG's objection to the 7B plan.
+Qwen2.5-1.5B base is within noise of LoRA Soups' Llama-2-7B starting point (0.059), so the escalation
+runs along instruction-tuning rather than parameter count. **Amendment:** C1's band applies to the
+*base* (≤ 0.15) as well as to the composed model ([0.25, 0.70]).
+
+**C3 specialists + C4 replication (`results/llm_compose_gate`) — H1 FAILS, with a clean diagnosis.**
+
+| | composed (GSM-Hard) | executable | own skill |
+|---|---|---|---|
+| math parent (MetaMathQA) | 0.073 | 0.153 | GSM8K 0.620 |
+| code parent (CodeAlpaca) | **0.427** | 0.953 | MBPP 0.075 |
+| cat merge, 0.5/0.5 | 0.407 | 0.827 | — |
+
+Surplus **−0.020** (needs ≥ +0.05) → the pre-registered gate fails and no campaign is submitted on
+this configuration. But **union-exceedance is 0.073**: the merge solves 7.3% of items that *neither*
+parent solves, so composition is occurring and is being cancelled by a format cost (executability
+0.953 → 0.827 when the non-code parent is blended in).
+
+**The skill pair is unbalanced for this base, and the measurement says so precisely.** In the
+published setup math-only (0.142) beats code-only (0.080); here the ordering is *inverted* — code-only
+0.427, math-only 0.073 — because Qwen2.5's pretraining already carries the maths, so **code/format is
+the scarce skill and maths is not**. E8's premise is that each parent supplies something the child
+could not otherwise get; that holds for the code parent and fails for the math parent.
+
+**Diagnostic before any redesign (running):** a merge-weight sweep (0.5/0.5 → 0.1/0.9) under both
+operators, reusing the cached founders. It separates two possibilities that the single 0.5/0.5 point
+cannot: *(i)* the surplus is positive somewhere in weight space and 0.5/0.5 was a strawman — in which
+case the correct experiment is E10's directed version (breed offspring across weights, select on the
+verifier), which is this project's own operator and was fixed to 0.5/0.5 only to keep the operator
+contrast clean; or *(ii)* no weighting yields a positive surplus, in which case the pair is simply
+wrong for this base and the fix is a target whose *maths* the base cannot do (competition-level MATH
+program-aided), not a different merge.
+
+**Merge-weight sweep (cat, GSM8k-Hard, founders reused) — 0.5/0.5 was a strawman, and there is an
+interior optimum.**
+
+| math/code | composed | surplus | union-exceedance | executable |
+|---|---|---|---|---|
+| 0.5/0.5 | 0.407 | −0.020 | 0.073 | 0.827 |
+| **0.3/0.7** | **0.453** | **+0.027** | **0.093** | 0.967 |
+| 0.2/0.8 | 0.433 | +0.007 | 0.080 | 0.967 |
+| 0.1/0.9 | 0.433 | +0.007 | 0.040 | 0.960 |
+
+The surplus is positive over a range and peaks at an *interior* weight — E9's "optimal recombination
+rate is intermediate", in real weights — and the executability cost of blending disappears once the
+non-code parent is down-weighted (0.827 → 0.967, above even the code parent's 0.953). It is also
+LoRA Soups' own result that *learned* CAT beats *static* CAT, arrived at independently. **Amendment
+(adopted):** merge weights are chosen per generation on a **disjoint validation split** of the
+composed target and reported on the test split — E10's directed recombination, which was fixed at
+0.5/0.5 in §1.2 only to keep the operator contrast clean. The `linear` control arm keeps the same
+treatment, so the operator contrast survives. `_split_pool` makes val/test disjointness structural
+rather than a property of seeds, which matters at MATH-500's pool size.
+
+**Still short of the gate: peak surplus +0.027 against a +0.05 threshold, and n = 150 gives
+SE ≈ 0.04.** The bar is high because the *best parent* is at 0.427, where LoRA Soups' was 0.142.
+So the second gate configuration (`configs/llm/compose_gate_math500.yaml`) moves the target to
+MATH-500 rather than moving the threshold.
+
+**Full gen-0 sweep, both operators (GSM8k-Hard, 150 items, best parent 0.427):**
+
+| operator | 0.5/0.5 | 0.3/0.7 | 0.2/0.8 | 0.1/0.9 | range |
+|---|---|---|---|---|---|
+| cat | 0.407 | **0.453** | 0.433 | 0.433 | 0.046 |
+| linear | 0.333 | 0.467 | **0.507** | 0.413 | 0.174 |
+
+**H6 as pre-registered is FALSIFIED, and what replaces it is more interesting.** The prediction was
+that blending "conserves" — no composition to lose. In fact linear blending produces the *largest*
+union-exceedance (0.133 vs cat's 0.093) and the highest composed accuracy of any configuration
+(0.507, surplus +0.080), *provided the weight is chosen*. What distinguishes the operators is
+**variance, not mean**: concatenation is nearly flat in the blend ratio (range 0.046) and never
+catastrophic, while blending swings by 0.174 — worst of all at equal weights (0.333, executability
+0.680, the cross-terms wrecking the code parent's format), best of all at 0.2/0.8. That is E9's
+structure in real weights: blind recombination → outbreeding depression; directed recombination →
+gain; the union operator is the conservative strategy. Revised H6 (recorded before the campaign):
+*the operator ordering is weight-dependent at generation 0; does it stay so across generations, or
+does one operator degrade faster?* — measured by the `dry_cat` arm.
+
+**Second target, MATH-500 (`results/llm_compose_gate_math500`, cat + selected weights): composed
+0.200, best parent 0.158, surplus +0.042, union-exceedance 0.100.** The balanced-pair prediction
+holds — a much weaker best parent (0.158 vs 0.427) leaves more headroom, and cat's surplus rises from
++0.027 to +0.042. The composition effect therefore reproduces on **two independent targets**, at the
+cost of one extra evaluation pass since the founders are shared.
+
+**Gate verdict: PASS on the amended configuration** (directed weight selection; GSM8k-Hard primary,
+MATH-500 as the generality check). Campaign launched 2026-09-07: seed 1 local, seeds 2-3 as CX3 array
+`4000472` (6 elements, 3 arms x 2 seeds).
+
+## 5. Cost
+
+Per generation-arm: 2 lineages × (2700 gated inheritance answers + train ~1000 × 3 epochs) +
+composed eval on 300 GSM-Hard items with execution. At **1.5B**: ≈ 25 min. At **7B**: ≈ 75 min.
+
+| base (from C1) | arms | seeds | G | total |
+|---|---|---|---|---|
+| 1.5B | 3 | 3 | 6 | **≈ 12 GPU-h** (local, overnight) |
+| 3B | 3 | 3 | 6 | ≈ 25 GPU-h (local or 4 CX3 jobs) |
+| 7B | 3 | 3 | 6 | ≈ 40 L40S-h (9 array elements, 6 h each) |
+
+The optional `dry_composed` arm adds a third. Every figure in §3 is drawn from one parquet;
+checkpoint/resume carries over from `society_v2.py`.
+
+---
+
+## 6. Anticipated failure modes
+
+- **Gen-0 does not compose (C4 fails).** Most likely cause is the base being too weak for
+  program-aided math at all. C1's escalation should prevent it; if it survives C1, stop — the
+  experiment has no signal to measure the decay of.
+- **Parents don't drift.** If gated self-consumption is *too* good, q stays ≈ 1 and there is nothing
+  to observe. Mitigation: the gate is a knob (v2 measured τ = 0.5 → 0.87 and ungated → 0.81); if q_6 >
+  0.9 in the dry arm at τ = 0.85, drop to ungated, which is the *more* faithful self-consumption
+  channel anyway. Pre-declared, not a post-hoc rescue.
+- **ρ unmeasurable.** Math and code lineages answer disjoint prompt types, so behavioural agreement may
+  be uninformative. Fallback: ρ from LoRA-delta cosine (already implemented in `epistasis.py`) and
+  from agreement on the *shared* GSM-Hard prompts.
+- **Execution verifier flakiness** — timeouts counted as failures, reported as a rate.
+- **GSM-Hard contamination** in an Instruct base: report the base's zero-shot GSM-Hard number; if it
+  is implausibly high, switch to the perturbed-number variant.
+
+---
+
+## 7. Engineering checklist
+
+- [ ] `src/llm/execute.py` — sandboxed subprocess execution verifier (timeout, no network, no
+      filesystem writes, deterministic), + tests.
+- [ ] `src/llm/datasets.py` — MetaMathQA / Code Alpaca / GSM8k-Hard loaders, fixed subsets, cached.
+- [ ] `src/llm/compose.py` — `kind: llm_compose`; two lineages, per-generation merge-and-measure,
+      `cat`/`linear`, grounding fraction, confidence gate, checkpoint/resume (port from `society_v2.py`).
+- [ ] q_t / ρ_t instrumentation (reuse `epistasis.generate_with_confidence`, `delta_geometry`).
+- [ ] `configs/llm/compose_calib_{c1..c5}.yaml`, `compose_s{1,2,3}.yaml`, `hpc/llm_compose.pbs`.
+- [ ] `figures/plot_llm_compose.py` (4 panels: S_t per arm; q_t per lineage; ρ_t; observed vs Ĉ_t) and
+      `figures/stats_llm_compose.py` (H2–H6) — **written before unblinding**, as in v2.
+- [ ] Smoke: 1.5B, G = 2, all arms, 50 eval items.
+
+## 8. Outcome → manuscript
+
+| Outcome | What changes |
+|---|---|
+| H1–H4 pass, H3 within tolerance | Fig. 1A's "open — the stated gap" cell is filled by a *different and better* experiment than the one specified: the closed form predicting a real LLM capability trajectory over generations. New figure; the recombination and grounding sections each gain their language-model rung. |
+| H2 + H4 pass, H3 fails | The signs transfer, the quantitative law does not — report as such; the paper's predictive claim stays anchored on the biological model, and the LLM tier is confirmatory (which is what Fig. 1A already says of the other rows). |
+| H1 fails at every base size | No campaign. The SI records the 0.5B transmission ceiling (v2) plus the failure to reproduce a published composition effect in our harness — an infrastructure result, honestly labelled. |
+
+## 9. Decisions for GG
+
+1. **Base escalation cap** — stop at 3B (cheap, local, likely enough) or allow 7B if C1 demands it?
+2. **Optional `dry_composed` arm** (+33% cost): does composition survive when the *merged* model is
+   itself the reproducing lineage? It is the closest thing to the original society question.
+3. **Skill pair** — math × code (best-anchored to the literature) or a second pair alongside
+   (manual × instruction-following) for generality at double the cost?
+4. Whether the v2 no-go and this redesign are worth a short **SI subsection on negative results**, or
+   stay in the repository record only.
diff --git a/tasks/prereg-llm-society-v2.md b/tasks/prereg-llm-society-v2.md
new file mode 100644
index 0000000..adcc1cb
--- /dev/null
+++ b/tasks/prereg-llm-society-v2.md
@@ -0,0 +1,563 @@
+# Pre-registration — `llm_society` v2: the composed society at LLM scale
+
+**Status (2026-09-07, 21:30): calibrated; NO-GO at 0.5B (GG, §12a); 7B plan in §13 awaiting scope.**
+Supersedes the design in `workorder-llm-society.md` (v1). Calibration record and every amendment are
+in §4a; the campaign was not submitted. Read §1 (what v1 got wrong), §4a (what calibration found),
+§12a (the decision), §13 (what next).
+
+**Why a v2.** The v1 campaign (3 CX3 seeds landed 2026-09-07, `results/llm_society_campaign/`;
+seed 1 still running locally) did not reproduce E11: `no_grounding` degraded (0.575 → 0.436, worst
+arm in every seed), but `full` also declined (→ 0.506) and `no_sex` was flattest (0.558). The
+conformity−truth gap did not separate the arms. Read against the framework, v1 had three
+*structural* faults that the theory would have predicted, plus one power fault. All four are
+diagnosed in §1 and designed out in §3. The point of this document is to make the remaining
+predictions explicit *before* spending the compute, so the campaign can fail informatively.
+
+---
+
+## 0. The question and the claims it tests
+
+Does a finite population of LLM agents under the four composed operators — grounded evaluation,
+directed recombination, diversity-preserving selection, lossy inheritance — climb to capability that
+no founder had and hold it, while each ablation fails in its own way? This is E11 at the language-model
+tier: the paper's "open — the stated gap" cell (Fig. 1A).
+
+Claims exercised, and the analytic experiment each rests on:
+
+| Claim | Analytic source | LLM prediction (§5) |
+|---|---|---|
+| Recombination assembles a genotype no parent had (vertical) | E8 (Fisher–Muller, unbounded parents) | H1 |
+| Blending conserves the single-parent level; only union realises the gain | E4 (conservation law), `llm_moe` | H2 |
+| Ungrounded selection → self-consumption → confident, unfit consensus | E11 (conformity mechanism) | H3 |
+| Without recombination, capability is capped at the best founder | E8 control (ρ=1) + no mutation operator here | H4 |
+| Greedy selection collapses diversity faster; QD holds it | E5, E11 | H5 |
+| A capability survives inheritance only if observed often enough | E2 (per-item floor 1−e^{−mp}) | H6 |
+
+**Explicit non-goal.** Grounding here is E11's *selection-channel* grounding
+(`g·fitness + (1−g)·conformity`), not E2's *immigration into the training mix*. No verified answer
+ever enters any child's training data, in any arm. Fig. 1A already states that LLM-scale training-mix
+grounding is established in prior work and not re-run; this campaign does not change that. A
+negative here is evidence against the *selection* mechanism only.
+
+---
+
+## 1. What v1 got wrong, read through the framework
+
+| # | Fault | What the theory says | Evidence in v1 | Fix (§3) |
+|---|---|---|---|---|
+| F1 | **Near-clone founders.** 8 agents over 3 families → 3 lists-, 3 strings-, 2 arith-specialists differing only by task draws. | E8 control: recombining ρ=1 parents buys **nothing** (flat at 6 for any K). Pigeonhole: 4 parents from 3 families always contains a same-family pair. | `no_sex` ≥ `full`: merging near-clones is pure perturbation cost. | L = 12 disjoint families, **one founder per family**, ρ = 0 by construction; verified at gen 0. |
+| F2 | **Combinatorial space too small.** 3 skills → 2³ = 8 competence states; founders occupy 3 of them. | E8/E11 use L = 12 (4096 genotypes). The vertical claim needs room for a child to be *new*. | Best possible gain over a founder was tiny. | L = 12 → the best founder holds 1/12 of the space. |
+| F3 | **Blending operator in the dilution regime.** Sex = 2-parent *linear* LoRA merge at 0.5B. | E4 conservation law; `llm_moe` 0.5B: soup dilutes lists 0.43 → 0.26. Headroom law: dilution wherever there is room to lose. | `full` declined while `no_sex` held. | Reproduction by **union-preserving recombination** (confidence-routed union of parents' answers → distil). Linear merge kept as an explicit control arm (`sex_linear`) — H2. |
+| F4 | **Truncation before breeding.** Top-4 of 8 selected as parents; children bred only from them. | E11 selects on *survival over the pooled parents + offspring*, never on breeding eligibility. Truncating parents discards half the alleles at gen 1 with no mutation operator to restore them (E6: loss is permanent). | Half the families were unreachable after gen 1. | Survival selection over the pool (§3.4). Elitism becomes emergent, as in E11. |
+| F5 | **Underpowered evaluation.** `n_test` = 40 → SE 0.079 per measurement. | — | Every contrast except vs `no_grounding` sat inside one SE. | `n_test` = 240 (20/family) → SE 0.032 overall. |
+| F6 | **Weak grounding contrast.** g = 0.5 vs E11's 0.85; G = 10 vs 80. | The conformity gap in E11 needs the population to converge; g = 0.5 leaves conformity with half the vote even in `full`. | Gap flat in all arms. | g = 0.85; G = 12 (§7 explains why 12 suffices here). |
+| F7 | **Transmission floor never measured.** `n_inherit` = 600 over 3 families chosen by feel. | E2: an item survives only if it is *observed* enough in the inheritance sample — the per-item floor. Pilot v1 measured a ~25%/gen "distillation tax" and fixed it by doubling data, without asking where the floor was. | — | Calibration C2 measures the retention curve and sets `n_inherit` from it. |
+
+---
+
+## 2. Theoretical predictions → design constraints
+
+Each constraint below is derived, not chosen.
+
+**2.1 Decorrelation (E8, E4).** Union coverage of K parents is U = ρq + (1−ρ)(1−(1−q)^K); the
+gain over a single parent is proportional to (1−ρ). Founders must therefore be as decorrelated as the
+task space allows: one family each, no shared training items, and the gen-0 behavioural-distance
+matrix must show no pair below 0.5 disagreement (gate C1c).
+
+**2.2 Combinatorial headroom (E8).** With one family per founder, q = 1/L. The doubling bound for
+2-parent recombination gives ≥ ⌈log₂ L⌉ = 4 generations to *reach* full coverage under lossless
+inheritance; with per-generation retention r per family the plateau is set by r, not L. So L = 12
+gives headroom; G must exceed 4 by enough to see the plateau: G = 12.
+
+**2.3 Operator (E4, `llm_moe`, `llm_directed`).** At 0.5B on unsaturated families the framework
+predicts linear blending dilutes and union preserves. The society's reproduction operator must be
+union-preserving or the experiment re-measures a known result. The union is implemented in the
+*inheritance data*, not in weight space: for each inheritance prompt the child learns the answer of
+whichever parent is more confident (mean token log-probability of its own answer). This is E4's
+`max` operator applied per item, it is verifier-free (legal in the `no_grounding` arm), and it is
+directed sex in E10's sense — mate choice by complementarity plus per-item selection. Gate C4 checks
+that confidence tracks competence (the routing precondition); gate C3 checks the union child beats the
+linear child on a single 2-founder cross before any campaign money is spent.
+
+**2.4 Selection acts on survival (E11).** E11 pools N parents with n_off offspring and keeps the top
+N by `score + novelty·λ`. Reproducing that exactly gives: elitism for free (a strong parent survives
+by out-scoring its children), no gen-1 truncation, and a directly comparable selection intensity
+(keep 12 of 24 = top ½; E11 keeps 60 of 180 = top ⅓ — pre-noted as a difference).
+
+**2.5 Conformity must be decoupled from truth for H3 to be testable.** E11 initialises random
+genotypes, so its consensus is uninformative at gen 0. In the LLM, consensus is the modal answer
+over agents. With one expert per family, 11 of 12 agents answer any given family's prompt at roughly
+base level, so the modal answer ≈ the base model's answer, and conformity rewards *being base-like*.
+Prediction: consensus accuracy at gen 0 ≈ base overall (gate C5 measures it; it must be < 0.35, i.e.
+well below the best founder's own-family accuracy, otherwise conformity is a truth proxy and the
+`no_grounding` arm cannot fail by the predicted mechanism — see §6 F-alt).
+
+**2.6 The inheritance floor (E2).** A family survives distillation only if the child sees enough
+*correct* examples of it. Retention as a function of examples-per-family, r(k), is measurable
+(C2). Set k* = min k with r ≥ 0.85, `n_inherit` = L·k*. Consequence for a *diluted* skill at accuracy
+a: effective correct examples = a·k*, so skills are lost at the distillation step, not the merge step
+(H6, a mechanism prediction that distinguishes this account from "merging destroyed it").
+
+**2.7 Headroom, not size (the `llm_moe_hard` lesson).** Families must be unsaturated for the
+specialist (≤ 0.9) and non-trivial for the base (≥ 0.05, ≤ 0.4) at 0.5B. C1 rejects families outside
+that band. The three existing easy families straddle it (base lists 0.15 / strings 0.15 / arith 0.53;
+specialists 0.43 / 1.00 / 0.91) — strings saturates, arith's base is high. Both are candidates for
+replacement, decided by C1 not by preference.
+
+**2.8 No cross-family conflict (E12, `llm_epistasis`, `llm_speciation`).** Recombination helps on
+additive landscapes and hurts under functional conflict. Families must not share a prompt shape with
+different answer conventions (e.g. two families that both say "sort" meaning different orders). Gate
+C1b: pairwise confidence-weighted functional conflict between founders (the `llm_epistasis` measure)
+below the grid's no-conflict axis level.
+
+---
+
+## 3. Design
+
+**3.1 Base and agents.** Qwen2.5-0.5B-Instruct (frozen). Agent = LoRA r=16 α=32 on attention + MLP
+projections. N = 12.
+
+**3.2 Task space.** L = 12 disjoint procedurally generated families, exact-match verifier, chosen from
+the candidate list in §4 C1 by the calibration band. Fixed pools per family: test 20 (reporting only),
+val 10 (grounded selection signal), conformity 10 fresh per generation (prompts only). Inheritance pool:
+k* per family, fresh per generation.
+
+**3.3 Founders.** Agent i is a specialist on family i, trained on 600 × 3 epochs of that family only,
+seed `master·100 + i`. Gate C1c: gen-0 pairwise behavioural distance ≥ 0.5 for every pair.
+
+**3.4 One generation.**
+
+1. *Produce & score.* Every agent in the current population answers test, val, and conformity pools.
+   Consensus = modal normalised answer per conformity prompt. `fitness` = val accuracy; `conformity`
+   = agreement rate with consensus; `novelty` = mean behavioural distance to the rest.
+   `score = g·fitness + (1−g)·conformity`, g = 0.85 (0 in `no_grounding`).
+2. *Mate.* Form n_off = N pairs by complementarity (greedy maximum behavioural distance, each agent
+   used at most twice), restricted to the current population.
+3. *Recombine (sex ON).* For each pair, each parent answers the inheritance pool once (with mean
+   token log-prob). Union child data: per prompt, the answer of the more confident parent. In
+   `sex_linear`: 6 Dirichlet-weighted linear LoRA merges screened on the arm's own signal (val
+   fitness, or conformity in ungrounded arms), winner answers the pool. Sex OFF: the child's data is a
+   single parent's answers (parent chosen by score-proportional sampling).
+4. *Inherit.* Each child is a fresh LoRA trained from the base on its data, `epochs` from C2.
+5. *Survive.* Pool = N parents + N children. Keep the top N by `score + λ·novelty` (λ = 0.3; λ = 0 in
+   `no_diversity`). Scores for children computed after training, on the same pools.
+
+**3.5 Arms (5).**
+
+| arm | g | recombination | survival |
+|---|---|---|---|
+| `full` | 0.85 | union (confidence-routed) | QD (λ=0.3) |
+| `no_grounding` | 0 | union; routing unchanged (verifier-free) | QD on conformity |
+| `no_sex` | 0.85 | none (single-parent redistillation) | QD |
+| `no_diversity` | 0.85 | union | greedy (λ=0) |
+| `sex_linear` | 0.85 | 2-parent linear merge, 6 screened candidates | QD |
+
+`sex_linear` is the H2 control and is the first arm to drop if budget forces it (§9).
+
+**3.6 Generations and seeds.** G = 12. Seeds 1–4 (fixed before running; not re-drawn). Reporting
+uses the verifier in every arm; the verifier enters the *loop* only where g > 0.
+
+---
+
+## 4. Calibration phase (local 16 GB GPU, ≈ 3–4 h, before any submission)
+
+Each gate has a pre-set pass criterion. Fail → stop, fix, re-run the gate. No campaign until all pass.
+
+| Gate | What | Pass criterion | Cost |
+|---|---|---|---|
+| **C1a** family band | Base and specialist (600×3) accuracy on each of ~15 candidate families (100 test items each) | Keep families with base ∈ [0.05, 0.40] and specialist ∈ [0.60, 0.90]; need ≥ 12 | ~60 min |
+| **C1b** no conflict | Pairwise confidence-weighted functional conflict between the 12 founders (from `llm_epistasis`) | Every pair below the `compat` axis level of the epistasis grid | ~15 min |
+| **C1c** decorrelation | Gen-0 behavioural-distance matrix on 120 mixed prompts | min pairwise disagreement ≥ 0.5 | (with C1b) |
+| **C2** transmission floor | Distil a child from a founder's *own* answers with k ∈ {25, 50, 100, 200} examples of its family (rest of the pool mixed), 2 and 3 epochs; measure retained own-family accuracy ÷ founder accuracy | Choose k* = min k with retention ≥ 0.85 at the chosen epochs; if no k ≤ 200 passes, the design is infeasible at 0.5B — stop | ~45 min |
+| **C3** operator | One cross (two founders): union-distil child vs best-of-6 linear-merge-distil child; both families' accuracy | Union child ≥ 0.85 × each parent on that parent's family; union ≥ linear on the *minimum* of the two. If linear ≥ union, H2 is already falsified — record it and reconsider the operator before the campaign | ~20 min |
+| **C4** routing precondition | For each founder: mean log-prob on own-family answers vs off-family; AUC | AUC ≥ 0.7 for ≥ 10 of 12 founders | (with C2) |
+| **C5** consensus anchoring | Consensus accuracy over the 12 founders at gen 0, 120 prompts | < 0.35 (conformity is not a truth proxy) | ~5 min |
+
+C2 also fixes the cost model (§9) — `n_inherit` = 12·k*.
+
+---
+
+## 5. Pre-registered hypotheses, thresholds, falsifiers
+
+Primary outcome metric: **best-agent overall test accuracy** at generation G (deployed capability,
+elite included), reported with the **best newborn** (child trained that generation) alongside, so a
+"climb" carried by a surviving founder is visible as such. Secondary: per-family accuracy of the best
+agent (the competence genotype), behavioural diversity, consensus accuracy, conformity−truth gap.
+Reference level **B₀** = best founder overall at gen 0 (≈ (0.7 + 11·base)/12 ≈ 0.24 if base ≈ 0.2;
+measured, not assumed).
+
+| | Prediction (from) | Quantitative threshold | Falsified if |
+|---|---|---|---|
+| **H1** vertical climb | E8: union recombination of decorrelated one-family founders assembles multi-family agents; sigmoidal, most of the climb in gens 1–5, plateau set by r | `full` best-agent at G ≥ B₀ + 0.20 and best newborn at G ≥ B₀ + 0.15; best agent competent (≥ 0.6) on ≥ 6 of 12 families; in ≥ 3 of 4 seeds | best-agent gain < 0.10 in ≥ 2 seeds |
+| **H2** operator | E4 conservation law in the dilution regime | `full` − `sex_linear` ≥ 0.10 at G (paired, per seed); `sex_linear` best agent competent on ≤ 3 families | `sex_linear` ≥ `full` in ≥ 2 seeds. *Pre-stated regime caveat:* this ordering is predicted to **invert** at 7B on easy tasks (headroom law); a 7B follow-up would test that, not this. |
+| **H3** self-consumption | E11 + §2.5: conformity rewards base-likeness; ungrounded selection regresses the population to base and homogenises it | `no_grounding` best agent at G ≤ B₀ + 0.05; conformity−truth gap (`no_grounding` − `full`) ≥ 0.30 at G; consensus accuracy in `no_grounding` non-increasing | `no_grounding` ≥ `full` − 0.05 on best agent, **or** gap difference < 0.10 |
+| **H4** sex necessity | E8 ρ=1 control + no skill-acquisition operator without recombination | `no_sex` best agent at G ≤ B₀ + 0.05 in every seed (a *ceiling*, stronger than E11's ~1-point effect) | `no_sex` gains ≥ 0.10 over B₀ in any seed → an unmodelled acquisition route exists (base competence amplified by self-distillation); report it |
+| **H5** diversity | E5/E11: greedy converges earliest; QD holds | AUC of behavioural diversity `full` > `no_diversity` in ≥ 3 seeds; `no_diversity` diversity < 0.1 by gen ≤ 6. **Low power on best fitness pre-declared** (E11: 0.78 vs 0.74) | no ordering in diversity AUC |
+| **H6** where skills die | E2 floor: loss occurs at distillation when correct examples/family < k*·a | For families lost between t and t+1 in `full`, the *source* (union answer set) accuracy on that family at t is ≥ 0.6 in ≤ 20% of cases — i.e. skills that were competently supplied are retained; skills die because they arrived diluted | ≥ 40% of lost families were supplied at ≥ 0.6 → the distillation channel itself is lossy beyond the calibrated floor; revisit C2 |
+
+Analysis is per-seed paired contrasts (4 seeds), reported as mean ± 95% CI and sign count. No metric
+introduced after unblinding is called a result. All rows above are also plotted whether or not they
+pass.
+
+---
+
+## 6. Anticipated failure modes and how each is handled
+
+- **F-alt (conformity anchored to truth).** If C5 shows consensus accuracy ≥ 0.35, the `no_grounding`
+  arm may fail by drift rather than by confident-wrong consensus (v1 workorder falsifier 3). Then H3's
+  gap threshold is not testable; run anyway, report the observed signature, and say so.
+- **Terminal degeneration.** A source that emits < 8 usable answers: copy the parent unchanged (existing
+  sentinel). Count and report occurrences per arm.
+- **Family extinction is permanent (E6).** No mutation operator reintroduces a lost family. Pre-state:
+  the number of families alive in the population is itself a reported curve; `full` is predicted to
+  hold ≥ 10 of 12 to G, `no_diversity` fewer.
+- **Router failure (C4 fails).** Fall back to self-consistency routing (two samples, prefer the parent
+  whose answers agree); re-run C4. If still failing, the union operator has no verifier-free
+  implementation at this scale — record and consider 7B.
+- **Elite lock-in.** A founder that survives to G on score alone makes "best agent" flat. Best newborn
+  is co-primary for exactly this reason.
+- **Screening noise in `sex_linear`.** 6 candidates on 120 val items (SE 0.046) — adequate for choosing
+  among merges that differ by ≥ 0.1, which is the dilution scale.
+- **Queue / wall-time loss.** Per-generation checkpoint (rows flushed to parquet; adapters on disk)
+  and `--resume`; each PBS array element = one (seed, arm), ≤ 6 h.
+- **Environment drift.** Never `uv sync` on a machine with a running job (`tasks/lessons.md`).
+
+---
+
+## 7. Power
+
+SE of an overall accuracy at 240 items, p ≈ 0.5: 0.032. Per-family at 20 items: 0.11 (per-family
+readouts are descriptive only). Predicted effects: H1 ≥ 0.20, H2 ≥ 0.10, H3 ≥ 0.20 on best agent and
+≥ 0.30 on the gap, H4 a ceiling — all ≥ 3 SE. H5 on best fitness is predicted small and is not powered;
+its diversity readout is. Four seeds give a sign test at p = 1/16 one-sided for a 4/4 outcome; the
+primary analysis is the paired mean and CI, the sign count is descriptive.
+
+Why G = 12 suffices: the climb needs ⌈log₂ 12⌉ = 4 doublings; the E11 `no_grounding` crash occurred
+by generation 6 of 80; diversity collapse in E11's ablations by 10–15. Twelve generations covers
+every predicted transition with margin to see the plateau.
+
+---
+
+## 8. Analysis and figure (fixed now)
+
+Figure, E11 layout plus one panel: **(A)** best-agent and best-newborn overall accuracy per arm over
+generations, B₀ dashed; **(B)** behavioural diversity; **(C)** conformity−truth gap; **(D)** competence
+heat-map — families × generations for the `full` best agent, with `sex_linear` beside it. Mean ± 95% CI
+over seeds. Script `figures/plot_llm_society.py`, reading only the committed bundles.
+
+Statistics: per-seed paired contrasts at G for H1–H4; AUC contrast for H5; the supplied-vs-retained
+tabulation for H6. `figures/stats_llm_society.py`.
+
+---
+
+## 9. Compute and schedule
+
+Measured anchor: v1 seed (N=8, G=10, 4 arms, n_inherit=600, 3 epochs) ≈ 3.3 L40S-hours.
+
+Per generation-arm at v2 defaults (N=12, 24-agent pool eval on 480 prompts; 12 parents answering the
+inheritance pool once each with log-probs; 12 children trained at 12·k* × epochs):
+
+| k* from C2 | training | inheritance answers | eval | per gen-arm | per (seed, arm), G=12 | campaign, 4 seeds × 5 arms |
+|---|---|---|---|---|---|---|
+| 50 | ~6 min | ~3 min | ~4 min | ~13 min | ~2.6 h | **~52 L40S-h** |
+| 100 | ~12 min | ~5 min | ~4 min | ~21 min | ~4.2 h | **~84 L40S-h** |
+
+Submitted as a 20-element PBS array (seed × arm), 6 h wall-time each, checkpointed. Dropping
+`sex_linear` saves 20%. The local GPU runs one seed's `full` + `no_grounding` in parallel as a hedge.
+
+**7B.** ≈ 4× per operation → ~200–340 L40S-h for the full grid: not a first shot. Pre-registered role
+for 7B: a **1–2 seed confirmation of `full` vs `no_grounding` and of the H2 inversion**, run only if
+0.5B passes H1 and H3. On the *easy* families 7B is predicted to be in the composition regime, so
+`sex_linear` should catch up with `full` there — a positive prediction of the headroom law, not a
+replication.
+
+**Schedule.** Calibration day 1 (local). GG gate on C-results. Engineering (§10) days 1–2. Campaign
+submission day 2–3; wall-clock ≈ 1 day if the queue cooperates. Analysis + figure day 4.
+
+---
+
+## 10. Engineering checklist (before submission)
+
+- [ ] `tasks.py`: ~15 candidate families with verifier formats (int / int-list / lowercase word /
+      uppercase word); `FAMILIES` becomes config-driven.
+- [ ] `society.py`: survival-over-pool selection replacing parent truncation; complementarity pairing
+      over the whole population; confidence-routed union inheritance (needs `generate()` to return
+      mean token log-prob); `sex_linear` arm; per-generation parquet flush + `--resume`; log the
+      *source* per-family accuracy before distillation (for H6) and families-alive per generation.
+- [ ] Tests for the pure pieces (union routing, pooled survival, pairing constraint) — extend the 155.
+- [ ] `configs/llm/society_v2_calib_*.yaml`, `society_v2_s{1..4}.yaml`; `hpc/llm_society_v2.pbs` array.
+- [ ] `figures/plot_llm_society.py`, `figures/stats_llm_society.py` written **before** unblinding,
+      against the smoke bundle.
+- [ ] Smoke: N=4, L=4, G=2, all 5 arms, exit 0, figure renders.
+
+---
+
+## 11. Outcome → manuscript
+
+| Outcome | What changes in the paper |
+|---|---|
+| H1 ∧ H3 pass (H2, H4, H5 whatever they are) | Fig. 1A cell "open — the stated gap" → filled; new figure (§8) enters as the LLM tier of the society; Table S2 row; the Discussion's prescriptive claim gains its LLM instantiation. |
+| H1 fails, H2 passes | The vertical claim does not transfer at 0.5B but the operator law does: report as a bounded negative in SI with the H6 diagnosis; Fig. 1A cell becomes "tested at 0.5B: operator law holds, climb does not"; 7B confirmation becomes the open item. |
+| H3 fails (no self-consumption signature) with C5 passed | The selection-channel grounding mechanism does not transfer; state it, keep the E11 result as biological-model-only; nothing prescriptive at LLM scale. |
+| C-gates fail | No campaign. The gate result itself goes in the SI as the reason the tier was not run. |
+
+---
+
+## 12. Decisions (GG, 2026-09-07)
+
+1. **Scale:** 0.5B full grid; 7B only as the gated confirmation of §9. *Decided.*
+2. **`sex_linear` arm:** **dropped from the first campaign** — founders are cached and shared, so it
+   can be appended later at ~20% of the grid cost, and the operator law is already established by
+   `llm_moe` (Fig. 3B). The code path stays (`arm_settings("sex_linear")`); H2 is therefore
+   *deferred*, not tested, in this campaign. Four arms × four seeds = 16 array elements.
+3. **Family candidates:** no vetoes; calibration C1 decides membership. Seventeen candidates are
+   implemented in `src/llm/families.py` (the three originals + fourteen new). Word-order reversal and
+   run-length encoding were dropped at implementation because the verifier cannot score multi-word or
+   alphanumeric answers; `sortletters`, `caesar` and `charfreq` use random pseudo-words so a 600-item
+   training set cannot cover the test space.
+4. **Go/no-go gate after calibration** — GG reviews the C-table before anything is submitted.
+   *Standing.*
+
+## 4a. Calibration record and amendments
+
+**Stage A, pass 1 (2026-09-07, `results/llm_society_v2_calib_a`, founders 600×3).** Only **6 of 17**
+families in band: setops, numtheory, mixedtoken, vectors, digits, alphabet. Out of band: lists and
+binary under-trained (specialist 0.44); strings 0.91, roman 0.97, prime 1.00 above the specialist
+ceiling; arith base 0.53 (the base already knows it — violates the sole-expert premise); liststats and
+charfreq weak (0.38; charfreq also fails the routing AUC, 0.44); sortletters 0.20, caesar 0.01,
+progression 0.10 unlearnable at this budget. C1b max pairwise conflict 0.348 (just under the gate),
+every top pair involving a *failed* specialist answering confidently wrong; C1c min distance 0.65.
+Smoke passed on all four arms (figure + stats script exercised).
+
+**Amendments before pass 2 — recorded here because they change what §4 promised:**
+
+1. **Specialist upper bound 0.90 → 1.00.** The bound encoded the `llm_moe_hard` headroom lesson,
+   which concerns *fusion composing to a ceiling* so that soup matches routing. The society uses
+   union inheritance, and the quantities under test are transmission and assembly, for which a
+   founder at 0.97 is not a problem. The **base** bound (≤ 0.40) is kept strict: it protects the
+   sole-expert premise and C5's consensus decoupling. Consequence: strings, roman, prime become
+   eligible; arith stays out unless the count forces it (then flagged).
+2. **Founder budget 600×3 → 1200×3, uniform**, to recover the under-trained lists and binary.
+3. **Prompt spaces enlarged** for roman (1–999), binary (1–511), prime (≤ 400) so a 600-item training
+   set cannot cover the test space (pass 1: 300 / 200 / 210 unique of 600).
+4. **Three candidates added** — `wordlen`, `lettercount`, `sumeven` (counting and filtered sums;
+   verifier-safe; large prompt spaces). Three dropped without retraining: sortletters, caesar,
+   progression (specialist ≤ 0.20).
+
+None of these touches a hypothesis, a threshold, or the campaign design; they change which families
+are *eligible*. Pass 2 is `configs/llm/society_v2_calib_a2.yaml`.
+
+**Stage A, pass 2 (`results/llm_society_v2_calib_a2`, founders 1200×3).** Nine in band: strings 1.00,
+setops 0.85, numtheory 0.83, mixedtoken 0.74, digits 0.97, alphabet 0.97, prime 0.96, wordlen 0.92,
+lettercount 0.77 (specialist accuracies; all bases 0.08–0.30). Roman misses only the base *floor*
+(base 0.04, specialist 0.99). The borderline families did **not** converge with more training —
+vectors 0.61 → 0.53, lists 0.44 → 0.50, binary 0.44 → 0.22, charfreq 0.38 → 0.55, liststats
+0.38 → 0.47 — so they are noise-level at 0.5B, not under-trained; sumeven is unlearnable (0.06).
+C1c min distance 0.68 (pass). C4: 9 of 10 candidates have confidence AUC ≥ 0.7 (mixedtoken 0.62).
+
+**C1b fails among the ten.** Max pairwise conflict 0.439 (wordlen × lettercount); five pairs ≥ 0.35,
+all among the *counting* families (wordlen, lettercount, digits, strings, mixedtoken): two specialists
+that both confidently answer "How many …?" with different small integers is precisely E12's
+conflicting-convention hazard, and under confidence-routed union the wrong one can win the prompt.
+The largest subset with every pair < 0.35 has **seven** members. Dropping lettercount (the hub, 7
+conflicts) leaves nine with max 0.396.
+
+**Re-deriving the gate from the grid, rather than from a midpoint.** 0.35 was chosen as midway between
+the grid's no-conflict axis (0.20–0.26) and its conflict axis (0.46–0.52). The grid's own outcome data
+say where the break is: P(merge penalty > 0.02) is **0.29 for epi_conf < 0.35, 0.22 for
+[0.35, 0.41), and 0.77 for ≥ 0.41** (n = 17 / 9 / 13). Below 0.41 the measure does not predict a
+penalty; above it, it does. A gate at **0.41** is therefore the data-derived boundary, and the
+nine-family set passes it (max 0.396).
+
+**Options put to GG (2026-09-07 evening):**
+1. *L = 9, gate 0.41* — strings, setops, numtheory, mixedtoken, digits, alphabet, prime, wordlen,
+   roman. Two amendments: gate 0.35 → 0.41 (grid-derived, above), base floor waived for roman (the
+   floor screened for unlearnable tasks; roman's specialist at 0.99 settles that). H1's family
+   threshold scales to ≥ 5 of 9. *Recommended.*
+2. *L = 7, gate 0.35 as written* — alphabet, mixedtoken, numtheory, prime, roman, setops, strings.
+   Weaker combinatorics (128 states, ~2.8 doublings) but no gate amendment.
+3. *Prompt tags per family* to suppress off-family confidence, then re-calibrate everything (~1.5 h).
+   Removes the conflict by construction; also makes routing trivially lexical (the `llm_moe` rider).
+
+**GG decision (2026-09-07, 20:30): option 1.** L = 9: strings, setops, numtheory, mixedtoken, digits,
+alphabet, prime, wordlen, roman. C1b gate amended 0.35 → 0.41 (grid-derived); base floor waived for
+roman. Consequential edits to §3/§5/§7: N = 9 agents; `n_test` 27/family (243 overall, SE 0.032);
+`n_val` 13/family; `n_conf` 13/family; H1's family threshold ≥ 5 of 9; B₀ ≈ (spec + 8·base)/9.
+Stage B launched on the nine (`society_v2_calib_b.yaml`; probe families setops / alphabet / digits;
+cross setops × alphabet).
+
+**Stage B, C2 transmission (`results/llm_society_v2_calib_b`) — FAILS as pre-registered.** Retention of
+a founder's own family in a child distilled from the founder's own answers, k examples per family × 9
+families, 2 or 3 epochs:
+
+| k | setops | alphabet | digits |
+|---|---|---|---|
+| 25 | 0.31–0.38 | 0.30–0.34 | 0.59–0.69 |
+| 50 | 0.67–0.73 | 0.50–0.64 | ~0.71 |
+| 100 | 0.62–0.67 | 0.57–0.67 | — |
+| 150 | 0.61–0.73 | 0.73–0.81 | — |
+
+No k ≤ 150 reaches 0.85; the curve is flattening. This is **not** the E2 observation floor — the
+source *supplied* the family at 0.77–1.00 accuracy, so the items were observed. It is interference: a
+one-family founder's inheritance data is one competent family and eight families of confident
+garbage, and a fresh LoRA fits all nine. That is the mechanism behind pilot v1's "distillation tax",
+now measured at 20–40% per generation. Under the pre-registered rule the ungated design is infeasible
+at 0.5B.
+
+**Proposed amendment (measured before adoption, C2b — `society_v2_calib_c2b.yaml`):
+confidence-gated inheritance.** The child learns only the prompts its source is confident on
+(exp mean token log-prob ≥ τ). Verifier-free; identical in every arm; makes the child *agnostic*
+rather than *wrong* off-expertise — E8's founder model. C2b measures retention by τ, the Youden τ*
+separating own- from off-family confidence (calibration uses family labels; the campaign uses the
+fixed τ), and the off-family harm of ungated inheritance. Adoption requires GG's sign-off because it
+changes §3.4 step 4. Implemented as `conf_gate` in `society_v2.py` (default None = ungated).
+
+**C2b (`results/llm_society_v2_calib_b_transmission_conf`) — the gate passes at τ = 0.5, and the
+mechanism is two-part.** Source answers a 300-per-family pool (2700 prompts); child keeps prompts with
+source confidence ≥ τ; 3 epochs. Retention (child own-family ÷ founder):
+
+| | ungated | τ = 0.5 | τ = 0.7 | τ = 0.85 |
+|---|---|---|---|---|
+| setops | 0.69 | **0.93** | 0.93 | 0.94 |
+| alphabet | 0.86 | 0.85 | 0.88 | 0.82 |
+| digits | 0.89 | 0.83 | 0.76 | — |
+| mean | 0.81 | **0.87** | 0.86 | — |
+
+Two drivers, not one. (i) **Pool size**: at k = 300 alphabet and digits already retain ≥ 0.86
+ungated (they were 0.73–0.81 at k = 150). (ii) **Confidence gating** rescues the family pool size does
+not (setops 0.69 → 0.93) and is neutral-to-slightly-negative where the specialist is confident
+everywhere (digits: off-family confidence median 0.67 vs 0.45 for setops — the gate discards data
+without separating). Youden τ* ≈ 0.95–0.97 in all three (own-family confidence median 1.00), so
+τ = 0.5 is a *mild* gate keeping 50–75% of the pool. **Off-family harm: not confirmed.** Ungated children
+score at base off-family (0.19–0.27 vs base 0.20–0.22), not below it; gated children slightly above.
+Interference costs own-family retention; it does not push off-expertise competence below the prior.
+
+**Adopted for the campaign (pending GG go/no-go on the full table): `k_inherit` = 300,
+`conf_gate` = 0.5, `epochs` = 3.** Mean retention 0.87 ≥ 0.85 meets the pre-registered C2 criterion
+under the amended channel. Cost consequence (§9): per-generation inheritance answers 2700 prompts per
+parent and children train on ~1300–2000 kept examples → ≈ 30 min per generation-arm, ≈ 6 h per
+(seed, arm) at G = 12, **≈ 96 L40S-h** for 16 elements; PBS walltime raised to 8 h.
+
+**Stage B, C3 cross setops × alphabet (`results/llm_society_v2_calib_b_cross`) — operator half
+passes, retention half fails for C2's reason.** Parents 0.84 / 0.96. Union child 0.57 / 0.62 — holds
+*both* families, routed 53% of prompts to the alphabet parent. Linear-blend child (best of 6 screened)
+0.66 / 0.30 — keeps one family and loses the other: E4's dilution, in the operator the campaign
+dropped. Union ≥ linear on the minimum (0.57 vs 0.30) ✓. Union ≥ 0.85 × parent ✗ (0.68× / 0.65×) — the
+same transmission tax as C2. The cross is re-run under the confidence gate if C2b passes
+(`conf_gate` is now a cross-stage option; both children gated by their own source's confidence).
+
+**C3 re-run under the gate (`results/llm_society_v2_calib_b_cross_gated`, k = 300, τ = 0.5) — fails
+for a NEW reason.** Union child setops 0.46 / alphabet 0.73 (0.55× / 0.76× of parents) — both held,
+both diluted. Linear child 0.80 / 0.22 — one skill at 0.95×, the other lost. Read together with C2b
+(a *one*-skill child retains 0.87–0.93 under the same gate and budget): a single skill transmits; a
+**two-skill child dilutes each skill by 25–45% even from union-preserved data.** This is E4's
+conservation law relocated from the sample budget to the *learning* budget — a fixed adapter (r = 16)
+and fixed epochs split across skills. Under it H1 (≥ 5 families at ≥ 0.6 in one agent) is predicted to
+fail by construction, whatever the operators do. F8 in the fault ledger.
+
+**C3b (before deciding anything): does capacity or budget lift the two-skill child?** Three variants
+of the gated cross — 6 epochs at r = 16; r = 64 (α = 128) at 3 epochs; both. Pass criterion as C3:
+union child ≥ 0.85 × parent on *each* family. If one passes, the campaign adopts that child budget
+(cost re-estimated). If none passes, the vertical claim cannot be tested at 0.5B with self-distilled
+inheritance, and the honest options are a reduced campaign (H3–H5 only, which do not need multi-skill
+children) or 7B.
+
+**C3b results (`results/llm_society_v2_calib_c3b_*`; union child accuracy and ×parent):**
+
+| child budget | setops | alphabet | verdict |
+|---|---|---|---|
+| r16, 3 ep, τ 0.5 (C3 gated) | 0.46 (0.55×) | 0.73 (0.76×) | fail |
+| **r16, 6 ep, τ 0.5** | **0.73 (0.87×)** | **0.79 (0.82×)** | at the gate within noise (SE ≈ 0.06 on the ratio) |
+| r64, 3 ep, τ 0.5 | 0.72 (0.90×) | 0.58 (0.67×) | fail; r64 founders weaker (0.80/0.87) and less confident (35% routed to alphabet) |
+| r64, 6 ep, τ 0.5 | 0.35 (0.44×) | 0.50 (0.57×) | fail — overfits |
+
+**Budget, not capacity, is the lever; rank stays 16.** The kept count explains the residual: at τ = 0.5
+the union child kept 1941 of 2700 prompts, of which only ~600 are its two competent families — the
+mild gate passes the *max* of two parents' confidences, so ~70% of the child's data is confident
+garbage. C2b's own table had τ = 0.85 as the best mean retention (0.88) at a third of the data.
+**C3c** (last calibration run): the cross at τ = 0.85, 3 and 6 epochs.
+
+**Prediction update carried into the go/no-go, whatever C3c says.** A two-skill child retains ≈ 0.85×
+per skill at best; H1 as written (best agent ≥ B₀ + 0.20, ≥ 5 of 9 families at ≥ 0.6) needs five or
+six skills co-resident at ≈ 0.6 in one r = 16 adapter, which the calibration does not support at 0.5B.
+The realistic bar the calibration *does* support — **H1′: children holding 2–3 families beat every
+founder on overall accuracy (≥ B₀ + 0.05) and the best agent climbs monotonically for ≥ 3
+generations** — is recorded now, before the campaign, as the primary vertical readout, with H1 kept
+as the stretch criterion. H3, H4, H5 do not need multi-skill agents and are unchanged.
+
+**C3c results (`results/llm_society_v2_calib_c3c_*`, τ = 0.85):** 3 epochs → union child 0.72 / 0.79
+(0.86× / 0.82×), kept 1041 of 2700; 6 epochs → 0.69 / 0.75. The tight gate reproduces the 6-epoch
+mild-gate retention at half the training, and more budget beyond that buys nothing: a two-skill child
+plateaus at ≈ 0.85× / 0.8× of its parents. **Final child budget: τ = 0.85, 3 epochs, k = 300, r = 16.**
+Cost re-estimate (§9): inheritance answers (9 parents × 2700 prompts with log-probs) now dominate at
+≈ 11 min per generation-arm; training ≈ 9 min; evaluation ≈ 3 min → ≈ 25 min per generation-arm,
+≈ 5 h per (seed, arm), **≈ 80 L40S-h** for 16 elements. Walltime 8 h.
+
+**Stage B, C5 consensus (`results/llm_society_v2_calib_b_consensus`) — passes.** Consensus accuracy over
+the nine founders at gen 0 = 0.31 (< 0.35); corr(conformity, own accuracy) = +0.29; min pairwise
+distance 0.63. Conformity is not a truth proxy here, so H3 is testable by the predicted mechanism.
+
+## 12a. Go/no-go (GG, 2026-09-07, 21:30): **NO-GO at 0.5B; plan 7B.**
+
+Grounds: the calibration passed C1, C4, C5, and — under the amended inheritance channel — C2, but C3's
+retention half exposed a ceiling no budget moves: a two-skill child holds each skill at ≈ 0.85× / 0.8×
+of its parents, and the vertical claim needs five or six skills co-resident in one r = 16 adapter. At
+0.5B the society experiment could test H3–H5 but not the claim the paper's stated gap is about.
+Nothing is submitted. What today produced is a **measured transmission ceiling for self-distilled LoRA
+inheritance at 0.5B** — three mechanistically distinct limits (near-clone founders; interference from
+confident off-expertise answers, 20–40%/generation, removable by a confidence gate; the multi-skill
+learning-budget plateau) — and it goes in the SI as the reason the 0.5B tier was not run (§11, row 4).
+
+## 13. The 7B plan (for GG review; nothing runs without a go)
+
+**What changes at 7B, and why it is not a re-run.** The premise "one founder is the sole expert on its
+family" requires a base that *cannot* do the family. Qwen2.5-7B-Instruct already scores 0.99 on easy
+arith, 0.69 on easy strings, and will be high on roman / binary / setops / digits; the base bound
+(≤ 0.40) will exclude most of the current nine. The hard variants exist for three families only (7B
+base: lists 0.34, strings 0.67, arith 0.48). **Phase 0 is therefore task design**: ≥ 9 disjoint
+families with 7B base ≤ 0.4 and specialist ≥ 0.8 — multi-step, cipher, and compositional variants of
+the current generators — plus the C1 band and conflict gate re-run at 7B. This is a day of work before
+any GPU time, and it cannot be done on the 16 GB local card (7B training needs the L40S), so every
+calibration step goes through the CX3 queue (183 queued at last check).
+
+**Cost anchors (L40S, from `llm_merge_hpc` / `llm_moe_hpc` / `llm_hard`):** 7B generation ≈ 10
+prompts/s (0.5B ≈ 40); 7B LoRA SFT ≈ 15 example-passes/s (0.5B ≈ 60). Per generation-arm at N = 9,
+k = 300, τ = 0.85, 3 epochs: inheritance answers 9 × 2700 / 10 ≈ 40 min; evaluation 18 × 373 / 10
+≈ 11 min; training 9 × (≈ 1000 × 3 / 15) ≈ 31 min → **≈ 80 min per generation-arm**.
+
+| scope | elements | G | per element | total L40S-h | walltime |
+|---|---|---|---|---|---|
+| Phase 1 — calibration A + B at 7B | 2 jobs | — | ~2 h each | **~4** | 4 h |
+| Headline: `full` vs `no_grounding`, 3 seeds | 6 | 10 | ~13 h | **~80** | 2 × 8 h with resume, or one 16 h |
+| H3 + H4: 3 arms, 3 seeds | 9 | 10 | ~13 h | **~120** | as above |
+| Full grid: 4 arms, 4 seeds | 16 | 12 | ~16 h | **~260** | 3 × 8 h with resume, or one 24 h |
+
+Checkpoint/resume already makes multi-requeue elements safe. A vLLM generation path would cut the
+dominant 40-minute term by 5–10× but adds a dependency and a second code path; noted, not proposed.
+
+**Gates carried over unchanged:** C1 band (base ≤ 0.40 strict, specialist ≥ 0.60; upper bound 1.0), C1b
+conflict < 0.41, C1c distance ≥ 0.5, C2/C2b retention ≥ 0.85 (gated channel), C3 union ≥ 0.85× per
+family on a two-founder cross, C4 AUC ≥ 0.7 for ≥ 8 of 9, C5 consensus < 0.35. **The 7B-specific
+prediction that decides whether to proceed past Phase 1:** with the larger adapter margin at 7B, the
+two-skill cross should clear 0.85× on *both* families at 3 epochs. If it does not, the multi-skill
+plateau is not a 0.5B artefact and the vertical claim should be pursued with a different inheritance
+channel (e.g. inheriting *weights*, not answers — which is what `llm_merge_hpc` already showed
+composes at 7B) rather than with more scale.
+
+**Hypotheses:** H1 restored as written (≥ 5 of 9 families at ≥ 0.6, ≥ B₀ + 0.20) — that is the point of
+going to 7B; H1′ kept as the fallback readout; H3–H6 unchanged; H2 deferred.
+
+**Decisions for GG before Phase 0 starts:** (i) scope row from the table; (ii) whether Phase 0 task
+design is worth the day, given the alternative in the prediction paragraph above; (iii) whether the
+SI text for the 0.5B ceiling (§11 row 4) is drafted now or after 7B.
+
+## 14. Build log
+
+- 2026-09-07 — `families.py` (17 candidates, all self-verifying and deterministic), `society_ops.py`
+  (pooled survival, capped complementary mating, confidence-routed union, score-proportional single
+  parent), `society_v2.py` (`kind: llm_society_v2`; per-generation checkpoint + resume; founder lock
+  for concurrent arm-jobs; H6 source diagnostics; families-alive), `calibrate.py`
+  (`kind: llm_society_calib`, stages families / transmission / cross / consensus), configs
+  (`society_v2_calib_a/b`, `society_v2_smoke`), `hpc/llm_society_v2.pbs` (16-element seed × arm
+  array), `figures/plot_llm_society.py` (the §8 layout, written before unblinding), 9 new pure tests
+  (164 green). v1 code path untouched and still green. Smoke → calibration A launched locally.
diff --git a/tasks/prereg-llm-society-v4.md b/tasks/prereg-llm-society-v4.md
new file mode 100644
index 0000000..22d2c35
--- /dev/null
+++ b/tasks/prereg-llm-society-v4.md
@@ -0,0 +1,631 @@
+# Pre-registration — `llm_curriculum` v4: does a society accumulate more than its members?
+
+**Status:** draft for GG review, 2026-09-08. Supersedes `prereg-llm-compose-v3.md` (run; H1 passed,
+H2–H5 null and uninterpretable). Nothing runs until §5's gates pass and GG signs off §8.
+
+---
+
+## 0. Why v4: v3 measured the wrong thing
+
+v3 had a **fixed skill set**. Two founders were trained once and every later generation was a lossy
+copy, so the experiment's ceiling was its own generation 0 and no outcome could have shown capability
+climbing. It answered "do ancestral skills degrade?", a retention question. The paper's claim (C3) is
+that capability **climbs** — each specialty re-earned and exceeded. GG, 2026-09-08: *"are models
+learning NEW skills at EACH generation? or are we just seeing if the ancestral skills degrade?
+because that was not the problem being addressed… we need to ground this into continual learning."*
+
+The specific technical fault: v3 trained **a fresh LoRA from the base each generation**, so knowledge
+survived only through the data channel. That is Weismannian — nothing acquired is inherited as
+structure. v4's children **start from their parent's adapter**, which is the actual Lamarckian
+channel and the precondition for accumulation.
+
+**Pattern across v2 → v3 → v4, recorded so it stops recurring:** each design was checked against the
+*mechanism* (drift, immigration, recombination) and never against the *claim*. §5's gate G0 exists
+solely to check the claim is reachable before any compute is spent.
+
+---
+
+## 1. Design
+
+**Curriculum.** Nine task families from v2's calibrated set (`llm_society_v2_calib_a2`: base ≤ 0.40,
+specialist ≥ 0.60, pairwise conflict < 0.41 — strings, setops, numtheory, mixedtoken, digits,
+alphabet, prime, wordlen, roman). Three lineages, nine generations. **Each lineage sees all nine
+families in a different order** (a cyclic Latin square), so at generation *t* every lineage has met
+*t* families but **different ones**. Complementarity is maximal early and decays to zero by
+generation 9 — a shape the analysis can test, not just a condition it assumes.
+
+**One generation, per lineage:**
+1. **Acquire** — the environment presents the next family; train on `n_new` verified real examples.
+2. **Inherit** — training starts from the *parent's adapter*, not the base (Lamarckian transmission).
+3. **Maintain** — old families are kept alive by `n_replay` real examples (grounding = immigration),
+   or by self-generated answers (dry), or not at all, depending on arm.
+4. **Recombine** — merge with the arm's partner (contemporary, ancestor, or nobody), weights chosen
+   on a held-out validation split (directed recombination, carried over from v3).
+
+**Two external-information channels, deliberately separated** — v3 conflated them. *Acquisition* is a
+capability the population never had (novel allele; moves the frontier). *Replay* is re-supply of a
+capability already present (immigration proper; fights loss, never advances). They fight different
+diseases and must be separate factors.
+
+## 2. Arms
+
+| arm | recombines with | old skills maintained by | isolates |
+|---|---|---|---|
+| `isolated` | nobody | real replay | asexual continual learning — the drift/forgetting baseline |
+| `society` | a decorrelated contemporary | real replay | the treatment |
+| `society_dry` | contemporary | self-generated only | replay's contribution (E2 immigration) |
+| `seed_bank` | **its own ancestor at t−3** | real replay | see below — this is not a throwaway control |
+
+**The seed-bank arm is a substantive comparison, not a null.** My first reading was that an ancestor
+is your own lineage and therefore highly correlated (ρ→1), so E8 predicts it buys nothing. Working
+through the curriculum shows that is wrong: **your t−3 ancestor knows exactly the families you learned
+three generations ago and have since been forgetting.** It carries *temporal* complementarity where a
+contemporary carries *spatial* complementarity. So the arms pose a real question with predictions
+pulling opposite ways:
+
+- E8 (decorrelation is the fuel): the contemporary is more decorrelated → larger union → `society` wins.
+- E12 (merge compatibility): the ancestor is same-lineage, so no Bateson–Dobzhansky–Muller
+  incompatibilities have had time to accumulate → it merges *more safely* → `seed_bank` wins.
+
+Which dominates is not obvious from the framework, and the answer is directly translational: *when a
+model forgets, is it better recovered from a peer who knows something else, or from your own earlier
+checkpoint?* Nobody has posed that as a population-genetic question.
+
+**Dropped (GG, 2026-09-08):** a `no_acquisition` arm — v3 already is that experiment.
+
+## 3. The mono-generational baselines, and why they are the falsifier
+
+The difficulty GG named is pairing a multigenerational design against single-shot SoTA. Rather than
+work around it, it becomes the spine: **does structure across time beat the same compute spent all at
+once?** Three references, all at matched total training examples:
+
+| baseline | what it is | role |
+|---|---|---|
+| `sequential` | one model, all nine families in sequence | the standard continual-learning baseline |
+| `single_shot_merge` | three specialists trained from base in parallel (three families each), merged **once** at the end | actual SoTA — LoRA Soups / TIES / model soup |
+| `joint` | one model trained on all nine jointly | the conventional ceiling |
+
+**Budget accounting (must be equal, and is checked in the artifact).** A lineage trains
+9 generations × (`n_new` + `n_replay`) examples; three lineages give 27 × (`n_new` + `n_replay`).
+Each single-shot specialist gets 9 × (`n_new` + `n_replay`) so three of them match exactly;
+`sequential` and `joint` receive the same total. Compute per arm is recorded in the manifest.
+
+**If `society` does not beat `single_shot_merge` at matched budget, iterating buys nothing and the
+multigenerational framing is decoration.** That is the claim worth staking, and the merging
+literature has never tested it because every paper in it merges once.
+
+## 4. Hypotheses
+
+Primary outcome: **cumulative capability** — accuracy of the population's best model on *all nine
+families*, at each generation. Secondary: per-family forgetting curves, union-exceedance at each
+merge, ρ between partners, and the complementarity decay predicted by the Latin-square design.
+
+| | prediction (source) | threshold | falsified if |
+|---|---|---|---|
+| **H1** | Capability **climbs**: `society` at generation 9 exceeds its own generation 1 by ≥ 0.15 | ≥ 0.15 in ≥ 2 of 3 seeds | flat or declining → the design still cannot show accumulation (this is G0 restated as a result) |
+| **H2** | Fisher–Muller (E7): `society` > `isolated` on cumulative capability at generation 9 | ≥ +0.08, 3/3 seeds positive | recombination adds nothing over isolated continual learning |
+| **H3** | **The multigenerational claim**: `society` > `single_shot_merge` at matched budget | ≥ +0.05 | iterating buys nothing; the framing is decorative and the paper should say so |
+| **H4** | Immigration (E2): `society` > `society_dry` | ≥ +0.08 | self-generated replay suffices; grounding is not load-bearing here |
+| **H5** | Spatial vs temporal complementarity: `society` ≠ `seed_bank`, direction **not** pre-committed (§2 gives arguments both ways) | report with CI either way | — (this is a measurement, not a gated prediction) |
+| **H6** | Complementarity decays by construction, so the `society` − `isolated` gap is **largest at intermediate generations** and shrinks by generation 9 | peak gap at 3 ≤ t ≤ 6 | a monotone gap → the advantage is not coming from complementarity, and the mechanism story is wrong |
+
+H6 is the design's internal check: the Latin square makes complementarity a *known* function of
+generation, so the framework predicts the shape of the advantage, not just its sign.
+
+## 5. Gates — G0 is the one that would have caught v2 and v3
+
+| gate | what | pass criterion |
+|---|---|---|
+| **G0 — can capability climb at all?** | One lineage, 3 generations, 3 families, `isolated` settings. Measure cumulative accuracy over families seen. | Generation 3 exceeds generation 1 by ≥ 0.10. **If capability cannot accumulate in the simplest arm, no outcome of the full design is interpretable — stop.** |
+| **G1 — does inheritance transmit?** | Adapter-continued training on family 2 starting from the family-1 adapter | family-2 accuracy ≥ 0.6 × a from-scratch specialist's |
+| **G2 — does forgetting occur?** | Same, measuring family-1 accuracy after learning family 2 without replay | family-1 accuracy drops ≥ 0.15 (if nothing is forgotten, replay and recombination have nothing to fix) |
+| **G3 — does recombination combine?** | Merge two lineages holding disjoint families at generation 3 | merged model ≥ 0.8 × each parent's accuracy on that parent's own families |
+| **G4 — budget parity** | Recorded example counts across all arms and baselines | equal to within 2% |
+
+G1 and G2 must **both** pass: transmission without forgetting means nothing decays; forgetting
+without transmission means nothing accumulates. The experiment needs the tension.
+
+## 6. Cost
+
+Base: Qwen2.5-1.5B (base, not Instruct — v3's C1 measured that instruction-tuned checkpoints already
+hold these skills). Per generation-lineage: train (`n_new` + `n_replay` ≈ 400 examples × 3 epochs)
+plus evaluation on nine families × 60 items. ≈ 6 min. Society arms: 3 lineages × 9 generations ×
+4 arms ≈ 108 generation-lineages ≈ **11 GPU-h**; baselines ≈ 2 GPU-h; three seeds ≈ **40 GPU-h**
+total. Seed 1 local overnight, seeds 2–3 as a CX3 array — the same split that worked last night.
+
+## 7. Engineering
+
+Reused unchanged from v3: execution/verifier infrastructure, LoRA training, merge operators,
+directed weight selection on a disjoint validation split, checkpoint/resume, the figure and stats
+scaffolding. Reused from v2: the nine calibrated families and their difficulty/conflict measurements.
+
+New: adapter-continued training (inherit the parent's weights rather than a fresh LoRA); the
+Latin-square curriculum scheduler; replay buffers per lineage; the ancestor registry for `seed_bank`;
+budget accounting in the manifest; the three mono-generational baselines.
+
+## 8a. Gate record (2026-09-08) and the v5 curriculum
+
+**G0 passes.** Three families, three lineages: `all_families` (mean over every family in the
+curriculum — the accumulation metric) climbs 0.739 → 0.950 (isolated) and 0.611 → 0.939 (society).
+The design can show accumulation, which v3 structurally could not. A labelling hazard caught on the
+first line: `retention_seen` (mean over families *taught*) starts near 1 and can only fall — watching
+it would have recreated v3's error. Both are recorded; the primary is `all_families`.
+
+**G2 fails on the v2 families, twice.** Three-family gate with replay: nothing forgotten (every family
+only rises). Nine-family single-lineage probe with replay **off** (`results/llm_curriculum_g2`): mean
+drop across families learned before the last is only **+0.074**, and it is carried by one family —
+`mixedtoken` 0.80 → 0.15 (+0.65), oscillating violently throughout (0.18, 0.20, 0.27, 0.80, 0.60,
+0.37, 0.42, 0.20, 0.15) — while two families *improve* through positive transfer (numtheory −0.12,
+alphabet −0.13) and the rest are within ±0.08. Forgetting here is a single pairwise-interference event
+between confusable counting families (the cluster v2's conflict measure flagged at 0.44), not a general
+pressure a population could smooth.
+
+**G3 is negative on the v2 families.** `society − isolated` = −0.128, −0.022, −0.011 across the three
+gate generations. Merging costs and cannot pay, because a partner can only contribute what the recipient
+lacks and nothing was lacking.
+
+**The base reference quantifies the format confound.** Qwen2.5-1.5B base on all nine v2 families:
+**0.094** (strings 0.02, setops 0.02, alphabet 0.00, wordlen 0.00, prime 0.02, digits 0.07, roman 0.10,
+mixedtoken 0.12, numtheory 0.52). Training on **one** family lifts the nine-family mean to **0.417**.
+Most of the apparent accumulation is a one-off format acquisition shared by all nine families.
+
+**One root, three faults.** The v2 families were built for a *specialisation* experiment and calibrated
+for low mutual conflict so merging would be safe. That makes them (i) format-homogeneous — one family
+teaches the convention for all; (ii) too compatible — no interference, hence no forgetting; (iii) too
+easy — the base is unformatted, not incapable. They are not a curriculum, and no arrangement of arms
+fixes that. The same lesson as v3's task pairing: the paradigmatic continual-learning benchmarks use
+naturally heterogeneous tasks *because* those interfere, differ in format, and exceed a small base.
+
+**v5 curriculum (`src/llm/curriculum_data.py`, 2026-09-08).** Eleven candidates from public datasets,
+each with a disjoint train/test split and its own verifier — gsm8k (number), mbpp (code, executed),
+boolq (yes/no), mnli (3-way label), sst2 (sentiment word), csqa (A–E), arc (A–D), winogrande (1/2),
+squad (extractive span, normalised EM over aliases), nq_open (short text, aliases), hellaswag (A–D).
+All eleven self-verify 40/40 and reject garbage 0/40. Answer shapes span five forms (code, number,
+word, letter, phrase) against v2's one. **Selection rule, fixed before running:** the C1 band
+(base ≤ 0.40, specialist ≥ 0.60) from `curriculum_v5_calib` (one specialist per candidate, evaluated on
+every family — the full transfer matrix), then a single-lineage zero-replay probe over the chosen set
+with **mean forgetting ≥ 0.15 and not carried by a single family** (max single-family share of the
+total drop ≤ 50%). Nine survivors form the curriculum; if fewer than nine pass, L and G shrink to match
+and the Latin square is recomputed.
+
+**v5 stage A (`results/llm_curriculum_v5_calib`, founders at 300 × 3, Qwen2.5-1.5B base).** Base on
+all eleven: **0.011** (mbpp 0.08, gsm8k 0.02, the rest 0.00) — a non-instruct base on real tasks, as
+expected; the C1 base floor is moot. Specialist × family matrix (own-family on the diagonal):
+
+| specialist | own | mean off-family | character |
+|---|---|---|---|
+| mnli | **0.82** | 0.46 | permissive — lifts most others |
+| arc | **0.77** | 0.21 | |
+| hellaswag | **0.72** | 0.27 | |
+| squad | **0.68** | 0.34 | permissive |
+| boolq | **0.65** | 0.04 | **destructive** — zeroes others |
+| csqa | 0.55 | 0.36 | permissive |
+| sst2 | 0.38 | 0.23 | |
+| winogrande | 0.38 | **0.00** | **destructive** — 0.00 on all ten others |
+| mbpp | 0.18 | 0.08 | destructive |
+| nq_open | 0.18 | 0.36 | |
+| gsm8k | 0.10 | 0.42 | permissive (0.92 on sst2, 0.83 on arc; 0.10 on gsm8k itself) |
+
+Five pass C1 at this budget. Mean off-family transfer 0.25 against own-family 0.49 — half, where v2's one
+family lifted all nine to near-own level. **Two kinds of specialist, which is what a curriculum needs:**
+*format-permissive* ones (mnli, csqa, squad, gsm8k) teach general instruction-following and lift other
+families — the residual format-transfer effect, now bounded and measurable; *format-destructive* ones
+(winogrande, boolq, mbpp) learn one narrow output form and erase the rest. The destructive group is the
+forgetting mechanism made visible: a lineage that meets winogrande loses what it held, and replay or a
+partner who did not just learn winogrande is what can restore it — E8 with something to act on.
+
+The six failures were under-trained, not unlearnable: every specialist that has worked in this project
+(v2, v3) had 1200 examples; these had 300 (gsm8k reached 0.54–0.62 at 1200 in v3). Pass 2
+(`curriculum_v5_calib_b`, the six at 1200 × 3) decides six families or nine. **Budget consequence,
+pre-noted:** if 1200 is what a family needs, `n_new` in the campaign rises accordingly and §6's cost
+scales by ~4× on the training term.
+
+**v5 stage A pass 2 (`results/llm_curriculum_v5_calib_b`, the six failures at 1200 × 3) — the
+"under-trained" hypothesis is refuted.** winogrande 0.38 → 0.57, sst2 0.38 → 0.52, mbpp 0.18 → 0.22,
+gsm8k 0.10 → **0.07**, nq_open 0.18 → **0.07**, csqa 0.55 → **0.18** (chance on 5-way; off-family
+transfer collapsed to 0.00). Three got worse with four times the data — a training instability of the
+fresh-adapter learning rate on these tasks, not a data shortage. gsm8k is a *data-source* issue: v3's
+0.54–0.62 came from MetaMathQA's augmented chain-of-thought, not raw GSM8K. None of the six clears 0.60.
+
+**Selection (2026-09-08): six families.** mnli 0.82, arc 0.77, hellaswag 0.72, squad 0.68, boolq 0.65
+pass C1; **winogrande 0.57** is the sixth. **Amendment:** the C1 specialist floor is relaxed 0.60 → 0.55
+for one family so that F is divisible by L = 3 (the pre-registered shrink rule needs F ∈ {3, 6, 9}).
+winogrande is also the right sixth on the merits: it is the most format-destructive specialist in the
+matrix (0.00 on every other family), i.e. the strongest forgetting pressure available — the mechanism the
+design exists to test. Curriculum: **L = 3, F = 6, G = 6**; complementarity 1.0 at t = 2, 0 at t = 6.
+Founders at **300** examples (the budget that passed; 1200 destabilised). Campaign `n_new` = 300.
+
+**Stage B running:** `curriculum_v5_g2` — one lineage, zero replay, the six in sequence. Pass criterion
+unchanged: mean drop ≥ 0.15 across families learned before the last, no single family > 50% of the total.
+
+**v5 stage B — G2 on the six (`results/llm_curriculum_v5_g2`, one lineage, zero replay).** Order
+mnli → arc → hellaswag → squad → boolq → winogrande. Drops (learned → final): mnli +0.27, arc +0.03,
+hellaswag −0.05, squad **+0.57**, boolq +0.05. **Mean +0.173 — magnitude gate (≥ 0.15) PASSES.**
+All-families 0.575 → 0.725 (gen 3) → 0.625 (gen 5): acquisition then loss as the destructive families
+arrive — the tension the arms need. **Concentration criterion (≤ 50% in one family) MISSES at 62%**
+(squad). Recorded as a marginal miss, with the reasons it does not reproduce the v4 failure the
+criterion was written against: two families forgotten (not one pair), the destruction lands exactly
+where the transfer matrix predicted (winogrande's option format erases span and 3-way label; letter
+formats survive), and the probe tested one order where the campaign's Latin square gives each lineage
+a different one — so different families are forgotten in different lineages, which is the
+complementarity recombination acts on. **Recommendation: go**, pending GG.
+
+## 8b. The v5 campaign result, and the two-kinds-of-variation measurement (2026-09-08)
+
+**Campaign (3 seeds, 6 families, 3 lineages, 6 generations; `results/llm_curriculum_v5/`).** Best model
+per arm at the final generation, mean over seeds: `sequential` (one model, no population) 0.802 ·
+`isolated` (population, never merges) 0.796 · `joint` (multi-task ceiling) 0.748 · `seed_bank`
+(merges with its own ancestor at t−3) 0.663 · `single_shot_merge` 0.549 (0.125 / 0.758 / 0.764 — the
+huge variance is which families landed in which allopatric split) · `society_dry` 0.307 · `society`
+(merges with a contemporary) 0.269. Budget parity within 6%.
+
+Every pre-registered hypothesis fails, consistently across all three seeds: society − isolated
+**−0.527 ± 0.092** (3/3 negative); society − single-shot −0.280 ± 0.363 (unresolved, huge variance);
+society − society_dry −0.038 ± 0.073 (replay policy irrelevant once the merge channel dominates).
+The one uncommitted contrast resolves decisively: **seed_bank − society = +0.394 ± 0.089, 3/3
+positive** — merging with your own past beats merging with a peer, so the compatibility argument
+beats the decorrelation argument.
+
+**Mechanism, identified and isolated.** Two of the six families (boolq, winogrande) are answer-format
+destroyers — the calibration matrix measured them at 0.00–0.04 mean off-family. A lineage that learns
+one propagates it through the merge into partners that never trained on it; because merged offspring
+continue the lineage, the damage compounds (society lineage 0, gen 2→3: five families fall together
+while boolq alone rises). An ancestor cannot transmit a family the lineage never met, which is exactly
+why the seed-bank arm holds.
+
+**Scope limits, stated plainly.** (i) Merging was **obligate** — no veto, no option to keep the parent
+unchanged. (ii) There is **no selection between lineages**: all three persist regardless of fitness,
+so the design has transmission, acquisition, gene flow and immigration but no differential
+reproduction. It is a gene-flow experiment, not a natural-selection one, and is therefore not a test
+of the composed-society claim. (iii) The operator was linear averaging, which the merging literature
+ranks below concatenation — but concatenation doubles adapter rank per merge, so iterated merging
+faces a capacity constraint single-shot merging never meets (16 → 1024 over six generations). That
+constraint is itself a finding about iteration.
+
+**Two kinds of variation are opposite in sign (`/tmp/paralleldiv.py`, 2026-09-08).** Three adapters on
+the *same* family differing only in seed and data draw: accuracies 0.762 / 0.800 / **0.312** (one run
+simply failed — training instability); pairwise output disagreement 0.237 between the two good ones;
+weight cosine **+0.006** (near-orthogonal); either-right 0.887 vs both-right 0.675. **Merging the two
+good ones gives 0.887 — +0.087 over the better parent, landing exactly on the either-right ceiling.**
+Same base, same linear operator, same scale, same evaluation as the collapsing arms.
+
+So the framework's single decorrelation parameter conflates two quantities that behave oppositely:
+- decorrelation in **what parents know** → risk (−0.53 measured);
+- decorrelation in **how parents encode the same knowledge** → benefit (+0.087, at the ceiling).
+
+Equal weights are best for same-skill merging (0.887 at 0.5/0.5 vs 0.863 at 0.3/0.7), the reverse of
+skill composition where asymmetric weights won decisively (v3: 0.507 at 0.2/0.8 vs 0.333 at 0.5/0.5).
+The optimal merge weight is a signal of which regime the merge is in.
+
+**Design consequence for v6 (GG, 2026-09-08 — selection is needed to generalise the hypothesis).**
+Three arms — never merge · complementary partners (different skills) · **parallel partners (same
+skills, different seed/data draw)** — with selection added in two places: a **veto** ("keep the parent
+unchanged" is always a candidate offspring) and **population selection** (score parents and offspring
+together, keep the best; the failed 0.312 run is exactly what it should discard). Roughly doubles
+evaluation cost per generation: ≈ 10 GPU-h per seed, ≈ 30 for three.
+
+## 8c. Mechanism probes, 2026-09-08 — two of my explanations retracted
+
+Four cheap probes run after the v5 campaign, chasing why cross-lineage merging collapsed. They
+retract two explanations I had given and leave a third standing.
+
+**Probe 1 — same-skill variation (`/tmp/paralleldiv.py`).** Three adapters, one family (arc), same
+data distribution, differing only in seed and draw. Accuracies 0.762 / 0.800 / **0.312** (one run
+simply failed). Pairwise output disagreement 0.237; weight cosine **+0.006** (near-orthogonal);
+either-right 0.887 vs both-right 0.675. **Merging the two good ones: 0.887 — +0.087 over the better
+parent, exactly at the either-right ceiling.** Equal weights beat 0.3/0.7 (0.887 vs 0.863), the
+reverse of skill composition, where asymmetric weights won.
+
+**Probe 2 — signal/noise and the inbred-lines cross (`/tmp/inbred.py`).** Across-seed decomposition:
+signal power 17.8 vs noise 34.9 for arc, 19.0 vs 37.1 for boolq — and correcting for the K=3 sample
+mean's own noise puts the true signal near 6.2, i.e. **~85% of a LoRA's weight change is
+run-specific and arbitrary.** That is why raw weight distance measures mostly noise and predicted
+nothing in Fig. 3C-D. Variance-weighted overlap surfaces ~4x more of the real overlap
+(0.0015 -> 0.0066) but different skills stay near-orthogonal even in signal directions.
+Denoising before crossing helps modestly and on both skills at once: raw mix 0.825 -> denoised mix
+**0.850** (+0.025), while the denoised singles are no better alone (arc 0.825 vs 0.838). The
+inbred-line signature: averaging within a line does not improve the line, it makes it cleaner to cross.
+
+**RETRACTION 1 — "a destructive skill propagates through the merge and destroys partners" is wrong.**
+A single merge of clean single-skill adapters is excellent: arc alone 0.838 (boolq 0.000), boolq alone
+0.800 (arc 0.300), **merged 50/50 = arc 0.863 / boolq 0.787, mean 0.825 vs 0.550 for the best parent.**
+Merging is *protective* — it stops either adapter dominating the output format. Consistent with LoRA
+Soups rather than contradicting it.
+
+**Probe 3 — iterated merging (`/tmp/decay.py`), five chained merges, three weight schemes.**
+arc retention: convex [0.5,0.5] **1.02** · selfish [0.8,0.4] **1.02** · additive [1.0,1.0] **0.52**
+(arc 0.867 -> 0.450, incoming skills 0.033). **RETRACTION 2 — geometric signal dilution is not the
+mechanism.** Convex merging loses nothing over five rounds even though the first adapter's coefficient
+falls to 1/32. The scheme that *preserves* signal coefficients is the only one that collapses, because
+the accumulated change grows without bound and leaves the region where the base still functions. The
+operative constraint on iterated merging is **bounding total drift from the base**, not preserving signal.
+
+**Probe 4 — the scaling dose-response (`/tmp/scale.py`), prompted by GG asking the obvious control:
+does dividing the change vector by 30 retain the skill?** Base (no adapter) **0.000**; scale 1 0.838;
+1/2 0.875; 1/4 0.850; 1/8 0.863; **1/16 0.450; 1/32 0.000; 1/30 0.000.**
+
+**This forces a reinterpretation of Probe 3.** At the coefficient arc actually held after five merges
+(1/32) the adapter alone delivers *nothing*. So the 0.883 measured in the chain was never arc's
+residual. What propagates through a merge is the **answer format**, supplied by whichever partner has
+enough weight to carry it: arc needs "a single letter", and it collapsed at round 4 (partner squad,
+free-text spans, arc 0.567) and recovered at round 5 (partner hellaswag, single letter A-D, arc 0.883).
+The chain measured *format compatibility with the dominant partner*, not skill retention.
+
+**What survives, and what it implies.** (i) A sharp **effectiveness threshold at ~1/8**: an adapter
+works at full strength down to an eighth and collapses below it, so useful merge depth is ~3 rounds at
+convex weights, not 5. (ii) The additive collapse stands (it did not depend on the misreading).
+(iii) The curriculum result becomes coherent for the first time: the two families that destroyed
+everything, boolq and winogrande, are the ones with the most idiosyncratic output formats. If format
+is what propagates, a partner carrying a dominant format overwrites the ability to answer anything
+else. **That is a claim about output conventions, not weight geometry** — and it is consistent with
+Fig. 3C-D, where functional conflict predicted merge damage (rho 0.45) and weight geometry did not (0.03).
+
+**Still untested, and now the leading candidate for the curriculum collapse:** continued training *on
+top of* merged weights. Probe 3 chained merges without ever training between them and lost nothing;
+the curriculum merges then trains, every generation. Test: repeat the chain with a fine-tune on the
+next family after each merge, and see whether that alone reproduces the collapse.
+
+## 8d. Per-skill scaling thresholds, and the bespoke-weights negative (2026-09-08)
+
+**Dose-response per skill (`/tmp/thresholds.py`), accuracy vs adapter scale, base = 0.000 on all six:**
+
+| skill | 1 | 1/2 | 1/4 | 1/8 | 1/16 | 1/32 | own optimum |
+|---|---|---|---|---|---|---|---|
+| arc | 0.87 | 0.88 | 0.88 | **0.92** | 0.42 | 0.00 | 1/8 |
+| squad | 0.72 | 0.73 | **0.78** | 0.65 | 0.10 | 0.00 | 1/4 |
+| hellaswag | 0.75 | **0.82** | 0.80 | 0.63 | 0.07 | 0.00 | 1/2 |
+| boolq | 0.78 | 0.78 | 0.78 | **0.37** | 0.00 | 0.00 | 1–1/4 (flat) |
+| winogrande | 0.55 | 0.55 | 0.55 | 0.37 | 0.30 | 0.00 | 1–1/4 (flat) |
+| mnli | 0.40 | 0.40 | **0.68** | 0.48 | 0.48 | 0.18 | 1/4 |
+
+Three facts. (i) **Thresholds are skill-specific** (GG predicted this): boolq dies at 1/8 where arc,
+squad and hellaswag are still at full strength, so merge depth in a population is set by the *weakest*
+skill. (ii) **Cliffs are sharp** — full effectiveness right up to the edge, then near-total loss in one
+halving; there is no graceful degradation to trade against. (iii) **Four of six skills are BETTER
+scaled down** — mnli 0.40 -> 0.68 at 1/4, hellaswag 0.75 -> 0.82 at 1/2, squad 0.72 -> 0.78 at 1/4,
+arc 0.87 -> 0.92 at 1/8. These adapters are over-trained at full strength; attenuation recovers
+accuracy with no retraining.
+
+**Denoising does NOT move the threshold.** arc raw 0.87/0.88/0.88/0.92/0.42/0.00 vs denoised
+0.87/0.83/0.88/0.87/0.35/0.00; boolq raw 0.78/0.78/0.78/0.37/0.00 vs denoised 0.78/0.78/0.77/0.38/0.03.
+Identical cliffs. So the limit is **signal magnitude**, not signal-to-noise: averaging leaves signal at
+full strength and only removes noise, and therefore cannot buy merge depth. Denoising remains worth
+doing for cross-skill merge quality (+0.025, §8c) and for knowing what a line contains — not for depth.
+
+**Bespoke per-skill merge weights — tested and NEGATIVE (`/tmp/bespoke.py`).** All six skills merged
+into one model:
+
+| scheme | sum | mean |
+|---|---|---|
+| six separate adapters, full strength | — | 0.678 |
+| six separate, each at its own optimum | — | **0.755** |
+| **uniform convex (1/6)** | 1.00 | **0.708** |
+| uniform 0.25 | 1.50 | 0.686 |
+| bespoke: cliff (lowest viable per skill) | 1.12 | 0.689 |
+| bespoke: optimum (best-accuracy per skill) | 1.62 | 0.686 |
+| additive (1.0 each) | 6.00 | 0.156 |
+
+All three non-uniform schemes cluster at 0.686–0.689, *below* plain equal weighting. **Why the
+inference failed:** solo dose-response curves do not transfer to the multi-way case. A skill's
+effective strength in a merge is set by its coefficient *relative to the other five* — six output
+formats compete for one model — so raising one skill's absolute weight starves the others. Clearest
+in squad: 0.65 at uniform 1/6, but 0.47–0.55 whenever given a larger absolute weight alongside others.
+The curves are sound; the inference from them to merge weights was not.
+
+**The two results worth keeping.** (a) **One merged model beats six separate specialists on their own
+tasks** — 0.708 vs 0.678 — with mnli the clearest case (0.40 alone, 0.67 merged, because merging
+dilutes it to near its optimum and undoes the over-training). The merge is doing compression plus
+incidental regularisation, which is a more honest description than "combining capabilities".
+(b) **The largest free win needs no merging at all**: attenuating each specialist to its own optimum
+takes the separate-models baseline from 0.678 to **0.755**, the best number in the table — one scalar
+per adapter, no retraining. Merging then costs ~5 points and saves five models: a real engineering
+trade, honestly stated.
+
+## 8e. The last candidate eliminated — merge-then-train is the best procedure tested (2026-09-08)
+
+**Test (`/tmp/trainmerge.py`).** Two chains, identical partners and order. Control: merge only.
+Test: merge, then continue-training on the partner's family (300) plus replay across everything seen
+(150 split) — i.e. the v5 sequence. The control reproduced the earlier chain **exactly at all five
+rounds**, so the comparison is clean.
+
+| round | partner | merge-only arc | merge+train arc | merge-only partner | merge+train partner |
+|---|---|---|---|---|---|
+| 1 | boolq | 0.883 | **0.933** | 0.733 | **0.850** |
+| 2 | winogrande | 0.900 | **0.933** | 0.550 | **0.717** |
+| 3 | mnli | 0.850 | **0.917** | 0.467 | **0.867** |
+| 4 | squad | 0.567 | **0.883** | 0.733 | **0.767** |
+| 5 | hellaswag | 0.883 | 0.833 | 0.800 | **0.850** |
+
+**Training on merged weights is not the mechanism — it is a substantial improvement.** Better on the
+tracked skill in four of five rounds, better on the incoming skill in all five, and it absorbs the
+round-4 format shock that dropped the control to 0.567. Merge-then-train holds the old skill near its
+ceiling *and* acquires the new one far better than merging alone (mnli 0.867 vs 0.467).
+
+**All three proposed mechanisms for the v5 collapse are now refuted**, each by direct test:
+a destructive skill propagating through merges (§8c — a single merge is protective); geometric signal
+dilution (§8c — five convex merges lose nothing); training on merged weights (here — it helps).
+The one structural difference left is that these chains merge *clean single-skill* adapters, whereas
+v5 merged accumulating lineages carrying up to six skills each in rank 16 — i.e. capacity. **Recorded
+as unexplained rather than attributed:** three mechanisms have been proposed and refuted, and a fourth
+guess would not have earned its place.
+
+**Consequence for the plan (§8b/§8c).** The veto arm was scheduled to make the v5 negative
+interpretable. With three mechanisms refuted and merge-then-train shown sound in isolation, the v5
+result is not reportable whatever a veto arm shows — recommendation is to stop, not to run it.
+
+## 8f. The veto arm (GG overruled my recommendation to skip it — correctly) 2026-09-08
+
+**Change:** identical to v5's `society` arm except that "keep the parent unchanged" is scored on the
+same validation split as the merge candidates, and wins if no weighting beats it. One bit of
+selection. Everything else — operator, weight grid, curriculum, replay, seeds — unchanged.
+
+**Seed 1 result: a single veto converts total collapse into a healthy trajectory.**
+
+| generation | 0 | 1 | 2 | 3 | 4 | 5 |
+|---|---|---|---|---|---|---|
+| veto (declinable) | **0.719** | **0.756** | 0.744 | **0.781** | 0.781 | 0.783 |
+| society (obligate) | 0.689 | 0.719 | 0.700 | 0.597 | 0.439 | **0.211** |
+| isolated (never merges) | 0.625 | 0.700 | **0.728** | 0.753 | **0.789** | **0.814** |
+
+**The veto decisions are structured, and this is the substantive finding.** Merges declined, per
+generation (of 3): 1, 1, 1, **3, 3, 3** — 67% overall, and from generation 3 onward *every* lineage
+declines *every* merge, unanimously. Median validation gain when accepted: +0.042. That timing
+tracks complementarity, which is 1.00 through generation 1, 0.80 at 2, then 0.67 and falling: the
+population discovers on its own that recombination has stopped paying and stops — H6's predicted
+*shape* of the advantage, reached from the opposite direction.
+
+**GG's caveat, and it is the right reading (2026-09-08):** once merges are always declined the arm is
+*literally* the isolated arm, so the comparison at the end is between "merged early, then stopped" and
+"never merged". Early merging gives a large lead (+0.094 at generation 0) but **isolated overtakes at
+generation 4 and finishes higher (0.814 vs 0.783)** — the early merges leave a residual cost that
+never-merging avoids. So the claim is not "the veto fixes recombination". It is: *recombination pays
+only while partners differ, a population can detect when that stops, and even then it ends slightly
+behind never having merged.*
+
+**Consequence for reportability.** This makes the v5 negative interpretable and no longer vulnerable
+to "you forced merging, of course it broke": obligate recombination collapses (0.211), one bit of
+selection rescues it (0.783), and never recombining is still marginally best (0.814). Risk, remedy,
+and honest limit — the language-model rung beside Fig. 5A.
+
+**My error, recorded:** I recommended skipping this experiment on the grounds that v5 was unreportable
+whatever it showed. That judged the experiment by whether it would rescue a conclusion I had already
+written off, rather than by what it would measure. The per-generation veto rate is information neither
+other arm could produce, and it is the most interesting thing in the arm.
+
+**Replication:** seeds 2-3 submitted to CX3 as array `4007703` (`hpc/llm_veto.pbs`), pairing against
+the existing v5 isolated/society/seed_bank runs for those seeds.
+
+**Control worth considering if the seeds hold:** a *forced* stop at generation 3, to separate "the
+veto's timing is smart" from "any early merging then stopping does this". The veto's stopping point
+coincides with complementarity falling below 0.8, which is principled rather than arbitrary — but that
+is an observation, not a test.
+
+## 8g. The vocabulary substrate: contamination screen and the prior-art problem (2026-09-09)
+
+GG's proposal: replace task families with *content* — teach 100 words of a language the model does
+not speak, one word-set per modifier, so thousands of words yield hundreds of modifiers and the
+generation count rises tenfold. Retention is trivially measurable ("what does X mean in English?").
+
+**Contamination screen — the first measurement was invalid.** Generating an answer and string-matching
+it gave Italian 0.092, French 0.050, Basque 0.050, Welsh 0.017, Zulu 0.008, pseudo-words 0.000. French
+tying Basque is impossible if the quantity measured were knowledge, so the probe was measuring whether
+a *base* model obeys "answer with one English word" — the same instruction-following floor that gives
+0.011 on the task families. Re-run as an 8-way forced choice over candidate translations scored by
+likelihood (domain-conditional PMI, chance 0.125), which needs no instruction-following:
+
+| language | generated | forced choice | verdict |
+|---|---|---|---|
+| French | 0.050 | 0.950 | fully known |
+| Italian | 0.092 | 0.908 | fully known |
+| Welsh | 0.017 | 0.508 | half known |
+| Basque | 0.050 | 0.483 | half known |
+| **Zulu** | 0.008 | **0.142** | at chance — genuinely unknown |
+| pseudo-words | 0.000 | 0.158 | floor (cycling 20 nouns inflates this slightly) |
+
+Only Zulu is clean among natural languages; pseudo-words are clean by construction and unlimited in
+supply. Probe: `/tmp/contam2.py`.
+
+**Prior art makes the experiment-as-framed a reproduction.** WikiBigEdit (arXiv:2503.05683) runs
+506K factual QA pairs across 8 sequential timesteps. Locate-then-edit methods (ROME, MEMIT) collapse
+within the first few hundred updates, but their **LoRA + merging** baseline — a fresh adapter per
+timestep, interpolated into the accumulated adapter at weight 0.25 — is stable across the whole
+benchmark and beats every dedicated editing method past ~100K updates. That is our isolated-plus-
+attenuated-merge arm, run three orders of magnitude further, and it does not collapse. Separately,
+arXiv:2506.14126 finds that over-training experts harms merging via late-stage memorisation, which is
+the published version of our §8d observation that attenuating four of six adapters was free gain —
+cite it, do not claim it.
+
+**Consequence for the diagnosis.** If a single lineage accumulates 500K disjoint facts by
+fresh-adapter-plus-interpolation without collapsing, capacity is not what stopped v5 at generation
+3-4 with six families. The difference between the two settings is that WikiBigEdit's content is
+homogeneous QA in one output format, whereas v5's families conflict at the output (label vs span vs
+number vs code). The remaining candidate is interference between competing output formats.
+
+In the population-genetic frame the two are distinct: a new word-set is a **new locus**, and adding
+loci is cheap; two families demanding different output formats for the same input shape are
+**competing alleles at one locus**, and that is what collapses. A pure vocabulary curriculum is all
+loci and no allelic competition, so it would run to a hundred generations and confirm only that
+capacity is ample — removing precisely the variable that produced the phenomenon.
+
+**The collision sweep I proposed here is also occupied — do not run it either.** *In Praise of
+Stubbornness* (arXiv:2502.04390) sweeps exactly this: non-contradictory updates integrate safely, while
+contradictory ones destroy up to 80% of unrelated knowledge with as few as 10-100 facts, consistently
+across model scales, and the authors conclude explicitly that the cause is conflict rather than
+capacity. *Interference and Retention in Continual Learning* (arXiv:2607.09202) supplies the theory:
+disjoint task supports make forgetting structurally eliminable, conflicting overlap imposes an
+unavoidable distortion floor. Both the measurement and its formalisation exist.
+
+**What this buys us anyway: the v5 collapse now has a cause.** Three of our own explanations were
+retracted (§8c, §8d) and capacity was the standing suspect. Between 2502.04390 and 2607.09202 the
+mechanism is settled and it is allelic conflict, not locus exhaustion — the six families conflict at
+the output, and contradictory updates corrupt disproportionately and non-locally. WikiBigEdit is the
+mirror control: homogeneous single-format content accumulates to 506K facts without collapsing. The
+collapse we could not explain is a known, characterised, independently replicated phenomenon.
+
+**The gap that survives.** Every merging paper in the landscape still merges *once* — GENOME (the ACL
+2026 population-evolution paper) evolves a population toward a single target task, with no collapse,
+forgetting or grounding analysis. The iterated reproduction loop is still unoccupied, we have run it,
+and v5's negative answer (obligate recombination collapses by generation 3-4; veto-gated recombination
+merely matches isolation) is now interpretable rather than mysterious. No further LLM compute is
+required to state it.
+
+## 8. Decisions for GG
+
+1. **Three lineages × nine generations × nine families** (complementarity maximal at t=3, zero at
+   t=9), or fewer families and more generations per family?
+2. **Replay budget** — fixed `n_replay` split across all families seen so far (so per-family replay
+   thins as the curriculum grows, which is realistic and makes forgetting a live pressure), or fixed
+   per-family (constant protection, more compute)?
+3. Whether `single_shot_merge` gets the directed weight selection the society arms use, or plain
+   uniform soup as published. I would give it the *same* selection, so the comparison isolates
+   iteration rather than handing the society a free operator advantage.
+
+## 8h. Two controls for the declinable merge, pre-registered before running (2026-09-11)
+
+Both were identified in the 2026-09-11 manuscript review as the weakest hedges in the six-generation
+population section. Code: `merge_until` and `orders` config keys in `src/llm/curriculum.py`;
+configs `curriculum_v5_stop3.yaml`, `curriculum_v5_decor.yaml`; stats `figures/stats_llm_curriculum.py`.
+
+**Control 1 — forced stop at generation 3 (`llm_curriculum_v5_stop3`).** The v5 `society` arm with
+recombination switched off from generation 3 (`merge_until: 3`, `allow_veto: false`). Rationale: in
+the seed-1 veto run lineages declined 1/3 of merges at generations 0–2 and 3/3 at 3–5, so this is the
+matched fixed schedule. Readout: best-lineage all-family accuracy at generation 5, paired per seed
+(3 seeds) against veto, isolated and society.
+- stop3 ≈ veto (within ±0.03 in every seed): the veto's outcome is explained by *when* it stopped;
+  the paper keeps "the population found the schedule by itself" and drops any claim that per-decision
+  evaluation adds value beyond timing.
+- stop3 < veto in every seed: the early declines avoided specific harmful merges; the modifier reading
+  strengthens.
+- stop3 ≈ society (collapsed): three obligate merges already carry the format destroyers; stopping is
+  not enough, screening is required.
+
+**Control 2 — decorrelated curriculum (`llm_curriculum_v5_decor`).** Same six families, G = 6, but
+every lineage starts with mnli, then diverges maximally, then converges, so partner complementarity by
+generation is 0.00, 0.67, 0.70, 0.58, 0.33, 0.00 (Latin square: 1.00, 1.00, 0.80, 0.67, 0.33, 0.00).
+Arms: `isolated` and `society` with `allow_veto: true`. Primary readout, pooled over both curricula
+(2 × 6 generations × 3 seeds = 36 points of mean `veto_used`): partial Spearman correlation of the
+fraction declined with complementarity, controlling for generation (rank-regress both on generation,
+correlate residuals), seed-clustered bootstrap CI.
+- Modifier hypothesis: partial ρ(declined, complementarity | generation) < 0 with CI excluding 0.
+- Adapter-age hypothesis: that partial ρ ≈ 0 while partial ρ(declined, generation | complementarity) > 0.
+- Known ambiguity, stated in advance: at generation 0 of the new curriculum all lineages hold the
+  *same* family from different training draws, and §8b measured that such same-skill merges gain
+  +0.087 (encoding decorrelation). A low decline rate at generation 0 therefore does not test
+  complementarity; the primary test is the pooled partial correlation, not that point.
+- Secondary, descriptive: whether the new curriculum's veto arm finishes level with its own isolated
+  arm, as in the Latin square (0.792 vs 0.796).
+
+Seed 1 of each control runs locally (batch 24 / train batch 2, as the v5 seed-1 runs); seeds 2–3 on
+CX3 (`hpc/llm_curriculum_controls.pbs`, batch 48 / train batch 4, as the v5 seeds 2–3 runs).
+
+### §8h outcome (2026-09-11, 3 seeds each; `figures/stats_llm_curriculum.py`)
+
+- **Control 1, forced stop:** stop3 0.793 vs veto 0.792 vs isolated 0.796 (per-seed veto − stop3:
+  −0.008, −0.006, +0.011). First branch: the veto's outcome is explained by *when* it stopped.
+- **Control 2, decorrelated curriculum:** partial ρ(declined, complementarity | generation) = −0.067,
+  CI (−0.211, +0.088); partial ρ(declined, generation | complementarity) = +0.31. Adapter-age branch:
+  declines track generation, not complementarity. The Latin-square ρ = −0.57 was carried by
+  generation. Decor veto 0.790 = decor isolated 0.790.
+- Manuscript consequence: the recombination-modifier / reduction-principle reading of Fig. 4B is
+  withdrawn; the declinable merge remains the mechanism that avoided the obligate-merge collapse at no
+  cost against never merging, and the forced-stop control shows a fixed schedule does the same.
diff --git a/tasks/todo.md b/tasks/todo.md
index a09de0c..ebaf5f7 100644
--- a/tasks/todo.md
+++ b/tasks/todo.md
@@ -412,3 +412,248 @@ offspring screened on the arm's own signal), QD selection. `src/llm/society.py`
 155 green), `kind: llm_society`, configs `society_smoke.yaml` / `society.yaml`. Stages: smoke
 (local, ~15 min) → pilot full vs no_grounding (GG gate) → 4-arm × 3-seed CX3 campaign → figure +
 manuscript fold-in.
+
+**2026-09-07 — v1 `llm_society` campaign landed (4 seeds) and is NEGATIVE; v2 pre-registered.**
+Best-agent overall at gen 9, 3-seed means: `no_sex` 0.558 ≥ `no_diversity` 0.539 ≥ `full` 0.506 ≫
+`no_grounding` 0.436 (worst arm in every seed from gen 2). Conformity−truth gap does not separate the
+arms. Read through the framework the null was structurally guaranteed (near-clone founders over 3
+families; 2³ competence states; linear blending at 0.5B = the dilution regime; parents truncated
+before breeding, unlike E11's survival-over-pool; `n_test`=40 → SE 0.079) — details and fixes in
+`tasks/prereg-llm-society-v2.md` §1, lesson in `tasks/lessons.md`. Nothing enters the manuscript;
+Fig. 1A's "stated gap" stands. **v2** (`kind: llm_society_v2`): L=12 families / one founder each,
+confidence-routed union inheritance, pooled survival, checkpoint+resume, 240 test items, g=0.85,
+G=12; six numerical hypotheses H1–H6; calibration gates C1–C5 must pass before submission (GG
+reviews). GG decisions: 0.5B; `sex_linear` dropped (H2 deferred); no family vetoes.
+- [x] families / operators / v2 loop / calibration runner / configs / PBS array / figure script / 9 tests (164 green)
+- [x] smoke (4 arms, figure + stats script) → calibration A pass 1 (6/17 in band) → pass 2 (9 in band; C1b needed the gate re-derived 0.35→0.41 from the grid) → GG chose L=9
+- [x] calibration B: C2 FAILED as pre-registered (retention ≤0.81 at k≤150; interference, not the observation floor) → C2b: k=300 + confidence gate τ=0.5 gives mean retention 0.87 (PASS); C3 operator half passes (union holds both families, linear loses one), retention half re-run gated; C5 passes (consensus 0.31)
+- [x] campaign configs set: L=9, k_inherit=300, conf_gate=0.5, epochs=3, n_test 27/family, g=0.85, G=12; PBS 16 elements × 8 h
+- [x] gated cross (C3): two-skill child plateaus at ~0.85×/0.8× of parents at any budget (3 vs 6 epochs; r64 hurts); tight gate τ=0.85 gives the 6-epoch retention at 3 epochs
+- [x] **GG go/no-go (21:30): NO-GO at 0.5B** — the vertical claim needs 5–6 co-resident skills the r=16 adapter cannot hold; today = a measured transmission ceiling (SI material). 7B plan drafted: prereg §13
+- [ ] GG: 7B scope (headline ~80 / H3+H4 ~120 / full ~260 L40S-h), Phase-0 task design go, SI text timing
+- [ ] SI: the 0.5B calibration ceiling as the reason the tier was not run (prereg §11 row 4) — three limits, numbers from results/llm_society_v2_calib_*
+- [ ] REPRODUCING.md: rows for the v1 campaign (4 seeds), v2 smoke, and the 9 calibration bundles
+- [ ] stage code on CX3, `qsub hpc/llm_society_v2.pbs` (16 elements); local hedge = `society_v2_s1.yaml`
+- [ ] `figures/stats_llm_society.py` (per-seed paired contrasts H1/H3/H4, AUC for H5, supplied-vs-retained for H6)
+- [ ] fold the outcome per prereg §11
+
+**2026-09-08 — v3 `llm_compose` run (3 seeds): H1 PASS, H2–H5 null; design could not show the claim.**
+Composition at gen 0 is real and replicated (surplus +0.087/+0.033/+0.093; union-exceedance ~0.12; also
+on MATH-500). Decay hypotheses uninterpretable: the lineages barely drifted (q_math 0.54 → 0.50–0.57)
+and, more fundamentally, a fixed skill set has its ceiling at gen 0 — GG: "are models learning NEW
+skills at EACH generation? … that was not the problem being addressed." v3 was Weismannian (fresh LoRA
+each generation) and retention-only. Two of my errors: C3 unchecked (code specialist 0.075 on MBPP →
+q_code noise), and three premature reads of a single-seed trajectory.
+**v4 `llm_curriculum` — continual learning in a population** (`prereg-llm-society-v4.md`): Lamarckian
+channel (`continue_lora_training`), Latin-square curriculum (complementarity 1.0 → 0.0 by construction,
+H6 predicts the *shape*), arms isolated/society/society_dry/seed_bank (GG's ancestor-merge idea —
+temporal vs spatial complementarity, direction uncommitted), single-shot SoTA baselines at matched budget
+as the falsifier. GG decisions: 3×9×9, replay fixed-total, baselines get the same directed selection.
+- [x] G0 PASS (accumulation 0.74 → 0.95); G2 FAIL ×2 (v2 families don't interfere; one pair at +0.65);
+  G3 negative (merging costs −0.01…−0.13 with nothing to repair); base = 0.094 → one family lifts all to 0.417
+- [x] **v5 curriculum**: 11 real-dataset families, 5 answer shapes, per-family verifiers, disjoint splits
+  (`curriculum_data.py`, +6 tests, 56 green); selection rule fixed in prereg §8a
+- [ ] stage A calibration running (`curriculum-v5-calib`): base + 11 specialists × 11 families
+- [ ] stage B: zero-replay forgetting probe on the survivors (mean drop ≥ 0.15, not single-family)
+- [ ] GG go/no-go → seed 1 local + CX3 array (seeds 2–3), then baselines
+
+**2026-09-08 — v5 curriculum campaign done (3 seeds); all hypotheses fail; the useful finding is a
+split in the theory.** Real-dataset curriculum (6 families, 5 answer formats, per-family verifiers)
+replaced the procedural set. Results: not-merging wins (0.80), merging-with-own-ancestor middling
+(0.66), merging-with-a-peer collapses (0.27), single-shot merging unstable (0.125–0.764). Cause:
+two families are answer-format destroyers that propagate through merges and compound because
+offspring continue the lineage. Scope limits: merging was obligate (no veto) and there is NO
+selection between lineages — a gene-flow experiment, not a selection one.
+**Key new measurement:** same-skill adapters (seed/data draw only) are near-orthogonal in weight
+space (cos +0.006), disagree on 24% of prompts, and **merging them beats the best parent by +0.087,
+exactly at the either-right ceiling**. So decorrelation-in-what-you-know is harmful while
+decorrelation-in-how-you-encode-it is beneficial — the framework's single rho conflates them.
+- [ ] v6: three arms (no-merge · complementary · parallel) + veto + population selection (~30 GPU-h)
+- [ ] decide how the E9-risk result and the two-variations split enter the manuscript (beside Fig. 5A)
+
+**2026-09-08 (later) — four mechanism probes; two of my explanations retracted.** (1) Same-skill
+adapters: 85% of a LoRA's change is run-specific noise; merging two beats the better parent by +0.087,
+at the either-right ceiling. (2) Denoising before crossing adds +0.025 on both skills at once
+(inbred-lines signature). (3) A single merge of clean adapters is PROTECTIVE (0.825 vs 0.550 best
+parent) — retracts "destructive skill propagates through merges". (4) Five chained convex merges lose
+nothing, while signal-preserving additive weights collapse (1.02 vs 0.52 retention) — retracts
+"geometric signal dilution"; the real constraint is bounding drift from the base. (5) Scaling probe
+(GG's control): base 0.000, and the adapter works down to 1/8 then dies — 1/16 = 0.450, 1/32 = 0.000.
+So the chain's apparent retention was ANSWER FORMAT supplied by the dominant partner, not the skill.
+Consistent with Fig. 3C-D: functional conflict predicts merge damage, weight geometry does not.
+- [ ] test the remaining candidate: continued training ON TOP of merged weights (chain + fine-tune each round)
+- [ ] if confirmed, the finding is about output conventions propagating through merges — reframe accordingly
+
+**2026-09-08 (evening) — scaling thresholds measured; bespoke weights tested and NEGATIVE.**
+Per-skill dose-response: cliffs are sharp and skill-specific (boolq dies at 1/8, arc survives to 1/8
+at its BEST score 0.92); 4 of 6 adapters are over-trained and improve when scaled down (mnli
+0.40->0.68 at 1/4). Denoising does NOT move the cliff -> the limit is signal MAGNITUDE, not
+signal-to-noise, so denoising buys quality (+0.025) but not merge depth. Bespoke per-skill weights
+(cliff and optimum variants) both LOSE to plain uniform 1/6 (0.686-0.689 vs 0.708): solo curves don't
+transfer because effective strength is relative, not absolute.
+KEEP: (a) one merged model beats six separate specialists on their own tasks (0.708 vs 0.678);
+(b) attenuating each specialist to its own optimum gives 0.755 with no merging and no retraining.
+- [ ] still untested: continued training ON TOP of merged weights (the last candidate for the v5 collapse)
+- [ ] decide whether the compression trade (0.708 merged vs 0.755 separate) is a paper result or an appendix note
+
+**2026-09-08 (late) — last candidate eliminated; v5 collapse recorded as UNEXPLAINED.**
+merge-then-train beats merge-only on the tracked skill in 4/5 rounds and on the incoming skill in 5/5
+(mnli 0.867 vs 0.467); it even absorbs the round-4 format shock. So training-on-merged-weights is not
+the mechanism — it is the best procedure tested. All three proposed explanations for the v5 collapse
+are now refuted by direct test. Remaining structural difference: v5 merged multi-skill accumulating
+lineages (rank 16, up to 6 skills), these chains merge clean single-skill adapters -> capacity is the
+suspect, but NOT claimed: three guesses have been wrong, a fourth is not earned.
+- [x] veto arm: recommend NOT running — v5 is unreportable regardless (awaiting GG)
+- [ ] GG decision: close the LLM-society file for this paper; keep engineering findings separate
+
+**2026-09-08 (late) — VETO ARM: one bit of selection converts collapse into a healthy trajectory.**
+Seed 1: veto 0.783 vs obligate-merge society 0.211 vs isolated 0.814. Veto rate 67%, and structured:
+1/3 declined at generations 0-2, then 3/3 at generations 3-5 — the population stops merging exactly as
+complementarity falls (1.00 -> 0.80 -> 0.67). GG's caveat is right: once all merges are declined the
+arm IS isolated, and isolated overtakes at gen 4 and finishes higher. Honest claim: recombination pays
+only while partners differ, the population detects when that ends, and still finishes slightly behind
+never merging. Makes the v5 negative reportable (risk + remedy + limit) beside Fig. 5A.
+I had recommended skipping this experiment; that was wrong — I judged it by whether it would rescue a
+written-off conclusion rather than by what it would measure.
+- [ ] CX3 array 4007703 (seeds 2-3) -> confirm the veto rate pattern and the isolated crossover
+- [ ] optional control: forced stop at gen 3, to test whether the veto's TIMING matters
+
+## Manuscript revision — multigenerational LLM population + new literature (2026-09-09)
+
+Plan: `~/.claude/plans/we-are-going-to-cheerful-fog.md` (approved by GG 2026-09-09). Dual-audience
+writing standard is paramount: every term defined at first use with an example from each field.
+
+- [x] Pre-write checks: chance-corrected competence count (claim dropped — single adapters unlock ~4
+      families via shared formats at gen 0; report retention_seen flat ≈0.78 and no first-family erosion
+      instead); Spearman veto-rate vs complementarity ρ=−0.57, p=0.013, n=18; pop-gen citations verified
+- [x] Fig. 6 → five panels (D trajectory, E veto rate vs complementarity); caption; REPRODUCING.md rows
+- [x] main.md: Abstract, Significance, Table 1 row, new Results subsection, society/speciation pointers,
+      Discussion (design rules, CL, borrowed/new, limits, creative diversity, outlook), Methods
+- [x] si.md: S3 text, Table S1/S2 rows, M2/M5/M6 additions, SI figures list; fixed two stale SI
+      citation numbers (41→44, 43→46 pre-renumbering) and one leftover "honest"
+- [x] References: +8 (73–80 appended, then renumbered to first-appearance order by
+      `paper/pnas/renumber_refs.py`; 80 refs, 0 orphans, recheck = 0 renumbered)
+- [x] Verification: fig6 rendered+inspected twice (legend fix); PDFs build (main 24 pp, SI 11 pp; no
+      unresolved FIG markers); gap/meta-language grep clean; two-reader pass (added "verifier",
+      "frozen", validation glosses); `make test` 196 passed
+- [x] **Compression pass (GG directive 2026-09-09).** 7,318 → 6,764 total, of which 6,520 is running
+      prose and 244 is the Table 1 grid (PNAS counts tables separately). −554 words with no content
+      removed: sentence-level density throughout, one genuine de-duplication (the MNIST collapse
+      figure was stated twice, in the biological-model section and again under Grounding — kept the
+      Grounding statement, which carries the 2× estimator-bias comparison), and two detail blocks
+      moved to where they belong (predictive-test per-seed ρ ranges → new Table S2 row; Methods
+      pointer to SI Methods). PDF 24 → 23 pp. Every number, citation, hedge, and gloss retained.
+      Further cuts would need structural calls: moving the blending-inheritance Proposition to SI
+      (~130 words, but it is a flagship claim) or trimming review-calibrated hedges — left for GG.
+- [x] **Fig. 1A updated (GG, 2026-09-09).** The composed-society × language-model cell was rendering
+      "open — the stated gap"; it now carries the result ("6 generations × 3 lineages: obligate merging
+      collapses, a declinable merge tracks partner complementarity") with tag Fig. 6D–E, and the
+      biological-model cell's tag narrowed to Fig. 6A–C. Tier header corrected to "Qwen 0.5B, 1.5B &
+      7B; exact-match and execution verifiers". Dead `OPEN` rendering branch removed. Caption in
+      build.py no longer ends on the gap clause. Repo-wide grep for gap language now clean.
+- [x] **Zotero library built (GG, 2026-09-10).** All 80 references resolved to authoritative metadata
+      via doi.org content negotiation: 77 from DOI (53 printed in the manuscript, 22 found by
+      title-matched Crossref search, 2 hand-verified — Brinkmann *Machine culture*, Schwarz *Progress &
+      Compress*), 3 hand-written because they predate DOIs (Jenkin 1867, Fisher 1930, Templeton 1986).
+      Artifacts in `paper/pnas/refs/`; generator `paper/pnas/build_zotero_library.py`.
+      **Not yet in Zotero** — the app is closed and its library lives in ownCloud; direct writes to
+      `zotero.sqlite` are unsafe, so import is one step in the Zotero UI (see refs/README.md).
+- [ ] Optional: sync long-form `paper/the-evolution-of-sex-for-ai.md` L797 ("LLM society is unbuilt")
+
+## Manuscript round 4 — research-paper restructure (GG feedback 2026-09-10)
+
+Plan: `~/.claude/plans/we-are-going-to-cheerful-fog.md`. Diagnosis: mean sentence 49 w vs GG's own
+31 w, 50% of sentences over 40 w, em-dashes 11.4/1k vs his 0.57 — long sentences in short paragraphs,
+the inverse of his rhythm. That is the measurable cause of "too cryptic".
+
+- [x] Phase 1 — Results restructured to question+design / result / implication; seven descriptive
+      section titles; grounding leads with the novel per-item floor and cites the g≈0.05 threshold as
+      corroboration of published values; Proposition lifted into its own block; Recombination split by
+      experiment; novelty of Fisher–Muller-in-LoRA conceded in place
+- [x] Phase 2 — Main figures 7 → 5. Old Fig. 4 (E4/E8) and Fig. 5 (E9/E10/E14) dissolved; E9/E10/E14
+      to SI as established results with no real-model counterpart. Panels reordered so the real-model
+      result leads and the inheritance model follows as reference (Fig. 2A/B, 4A–B before 4C–E,
+      5A–D before 5E–F). Fig. 1A column relabelled "Inheritance model (reference)"; tags repointed.
+      "biological model" → "inheritance model" throughout.
+- [x] Phase 3 — Prose to the measured fingerprint: mean sentence 49.0 → 31.4 w (GG's own 31.2),
+      >40-word sentences 50% → 22.6% (his 20.8), em-dashes 11.4 → 3.42/1k (his 0.57), semicolons
+      13.6 → 8.6, colons 13.6 → 8.4, antithesis 1.77 → 1.81/1k after re-cutting the ones the rewrite
+      introduced. 21 pp (from 23).
+- [x] Phase 4 — Discussion rebalanced: the 476-word (68 w/sentence) continual-learning block and the
+      242-word (80 w/sentence) borrowed/new block broken into paragraphs of 5–6 sentences.
+- [ ] Remaining: two-reader accessibility pass over the rewritten sections; `Fig. 2` cross-reference
+      in the inheritance-model section may want to be `Fig. 2A`; consider whether the Significance
+      statement and Abstract need to match the new section titles.
+
+## Manuscript review pass (2026-09-11)
+
+Review of `paper/pnas/main.md` (novelty, accessibility, calibration, cheap experiments); corrections applied:
+- [x] Abstract rewritten (one idea per sentence, jargon removed, 250 words); own-ancestor result added, mating-breadth hypothesis dropped
+- [x] Own-ancestor (seed-bank) merge given its own paragraph, Table 1 row, and design rule
+- [x] Emergent null (merge rescues forgetting specialists) and the overlap control (delta-cosine +0.60 → +0.03) promoted from asides to findings
+- [x] "Five specific results" recut to four; grounding floor named a corollary, ablation named a demonstration (conformity builds grounding in)
+- [x] Latin-square collinearity of complementarity and generation stated explicitly in Results
+- [x] Two SI-only design rules marked as inheritance-model predictions; 7B Fisher–Muller marked single run
+- [x] Terms defined at first use: forward KL, BDM, TIES, linear-mode-connectivity barrier, low-rank factor space, oracle parent potential
+- [x] 70-word speciation sentence split; Fig. 5 E–F, Fig. 3 C–D, Fig. 4C–E cross-refs added; stale "Fig. 6D–E" in SI Table S1 → Fig. 4A–B
+- [x] Author email fixed; PDF rebuilt (22 pp)
+- [ ] Cheap experiments proposed, none run: forced-stop-at-gen-3 control; non-Latin-square curriculum breaking the complementarity/generation confound; seeds 2–3 for the single 7B runs; pre-merge disagreement vs realised penalty on the existing population checkpoints; withholding curriculum; stylistic-diversity readout on saved generations; E11 with alternative selection schemes
+- [x] Compression/accessibility pass (2026-09-11): main-text prose 6,902 → 6,117 words (−11%); em-dashes 15 → 0; antithesis 0.33/1k; all 81 citations, 5 figure markers and every headline number verified present by script; PDF 22 → 21 pp. Pre-pass copy kept in session scratchpad only.
+
+## Experiments 1–3 from the manuscript review (2026-09-11) — plan `~/.claude/plans/atomic-rolling-sprout.md`
+
+- [x] `merge_until` (forced stop) and `orders` (custom curriculum) keys in `src/llm/curriculum.py`; manifest records them; +3 tests (127 green)
+- [x] configs `curriculum_v5_stop3.yaml`, `curriculum_v5_decor.yaml` (complementarity 0.00/0.67/0.70/0.58/0.33/0.00 verified); prereg §8h written before running
+- [x] PBS: `hpc/llm_curriculum_controls.pbs` (seeds 2–3 × {stop3, decor}), `hpc/llm_7b_seeds.pbs` (seeds 2–3, merge → moe_hard → directed_hard)
+- [x] 7B seed-1 bundles moved to `results/llm_*_hpc/s1/`; `load_seed_bundles` in `_figlib`; fig3 B, `plot_llm_{merge,moe,directed,seeds}.py` seed-aware (no more `.iloc[0]`)
+- [x] `figures/stats_llm_curriculum.py` (shared loader, now used by `make_figs._load_curriculum`; contrasts; partial-correlation test) and `figures/stats_llm_7b_seeds.py`; both reproduce the published numbers on existing bundles
+- [x] **Experiment 1 decided (3 seeds):** forced stop 0.793 vs veto 0.792 vs isolated 0.796 vs society 0.269; veto − stop3 = −0.008/−0.006/+0.011 (all within the pre-registered ±0.03). Reading: the declinable merge's outcome is explained by *when* it stopped; the "evaluation adds value beyond timing" reading is dropped. Fig. 4A carries the dashed control; `results/llm_curriculum_v5_stop3/README.md`
+- [x] **Experiment 2 decided (3 seeds):** partial ρ(declined, complementarity | generation) = −0.07 (CI −0.21…+0.09); partial ρ with generation = +0.31. Declines track generation, not complementarity; the modifier/reduction-principle reading is withdrawn. Decor veto 0.790 = decor isolated 0.790. `results/llm_curriculum_v5_decor/README.md`; Fig. 4B now shows both curricula
+- [x] **Experiment 3 done (7B, seeds 1–3, 33 min/seed on one L40S):** merge − best specialist +0.066 ± 0.036 (3/3); routing − soup +0.094 ± 0.015 (3/3); directed − soup +0.073 ± 0.031 (3/3). Not replicated: 'soup below best specialist on hard' (1/3; mean +0.001) — sentence softened in main text and caption. Fig. 3B now mean ± CI; READMEs carry per-seed tables
+- [ ] GG: `ssh -fN hpc`; then rsync code, `qsub hpc/llm_curriculum_controls.pbs` and `qsub hpc/llm_7b_seeds.pbs`
+- [ ] after data: fig4 (stop3 line; decor decline curve), captions in `build.py`, main/SI/REPRODUCING/READMEs/CLAUDE.md numbers from the stats scripts only
+- Discovered: the venv carried paths from before the repo moved into `LLMs/` (stale shebangs; `uv run pytest` could not spawn). `pytest` re-installed; other console scripts still stale — `uv sync --all-extras --reinstall` would fix all. Hardening candidate: specialist cache key lacks the base model (fails loudly, not silently).
+
+## Venue + novelty audit (2026-09-11)
+Target: Nature Machine Intelligence first; PLOS Comput Biol as the venue reaching both ML and pop-gen readers. All PNAS wording removed from `paper/pnas/` sources (SI Appendix → Supplementary Information; build/tex comments). Directory name `paper/pnas/` kept (Makefile/REPRODUCING paths); Significance statement kept pending GG decision.
+Literature audit (three WebSearch sweeps) found claims that need rewording/citations before submission:
+- [x] "Every merging study merges once" is false → narrow to "no study combines per-generation skill acquisition with repeated, optional merging across lineages". Cite iterated-merging work: model kinship 2410.12613 (stagnation by gen 2, inbreeding analogy), GENOME 2503.01155, M2N2, TIME 2412.06712, MagMax, ACMap 2412.18219 (early-stop precedent), K-Merge 2510.13537 (similarity-gated merge), SFA/"Soup to go" 2501.05559 + IMM 2503.02103 (ancestor-averaging precedent)
+- [x] Predictor section: "functional > weight geometry" is already shown by Cao 2603.09463 (must-cite), Zhu 2608.09490, Zhou 2601.22285 (gradient > cosine). Reframe novelty as held-out predictive design + the overlap control (cosine = shared-data artefact; not found anywhere)
+- [x] Speciation: credit permutation+rescaling decomposition to Git Re-Basin + REPAIR 2211.08403; cite ZipIt 2305.03053, Sharma non-local 2410.12766 for residual barriers; Git Re-Basin §5.4 already merges complementary-class parents. Keep as new: conflicting-label manipulation, three-arm contrast, emergent null (against Pari 2411.02207 / Horoi / Kozodoi)
+- [x] Grounding: must cite Alemohammad 2307.01850 (fresh-data loop fixed point), Bertrand 2310.00429 (stability theorem in real fraction), Dohmatob 2402.07043 + 2410.04840 (counter-claim: any synthetic fraction caps performance — reconcile with H_eq pred[2]                                  # decays with q and rho
+    # decays faster than either parent alone: product form plus the decorrelation term
+    assert pred[2] / pred[0] < min(q_m[2] / q_m[0], q_c[2] / q_c[0])
+
+
+def test_predicted_composition_handles_degenerate_start():
+    pred = predicted_composition(np.array([0.0, 0.0]), np.array([0.0, 0.0]),
+                                 np.array([0.0, 0.0]), observed0=0.0)
+    assert np.all(np.isfinite(pred))
diff --git a/tests/test_llm_curriculum.py b/tests/test_llm_curriculum.py
new file mode 100644
index 0000000..62b856a
--- /dev/null
+++ b/tests/test_llm_curriculum.py
@@ -0,0 +1,177 @@
+"""Pure-schedule tests for the curriculum society (prereg v4 §7): no GPU, no model."""
+
+import numpy as np
+import pytest
+
+from llm.curriculum import (complementarity, cumulative_accuracy, forgetting, latin_square,
+                            partner_for, replay_split, resolve_orders)
+
+FAMS = ["mnli", "arc", "hellaswag", "squad", "boolq", "winogrande"]
+DECOR = [["mnli", "arc", "hellaswag", "squad", "boolq", "winogrande"],
+         ["mnli", "squad", "boolq", "winogrande", "arc", "hellaswag"],
+         ["mnli", "winogrande", "arc", "hellaswag", "squad", "boolq"]]
+
+
+def test_latin_square_gives_disjoint_sets_early_and_identical_sets_at_the_end():
+    orders = latin_square(3, 9)
+    assert len(orders) == 3 and all(sorted(o) == list(range(9)) for o in orders)
+    # at generation 3 each lineage has seen 3 families and they are disjoint
+    seen3 = [set(o[:3]) for o in orders]
+    assert seen3 == [{0, 1, 2}, {3, 4, 5}, {6, 7, 8}]
+    assert set.intersection(*seen3) == set()
+    # by the last generation everyone has seen everything
+    assert all(set(o[:9]) == set(range(9)) for o in orders)
+
+
+def test_latin_square_requires_even_division():
+    with pytest.raises(ValueError):
+        latin_square(4, 9)
+
+
+def test_complementarity_is_one_when_disjoint_and_zero_when_identical():
+    orders = latin_square(3, 9)
+    assert complementarity(orders, 3) == pytest.approx(1.0)     # disjoint
+    assert complementarity(orders, 9) == pytest.approx(0.0)     # identical
+    mid = complementarity(orders, 6)
+    assert 0.0 < mid < 1.0                                       # decays in between
+    assert complementarity(orders, 0) == 0.0
+
+
+def test_complementarity_decays_monotonically_after_its_peak():
+    orders = latin_square(3, 9)
+    vals = [complementarity(orders, t) for t in range(3, 10)]
+    assert all(b <= a + 1e-9 for a, b in zip(vals, vals[1:]))
+
+
+def test_replay_split_is_a_fixed_total_spread_over_families_seen():
+    assert sum(replay_split([0, 1, 2], 150).values()) == 150
+    assert sum(replay_split(list(range(7)), 150).values()) == 150   # remainder distributed
+    # per-family protection thins as the curriculum grows — the point of a fixed total
+    assert max(replay_split([0, 1], 150).values()) > max(replay_split(list(range(8)), 150).values())
+    assert replay_split([], 150) == {} and replay_split([0], 0) == {}
+
+
+def test_partner_selection_per_arm():
+    assert partner_for("isolated", 0, 5, 3) is None
+    assert partner_for("society", 0, 5, 3) == ("contemporary", 1)
+    assert partner_for("society", 2, 5, 3) == ("contemporary", 0)      # wraps
+    assert partner_for("society_dry", 1, 5, 3) == ("contemporary", 2)
+    assert partner_for("seed_bank", 0, 5, 3) == ("ancestor", 2)        # t - depth
+    assert partner_for("seed_bank", 0, 2, 3) is None                   # no ancestor yet
+    assert partner_for("society", 0, 5, 1) is None                     # nobody to pair with
+
+
+def test_merge_until_is_a_forced_stop_for_every_recombining_arm():
+    # the fixed "merge early, then stop" schedule: partners exist only at t < merge_until
+    assert partner_for("society", 0, 2, 3, merge_until=3) == ("contemporary", 1)
+    assert partner_for("society", 0, 3, 3, merge_until=3) is None
+    assert partner_for("seed_bank", 0, 4, 3, ancestor_depth=3, merge_until=3) is None
+    assert partner_for("society", 0, 5, 3, merge_until=None) == ("contemporary", 1)  # default: unchanged
+    assert partner_for("isolated", 0, 1, 3, merge_until=3) is None
+
+
+def test_resolve_orders_defaults_to_the_latin_square_and_validates_custom_orders():
+    assert resolve_orders({}, FAMS, 3, 6) == latin_square(3, 6)
+    orders = resolve_orders({"orders": DECOR}, FAMS, 3, 6)
+    assert orders[0] == [0, 1, 2, 3, 4, 5] and orders[1][1] == FAMS.index("squad")
+    with pytest.raises(ValueError):
+        resolve_orders({"orders": DECOR[:2]}, FAMS, 3, 6)                     # wrong lineage count
+    with pytest.raises(ValueError):
+        resolve_orders({"orders": [["mnli", "nope"] + FAMS[2:]] + DECOR[1:]}, FAMS, 3, 6)  # bad name
+    with pytest.raises(ValueError):
+        resolve_orders({"orders": [o[:5] for o in DECOR]}, FAMS, 3, 6)        # too short
+
+
+def test_decorrelated_curriculum_has_non_monotone_complementarity():
+    # Latin square: complementarity falls with generation, so it is collinear with adapter age
+    ls = [complementarity(latin_square(3, 6), t) for t in range(1, 7)]
+    assert ls == pytest.approx([1.0, 1.0, 0.8, 2 / 3, 1 / 3, 0.0], abs=1e-9)
+    # shared-start curriculum: zero, rises to a peak at generation 3, then falls back to zero
+    orders = resolve_orders({"orders": DECOR}, FAMS, 3, 6)
+    dc = [complementarity(orders, t) for t in range(1, 7)]
+    assert dc[0] == 0.0 and dc[-1] == 0.0
+    assert max(dc) == pytest.approx(0.7, abs=1e-9) and dc.index(max(dc)) == 2
+    assert dc[2] > dc[0] and dc[2] > dc[5]            # non-monotone: breaks the collinearity
+
+
+def test_cumulative_accuracy_only_counts_families_the_model_should_know():
+    acc = {"a": 0.9, "b": 0.5, "c": 0.1}
+    assert cumulative_accuracy(acc, ["a", "b"]) == pytest.approx(0.7)
+    assert cumulative_accuracy(acc, ["a"]) == pytest.approx(0.9)
+    assert np.isnan(cumulative_accuracy(acc, []))
+    assert cumulative_accuracy({"a": float("nan"), "b": 0.4}, ["a", "b"]) == pytest.approx(0.4)
+
+
+def test_forgetting_is_positive_when_a_skill_decays():
+    hist = [{"a": 0.9}, {"a": 0.7}, {"a": 0.4}]
+    assert forgetting(hist, "a", 0, 2) == pytest.approx(0.5)
+    assert forgetting(hist, "a", 0, 0) == pytest.approx(0.0)
+    assert np.isnan(forgetting(hist, "b", 0, 2))
+
+
+# ------------------------------------------------------------ manuscript revision 2026-09-12
+
+import yaml
+from pathlib import Path
+
+from llm.curriculum import cull_step, inherit_slot
+from llm.speciation import adapter_root
+
+CONFIGS = Path(__file__).resolve().parents[1] / "configs" / "llm"
+CONFLICT = {"boolq", "winogrande"}          # the two families whose answer conventions clash
+
+
+def _orders(name):
+    cfg = yaml.safe_load(open(CONFIGS / f"{name}.yaml"))
+    return resolve_orders(cfg, FAMS, 3, 6), cfg
+
+
+def test_cull_step_replaces_the_worst_slot_with_the_best_and_leaves_ties_alone():
+    assert cull_step([0.5, 0.8, 0.3]) == (2, 1)           # (culled, source)
+    assert cull_step([0.6, 0.6, 0.6]) is None             # a population of equals is not reshuffled
+    assert cull_step([float("nan"), 0.4, 0.5]) == (0, 2)  # an unmeasured slot counts as the worst
+    assert cull_step([0.4]) is None                        # N = 1: nothing to select between
+
+
+def test_inherit_slot_aliases_the_genome_and_its_ancestry_but_not_the_slot():
+    adapters = ["a0", "a1", "a2"]
+    history = [["mnli"], ["arc", "squad"], ["boolq"]]
+    budget = [300, 750, 300]
+    archive = {(1, 0): "g0/lin1", (1, 1): "g1/lin1", (0, 0): "g0/lin0", (1, 5): "future"}
+    inherit_slot(0, 1, adapters, history, budget, archive, t=1)
+    assert adapters[0] == "a1" and budget[0] == 750
+    assert history[0] == ["arc", "squad"] and history[0] is not history[1]   # a copy, not a view
+    # the seed-bank ancestry follows the genome up to the current generation only
+    assert archive[(0, 0)] == "g0/lin1" and archive[(0, 1)] == "g1/lin1" and (0, 5) not in archive
+    assert adapters[1] == "a1" and budget[1] == 750                          # the source is untouched
+
+
+def test_conflict_early_and_late_curricula_move_only_the_arrival_of_the_conflicting_pair():
+    early, ecfg = _orders("curriculum_v5_early")
+    late, lcfg = _orders("curriculum_v5_late")
+    for orders in (early, late):
+        assert all(sorted(o) == list(range(6)) for o in orders)              # every lineage sees all six
+    names = lambda o: [FAMS[k] for k in o]
+    assert all(set(names(o)[:2]) == CONFLICT for o in early)                 # conflict in generations 1-2
+    assert all(set(names(o)[4:]) == CONFLICT for o in late)                  # conflict in generations 5-6
+    # skill count rises identically (one new family per generation) so only conflict arrival differs
+    assert all(len(set(o[:t])) == t for o in early + late for t in range(1, 7))
+    # a contemporary partner still brings something new mid-curriculum in both designs
+    assert complementarity(early, 3) > 0 and complementarity(late, 3) > 0
+    # the obligate variants share the orders and only drop the veto
+    for name, orders in (("early", early), ("late", late)):
+        obl, ocfg = _orders(f"curriculum_v5_{name}_obl")
+        assert obl == orders and ocfg["allow_veto"] is False and ocfg["arms"] == ["society"]
+    assert ecfg["allow_veto"] is True and set(ecfg["arms"]) == {"isolated", "society"}
+
+
+def test_cull_config_turns_selection_on_for_both_arms_of_the_latin_square():
+    cfg = yaml.safe_load(open(CONFIGS / "curriculum_v5_cull.yaml"))
+    assert cfg["cull"] is True and cfg["allow_veto"] is True and "orders" not in cfg
+    assert set(cfg["arms"]) == {"isolated", "society"}
+
+
+def test_speciation_adapter_root_is_seed_specific_so_array_elements_do_not_collide():
+    a = adapter_root({"seed": 2})
+    b = adapter_root({"seed": 3, "adapters_dir": "models/elsewhere"})
+    assert a.name == "speciation_s2" and b == Path("models/elsewhere/speciation_s3")
diff --git a/tests/test_llm_curriculum_data.py b/tests/test_llm_curriculum_data.py
new file mode 100644
index 0000000..dcb7a05
--- /dev/null
+++ b/tests/test_llm_curriculum_data.py
@@ -0,0 +1,51 @@
+"""Verifier tests for the real-dataset curriculum (no network: constructs Tasks by hand)."""
+
+import json
+
+from llm.curriculum_data import FORMATS, REAL_FAMILIES, _squad_norm, verify_real
+from llm.tasks import Task
+
+
+def test_every_registered_family_has_a_format():
+    assert set(REAL_FAMILIES) == set(FORMATS)
+    assert set(FORMATS.values()) <= {"number", "code", "label", "span", "text"}
+
+
+def test_number_verifier_reads_after_hash_or_last_number():
+    t = Task("gsm8k", "p", "blah blah\n#### 18")
+    assert verify_real("so the total is 18", t)
+    assert verify_real("reasoning... #### 18.0", t)
+    assert not verify_real("the answer is 17", t)
+
+
+def test_label_verifier_takes_first_line_and_strips_answer_prefix():
+    t = Task("mnli", "p", "entailment")
+    assert verify_real("Answer: entailment\nbecause...", t)
+    assert verify_real("entailment", t)
+    assert not verify_real("neutral", t)
+    b = Task("boolq", "p", "yes")
+    assert verify_real("Yes.", b) and not verify_real("no", b)
+    w = Task("winogrande", "p", "2")
+    assert verify_real("2", w) and not verify_real("1", w)
+
+
+def test_span_verifier_normalises_and_accepts_any_alias():
+    t = Task("squad", "p", "the Eiffel Tower",
+             json.dumps({"aliases": ["the Eiffel Tower", "Eiffel Tower"]}))
+    assert verify_real("Eiffel tower", t)            # article + case
+    assert verify_real("Answer: The Eiffel Tower.", t)
+    assert not verify_real("Louvre", t)
+    assert _squad_norm("The  Eiffel-Tower!") == "eiffeltower" or _squad_norm("The Eiffel Tower") == "eiffel tower"
+
+
+def test_text_verifier_uses_aliases():
+    t = Task("nq_open", "p", "1969", json.dumps({"aliases": ["1969", "July 1969"]}))
+    assert verify_real("July 1969", t) and verify_real("1969", t) and not verify_real("1970", t)
+
+
+def test_code_verifier_executes_reference_tests():
+    t = Task("mbpp", "p", "```python\ndef add(a, b):\n    return a + b\n```",
+             json.dumps({"tests": ["assert add(1, 2) == 3", "assert add(-1, 1) == 0"], "setup": ""}))
+    assert verify_real(t.answer, t)                                   # the reference passes
+    assert not verify_real("```python\ndef add(a, b):\n    return a - b\n```", t)
+    assert not verify_real("I don't know", t)
diff --git a/tests/test_llm_society_v2.py b/tests/test_llm_society_v2.py
new file mode 100644
index 0000000..8bf5f4d
--- /dev/null
+++ b/tests/test_llm_society_v2.py
@@ -0,0 +1,86 @@
+"""Pure-operator tests for the v2 society (prereg §10): no GPU, no model."""
+
+import numpy as np
+import pytest
+
+from llm.families import ALL_CANDIDATES, EXTRA_FAMILIES
+from llm.society_ops import (arm_settings, choose_single_parent, families_alive, mating_plan,
+                             novelty, pooled_survival, route_union)
+from llm.tasks import make_tasks, verify
+
+
+def test_extra_families_are_verifier_safe_and_deterministic():
+    for fam in ALL_CANDIDATES:
+        ts = make_tasks(fam, 200, seed=3)
+        assert all(verify(t.answer, t) for t in ts), fam          # canonical answer verifies
+        assert [t.prompt for t in make_tasks(fam, 200, seed=3)] == [t.prompt for t in ts]
+        assert all(t.family == fam for t in ts)
+    assert len(set(EXTRA_FAMILIES)) == 17 and len(set(ALL_CANDIDATES)) == 20
+
+
+def test_pseudo_word_families_have_a_large_prompt_space():
+    # The 20-word vocabulary gave sortletters 40 unique prompts; training would cover the test set.
+    for fam in ("sortletters", "caesar", "charfreq"):
+        assert len({t.prompt for t in make_tasks(fam, 600, seed=1)}) > 500, fam
+
+
+def test_pooled_survival_is_e11_rule_and_greedy_at_lambda_zero():
+    scores = np.array([0.9, 0.5, 0.5, 0.1])
+    # agent 2 is behaviourally distant from everyone; agent 1 is a clone of agent 0
+    dist = np.array([[0, 0.0, 0.9, 0.9],
+                     [0.0, 0, 0.9, 0.9],
+                     [0.9, 0.9, 0, 0.9],
+                     [0.9, 0.9, 0.9, 0]], dtype=float)
+    assert pooled_survival(scores, dist, 2, lam=0.0) == [0, 1]       # greedy: top-2 by score
+    keep = pooled_survival(scores, dist, 2, lam=0.5)                  # QD: novelty lifts agent 2
+    assert keep[0] == 0 and 2 in keep and 1 not in keep
+    assert novelty(dist).argmax() == 2
+
+
+def test_mating_plan_caps_use_and_prefers_distant_pairs():
+    dist = np.array([[0, 0.9, 0.1, 0.2],
+                     [0.9, 0, 0.3, 0.8],
+                     [0.1, 0.3, 0, 0.7],
+                     [0.2, 0.8, 0.7, 0]], dtype=float)
+    plan = mating_plan(dist, 4, max_use=2)
+    assert plan[0] == (0, 1)                                          # most distant pair first
+    use = np.bincount(np.array(plan).ravel(), minlength=4)
+    assert use.max() <= 2 and len(plan) == 4
+    # every agent breeds at least once with N pairs and cap 2 — no allele is truncated at gen 1
+    assert use.min() >= 1
+
+
+def test_mating_plan_never_empty_when_cap_exhausts():
+    dist = np.array([[0, 0.5], [0.5, 0]], dtype=float)
+    plan = mating_plan(dist, 5, max_use=1)
+    assert len(plan) == 5 and all(p == (0, 1) for p in plan)
+
+
+def test_route_union_takes_the_more_confident_parent_and_is_deterministic_on_ties():
+    a, ca = ["1", "2", "3"], np.array([0.9, 0.2, 0.5])
+    b, cb = ["x", "y", "z"], np.array([0.1, 0.8, 0.5])
+    out, src = route_union(a, ca, b, cb)
+    assert out == ["1", "y", "3"] and src.tolist() == [0, 1, 0]
+
+
+def test_choose_single_parent_is_score_proportional():
+    rng = np.random.default_rng(0)
+    picks = [choose_single_parent(np.array([0.0, 0.0, 1.0]), rng) for _ in range(300)]
+    assert picks.count(2) > 250                                       # the fit parent dominates
+    assert set(picks) <= {0, 1, 2}
+
+
+def test_arm_settings_v2_table():
+    assert arm_settings("full", 0.85) == {"g": 0.85, "sex": "union", "diversity": True}
+    assert arm_settings("no_grounding", 0.85)["g"] == 0.0
+    assert arm_settings("no_sex", 0.85)["sex"] is None
+    assert arm_settings("no_diversity", 0.85)["diversity"] is False
+    assert arm_settings("sex_linear", 0.85)["sex"] == "linear"
+    with pytest.raises(ValueError):
+        arm_settings("elitism", 0.85)
+
+
+def test_families_alive_counts_competent_families_once():
+    accs = [{"a": 0.9, "b": 0.1}, {"a": 0.7, "b": 0.2}, {"a": 0.0, "b": 0.61}]
+    assert families_alive(accs, ["a", "b"]) == 2
+    assert families_alive(accs, ["a", "b"], threshold=0.8) == 1