Replicator-Mutation LoRA Search
Implementation & benchmark of arXiv:2607.02171 — Theory of collective learning in populations of adaptive agents
Source paper: Theory of collective learning in populations of adaptive agents arXiv:2607.02171 ⓘ · analyzed Aug 30, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Replace a single LoRA parameter vector with a weighted population of candidate vectors. Candidates receive an exponentially filtered reward from minibatch validation loss; above-average candidates replicate while Gaussian mutation preserves exploration. The normalized selection rule conserves total population mass and avoids relying on noisy single-step gradients.
Formulas
Mathematical statement
The paper's policy-density equation is a replicator equation with diffusion: \(\partial_t\phi(P)=\tilde\lambda_T\rho\,\phi(P)[\overline{\mathcal R}(P)-\langle\overline{\mathcal R}\rangle]+\mathcal D_P\partial_P^2\phi(P)\), where \(P\) is a scalar policy, \(\phi(P)\) is its normalized density, \(\tilde\lambda_T\rho\) is the effective teaching or selection rate, \(\overline{\mathcal R}(P)\) is reward averaged over memory states, and \(\mathcal D_P\geq0\) is the mutation diffusion coefficient. The subtraction of \(\langle\overline{\mathcal R}\rangle=\int\phi(P)\overline{\mathcal R}(P)dP\) conserves total population mass. The memory equation is \(d\mathcal M/dt=\lambda_{\mathcal M}(G(\mathcal S)-\mathcal M)+\sqrt{2D_{\mathcal M}(P)}\eta(t)\), where \(G(\mathcal S)\) is the observed task score, \(\lambda_{\mathcal M}\) is the memory decay rate, \(D_{\mathcal M}(P)\) is memory-noise strength, and \(\eta\) is unit Gaussian white noise. We use LoRA coordinates \(z\in\mathbb R^d\) as \(P\), an exponential moving average reward as \(\mathcal M\), and isotropic Gaussian mutation as diffusion.
Implementation notes
1. Integration point: apply this optimizer to a small trainable parameter subspace, initially rank-4 LoRA matrices in every attention projection of a frozen Transformer, rather than to all model weights. Maintain N candidate LoRA vectors z_i and normalized nonnegative weights w_i; evaluate the shared frozen backbone separately for each candidate on a reward minibatch. 2. Pseudocode: initialize z_i from one LoRA initialization plus small Gaussian perturbations and set w_i=1/N. At each outer step, sample a training batch, evaluate each candidate, set instantaneous score G_i=-loss_i, and update memory with m_i <- (1-alpha)m_i+alpha G_i, where alpha=1-exp(-lambda_M Delta_t). Set r_i=m_i, compute bar_r=sum_i w_i r_i, update log weights by log w_i <- log w_i+kappa Delta_t(r_i-bar_r), and normalize with softmax. Mutate z_i <- z_i+sqrt(2D Delta_t)xi_i. To prevent numerical degeneracy, resample candidates when effective sample size 1/sum_i w_i^2 falls below N/3, copying according to w_i and adding mutation noise. 3. The paper supplies the mass-conserving selection structure, EMA-memory interpretation, and diffusion scaling. Reward values are estimated empirically from minibatch loss; kappa, lambda_M, and D are tuned on a small grid. 4. First experiment: use a frozen 125M-parameter Transformer on SST-2 or a 10,000-example language-modeling subset, comparing N=8 or 16 population LoRA search against AdamW LoRA at equal total forward FLOPs. Measure best validation loss, mean validation loss, effective population size, and seed variance. Success means better best-of-population validation accuracy or lower loss at equal compute, with fewer catastrophic runs and controlled nonzero diversity.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: Significantly worse ✗
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 9/10
Built a readable NumPy Replicator-Mutation LoRA-search MVP with EMA rewards, normalized replicator selection, Gaussian mutation, ESS resampling, and an AdamW-style baseline on an 8D LoRA proxy. The mechanism manifested: mass error was 4.4e-16, selection log-odds slopes matched theory across kappa values, and mutation variance scaled linearly with D within 0.5%. The optimizer comparison did not show a win: at 400 function evaluations, population best validation loss was 0.4475±0.0788 versus Adam’s 0.000150±0.000040.
- Agent confidence
- 9/10
- Baseline
- Adam-style noisy-gradient search: best validation loss 0.000150±0.000040 over 12 seeds at 400 evaluations
- Idea
- N=16 replicator-mutation search: best validation loss 0.447451±0.078801 over 12 seeds at 400 evaluations; mass error 4.4e-16; diffusion variance relative errors 0.23–0.48%
Limitations: This is a synthetic 8D convex LoRA-coordinate proxy, not a real frozen Transformer or SST-2 experiment. No GPU implementation, FLOP-normalized Transformer comparison, hyperparameter grid, ESS/diversity trajectory report, or multi-task generalization study was performed; the baseline uses an analytic proxy gradient and is advantaged on this smooth objective.
How to run: python3 replicator_lora_search.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2607.02171)
Significantly WORSE than the tuned baseline (+655.4%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Tabular regression (Friedman)
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 26.3876
- Idea mean
- 199.3361
- Effect (Δ)
- 172.9485 (+655.4%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Hurts
- Baseline tuning
- swept over 6 configs
Only the structurally appropriate built-in tabular optimizer track was tested; no CIFAR, sequence, dynamics, frozen Transformer, or actual LoRA parameterization was tested. The population used N=4 full-model parameter vectors rather than attention-specific rank-4 LoRA matrices, and the candidate evaluation was a small equal-epoch benchmark rather than FLOP-normalized Transformer fine-tuning.
How to run: python3 bench_replicator.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 10/10
Built Replicator-Mutation population training for the matched tabular mlp_tiny system, including EMA rewards, normalized replicator selection, Gaussian mutation, ESS resampling, and a baseline Adam sweep. The trained-model signature confirmed mass conservation and nonzero diversity, but the idea lost significantly: test MSE 199.3361 versus Adam 26.3876, paired delta +172.9485, permutation p=0.0081. Therefore the mechanism transferred algebraically but did not produce the promised benchmark win.
- Baseline
- Adam mlp_tiny, best sweep lr=0.01 and weight_decay=0.0001: test MSE 26.387588±2.908862 over 8 seeds
- Idea
- N=4 replicator-mutation mlp_tiny, best tested diffusion=1e-05 at lr=0.01: test MSE 199.336132±23.357073 over 8 seeds
- Mechanism signature
- mass error 3.33e-16; trained-candidate final diversity positive for all 8 seeds; confirmed=true
- Paired delta
- idea - baseline = +172.948544 MSE; 0/8 idea wins; permutation p=0.0081
Benchmark result
Significantly WORSE than the tuned baseline (+655.4%, p=0.0081, wins 0 / 8 paired seeds).
- Benchmark
- Tabular regression (Friedman)
- Model
- mlp_tiny
- Paired seeds
- 8
- Baseline mean
- 26.3876
- Idea mean
- 199.3361
- Effect (Δ)
- 172.9485 (+655.4%; negative = idea better)
- Wins
- 0 / 8 paired seeds
- p-value
- 0.0081 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- n/a
- Mechanism
- Confirmed ✓
- Practical effect
- Hurts
- Baseline tuning
- swept over 6 configs
Only the structurally appropriate built-in tabular optimizer track was tested; no CIFAR, sequence, dynamics, frozen Transformer, or actual LoRA parameterization was tested. The population used N=4 full-model parameter vectors rather than attention-specific rank-4 LoRA matrices, and the candidate evaluation was a small equal-epoch benchmark rather than FLOP-normalized Transformer fine-tuning.
How to run: python3 bench_replicator.py
Artifacts
- bench_replicator.py 5.8 KB View Raw
- bench_report.json 4.8 KB View Raw
- replicator_lora_search.py 5.4 KB View Raw
- report.md 1.5 KB View
- report_bench_2026-08-30T213717.md 4.0 KB View
- results.json 1.2 KB View Raw