Science & Analytics

The Scientist

The Signal

Meta doubled its ads training efficiency and still wastes three FLOPs in every four.

Work backward from GEM's disclosure and the prior baseline lands near 10–12% MFU across several thousand GPUs, which is the figure to hold onto the next time a vendor quotes an efficiency gain at you. Three of the four levers here need a quality argument you have to take on faith. Jagged attention doesn't. Unpadding is mathematically lossless, and it reclaims the up-to-50% of compute that padding burns in variable-length batches, which makes it the one line item you can audit on your own cluster.

In Play

  1. Meta's Training-Waste Ledger

    Meta's Generative Ads Recommendation Model reached 20–25% Model FLOPs Utilization after doubling end-to-end efficiency, with training FLOPs scaling 4x in 12 months across several thousand high-end GPUs. Four named levers did it: jagged (unpadded) attention, BlockAttention taking self-attention from O(L²) to O(L), MXFP8 in attention and MLP, and topology-aware 5D parallelism. For your variable-length sequence recommenders, only the first is lossless — and it is the one you can ship without a quality argument.

    Ask Clarity
    Try
  2. Metrics Defined Over the Wrong Object

    Four independent results this cycle show headline metrics scoring the wrong thing. Code-authorship attribution hit 92.6% accuracy identifying 1-of-10 programmers on coding-contest submissions, then collapsed to near-zero on real classroom coursework. A Flock license-plate reader misread plates in 71% of alerts sent to police in one California town, per MIT Technology Review. Rewriting only an agent's stated rationale dropped safety detection from ~95% to under 11%. Your gate is only as valid as the distribution and the object it was fit on.

    Ask Clarity
    Try
  3. Inference Cost Became Closed-Form

    Two arithmetic levers landed together. KV cache bytes = 2 × layers × KV heads × head_dim × bytes × tokens × batch, which for Llama 3 70B is ~320KB per token and ~42GB for a single 128K-context request — linear in both context and batch. Separately, medical-reasoning models that vary thinking budget per query cut compute 4.7x–6.4x at near-flat accuracy. Neither requires a new model: one is capacity planning you can put in a spreadsheet, the other is a difficulty-conditioned router in front of your reasoning traffic.

    Ask Clarity
    Try
  4. Agents Got Write Access Before Attribution

    Agent releases this cycle crossed from retrieval into authenticated mutation: Gemini Spark acting inside logged-in Chrome sessions, Cursor plugins with read and write across Gmail, Drive, Calendar, Docs and Sheets. None shipped a task-success rate or a failure taxonomy. Meanwhile every bot in Slack authenticates with one shared vendor-issued API key, so per-agent attribution is structurally impossible. If your eval harness grades output text, it says nothing about unintended state mutation or which agent caused it.

    Ask Clarity
    Try
  5. The Substrate Is Contested, Not Cheap

    Three supply signals point the same way. Texas paused new data-center grid interconnections pending audits, against a queue of 474GW across 1,800-plus projects, roughly 90% of it data-center demand. An AI-driven DRAM shortage pushed HP, Asus and Acer to qualify China's CXMT, whose global share went from 3% to 8% in a year. And the FCC is drafting an import ban on Chinese data-center components including optical transceivers, targeted for effect inside 2026. In-memory vector indexes and interconnect-bound training absorb this first.

    Ask Clarity
    Try

Deep Dives

Meta Published the Waste Ledger — Two of Four Levers Port to You

The interesting disclosure is not the utilization number but the ranking of where the FLOPs went missing, and exactly one item on that list is free of a quality argument.

The detail worth internalizing even if you never run several thousand GPUs

Meta shards two parameter populations under two different regimes: 2D FSDP plus Expert Parallelism for dense parameters, and Fully Sharded 2D Model Parallelism for trillions of sparse embedding parameters. Both are mapped topology-aware onto a multi-tiered fabric with SM-free collectives. The transferable finding is narrower than the architecture diagram suggests: one uniform parallelism strategy across a model with a huge embedding table and a modest dense trunk leaves throughput on the floor. At this scale the jobs are comms-bound, not FLOPs-bound, and adding GPUs to a comms-bound job buys more all-reduce, not more steps per second.

Portability, ranked

LeverReported gainPorts to a normal stack?Quality risk
Jagged Flash AttentionRemoves up to 50% padding wasteHigh — varlen/nested-tensor kernels are widely availableNone. Skipping arithmetic on zeros is exact.
BlockAttentionO(L²) → O(L)Medium — custom kernel or linear-attention substituteReal; no full-attention control reported
MXFP8 in attention + MLPSpeed gain, no CTR/CVR regression claimedMedium — needs FP8 hardware and paired runsMedium; zero ablation, no per-slice breakdown
Topology-aware 5D parallelismEnabled the 4x FLOPs scalingLow — assumes Meta's fabricLow risk, high reproduction cost

Where the disclosure thins

No baseline MFU is stated. The ~10–12% prior is an inference from "2x to 20–25%", not a number Meta published. The 4x FLOPs scaling is entangled with the efficiency work, so any model-quality improvement cannot be attributed between more compute and better utilization. Correlated, plausibly causal, not established. And "no CTR/CVR regression" from MXFP8 arrives with no confidence intervals and no slice-level breakdown. The thing that claim doesn't tell you is where the errors went, because low precision fails first on rare slices and on probability calibration, and neither shows up in an aggregate conversion rate.

Meta stated on the record that the honest ceiling for sparse recommenders is low. That is negotiating leverage in your next hardware request, not an excuse.

What to do with it

The cheapest measurement available is the padding ratio. Take one real batch from the highest-cost sequence model in production and compute sum(true_seq_lens) / (batch_size × max_len). Under 0.6 means up to half the attention FLOPs are multiplying zeros. The fix is a varlen kernel, with no quality conversation attached, which is rare enough in this field to be worth doing first. MFU belongs on the training dashboard next to loss and AUC, because without a baseline there is no arguing for or against more GPUs.

Before any linear-attention migration, run a truncation-depth ablation on user-history length: sweep 64 / 256 / 1024 with full attention and plot the AUC curve. BlockAttention's value is entirely conditional on longer history carrying signal in your domain, which is a research-leaderboard property, not a production one. If the curve flattens at 256, O(L) attention buys approximation risk and nothing else. For MXFP8, gate on paired runs with identical seeds and data order, scoring log-loss and expected calibration error across at least five traffic slices including the lowest-volume decile.

What to do

  1. Compute the padding ratio on one real batch from your two highest-cost sequence models this week, and swap in a varlen/nested-tensor attention kernel wherever it falls below 0.6.

  2. Add MFU and sequence-padding ratio to the training dashboard alongside loss and AUC for every ranking model by end of month.

  3. Run a 64/256/1024 truncation-depth ablation on user-history length before funding any linear-attention or BlockAttention port this quarter.

Four Systems, One Bug: The Metric Was Defined Over the Wrong Object

Curated evaluation sets and item-level scoring produced four confident passes on systems that were failing, and each failure mode has a specific, cheap instrument that would have caught it.

The four failures, and why each metric was blind by construction

Start with the cleanest case. Code-authorship attribution reached 92.6% accuracy identifying 1-of-10 programmers on coding-contest submissions and collapsed to near-zero on real classroom coursework. Same task, same architecture class, different distribution. Contest submissions are short, homogeneous, single-author, stylistically idiosyncratic. Coursework is templated, collaborative, assignment-constrained. The model fit the curation, not the construct.

Second, the same failure in the field with a person on the other end. A Flock automated plate reader misread plates in 71% of the alerts it sent to police in one California town, per MIT Technology Review. Nearly three in four alerts carrying a misread is not an edge case. It is an operating threshold tuned on clean imagery and never revalidated against angles, weather, plate wear and motion blur. One town, no confidence interval, no disclosed sample size, which makes it a directional alarm rather than a population estimate.

Third, a metric that cannot represent the target at all. Memory systems get evaluated on recall@k, MRR and nDCG, all of which score items. When the answer is a relation between episodes, one delayed task blocking three people, the conclusion was never stored as an item, so the metric has no mechanism to register a miss. Widening retrieval scope does not move it. Neither does tuning the reranker or raising top-k.

Fourth, and the one that reaches production soonest: rewriting only the agent's stated rationale, actions untouched, dropped detection from roughly 95% to under 11%. Rationale and behavior are decoupled channels, and only one of them is what the system did.

Where the sources converge

Independently they land on one rule: the score is valid only over the object it is defined on and the distribution it was fit on. They diverge on fixability. The authorship and ALPR gaps are empirical, and an out-of-distribution holdout closes them. The recall@k and rationale-monitor gaps are structural. No tuning makes an item-level metric see a relation, and no adversarial training makes a spoofable channel authoritative. Different urgency, same harness.

If the insight lives in how the facts connect, no reranker will retrieve it — and no recall@k will ever tell you it is missing.

The arithmetic that comes before any detector ships

One more case, the one most likely to reach a decision this quarter. Grant a generous detector at 90% true-positive rate and 5% false-positive rate. At 5% prevalence of the positive class, precision is 0.045 / (0.045 + 0.0475) = 48.6%, a coin flip. At 1% prevalence it is 15.4%. AI-writing detectors also show systematically higher false positives on non-native English writers, which turns an accuracy problem into an asymmetric-loss problem with a person attached. The Bayes table at real prevalence goes on the table before anyone wires a detector to an irreversible action.

The move

Three slices, one harness. An out-of-distribution holdout sampled from the actual deployment population as a mandatory launch gate for every production classifier, with the field-versus-offline false-positive delta logged and alerted. A multi-hop slice of 50–100 gold questions whose answers exist only in relations between episodes, reported separately from recall@k. And agent safety scored on action traces, meaning tool calls, arguments and egress destinations, with an adversarial holdout where the rationale is rewritten benign while actions are held fixed.

What to do

  1. Make an out-of-distribution holdout sampled from live deployment traffic a release-blocking gate for every classifier that triggers a human-consequential action, and log the field-versus-offline FPR delta from this sprint on.

  2. Reclassify chain-of-thought and self-critique inspection as a debugging aid in every design doc this sprint, and stand up action-trace scoring with a rationale-rewritten adversarial holdout.

  3. Compute and circulate the posterior-precision table at your true prevalence before any detector-driven gate deploys.

Your Inference Bill Is Two Arithmetic Problems, Not a Model Choice

A closed-form cache equation and a difficulty-conditioned router beat every vendor price cut on the table, because both are levers you own and can measure before committing budget.

Why a request that fits in HBM can still crawl

Prefill is compute-bound; decode is memory-bandwidth-bound, because every emitted token re-reads the whole stored cache out of HBM. That is a bandwidth bill, not a storage bill. Sweeping 42GB of cache per token against one H100's ~3.35TB/s is ~12.5ms of pure memory traffic, an ~80 tok/s ceiling before a single multiply runs. That roofline is our arithmetic, not a published measurement. It is still the number that should govern the next hardware request, because if TPOT is the latency problem, FLOPs are not measuring the bottleneck.

What each optimization actually attacks

  • Paged attention. Fragmentation waste from 60–80% down to under 4%, 2–3x throughput, essentially zero quality cost. On vLLM or SGLang that gain is already priced in and does not arrive twice.
  • Prefix / prompt caching. 50–90% cost and latency reduction on hits, per OpenAI's and Anthropic's own figures. Realized saving is (hit rate × discount), and hit rate is a function of prompt hygiene alone. One timestamp or session ID near the top of a system prompt forfeits the discount on every call.
  • 8-bit KV quantization. 2x, at a claimed well under 1% accuracy cost. 4-bit. 4x, with measurable degradation on multi-needle retrieval specifically, which is the RAG and long-document-agent profile.
  • MLA (DeepSeek-V2/V3) holds ~70KB/token against 192–328KB for GQA peers, roughly 4–5x the concurrency at fixed HBM. Locked at training time, awkward with standard attention kernels.

The second lever: stop paying max on easy queries

Medical-reasoning models that vary how much they think per question cut compute 4.7x to 6.4x while holding accuracy "nearly the same." No effect size, no confidence interval, one domain: a hypothesis with a known verification cost. The mechanism holds up, since a fixed thinking budget provisions for the hardest input in the distribution and bills it on every request, and required compute is heavily skewed. A cheap difficulty classifier or self-consistency confidence gate up front, escalating only on low confidence, is the whole design. Pre-register the non-inferiority margin before anyone sees results, because "nearly the same accuracy" is where a three-point regression on a tail segment hides.

What this changes downstream

First, context length and concurrency draw from one budget, since cache is linear in tokens and linear in batch. No configuration gives 128K context and high concurrency for free, and the unmade choice gets made by the scheduler as an OOM. Put the capacity equation in admission control: max concurrent sequences, max context per tier.

Second, the eval harness needs a compression canary. Cache-compression damage is task-localized, so an aggregate benchmark will pass a config that broke mid-document fact extraction. Build a position-stratified multi-needle eval, needles spread across the context rather than clustered at the end, run it paired against the 16-bit baseline, and ship 8-bit only when the interval on the delta excludes a meaningful loss. Then audit for sliding-window eviction anywhere in a RAG path and turn it off there. Token relevance depends on a query that has not arrived, so eviction is non-causal by construction, and a default window in a retrieval path reads as model weakness rather than the config bug it is.

Shrink bytes-per-token and share prefixes aggressively; quantize to 8-bit only behind a multi-needle canary; never evict on retrieval workloads.

What to do

  1. Build a KV-cache capacity calculator from the scaling equation for every model in your serving fleet this sprint, and wire its output into admission control as max concurrent sequences and max context per tier.

  2. Refactor prompt assembly so all static content precedes all volatile content, then instrument cached-token share per endpoint and alert on a drop as a regression.

  3. A/B a difficulty-conditioned router against your fixed max-thinking-budget on the highest-volume reasoning workload this quarter, with the non-inferiority margin pre-registered at ≤1 accuracy point.

The bottom line

These items form one pattern: every instrument that reported good news was scoring an object or a distribution that no longer matched production, while the genuinely large wins available were plain arithmetic sitting inside stacks their owners already control. That inverts the default assumption that the next efficiency step requires a vendor decision or a model swap — the measurable gains are in your own attention kernels, prompt ordering, per-query budgets, and holdout design, and they are cheaper to claim than any renegotiation. For each metric that currently gates a release, write down the object it is defined over and the distribution it was tuned on; where those two differ from deployment, convert the gap into an assertion that fails a build rather than a chart someone reads.