Based on an article by Apple ML at the original source

What's happening:
The core tension:
Bigger Model → Better Accuracy → Slower & More Expensive
Smaller Model → Faster & Cheaper → Worse Accuracy
Why this matters: You can't just always use the big model — it's too costly at scale.
The key insight: What if a small, fast model does most of the work, and a large, accurate model just verifies it?
How it works (Token Level):
Step 1: Draft Model generates tokens quickly
[The] [answer] [is] [42] [because]...
Step 2: Target Model verifies ALL tokens IN PARALLEL
✓ ✓ ✓ ✓ ✗ ← reject here
Step 3: Accept valid tokens, regenerate from rejection point
Why parallel verification is faster:
The guarantee: The output distribution is identical to what the target model would have produced alone — no quality loss.
The problem — Semantic Equivalence vs. Token Matching:
Consider two ways to write the same reasoning step:
Draft: "Therefore, x equals 5"
Target: "Thus, x = 5"
These mean the same thing, but token-level verification rejects the draft because the tokens don't match exactly.
The consequence:
Unnecessary Rejection → Target model regenerates the step
→ Wasted computation
→ No speed benefit
In reasoning tasks, there are many valid ways to express the same logical step, making token-level mismatches very frequent.
The shift: Instead of verifying token-by-token, verify entire reasoning steps semantically.
Draft generates a full reasoning step:
"Since 2x + 3 = 11, we subtract 3 from both sides to get 2x = 8"
Target asks: "Is this step semantically correct and useful?"
→ YES → Accept the whole step (even if worded differently)
→ NO → Reject and regenerate
Why this is better:
But here's the remaining problem:
Rejected Step → Target Model Regenerates It
→ Often produces something only MARGINALLY better
→ Wasted target compute!
The existing step-level methods don't ask: "Is it actually worth regenerating this?"
The conceptual ideal: Imagine a perfect oracle that, at every reasoning step, knows:
Quality(Target Model's Step) vs. Quality(Draft Model's Step)
If Target >> Draft → Use Target (worth the cost)
If Target ≈ Draft → Use Draft (save the compute)
This is called the Arbitrage Oracle — it always picks the higher-quality step.
Why "Arbitrage"?
The oracle achieves near-optimal efficiency-accuracy trade-off, but it's theoretical — you'd need to run both models to know which is better, defeating the purpose.
The solution: Train a lightweight router that predicts when the target model will produce a meaningfully better step — without actually running the target model first.
The full pipeline:
┌─────────────────────────────────────────────────────┐
│ ARBITRAGE Framework │
│ │
│ Draft Model generates Step S_draft │
│ ↓ │
│ Router evaluates S_draft │
│ "Will target model do meaningfully better here?" │
│ ↓ ↓ │
│ YES (high advantage) NO (low advantage) │
│ ↓ ↓ │
│ Target regenerates step Accept S_draft │
│ (worth the compute) (save the compute) │
└─────────────────────────────────────────────────────┘
Key components:
| Component | Role |
|---|---|
| Draft Model | Fast, cheap — generates candidate reasoning steps |
| Target Model | Slow, accurate — regenerates only when worthwhile |
| Router | Lightweight — predicts relative advantage of target over draft |
What makes ARBITRAGE different from prior step-level methods:
Prior methods used a fixed threshold:
If quality(draft_step) < threshold → always regenerate
This wastes compute when regeneration barely improves quality.
ARBITRAGE uses relative advantage:
If quality(target_step) - quality(draft_step) > threshold → regenerate
This only regenerates when there's a meaningful gain to be had.
Training the router:
The result:
High-advantage situations → Route to Target Model
Low-advantage situations → Keep Draft Model's output
Net effect: ~2× faster inference at matched accuracy
Problem: LLM reasoning is expensive
↓
Solution 1 (Token-level SD): Draft + parallel verify
↓ Fails because: Semantic equivalence causes unnecessary rejections
↓
Solution 2 (Step-level SD): Verify whole steps semantically
↓ Fails because: Regenerates steps with little improvement
↓
Ideal Solution (Oracle): Always pick higher-quality step
↓ Not practical: Requires running both models
↓
ARBITRAGE: Lightweight router approximates the oracle
Routes to target only when advantage is meaningful
Result: ~2× speedup at matched accuracy ✓
ARBITRAGE reframes the question from:
"Is the draft step good enough?" (fixed threshold)
To:
"Is the target model's step meaningfully better?" (relative advantage)
This subtle but powerful shift — advantage-aware routing — is what allows ARBITRAGE to approach the theoretical optimum of the oracle, spending expensive compute only where it genuinely matters.