Per-comparison randomization of which side each response appears on converts position bias from a systematic distortion into noise that averages out across the dataset.
Imagine two pies in a contest and the judges stand on one side of the room. If pie A is always on the left, the left-side judges naturally lean toward it. The contest is biased in pie A's favor before anyone tastes anything. The fix is to randomly swap which pie sits on which table for every judge. The favored side still gets picked too often. But now half the time it is pie A and half the time it is pie B, so the bias becomes noise that cancels out. Showing the judges the scores from a previous contest would defeat the purpose. Fixing the pie locations is exactly the bug. Skipping the hard comparisons just throws out the most useful data.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Concept explanation~2 min read
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Position bias is one of the most studied and most underestimated sources of contamination in preference-data collection. It is small per comparison. But it accumulates systematically over thousands of labels and propagates from labelers to the reward model to the policy. The correct option is A: randomize which side each response appears on for every comparison. That breaks the systematic part of the bias.
A common UI design mistake is fixing the candidate model to a consistent slot for rater convenience. That convenience costs you a contaminated reward model, which is exactly the artifact downstream RL will exploit.
Why position bias is structural
Position bias has multiple sources that all push in the same direction. Cognitive anchoring causes humans to weight the first option encountered more heavily. Left to right reading cultures process the left-side response first by default. Layout habits can add to the effect.
The net effect is that, when quality is equal, raters often pick the left or first response more than half the time. The size of the effect varies by task and rater.
LLM judges show the same bias. Even when explicitly told to avoid position bias in the prompt, judges measurably favor one position in side by side comparisons. In the MT-Bench study (Zheng et al. 2023), GPT-4 gave the same verdict after the two responses were swapped in only 65 percent of pairs. Claude-v1 favored the first position in 75 percent. MT-Bench therefore judges each pair in both orders, and AlpacaEval randomizes which output appears first.
The per-comparison bias is small, but it compounds. Suppose a reward model is trained on 100,000 labels with a 10 percent systematic position bias on the candidate model side. It learns to favor the candidate by an amount roughly proportional to that bias. The policy trained against that RM then exploits the bias, producing responses that are not actually better, just structured in ways the biased RM prefers.
Situations where this technique stops working.
2–4 min · Everything important, quickly.
Real products, models, and research that use this idea.
- AlpacaEval randomizes which output its LLM judge sees first, so position bias becomes noise instead of a push toward one model
- Arena-Hard judges each pair twice with the positions swapped, to cancel the judge's position bias
What an interviewer would ask next. Try answering before peeking at the approach.
QHow would you audit residual position bias after randomization is in place?
From the position log, check that each model appears on each side about half the time. A skew means randomization is broken. Then track the win rate by displayed position: it measures the raters' bias, and drift can point to a secondary bias (length, formatting) acting through position.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Red flags & common mistakes
The phrases that signal junior thinking. Click to expand.
Fixing the candidate model to a consistent slot for rater convenience. That is exactly what creates systematic position-bias contamination of every label.
60 second bullets to scan on the way to the call.
Why position bias is structural in both human and LLM judging
How per-comparison randomization converts systematic bias into noise
Primary sources. Browse if you want the original framing.
Same topic, related formats. Practice these next.