Direct answer
Evolutionary merge search treats merge recipes as candidates. A candidate may specify parent weights, adapter weights, layer selection, sparsification, sign-consensus rules, distillation steps, or router policies. The search optimizes a multi-objective viability score rather than a single benchmark.
Search space
| Candidate gene | Example values |
|---|---|
| parent set | champion, domain specialist, fast local adapter |
| compatibility class | same base, same tokenizer, same tensor layout, distillation required |
| merge operator | linear, SLERP, task vector, TIES, DARE, low-rank projection |
| layer policy | all layers, decoder-only, attention-only, selected depth-first path |
| post-merge repair | no repair, small fine-tune, distill from ensemble, calibration pass |
| release target | archive only, shadow, canary candidate, retire parent |
Algorithm
PROCEDURE evolutionary_merge_search(parent_pool, eval_suites, budget)
population <- INITIALIZE_MERGE_RECIPES(parent_pool)
archive <- EMPTY_QUALITY_DIVERSITY_ARCHIVE()
WHILE budget.remaining_evaluations > 0
candidates <- MUTATE_AND_RECOMBINE_RECIPES(population)
FOR candidate IN candidates
IF NOT COMPATIBLE(candidate.parents) THEN
candidate <- CONVERT_TO_DISTILLATION_RECIPE(candidate)
END IF
quick_score <- SURROGATE_SCORE(candidate)
IF quick_score.below_screening_threshold THEN
archive.RECORD_REJECT(candidate, quick_score)
CONTINUE
END IF
artifact <- BUILD_CANDIDATE_ARTIFACT(candidate)
evidence <- RUN_FROZEN_EVAL_SUITES(artifact, eval_suites)
profile <- PROFILE_RESOURCES(artifact)
viability <- MULTI_OBJECTIVE_SCORE(evidence, profile)
archive.UPDATE_NICHE(candidate.behavior_descriptor, artifact, viability)
END FOR
population <- SELECT_PARETO_SET_AND_DIVERSE_CHALLENGERS(archive)
END WHILE
RETURN archive
END PROCEDUREWhy multi-objective search matters
A merge that wins one benchmark but loses calibration, latency, interpretability, or rollback clarity is not a better system. Use a Pareto set when several candidates are useful in different niches. Do not collapse diversity unless consolidation is the explicit objective.
Practical first version
Use adapter recipes before full weight merges. They are smaller, easier to hash, faster to build, easier to reverse, and compatible with the TinyRustLM-style adapter ABI.
Source reports used for this guide
These reports are preserved verbatim in the site archive. The guide above is an editorial synthesis and may narrow, qualify, or reorganize claims from the source material.