Manuscript revision and pending experiment work, snapshot before restructuring
Clarity pass over the main text (36-item audit), Discussion rewrite and cut, acknowledgements, Souly et al. as ref 62, lettered SI panels, model section moved under Results; plus the untracked curriculum/society/compose/smol configs, runners, figures, stats and tests that the SI already cites. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y64o8FKP7rCuXzC48pxpMm
This commit is contained in:
parent
e4804adabc
commit
84124de143
450 changed files with 52813 additions and 1202 deletions
|
|
@ -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).
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
61
paper/pnas/build_lay_legends.py
Normal file
61
paper/pnas/build_lay_legends.py
Normal file
|
|
@ -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 ```` 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}")
|
||||
291
paper/pnas/build_zotero_library.py
Normal file
291
paper/pnas/build_zotero_library.py
Normal file
|
|
@ -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())
|
||||
39
paper/pnas/cover_letter_nmi.md
Normal file
39
paper/pnas/cover_letter_nmi.md
Normal file
|
|
@ -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
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
paper/pnas/figs/si/s10_E9.pdf
Normal file
BIN
paper/pnas/figs/si/s10_E9.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s11_E10.pdf
Normal file
BIN
paper/pnas/figs/si/s11_E10.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s12_E5.pdf
Normal file
BIN
paper/pnas/figs/si/s12_E5.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s13_E14.pdf
Normal file
BIN
paper/pnas/figs/si/s13_E14.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s14_curriculum_timing.pdf
Normal file
BIN
paper/pnas/figs/si/s14_curriculum_timing.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s15_curriculum_cull.pdf
Normal file
BIN
paper/pnas/figs/si/s15_curriculum_cull.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s16_llm_smol.pdf
Normal file
BIN
paper/pnas/figs/si/s16_llm_smol.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s1_architectures.pdf
Normal file
BIN
paper/pnas/figs/si/s1_architectures.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s2_kernel.pdf
Normal file
BIN
paper/pnas/figs/si/s2_kernel.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s3_E6.pdf
Normal file
BIN
paper/pnas/figs/si/s3_E6.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s4_E2.pdf
Normal file
BIN
paper/pnas/figs/si/s4_E2.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s5_E3.pdf
Normal file
BIN
paper/pnas/figs/si/s5_E3.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s6_grounding.pdf
Normal file
BIN
paper/pnas/figs/si/s6_grounding.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s7_mnist_collapse.pdf
Normal file
BIN
paper/pnas/figs/si/s7_mnist_collapse.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s8_E4.pdf
Normal file
BIN
paper/pnas/figs/si/s8_E4.pdf
Normal file
Binary file not shown.
BIN
paper/pnas/figs/si/s9_E8.pdf
Normal file
BIN
paper/pnas/figs/si/s9_E8.pdf
Normal file
Binary file not shown.
271
paper/pnas/figure_legends_for_students.md
Normal file
271
paper/pnas/figure_legends_for_students.md
Normal file
|
|
@ -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
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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?
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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
|
||||
|
||||

|
||||
|
||||
**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.
|
||||
BIN
paper/pnas/figure_legends_for_students.pdf
Normal file
BIN
paper/pnas/figure_legends_for_students.pdf
Normal file
Binary file not shown.
286
paper/pnas/figure_legends_for_students.tex
Normal file
286
paper/pnas/figure_legends_for_students.tex
Normal file
|
|
@ -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}
|
||||
1270
paper/pnas/main.md
1270
paper/pnas/main.md
File diff suppressed because it is too large
Load diff
Binary file not shown.
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
|
|
|||
1393
paper/pnas/refs/Evolution of sex for AI.ris
Normal file
1393
paper/pnas/refs/Evolution of sex for AI.ris
Normal file
File diff suppressed because it is too large
Load diff
37
paper/pnas/refs/README.md
Normal file
37
paper/pnas/refs/README.md
Normal file
|
|
@ -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`.
|
||||
15308
paper/pnas/refs/references.csl.json
Normal file
15308
paper/pnas/refs/references.csl.json
Normal file
File diff suppressed because it is too large
Load diff
15308
paper/pnas/refs/references.json
Normal file
15308
paper/pnas/refs/references.json
Normal file
File diff suppressed because it is too large
Load diff
1393
paper/pnas/refs/references.ris
Normal file
1393
paper/pnas/refs/references.ris
Normal file
File diff suppressed because it is too large
Load diff
80
paper/pnas/refs/report.txt
Normal file
80
paper/pnas/refs/report.txt
Normal file
|
|
@ -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)
|
||||
80
paper/pnas/refs/resolution-report.tsv
Normal file
80
paper/pnas/refs/resolution-report.tsv
Normal file
|
|
@ -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)
|
||||
|
131
paper/pnas/renumber_refs.py
Normal file
131
paper/pnas/renumber_refs.py
Normal file
|
|
@ -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<pre>[^()]*?;\s*)?(?P<cf>cf\.\s*)?"
|
||||
r"(?P<nums>\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))
|
||||
264
paper/pnas/si.md
264
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)*
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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/<name>/}: 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}
|
||||
|
||||
|
|
|
|||
238
paper/pnas/si_figures.py
Normal file
238
paper/pnas/si_figures.py
Normal file
|
|
@ -0,0 +1,238 @@
|
|||
"""Supplementary-figure inventory: key -> (source PDF under results/, caption).
|
||||
|
||||
Keys are cited in si.md as `*(FIG:s<n>)*` 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."),
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue