Four Questions Behind One Score
Two models tie on the eval your VP pasted into chat. One answers your support feature in 900 ms; the other takes four seconds and bills six times as much per conversation. The benchmark did not lie — it scored a question your product never asked.
Four axes, one score
A model card compresses to four axes, and they fail independently:
| Axis | What it measures | What breaks when you ignore it |
|---|---|---|
| Reasoning depth | Multi-step logic, instruction following, tool-call accuracy | Extraction that reads perfectly with two wrong fields |
| Context length | How much text fits in one request | Documents cut off silently, or the same corpus resent every turn |
| Latency | Time to first token, then tokens per second | A streaming UI that feels frozen; agent loops that hit timeouts |
| Price | Dollars per million prompt tokens, billed separately from completion tokens | A demo at two cents and a launch at five figures a month |
Price hides a second variable. Providers bill the two streams separately, and completion rates run higher, so a model that writes a 600-token preamble to answer a yes/no question costs several times a terse one at the same list price. Estimating Token Costs works the arithmetic on a real feature; Context Window Budgeting covers what can be trimmed before it is billed again.
Families, not single models
Frontier providers — OpenAI, Anthropic, Google, and their peers — ship tiers behind one chat API: a flagship for hard reasoning, a small fast model for routine work, and usually a mid tier between them. The request shape survives swapping the model field, so moving traffic between tiers is a routing decision in your code, not a migration:
+--> small tier routine, high volume
request --> router ----|
+--> flagship tier ambiguous, multi-step, high stakes
Providers rename and retire models on their own schedule, so treat the model string as configuration: pin the exact version in one place. When a model you depend on is deprecated, that should be a config change plus a rerun of your eval set, not a rewrite. Which tier dominates also depends on the shape of your feature — Common LLM Application Archetypes maps those shapes, and an extraction pipeline cares about a different axis than a chat assistant does.
What Open Weights Buy and What They Cost
Models in the Llama, Mistral, Qwen, and DeepSeek families ship as downloadable weights. Running them on infrastructure you control changes the contract in three ways.
Data path. Requests never leave your network. For medical, legal, or financial text — or a customer contract that forbids third-party processing — that decides the architecture before model quality is even discussed.
Bill. There is no per-token price. Cost becomes GPU hours: roughly fixed whether traffic spikes at noon or sits idle at 3 a.m. That inverts the API economics once volume is steady rather than spiky.
Lifecycle. Nobody retires your model name. You choose when to move to a new checkpoint, and fine-tuning on private data means uploading nothing to anyone.
What you take on
API path: your code --------------------------------> provider
serving, GPUs, updates, filters
Hosted path: your code --> queue --> GPU serving --> your weights
| |
retry policy batch size + quantization
rate limits capacity sized for peak
health checks checkpoint upgrades
- Capacity sized for peak and paid for around the clock, whether or not the feature uses it.
- Serving choices with quality consequences: continuous batching for throughput, quantization to fit more weights in memory (cheaper, sometimes measurably worse at structured output), prefix caching for long stable prompts.
- Safety filters and refusal behavior you configure rather than inherit.
- Feature parity lag: a hosted family may deliver tool calling or structured outputs a release behind the API frontier.
The rule of thumb. Host when data control is non-negotiable or daily volume is high and steady enough to keep GPUs busy. Call APIs when traffic is spiky or nobody on the team wants to own inference operations — buying capacity for a feature that might be cut next quarter is an expensive hedge. Retention terms, training-on-your-data defaults, and subprocessor lists on the API path are diligence you finish before the first prototype, which is where Responsible AI Foundations picks up.
A Worked Choice: 40,000 Questions a Day
The setup
A support assistant answers 40,000 questions a day. Every request carries 1,200 prompt tokens (policy excerpts plus the question) and reads back 250 completion tokens. Three plans at round illustrative rates shaped like a real price list:
| Plan | Prompt $/M | Completion $/M | Daily math | Monthly |
|---|---|---|---|---|
| Small tier for all traffic | 0.15 | 0.60 | 48M × 0.15 + 10M × 0.60 = $13.20 | ≈ $400 |
| Flagship for all traffic | 3.00 | 15.00 | 48M × 3.00 + 10M × 15.00 = $294.00 | ≈ $8,800 |
| 85% small, 15% escalated | — | — | 0.85 × 13.20 + 0.15 × 294 = $55.30 | ≈ $1,660 |
Volume first: 40,000 × 1,200 = 48M prompt tokens a day, and 40,000 × 250 = 10M completion tokens. Substitute your provider's current prices; the shape of the answer rarely changes.
The mixed plan cuts spend roughly 80% against the flagship. It is also wrong if the small tier mangles the 15% it keeps, so it ships with evidence attached:
- Label 200 real questions with the correct, policy-grounded answer.
- Run both tiers over the set and record pass rate per tier.
- Escalate when the policy text is ambiguous, a tool call is required, or the small tier's answer fails a groundedness check.
- Fall back to the flagship on a small-tier 5xx, and to a stored refusal when both fail (Model Fallback and Degradation).
As months of traffic accumulate, questions the small tier has answered correctly stop being escalated. The boundary is data, and it moves.
Nothing here required picking a winner on a leaderboard. Quality evidence, a latency budget, a monthly ceiling, and whatever compliance constraints apply decided it — that comparison is the selection rule, and it sits next to the scoring you did in Identifying Valuable AI Use Cases.
Quiz
1. A teammate argues the flagship and small tiers cost the same because both look cheap per token. Which correction is right?
2. Which situation most strongly justifies self-hosting an open-weight model instead of calling a provider API?
3. What must exist before you can send only hard requests to the flagship tier?
4. Your 30k-token policy corpus fits in the context window and is resent unchanged on every request. What is the recurring consequence?
Flashcards
Question
What four axes decide whether a model fits a feature?
Click to reveal answer
Answer
Reasoning depth, context length, latency (time to first token plus tokens per second), and price — with prompt and completion tokens billed as separate streams.
Question
Why can a verbose model cost more than a terse one at the same list price?
Click to reveal answer
Answer
Completion tokens are billed at a higher rate than prompt tokens, so extra output tokens — preamble, restated question, closing pleasantries — multiply the cost per request.
Question
What does self-hosting open weights buy, and what does it add?
Click to reveal answer
Answer
Buys: data stays inside your network, no per-token bill, control over model lifecycle and fine-tuning. Adds: GPU capacity planning, batching and quantization choices, safety configuration, and upgrades on your own schedule.
Question
What sets the boundary between the small tier and the flagship tier?
Click to reveal answer
Answer
An eval set of labeled real requests showing where the small tier holds up, combined with a latency budget and a monthly cost ceiling. The boundary moves as traffic evidence accumulates.
Question
Why pin the model name in configuration instead of in code?
Click to reveal answer
Answer
Providers rename and retire models on their own schedule. A pinned version makes deprecation a config change plus an eval rerun rather than a code rewrite.
Revision Notes
Key Takeaways
- 1. A benchmark score collapses reasoning, context, latency, and price into one number; your feature pays for all four separately
- 2. Prompt and completion tokens bill at different rates, so verbosity changes cost beyond the list price
- 3. Open weights trade provider operations for your own operations — data control is the reason to take that trade
- 4. Tiering is a routing decision backed by an eval set, and it is usually the cheapest large cost cut in an LLM product
Interview Tips
- • Asked how you choose a model, answer with axes and constraints — eval evidence, latency budget, monthly ceiling, compliance — not brand loyalty
- • Be ready to do the cost arithmetic out loud: daily volume, prompt/completion split, then routing routine traffic to a cheaper tier
- • For self-hosting questions, name the deciding constraint (data residency) and the costs you would own (capacity, quantization, upgrades, parity lag)
- • Explain what happens when a provider deprecates a model you depend on: pinned version in config, tested fallback tier, eval rerun before switching
Cheat Sheet
Foundation Model Landscape — Cheat Sheet
Four axes: reasoning depth · context length · latency (TTFT + tok/s) · price (prompt vs completion per million tokens)
Cost math
daily spend = volume × (prompt_tok × prompt_rate + completion_tok × completion_rate)
40k reqs × 1,200 prompt + 250 completion = 48M + 10M tokens/day
Completion rate > prompt rate → verbosity is a cost bug.
Tiering pattern
request --> router --> small tier (routine, high volume)
\-> flagship tier (ambiguous, multi-step, high stakes)
Boundary from an eval set, not a hunch. Pin model versions in config.
Open weights vs provider API
| Provider API | Self-hosted weights | |
|---|---|---|
| Data | leaves your network | stays inside |
| Bill | $/M tokens, scales with usage | GPU hours, mostly flat |
| Ops | none | batching, quantization, capacity, upgrades |
| Updates | provider schedule, model may vanish | your schedule |
| Fine-tune on private data | no | yes |
Rule: data control non-negotiable or steady high volume → host. Spiky traffic or no inference ops → API.
Selection memo: eval evidence (not leaderboards) + latency budget + monthly ceiling + compliance constraints.
Continue Learning
Before You Start
- No prerequisites listed.