Problems / LLM serving, medium

Draft model can’t keep up

Speculative decoding speeds up answers, but the single draft-model GPU is now the bottleneck at 150 requests a second.

Free to open. Runs in your browser, no sign-up.

Your goals

Success ≥ 99%, p99 ≤ 5 s.

The traffic

150 requests a second for 30 seconds: 100% request (reads).

The system

What each component does in this design, and what calls it. The simulator mimics each one from these settings.

ComponentIts job hereSettings
Load balancerLoad balancerTraffic enters here.Calls AI app.Layer 4 balancers route by IP and port; layer 7 balancers read HTTP and can route by path or header.–
AI appApp serviceLoad balancer forwards to it.Calls Draft model (speculative).Little's law: throughput ≈ concurrency ÷ latency. 200 slots at 50 ms serve about 4,000 req/s.3 replicas × 500 slots · timeout 30 s
Draft model (speculative)Speculative decodingAI app calls it.A small draft model guesses several tokens; the large model checks them in one pass and keeps the ones it agrees with.32 slots

Hints

Try it first. Open one hint at a time if you get stuck.

Hint 1

The draft model runs on every request.

Hint 2

It has far fewer slots than the main pool.

One way to solve it

Give the draft model more capacity.

More llm serving problems