Act 04 · The physical machine 3:00 Cards, ops, and the building

Running models in production: the ops nobody sees.

Production model-ops is its own discipline: engines, pinned driver stacks, canary rollouts sized to slow model loads, queue-aware autoscaling, LLM golden signals, redundancy, and quality canaries.

Video rendering soonThe cinematic render for this supplement is being generated. The article, transcript and key ideas are all here now.

Key ideas

  • The one idea — Production model-ops is its own discipline: engines, pinned driver stacks, canary rollouts sized to slow model loads, queue-aware autoscaling, LLM golden signals, redundancy, and quality canaries.
  • How it is shown — A serving fleet's day: a canary rollout gating on evals, a traffic spike absorbed by queue-depth scaling, a quality-drift alarm caught by scheduled canary prompts, a graceful drain.
  • The trap to avoid — Treating LLM serving like stateless web serving — KV state, minutes-long cold starts, and GPU scarcity break the standard playbook.

Episode one-eighteen put "ops people" on the ownership bill as one line. Tonight, the line unfolds — because between a downloaded model and a dependable product sits an entire discipline: engines, rollouts, scaling, monitoring, and the pager.

The one idea

Production model-ops is its own discipline: engines, pinned driver stacks, canary rollouts sized to slow model loads, queue-aware autoscaling, LLM golden signals, redundancy, and quality canaries.

This is what running models in production means. Walk the apparatus with me. Layer one: the engine — vLLM, TensorRT-LLM, llama-dot-cpp-class machinery that packages this act's serving tricks into one appliance. Choose per hardware and workload. Beneath it, the stack nobody romanticizes: driver, CUDA, engine, and model versions that must align exactly. Production fleets pin every version in containers, because "latest" is how Tuesday's driver update becomes Wednesday's outage. Layer two: rollouts. Models are multi-gigabyte cargo — loading one takes minutes, not milliseconds — so updates move with ceremony: a canary slice serves the new version first; shadow traffic compares its answers against the incumbent; an eval gate — your own evals, a later episode insists — decides promotion; traffic shifts gradually, rollback one lever away. The reckless alternative is a bad model everywhere at once, discovered by customers. Layer three: scaling, where web instincts break hardest.

How it works — the demo

A serving fleet's day: a canary rollout gating on evals, a traffic spike absorbed by queue-depth scaling, a quality-drift alarm caught by scheduled canary prompts, a graceful drain.

Web servers cold-start in seconds; a model server needs minutes to load weights — so you scale before you're desperate, triggered by queue depth, holding warm headroom you'll resent until the day it saves you. And the deeper truth: GPUs aren't always summonable at any price. Capacity is a market. Plan it like one. Layer four: the gauges. LLM serving has its own golden signals — time-to-first-token and tokens-per-second, the user's clocks from episode one-fourteen; queue depth; GPU utilization and memory; KV-cache occupancy; error rates; cost per million tokens. And one gauge infrastructure can't provide: quality. Scheduled canary prompts, scored over time, catch the rot — a bad quant, a broken template, a drifted dependency — that every other dial misses. Layer five: staying up. Redundancy with headroom, health checks, and the LLM-specific courtesy of graceful drain — finishing in-flight generations before a machine bows out, because killing someone's half-written answer is a broken promise.

The trap to avoid

Treating LLM serving like stateless web serving — KV state, minutes-long cold starts, and GPU scarcity break the standard playbook.

Why it matters — and what’s next

Rolling patches, since drivers carry CVEs like any software. Provenance checks on every model load — episode one-oh-one's lesson, institutionalized. All of it boring, rehearsed, and the entire difference between a demo and a service. The trap crowning it all: running model fleets on the web-serving playbook. Web serving assumes statelessness, instant starts, and infinite capacity on demand — and language models violate all three: conversations carry state, starts take minutes, and the hardware is a scarce market. Different physics, different playbook. One layer remains — the building itself. Next: follow a watt from the substation to the chip.

This is a supplement in AI: Zero → Frontier — a side-trip that deepens the act it sits beside, one file and one loop at a time.

Full transcript 3:00 of narration

Episode one-eighteen put "ops people" on the ownership bill as one line. Tonight, the line unfolds — because between a downloaded model and a dependable product sits an entire discipline: engines, rollouts, scaling, monitoring, and the pager. This is what running models in production means.

Walk the apparatus with me. Layer one: the engine — vLLM, TensorRT-LLM, llama-dot-cpp-class machinery that packages this act's serving tricks into one appliance. Choose per hardware and workload.

Beneath it, the stack nobody romanticizes: driver, CUDA, engine, and model versions that must align exactly. Production fleets pin every version in containers, because "latest" is how Tuesday's driver update becomes Wednesday's outage. Layer two: rollouts.

Models are multi-gigabyte cargo — loading one takes minutes, not milliseconds — so updates move with ceremony: a canary slice serves the new version first; shadow traffic compares its answers against the incumbent; an eval gate — your own evals, a later episode insists — decides promotion; traffic shifts gradually, rollback one lever away. The reckless alternative is a bad model everywhere at once, discovered by customers. Layer three: scaling, where web instincts break hardest.

Web servers cold-start in seconds; a model server needs minutes to load weights — so you scale before you're desperate, triggered by queue depth, holding warm headroom you'll resent until the day it saves you. And the deeper truth: GPUs aren't always summonable at any price. Capacity is a market.

Plan it like one. Layer four: the gauges. LLM serving has its own golden signals — time-to-first-token and tokens-per-second, the user's clocks from episode one-fourteen; queue depth; GPU utilization and memory; KV-cache occupancy; error rates; cost per million tokens.

And one gauge infrastructure can't provide: quality. Scheduled canary prompts, scored over time, catch the rot — a bad quant, a broken template, a drifted dependency — that every other dial misses. Layer five: staying up.

Redundancy with headroom, health checks, and the LLM-specific courtesy of graceful drain — finishing in-flight generations before a machine bows out, because killing someone's half-written answer is a broken promise. Rolling patches, since drivers carry CVEs like any software. Provenance checks on every model load — episode one-oh-one's lesson, institutionalized.

All of it boring, rehearsed, and the entire difference between a demo and a service. The trap crowning it all: running model fleets on the web-serving playbook. Web serving assumes statelessness, instant starts, and infinite capacity on demand — and language models violate all three: conversations carry state, starts take minutes, and the hardware is a scarce market.

Different physics, different playbook. One layer remains — the building itself. Next: follow a watt from the substation to the chip.

Hardware & InferenceMLOpsInference & Serving