Imagine hiring an Olympic-class speed-reader who can process 1,000 pages every second. You sit down in front of them, hand over a single index card with one sentence, wait for them to read it, and then hand over another card five seconds later.
Your reader is capable of staggering throughput, but they spend 99% of their day twiddling their thumbs waiting for you to pass the next sheet.
That is the exact tension behind serving modern Large Language Models (LLMs). We build monstrous, multi-thousand-dollar GPUs designed to churn through quadrillions of mathematical operations every second, and then deliberately run them at a tiny fraction of their peak capability just so human beings don’t get bored waiting for the next word to pop up on their screens.
Let’s dismantle this machinery from first principles: starting with a single arithmetic flick of silicon, moving to how words turn into math, examining MFU benchmarks from GPT-2 to Claude 3.5 Sonnet, and seeing why long-horizon autonomous agents will fundamentally transform AI computing economics.
Before we talk about intelligence, we have to talk about addition and multiplication.
Computers don’t think in poetry; they crunch decimal numbers (floating-point numbers). A FLOP stands for FLoating-point OPeration.
When you see FLOPS with a capital S, it means FLOPs per Second—the speed limit of your hardware.
• 1 GFLOPS = 10⁹ FLOPs/sec (Giga — A decent CPU in the 2000s)
• 1 TFLOPS = 10¹² FLOPs/sec (Tera — Modern laptop / desktop GPU)
• 1 PFLOPS = 10¹⁵ FLOPs/sec (Peta — An enterprise AI accelerator like the NVIDIA H100)
If a GPU has a flop rate of 1 PFLOPS (FP16/BF16), it can perform one quadrillion ($1,000,000,000,000,000$) multiplications and additions in the time it takes your heart to beat once.
How do raw calculations turn into text?
When an LLM generates a response, it outputs tokens—chunks of characters or words ("banana" is one token, " un" + "believable" is two).
A token is the material; FLOPs are the energy required to shape it.
┌──────────────┐ Transforms via ┌─────────────┐
│ Input Token │ ──────────────────────────────> │ Next Token │
└──────────────┘ Billions of FLOPs └─────────────┘
(Matrix Multiplications)
The fundamental rule of thumb for standard Transformer models relates parameters ($N$) to FLOPs:
Why? Each parameter in the network participates in one multiply-accumulate operation ($a \times b + c = 2\text{ FLOPs}$) during the forward pass.
Let’s plug in real-world models to see what this scale actually looks like:
| Model Size ($N$) | Inference (FLOPs / Token) | Training (FLOPs / Token) | Training on 2 Trillion Tokens (Total FLOPs) |
|---|---|---|---|
| 7 Billion (7B) | 2 × 7B = 14 Billion | 6 × 7B = 42 Billion | 42 × 10⁹ × 2 × 10¹² = 8.4 × 10²² FLOPs |
| 70 Billion (70B) | 2 × 70B = 140 Billion | 6 × 70B = 420 Billion | 420 × 10⁹ × 2 × 10¹² = 8.4 × 10²³ FLOPs |
If you have a 1-TFLOPS GPU ($10^{12} \text{ FLOP/s}$) and run a 7B model:
\[\text{Theoretical Token Rate} = \frac{10^{12} \text{ FLOPs/sec}}{14 \times 10^9 \text{ FLOPs/token}} \approx 71.4 \text{ tokens/sec}\]On paper, producing 71 tokens per second sounds effortless. But in reality, your GPU rarely hits that number for a single user. Why?
To understand why GPUs fall short of theoretical peak speeds, we track MFU (Model FLOPs Utilization):
\[\text{MFU} = \frac{\text{Actual Useful FLOPs Computed / Second}}{\text{Theoretical Peak FLOPs Capacity of Hardware}}\]If an H100 GPU can theoretically output ~1,000 TFLOPS, but your workload only extracts 300 TFLOPS worth of useful token generation, your MFU is 30%.
To get an intuitive mental model for MFU without getting bogged down in hardware jargon, imagine hiring a world-class master chef:
If you ask the chef to make one single tiny dumpling (generating 1 token for a single chat user):
The chef is capable of cutting continuously for hours, but spends 95% of their shift pushing a heavy cart back and forth between VRAM and SRAM.
MFU is simply the percentage of time the chef’s knife is actually cutting food versus pushing the cart. In single-user chat, MFU is a tiny 3% – 5%—meaning 95%+ of your multi-thousand-dollar GPU’s processing power is wasted doing nothing while waiting for data to travel from main VRAM to on-chip SRAM.
Now imagine 128 guests walk into the restaurant at once and order 128 dumplings (Batch Size = 128):
The chef wheels the 140 recipe volumes from VRAM to the small SRAM counter once, but now with 128 dumplings lined up, the chef uses that single loaded recipe page to make 128 rapid knife cuts in sequence before needing to touch the cart again. The kitchen comes alive, the knife never stops moving, and MFU surges to 50% – 60%.
Figure 1: The Roofline Model depicting Arithmetic Intensity vs Realized Performance (FLOPs/s), highlighting Memory-Bandwidth-Bound vs Compute-Bound operational regimes.
In hardware terms, this dynamic is formalized by the Roofline Model, which maps the performance relationship between ultra-fast on-chip SRAM (where active matrix calculations occur) and larger off-chip VRAM / HBM (where the 140 GB model parameters reside).
A GPU consists of two primary operational domains:
When generating tokens for a 70B parameter model:
To see how severe this bottleneck has been across AI history, consider the real-world MFU numbers for landmark frontier models during single-user interactive streaming versus high-concurrency batch execution:
| Frontier Model | Active Parameters / Architecture | Single-User Streaming MFU (Batch=1) | Asynchronous / High-Batch MFU (Batch=128+) | Throughput Gain (Batch vs Stream) |
|---|---|---|---|---|
| GPT-2 (1.5B) | 1.5B Dense | ~1% – 3% | ~25% – 35% | 10x – 12x |
| GPT-3 (175B) | 175B Dense | ~2% – 5% | ~40% – 50% | 10x – 15x |
| GPT-4 (MoE) | ~220B Active / Token | ~4% – 8% | ~45% – 55% | 6x – 10x |
| Claude 3.5 Sonnet | GQA MoE / Dense | ~8% – 12% | ~55% – 65% | 5x – 8x |
This brings us to the central fork in the road:
THE SERVING SPECTRUM
LOW LATENCY HIGH THROUGHPUT
(Human-Centric) (Machine-Centric)
◄─────────────────────────────────────────────────────────────►
• Batch Size: 1 to 4 • Batch Size: 64 to 256+
• Focus: User Experience (Chat, IDE) • Focus: Cost & Efficiency (Eval, Batch)
• Compute Utilization (MFU): ~2-8% • Compute Utilization (MFU): ~45-60%
• Cost per Token: High • Cost per Token: Low
If batching hundreds of requests together produces the cheapest, most efficient tokens, why isn’t every AI deployment doing it?
Because humans are in the loop.
When you chat with an AI assistant or use an autocomplete extension in your code editor:
Nobody wants a conversational chatbot that pauses for five seconds between thoughts, even if that pause cuts the provider’s cloud computing bill in half.
To bridge this gap without bankrupting data centers, the infrastructure ecosystem builds clever hybrid techniques:
While today’s AI economy is dominated by human-facing chat interfaces, we are on the precipice of a fundamental paradigm shift: Long-Horizon Autonomous Agents.
Imagine an agent tasked with refactoring a massive legacy codebase, executing formal mathematical proofs, simulating drug discovery pipelines, or running complex multi-step research iterations.
HUMAN VS AGENT SERVING DEMAND
HUMAN INTERACTIVE CHAT LONG-HORIZON AUTONOMOUS AGENTS
(Synchronous / Latency-Bound) (Asynchronous / Throughput-Bound)
┌───────────────────────────┐ ┌───────────────────────────┐
│ • Real-time user waiting │ │ • User asleep / away │
│ • Single-user stream │ │ • Deep multi-step reasoning│
│ • Low Batch (MFU: ~5-10%) │ │ • High Batch (MFU: 60%+) │
│ • Cost: $$$ / million tok │ │ • Cost: $ / million tok │
└───────────────────────────┘ └───────────────────────────┘
When autonomous agents work on complex tasks, real-time streaming latency becomes irrelevant:
When we remove the human from the real-time interaction loop, we eliminate the low-MFU memory bottleneck. Compute hardware finally runs at its theoretical limits, transforming AI reasoning from an expensive luxury into an abundant, non-stop utility.
When you prompt an LLM today and watch words stream across your screen, you are witnessing an intentional economic trade-off: data centers sacrifice raw hardware efficiency—letting 90% of GPU compute capacity sit idle—just to satisfy human real-time perception.
But as AI shifts from interactive chatbots to autonomous long-horizon agents working non-stop in the background, latency constraints fall away. In an agent-driven world, GPUs will no longer sit idle waiting for index cards—they will run at full saturation, day and night.