This page explains how Pipette runs and scores quality evaluations. Each evaluation uses a versioned dataset, a declared generation policy, and a deterministic task-specific scorer. The individual evaluation pages document their dataset versions and scoring rules.
The suite covers instruction following, science reasoning, and competition mathematics.
Evaluation pipeline
The scoring service never learns which model, runtime, or device produced a completion. Scoring depends only on the fixed dataset version and submitted text.
- Select the dataset. Each evaluation uses a fixed dataset with hidden ground truth.
- Serve prompts. The scoring service sends sample IDs and prompts to the client without exposing answers.
- Generate completions. A runner generates answers with the evaluation's fixed sampling settings. The raw submission records the model, quantization, runner, runtime, device, and other generation details.
- Submit completions. The client sends the generated text and its generation details to the collector.
- Score without generation details. The collector forwards only the evaluation ID, dataset version, sample IDs, and generated text to the scorer.
- Store results. The collector reattaches the generation details and stores the per-sample verdicts and aggregate score.
For the same evaluation, dataset version, sample ID, and scorer version, the same completion receives the same verdict regardless of where it was generated.
The client generation behavior is implemented in
pipette-clients. The fixed
temperature setting is defined in
eval_id.rs,
and the llama.cpp request path is implemented in
execute/eval.rs.
Sampling policy
The current evaluations use temperature 0.6. They do not use a fixed seed, so
each attempt is a separate sample rather than a repeat of the same deterministic
output.
| Evaluation | Dataset scope | Attempts | Published metric |
|---|---|---|---|
| IFBench | Full 300-prompt release set | 5 per prompt; 1,500 completions | pass@1 mean across 1,500 attempts |
| GPQA Diamond | Full 198-question Diamond subset | 5 per question; 990 completions | pass@1 across 990 attempts |
| MATH-500 | Full named 500-problem subset | 5 per problem; 2,500 completions | pass@1 across 2,500 attempts |
IFBench
GPQA Diamond
MATH-500
Device readiness
Evaluations do not use the device readiness check. They measure output quality rather than timing, so thermal throttling does not directly change the score. The runtime, device, and generation settings are still recorded because they can affect the answer that is scored.
Comparability
- Compare scores only within the same evaluation and dataset version.
- Do not compare numeric scores across evaluations with different tasks or scoring rules.
- When comparing raw generation rows, match model, quantization, runtime, flags, and generation settings.
- Public charts publish the latest approved result rather than every raw evaluation row. See Result Publication Methodology.