Unit 4.3 · about 3 h
313 / 324Model judges and human review
Open-ended quality has no ground truth, so a judge is a measuring instrument with its own errors. Without bias controls and a human spot check, win rates measure style more than correctness.
- explain
- measure
You can now
- Explain position, length, style, identity and verbosity biases in model judges and the fix for each.
- Explain when human review and adjudication subsets are needed instead of another automatic metric.
- Measure judge disagreement with a position-swap study and report residual uncertainty against a human or deterministic subset.
Covers
- Human review and adjudication subsets
- Model-based judge position, length, style and identity bias
- Small evaluator-disagreement study
Study, in this order
3 steps
- Modern LLM Notebook 25-evaluation: LLM-as-Judge and AlpacaEvalModern LLM Notebook - evaluation and FLOP accounting
Section 4.1 to 4.3 (judge idea, WR, LC win rate and MT-Bench scores,
JUDGE_PROMPTwith[[rating]]format and the two-sample scoring loop) and Section 6.1 to 6.5 (AlpacaEval 805-prompt workflow, CLI and Python API, LC versus raw win rate with average length) - Modern LLM Notebook 25-evaluation: judge bias and consistencyModern LLM Notebook - evaluation and FLOP accounting
Section 8.1 (position, length, egocentric and verbosity biases with randomize, LC win rate and cross-judge mitigations) and Section 8.2 (
CR@K, prompt, order and sampling robustness, plus manual review proportion by risk) - CS336 Lecture 12: chat benchmarksStanford CS336 - resource accounting, inference and evaluation
Function
chat_benchmarks()with Chatbot Arena pairwise ELO, live prompts, style versus correctness and sycophancy risks; AlpacaEval 805 win rate versus GPT-4 preview with length gaming and 2.0 regression debias plus Arena correlation; WildBench 1024 examples with checklist judging
Focus on
- Randomize order and average both directions. A judge that flips with position is reporting position, not quality.
- Report LC win rate with raw win rate and average length. Longer answers win raw comparisons even when they are worse.
- Checklists and rubrics beat single scores for both human and model judges. WildBench uses them for that reason.
- One judge model is one instrument. Cross-check with a second judge plus a human or deterministic subset before claiming a win.
Reproduce closed-book
Traps
- Treating a single GPT-4 score as ground truth. Agreement with humans depends on task, prompt, version and format.
- Assuming length control fixes everything. It corrects length, not position, style, identity or verbosity effects.
- Skipping human review because the judge correlates with Arena. Correlation on past prompts does not certify your task.
Practice
Modern LLM Notebook 25-evaluation Exercise 2: LLM-as-Judge Bias Detection
Exercises: Exercise 2 with the same answer pair swapped across 3 repeats; the position bias rate is inconsistent scores over total
Self-test
-
The judge picks answer A when it is first, then answer B after a swap. What is that, and what fixes it?
Position bias. Randomize the order, average both directions, and report the inconsistency rate before trusting the verdict. -
Model X has higher raw win rate but lower LC win rate than baseline, with much longer outputs. Which rate should you trust?
The LC rate. Raw win rate is inflated by length, so check average length and inspect a subset by hand. -
How does Chatbot Arena turn pairwise votes into ELO scores?
\(p(A \text{ beats } B) = 1/(1 + 10^{(\mathrm{ELO}_B - \mathrm{ELO}_A)/400})\). Fit ELO scores to maximize the likelihood of the observed pairwise wins. -
When is human adjudication required?
When correctness matters rather than style, when judge disagreement is high, or when the risk is high. Size the subset by risk and budget, judge with a checklist, and keep every raw judgment.
Completion criterion
Stop when
Your swap study reports an inconsistency rate, and every win rate you quote comes with LC, lengths and a human-checked subset.
Mark passed, then open 4.4 Only mark this when you can do it without notes.Leads to
- 4.4 Uncertainty, robustness and honest claims Carry judge error into slices and intervals instead of quoting a bare win rate.
Comes after
- 4.2 Task contracts and automatic metricsRoute open-ended outputs from this harness into judged evaluation with bias controls.
Resources for this unit
- Stanford CS336 - resource accounting, inference and evaluation Use Spring 2026 Lectures 2, 10 and 12 for FLOPs, memory, arithmetic intensity, inference and evaluation. Reproduce the small calculations locally. Assignment 3 IsoFLOPs analysis is optional; do not require its hosted training API or costly experiments.
- Modern LLM Notebook - evaluation and FLOP accounting Use English notebook 25-evaluation and Appendix B FLOP and memory accounting. Build a 20-example evaluator with two slices, raw outputs and bootstrap intervals, and deliberately create one parser, prompt or judge failure.
Also in this section
- LLMs from Scratch companion - GPT FLOP analysis Use ch04/02_performance-analysis/flops-analysis.ipynb as a concrete calculator, then rebuild the formulas from the model configuration and reconcile parameters and at least one memory or operation estimate with runtime state.
- LLM Foundations Checkpoint - evaluation and arithmetic slice Use the contamination, evaluator-bias, parameter, FLOP, activation, state and KV requirements as the assessment contract. Keep raw outputs and distinguish a verified task result from a broad model capability claim.
- Language Model Evaluation Harness After the small evaluator passes, inspect task versioning, request construction and result schemas to understand production evaluation plumbing. Do not use the harness as a substitute for owning the task and metric contract.
- Stanford CS336 Assignment 3 - IsoFLOPs scaling Use Section 2.1 and Problem
chinchilla_isoflopswithdata/isoflops_curves.jsonfor the bounded curve-fitting exercise only. Do not use the hosted training API or costly experiments.