learn-model-evaluation-with-phoebe / Leader session 4 of 6
Learn Model Evaluation with Phoebe · Leader track · Session 4 of 6

Speed and cost

Quality metrics get all the meetings, but users leave over the metrics nobody presents: how long the assistant sits silent before the first word, how smoothly the words arrive, and what each answer costs at real volume. Tonight you learn the three latency numbers that describe what a user actually feels, a one-line identity that sanity-checks any vendor's latency claims, and the architecture that puts speed and cost where they belong - as first-class success criteria on the eval sheet, not footnotes in an infrastructure ticket.

🟡 Leader track Executives · PMs · report readers No code, decisions only 45 min
0-3 · Welcome 3-18 · The metrics users feel 18-42 · The satisficing architecture 42-45 · Q&A
Part 0

Where you are in the leader track

Session a3 decoded the quality rows of an LLM report and taught you to distrust unmeasured judges. Tonight covers the rows that usually are not on the report at all: latency and cost. These are not infrastructure trivia - they are the metrics users vote on with their feet, and the ones that quietly decide whether an AI initiative's economics work. The session ends with the move that ties the whole leader track together: every metric on one sheet, one number being optimized, and everything else - including speed and price - holding a declared floor or ceiling.

Live - presented in session Self-study - read after class Official sources covered
★ What you walk out with today The three latency metrics translated into what a user feels (TTFT, streaming smoothness, total time), the one-line identity that catches inconsistent vendor numbers, the batching tradeoff stated as a business choice, and the satisficing architecture: one optimizing metric, declared floors and ceilings for everything else - latency and cost included, on the eval sheet.
Part 1 · covers NVIDIA NIM LLM benchmarking metrics

Latency, decoded for decision-makers 15 min live

An LLM answer is not one wait - it is two experiences in sequence. First the silence: from the moment the user submits to the moment the first token appears. That is TTFT, time to first token - the "is it thinking?" moment, and the number users judge hardest. Then the stream: tokens arriving one by one, whose smoothness is set by inter-token latency (ITL) - the average gap between tokens. Add them up and you get total time. Three numbers, three different experiences, three different engineering levers.

MetricPlain-English questionWhat the user feelsThe trap
TTFT (time to first token) "How long is the silence between submit and the first word?" The "is it thinking?" moment - the wait users judge hardest and abandon over. Averages hide the tail. Always ask at p95 - one user in twenty lives in the tail.
ITL (inter-token latency) "Once it starts, how smoothly do the words arrive?" The stream's rhythm - choppy streaming reads as a struggling product even when total time is fine. System-wide tokens per second is NOT this number - under batching the two diverge.
Total time (e2e) "Submit to done, how long altogether?" The full wait - what a stopwatch and an impatient user both measure. One blended number hiding two experiences. Decompose it with the identity below.
Cost per query "What does one answer cost at OUR volume?" Nothing - which is why it slips off the eval sheet until the invoice arrives. Rate cards are not budgets. Pennies per query is a budget line at a million queries a month.
SUBMIT FIRST TOKEN DONE TTFT the silence users judge TOKENS STREAMING inter-token latency (ITL) sets the smoothness metric: TTFT (queue + prefill) cost: the user's patience metric: ITL / per-user tokens per second cost: decode GPU time - the per-token bill E2E TIME = TTFT + (TOKENS - 1) x ITL the one-line sanity check: if a vendor's three numbers do not obey this, ask why The silence and the stream are different metrics with different costs - never let one number stand for both.
🔍 Click to zoom - one answer, two experiences, and the identity that ties the numbers together
LiveThe identity, and the batching tradeoff6 min▶

The diagram's box is worth memorizing as a leader's tool: e2e = TTFT + (tokens - 1) x ITL. End-to-end time is the first-token wait plus one inter-token gap for every remaining token. When a vendor quotes you a TTFT, a tokens-per-second figure, and a total time, run the one-line check - numbers that do not obey the identity mean someone is quoting different scenarios in the same table.

Then the tradeoff every deployment hides: batching. Serving many users' requests together raises SYSTEM throughput - more total tokens per second out of the same GPUs, so a cheaper service. But it stretches each user's ITL - every individual stream gets choppier. System throughput up means each user's smoothness down:

  • You cannot maximize both. This is a curve, and someone chooses the operating point - exactly like the classification threshold in a2.
  • The infra team's dashboard (system tokens per second) and the user's experience (per-user tokens per second) diverge under batching. Ask which one a report shows.
  • The choice is a business decision wearing an infrastructure costume: cost per query versus experience per user. It should be made by someone who knows it is being made.
LiveCost per query - the other axis4 min▶

Every answer has a price: tokens in plus tokens out, times the model's rates - or GPU time, if you host. The leader habits that follow:

  • Always evaluate at YOUR volume. A metric that looks like pennies per query becomes a budget line at a million queries a month. Quality reports that omit cost per query are comparing free things that are not free.
  • Quality gains have prices. The common upgrade decision - a bigger model scores 2% higher on the quality metric at 5x the cost per query - is usually a loss once you price it. Not always: a 2% win on a high-stakes task can be worth 50x. The point is that the arithmetic must be done, and it usually is not.
  • Speed and cost trade too. Faster serving often means more hardware or smaller models - the three-way tension (quality, latency, cost) is the real decision space, and any report showing only one axis is hiding the tradeoffs.
The 2%-at-5x arithmetic, worked once A hypothetical, to make the reflex concrete: the upgrade scores 2 quality points higher at 5x the per-query price - say a cent becomes a nickel. At a million queries a month, that is roughly $40,000 a month, about $480,000 a year, for 2 points on a judge-scored metric (a3's caveats apply to the 2 points, too). Sometimes worth it, on a high-stakes task. But the decision is two lines of multiplication, and most upgrade proposals arrive without them.
The 2%-at-5x upgrade, priced at a million queries a month today's rate the upgraded rate Today's model $0.01 per query Upgraded model $0.05 per query - 5x the rate card = about $40,000 a month, about $480,000 a year bought: 2 points on a judge-scored metric Rate cards are not budgets: pennies per query is a budget line at a million queries a month. Sometimes 2 points is worth $480,000. The decision is two lines of multiplication that rarely get done.
🔍 Click to zoom - four cents a query is half a million dollars a year
Self-studyWhere these numbers come from3 min read▶

The definitions behind Part 1, as the benchmarking docs (NVIDIA's NIM metrics guide) state them - useful when a vendor's glossary gets creative:

  • TTFT covers everything before the first token: queueing, prefill (processing your prompt), and the network. Long prompts raise it - which is why a RAG system that stuffs huge contexts pays for that choice in first-word silence.
  • ITL is the average gap between tokens after the first: (e2e minus TTFT) divided by (tokens minus 1) - the same identity from the diagram, rearranged.
  • System tokens per second vs per-user tokens per second are different quantities that diverge under batching - the vendor's throughput slide usually shows the first, your user feels the second.

You will never compute these yourself - the practitioner track (b8) does. You only need to recognize which one a slide is showing, and ask for the one it is not.

Part 2 · covers Anthropic define-success, Ng's satisficing doctrine

The satisficing architecture 18 min live

Three axes, all trading against each other - so which one wins? The answer is an architecture, and two very different sources agree on it. Andrew Ng's doctrine: pick ONE optimizing metric, and make everything else a satisficing metric - a threshold to satisfy, not a score to maximize. Optimize quality SUBJECT TO latency at most X and cost at most Y. Anthropic's guidance lands in the same place: its success-criteria list includes latency AND price as first-class categories alongside quality, and its worked example sets a quality floor AND a toxicity ceiling AND a latency ceiling - one sheet, several constraints, one thing being maximized.

LiveFloors, ceilings, and the one number you optimize8 min▶

Why one optimizing metric? Because teams iterate fast only when every experiment gets an unambiguous verdict - better or worse. Two "optimize both" metrics produce arguments; one optimizing metric plus hard constraints produces decisions. The architecture in practice:

  • Optimize: the metric closest to the business outcome - answer quality, resolution rate, conversion lift. One number.
  • Floors: minimums that must hold - quality never below the current baseline, completeness above an agreed bar.
  • Ceilings: maximums that must hold - latency (TTFT and total, at p95), cost per query, harmful-output rate.

The leader's move that makes this real: every AI initiative declares its latency and cost budgets ON THE EVAL SHEET - the same document that carries the quality metrics - not in an infrastructure ticket nobody reviews. A constraint that lives outside the eval sheet does not constrain anything: the team optimizes what the sheet measures, and ships whatever the sheet ignores.

Real world

The assistant users abandoned. A support assistant's quality scores climbed for three straight months - the team tuned prompts, upgraded models, and the judge scores duly rose. Usage fell the whole time. The upgraded models took around 8 seconds to start answering, users clicked away, and churn did the judging that the eval sheet did not: nobody had made latency a success criterion, so nobody was watching it. The postmortem finding was one sentence - the eval sheet had five quality rows and zero speed rows - and the fix was one line on a document, declared before the next initiative started.

The average is not the experience - always ask for p95 what the average shows what one user in twenty gets Average TTFT 1 second - the number on the slide TTFT at p95 8 seconds - users click away Twenty users one user in twenty lives in the tail - and that is who churns Bar length is time to first token, 0 to 8 seconds on one shared scale. A 1-second average with an 8-second p95 is an assistant users abandon. Averages hide the tail.
🔍 Click to zoom - the tail, not the average, is the experience users churn over
The one-line policy this session earns No AI initiative is approved without its latency ceiling (TTFT and total time, at p95) and cost-per-query ceiling written on the eval sheet, next to the quality metrics, before building starts.
Part 3

The questions for any LLM vendor or team self-study

Three questions, in the order to ask them. Each has a follow-up that separates teams who measured from teams who assumed.

Self-studyThe three questions, with their follow-ups5 min read▶
  • "What is TTFT at p95 - not the average?" Averages hide the tail, and the tail is where users churn: a 1-second average with an 8-second p95 means one user in twenty gets the abandoned-assistant experience. A team that answers with an average has not looked at the tail.
  • "What is cost per query at OUR volume?" Demo pricing and production pricing are different worlds - long contexts, retries, and peak-hour batching all move the real number. Ask for the arithmetic at your monthly query count, not the per-token rate card.
  • "Which quality metric degrades when you cut latency - and by how much?" Speed is bought with something: a smaller model, tighter retrieval, shorter answers. A team that says "nothing degrades" has not measured the tradeoff; a team that names the metric and the size of the hit has an eval sheet you can trust.

Notice what the three questions share: none asks for a better number - each asks whether the number was measured where it matters (the tail, your volume, the tradeoff). That is the leader track's whole method applied to speed and cost.

Take it to work

Try it yourself - this week ◐ 20 min total

Source material

Official sources covered

The leader track distills the canonical sources into decisions - benchmark mechanics and measurement details stay with the linked originals, and the practitioner track works them hands-on in b8. This page covers:

✓NVIDIA NIM LLM benchmarking metrics - TTFT, ITL, tokens per secondThe identity + the batching tradeoff · measurement mechanics in b8
✓Anthropic define-success - success-criteria categories and worked exampleLatency + price as first-class categories · floor-and-ceiling example quoted
◐Ng, Structuring ML Projects - satisficing vs optimizing metricsThe one-optimizing-metric doctrine · full treatment in a5 and b5
Check yourself

Three questions before you go 🎯 ◐ 90 seconds

1 · Users complain the assistant "takes forever to start answering," but the vendor's total-time numbers look fine. Which metric do you ask for?

The complaint names the silence, not the stream - that is TTFT's phase of the timeline. Total time blends both phases together, which is exactly why the identity e2e = TTFT + (tokens - 1) x ITL matters: it lets you take one blended number apart into the two experiences users actually feel.

2 · The infra team proposes heavier batching: "system throughput doubles, same hardware." What is the catch?

Batching trades the individual stream's smoothness for total system output - you cannot maximize both. It is a business choice (cost per query vs experience per user) wearing an infrastructure costume, and the leader's job is to make sure it is chosen consciously, not defaulted.

3 · In the satisficing architecture, where does latency belong?

One optimizing metric, everything else a floor or ceiling - Ng's doctrine, and the shape of Anthropic's own worked example (quality floor, toxicity ceiling, latency ceiling). Optimizing latency itself ships a fast wrong answer; leaving it in an infra ticket ships the abandoned assistant. The ceiling on the eval sheet is the placement that constrains.

Leader session 4 cheat sheet · pin this

TTFTSubmit to first token - the "is it thinking?" silence, and the number users judge hardest. Always ask for it at p95, not the average.
ITL / streaming smoothnessThe average gap between tokens - sets how smooth the stream feels. Per-user tokens per second is its everyday face.
The identitye2e = TTFT + (tokens - 1) x ITL. One line that sanity-checks any vendor's latency table - numbers that disobey it are mixing scenarios.
The batching tradeoffSystem throughput up = each user's smoothness down. A curve, not a setting - someone chooses the point, and it is a business choice.
Cost per queryAlways at YOUR volume, never the rate card. A 2% quality win at 5x cost is usually a loss - do the two lines of arithmetic every time.
Satisficing architectureONE optimizing metric; everything else holds a floor or ceiling. Ng's doctrine, matching Anthropic's worked example (quality floor, toxicity ceiling, latency ceiling).
Budgets on the eval sheetLatency and cost ceilings declared next to the quality metrics, before building - constraints outside the eval sheet constrain nothing.
The three vendor questionsTTFT at p95? Cost per query at our volume? Which quality metric degrades when latency is cut, and by how much?