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: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 , a benchmark suite , and a baseline model , determine whether is fit for promotion by computing per-benchmark scores , comparing against , 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
EVALUATEDorRELEASEDstate. - 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 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_candidateexceeded. 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: where = model parameter count.
- Benchmark datasets: loaded on-demand or streamed.
- Raw outputs: where = 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.
-
PASScandidates have fitness values strictly greater than or equal to baseline on all critical metrics. -
REGRESSIONcandidates are never promoted toPROMOTEDorRELEASED. - 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)