Skip to main content
The EvaluationEngine executes the benchmark suite against candidate merged models and produces the structured metrics that feed into fitness calculation and candidate lifecycle progression. It is the gate between candidate generation and evolutionary selection: a candidate that fails evaluation or exhibits regression is rejected before it can influence the next generation. This page specifies the complete algorithm, data structures, decision points, and status assignments.
This specification is for a system that has not yet been implemented. All algorithmic details, parameters, and performance characteristics are engineering assumptions unless otherwise tagged.

Master Evaluation Flowchart

Candidate Status States

The EvaluationEngine assigns exactly one of the following statuses to every candidate:
A candidate with status REGRESSION is never promoted to PROMOTED or RELEASED. It may be retained in the population for diversity only if the allow_regressive_diversity flag is set in the evolution configuration.

Purpose

The EvaluationEngine provides standardized, reproducible measurement of candidate model quality across a configured benchmark suite. It ensures that only validated, non-regressive candidates contribute to the evolutionary search and that all metrics are collected with consistent methodology.

Problem Definition

Given a candidate merged model mcm_c, a benchmark suite B={b1,b2,...,bn}B = \{b_1, b_2, ..., b_n\}, and a baseline model mbm_b, determine whether mcm_c is fit for promotion by computing per-benchmark scores si(mc)s_i(m_c), comparing against si(mb)s_i(m_b), and assigning a candidate status.

Inputs

Preconditions

  • The candidate genome has passed ModelCompatibilityAnalyzer validation.
  • The merged model checkpoint exists in the ArtifactStore.
  • The baseline model is in EVALUATED or RELEASED state.
  • The evaluation profile contains at least one benchmark split.

Parameters

Step-by-Step Processing

1

Integrity Check

Verify that the candidate genome is structurally valid: all parent model IDs resolve, the merge strategy is supported, required fields are present, and the model checkpoint file exists and is non-empty. If any check fails, assign status INVALID and terminate.
2

Load Model

Invoke ModelLoader to load the merged model checkpoint into memory. Verify that the loaded model has the expected architecture, parameter count, and dtype. If loading fails, assign status FAIL and terminate.
3

Select Benchmark Profile

Load the evaluation profile associated with the experiment. The profile specifies which benchmarks to run, which metrics to collect, and which dataset splits to use. See Benchmark Specification for profile schema details.
4

Run Benchmark Suite

Execute each benchmark in the suite against the loaded model. Benchmarks run on the Optimization Set or Validation Set only. The Hidden Test Set is never used during evolution. See Benchmark Specification for the split architecture and enforcement rules.
5

Collect Metrics

Gather raw outputs from each benchmark: accuracy scores, perplexity, latency measurements, token counts, and any benchmark-specific metrics. Store raw outputs in the ArtifactStore for reproducibility.
6

Calculate Scores

Compute per-benchmark scores from raw outputs. Each benchmark defines its own scoring function (e.g., exact match, F1, BLEU, pass@k). Scores are normalized to [0,1][0, 1] where applicable.
7

Aggregate Scores

Combine per-benchmark scores into category-level and overall scores using the aggregation weights defined in the evaluation profile.
8

Compare Baseline

Compare candidate scores against the baseline model on each metric. Use bootstrap confidence intervals to determine statistical significance. See Regression Evaluation for the full regression detection algorithm.
9

Regression Check

If any critical metric shows a statistically significant drop below the baseline by more than regression_threshold, assign status REGRESSION.
10

Calculate Fitness

Pass aggregated metrics to the FitnessEngine to compute the fitness scalar or vector. This step is skipped for candidates with status FAIL, INVALID, or INCOMPLETE.
11

Persist Results

Write all scores, status, and metadata to the ExperimentTracker. Update the candidate lifecycle state to EVALUATED.

Decision Points

Outputs

Failure Conditions

  • Integrity failure: Genome validation fails. Status: INVALID.
  • Load failure: Model checkpoint corrupted or incompatible. Status: FAIL.
  • Benchmark timeout: Single benchmark exceeds timeout_per_benchmark. Status: INCOMPLETE.
  • Out of memory: GPU memory exhausted during inference. Status: FAIL.
  • Compute budget exhausted: compute_budget_per_candidate exceeded. Status: INCOMPLETE.

Validation

  • Genome schema validated against Genome JSON Schema.
  • Benchmark profile validated against Benchmark Specification schema.
  • All baseline model IDs verified against ModelRegistry.
  • Score values bounded to prevent NaN/Inf.

Complexity

Memory Requirements

  • Model checkpoint: O(S)O(S) where SS = model parameter count.
  • Benchmark datasets: O(D)O(D) loaded on-demand or streamed.
  • Raw outputs: O(BN)O(B \cdot N) where NN = number of examples per benchmark.

Reproducibility

  • Random seeds fixed for benchmark data shuffling and model inference sampling.
  • All evaluation hyperparameters logged to ExperimentTracker.
  • Raw outputs persisted to ArtifactStore with content-addressable hashes.

Unit Tests

Integration Tests

Acceptance Criteria

  • Evaluation pipeline completes for a valid candidate in under the configured compute budget.
  • PASS candidates have fitness values strictly greater than or equal to baseline on all critical metrics.
  • REGRESSION candidates are never promoted to PROMOTED or RELEASED.
  • All candidate statuses are persisted and queryable via ExperimentTracker.
  • Raw benchmark outputs are reproducible from persisted seeds and configuration.

Known Limitations

  • Benchmark execution is synchronous per candidate; no batching across candidates is specified yet (Future goal).
  • GPU memory limits may prevent evaluation of very large merged models; no automatic model partitioning is defined (Engineering assumption).
  • Benchmark suite selection is static per experiment; dynamic adaptation based on candidate properties is not supported (Research hypothesis).

Research References

  • Evaluation practices for LLMs: Open LLM Leaderboard methodology (Engineering assumption)
  • Bootstrap confidence intervals: Efron and Tibshirani 1993 (Engineering assumption)