Science & Analytics

The Scientist

The Signal

A diffusion LLM now claims 157ms p50 and 1,280 tokens per second.

TLDR AI has celeris-1's numbers as self-reported, with no ablation and no named vendor, which puts them outside anyone's ability to check. The hardware arithmetic is checkable: autoregressive decoding moves about 1 FLOP per byte on an A100, against a 100+ FLOP/byte design point. The thing the reported figures don't tell you is where that gap lands at serving time, which is what a spike on Dream 7B under SGLang at batch size 1 would settle before the next serving commit.

In Play

  1. Notebook Commits Became a Code-Execution Path

    A public proof of concept turns viewing a rendered notebook diff into code execution as the git user on self-managed GitLab. Only the bundled Oj version tells you whether you are exposed — the GitLab version string does not.

    Ask Clarity
  2. Reviewer Direction Moves More Points Than a Model Upgrade

    Reviewer pairing and judge calibration are empirical choices per stack, not capability rankings. The judge diverges from its human rater by up to 34 points, and the gap is largest on the weakest model — so laggards pass gates that should have held them.

    Ask Clarity
  3. Multi-Agent Fan-Out Finally Has a Price

    Anthropic's published token multipliers price a graph at 3.75x incremental spend over a single agent. The missing ablation is a single agent handed that same 3.75x budget.

    Ask Clarity
  4. Diffusion Decoding Enters the Serving Stack

    A diffusion-based LLM called celeris-1 reports 157ms p50 at near-GPT-5 quality, with no ablation and no named vendor — a number to reproduce on your own single-stream path, not one to cite.

    Ask Clarity
  5. Your Inference Bill Has the Wrong Denominator

    Vercel's AI Gateway data, highlighted by Exponential View, shows OpenAI, Anthropic and Google taking 90% of spend while serving 52% of tokens — an 8.3x per-token premium. Artificial Analysis separately measures Claude Opus 5 at $17.79 per average task despite $5/$25 per million tokens, implying roughly 700K output tokens per unit of useful work. Per-token price cuts are being absorbed by reasoning-token volume, so a dashboard denominated in dollars per million tokens will misforecast agentic spend.

    Ask Clarity
    Try

Deep Dives

Two Notebooks in One Commit Own Your CI

The ML org's highest-volume artifact is now a memory-corruption delivery format, and the version string on your dashboard is not the one that answers whether you are exposed.

The transferable lesson sits in the second bug, not the first. GitLab's in-tree ipynbdiff gem hands repository-controlled bytes to Oj::Parser.usual.parse inside the Puma worker. Bug one is an unchecked nesting-stack write, amplified through a jemalloc allocator handoff and Ruby Array heap overlap to seize a parser callback pointer. Bug two is an unsafe 16-bit key-length truncation that leaked a heap address back through the rendered diff, defeating ASLR and enabling the pivot to system() via libruby and libc gadgets. The first bug is a Ruby problem. The second is a design pattern.

That leak channel generalizes well past Ruby. Any service that parses untrusted content and echoes the parse result back to a user is a candidate information-disclosure oracle. Eval dashboards, notebook-to-HTML renderers, verbose JSON parse errors, model-card previews, MLflow and W&B artifact viewers. Most ML tooling is built this way because showing the user what you parsed is how debugging works.


Patch state, and why the version number lies

Reported June 5, fixed in Oj 3.17.3, shipped in GitLab's June 10 releases: CE/EE 18.10.8, 18.11.5 and 19.0.2. The reports diverge on one operationally critical point, and the stricter reading is the one to plan against. Versions 15.2 through 18.9 outside GitLab's security-maintained patch trains received no dedicated backport, and the same audit produced nine additional Oj CVEs across the dump, loader and document APIs. The thing the product version doesn't tell you is the Oj version, and the Oj version is the only number that settles exposure. GitLab.com is already fixed. Self-managed operators carry the entire burden. The Hacker News reports a working proof of concept went public July 24, roughly six weeks after the fix, which is precisely the window most self-managed ML platforms sit in.

Why this is an ML problem and not a platform-team problem

Most orgs treat push access as low-privilege because the reviewed artifact is code. In ML orgs the dominant artifact is a JSON blob that gets rendered, diffed, and executed by machinery nobody threat-modeled, which promotes "ordinary project member" to a privileged role. Code execution as the git user on a self-managed instance means CI variables, model registry tokens, warehouse credentials and S3 keys in one motion. Where CI stores long-lived cloud credentials as project variables, and most ML platforms do for training-job access, one notebook commit reaches the training data and the production checkpoints.

SurfaceWhy it is in scopeCheck
Self-managed GitLabipynbdiff renders repo-controlled notebook JSONBundled Oj version, not GitLab version
nbconvert / JupyterHubRenders untrusted notebook JSONNative-extension parser inventory
papermill / Airflow ingestionExecutes notebooks from reposSandbox and resource caps
Inference request parsersorjson, ujson, simdjson on C hot pathsUntrusted-input path review

The structural fix is credential shape, not version pinning. Short-lived OIDC federation instead of static keys collapses the blast radius from everything the pipeline can reach to one job's scope for one job's lifetime. Version pinning is the tourniquet for today.

An .ipynb is better modeled as an attacker-controlled JSON document than as source code, and several native-extension parsers in your stack will consume it happily.

What to do

  1. Query the bundled Oj version on every self-managed GitLab instance and every Ruby service in the data platform today, and upgrade to a patch train shipping Oj 3.17.3 or later.

  2. Rotate runner tokens, model registry tokens and any long-lived cloud credentials stored as CI variables this week, then schedule migration to short-lived OIDC federation.

  3. Inventory every service that parses or renders untrusted notebook JSON this sprint — notebook diffing, nbconvert, JupyterHub, experiment-tracker artifact viewers, CI notebook linters — and put those paths behind a resource-capped sandbox.

Three Harness Variables Beat Your Next Model Upgrade

Two independent results land on the same place — the accuracy you attribute to a model is being set by pairing, formatting and contradictory instructions.

The direction of the bias matters more than its size, because direction inverts decisions rather than merely inflating them. In the seven-model blind comparison covered by Lenny's Newsletter, the LLM judge did not apply a constant offset. It compressed the range. It pulled the weakest model up 34 points (Gemini 3.1 Pro: human 32, judge 66) and the strongest up 11 (Opus 5: human 77, judge 88). A judge that flatters laggards passes models through regression gates that should have held them. That is the part that replicates. The 78/77/76 top-three spread came from a single unnamed rater, which is a tie, not a ranking.

Reviewer seat, not parameter count

ConfigurationAuthor baselineAfter reviewDelta
Claude reviews Codex71.6%89.7%+18.1 pts
Codex reviews Claude91.4%82.8%-8.6 pts

A capable model in the reviewer seat degraded output below the author's own baseline. The assumption that the best model makes the best judge does not survive that table. No sample size or confidence intervals were reported, so replicate before rewiring anything.

Daily Dose of Data Science supplies the mechanism, and it is ordinary ensembling: variance reduction requires decorrelated base learners. Same weights plus same context pushes error correlation toward 1, and models measurably prefer their own outputs. The prescribed fix is textbook. Put the reviewer on a different vendor, give it fresh context instead of the full conversation, and anchor verdicts to evidence the system cannot fabricate: tests that actually ran, code that actually compiled.


The two cheaper variables nobody benchmarks

First, edit format. Devshot reports Doubao at 94% success using JSON Patch against DeepSeek at 66% on unified diff, roughly 30 absolute points on nothing but whether the format matches how the model natively emits edits. That is a larger delta than most frontier upgrades buy, and it costs prompt-and-parser work rather than a fine-tune. Vendor and format vary together in that pair, so treat the 30 points as the ceiling on the format effect until someone runs both formats on one model.

Second, the context layer. Anthropic's Claude Code team cut over 80% of their system prompt for Opus 5 and Fable 5 and reported no measurable loss on their coding evals. The mechanism matters more than the percentage. The located failure was contradiction, not length: "Leave documentation as appropriate" sitting beside "do not add comments" in the same context window. Rigid floors that were protective on older models now cap the ceiling. Anthropic published no eval names, sample sizes, or intervals, so this is a claim rather than a demonstration, and the null hypothesis is cheap to test.

Why this is now a security property too

Cyberpresso reports research showing cryptographic model audits can be gamed: a system proves above 99% accuracy on the test data an auditor sees while delivering below 30% on real customer traffic. No dataset or attacker budget is disclosed, so read it as an existence proof of eval-aware behavior rather than a measured effect. The operational consequence stands either way. If a model or a vendor can fingerprint the held-out set, the reported metric is a ceiling on marketing, not on production behavior.

A judge in the wrong seat will move more points than the model upgrade you were about to buy. So will a format the model does not emit natively, and so will a prompt that argues with itself.

What to do

  1. Build a reviewer-direction win/loss matrix for every model pairing in your self-refine or judge stack this sprint, measuring reviewer-versus-author quality per pairing rather than aggregate accuracy.

  2. Calibrate your judge against 2+ human raters on a 100-200 item labeled holdout, report per-model bias and inter-rater agreement, and suspend cross-model judge ranking until the gap is measured.

  3. Ablate your highest-traffic system prompt this sprint: strip contradictory rules first, then cut length, and log quality delta and per-call token savings separately.

Fan-Out Costs 3.75x and Returns 1.9x

Anthropic's own token multipliers finally make the graph-versus-loop call arithmetic, and the twenty-agent fleet everyone is building behaves like one agent at twenty times the bill.

Work the ratio all the way down. Fifteen times chat tokens for a graph against four times for a single agent is 3.75x incremental spend. A 90.2% relative quality gain is roughly 1.9x. That puts marginal quality per token near 0.5. Twice the cost per unit of quality. That arithmetic can still favor the graph for irreversible or high-stakes work. It does not survive as a default architecture, and the reported figure carries no n, no confidence interval, and no ablation separating parallelism from the orchestrator prompt, the reviewer, or simply spending more tokens.

The fleet is a degenerate ensemble

The sharpest claim in the coverage arrives as an anecdote: twenty agents built on the same base model, reading the same flawed context, agree with each other, and models prefer their own outputs. Ensemble literature settled this a long time ago. Cost multiplies, correlated error does not fall, and the consensus gets read as confidence. False precision is the expensive failure mode because it presents as a passing metric. Cognition reached the same conclusion after a year of operating Devin and settled on read-parallel, write-serial: many agents may read and opine, exactly one may mutate a resource.


Where graphs rot, and what detects it

Failure domainMechanismDetection signal
State driftUninformed write in node 2 becomes confident input in node 5Silent — output is wrong before anything alerts
Nondeterministic routingModel picks the edge; identical state takes different pathsRoute-path distribution entropy across runs
Correlated agreementOne base model, shared context, self-preference biasJudge-generator agreement gap versus a cross-family judge
Concurrent burnWeak verifier loops across parallel nodesToken spend per node per run

Two of these map onto infrastructure already in place. Route entropy is a drift metric. When a model chooses the edges, the execution path becomes a random variable and the A/B unit of analysis is contaminated. A regression cannot be attributed to a model change if the graph took a different path. Google's ADK 2.0 rule is the reproducibility-preserving position: deterministic code routes anything checkable, models only judge. And checkpoint replay is the streaming exactly-once problem. Checkpoint per completed step keyed on (run_id, step_id), then handle the consequence. Replay re-executes downstream nodes, so any node with an external side effect fires twice unless idempotency keys and a (run_id, node_id, payload_hash) ledger are in place.

Where the sources diverge

The vendor evidence for fan-out is consistently weaker than the cost evidence against it. TLDR Data's coverage of Cursor's agent swarm rests on a single unablated task, rebuilding SQLite from documentation, with "similar or better quality" left undefined. Exponential View notes Cursor's router parity-at-60%-less-cost claim rests on "users seem to find", with no blinding, no stratification, and no accounting for whether retries land back on the premium model. The thing that claim does not tell you is where the retry tokens are booked. Meanwhile AI Breakfast reports the durable artifact: Cursor, Zoom, Airbnb, Coinbase and DoorDash have all converged on two-tier stacks, and Chinese open models now carry 57% of the tokens US firms push through OpenRouter. Routing is infrastructure. The graph is an architecture choice that should have to justify itself with a number.

Twenty agents on one base model behave like a single agent at twenty times the bill, and the consensus they produce reads as confidence.

What to do

  1. Measure the fan-out break-even on your top agent workload this sprint: token spend and eval score for the single-loop baseline versus the graph variant on one fixed holdout, requiring the quality delta to clear 3.75x incremental cost.

  2. Log the executed route per run and cap tokens per node, then alert on shifts in route-distribution entropy.

  3. Move your reviewer node to a different vendor with fresh context, anchored to tests executed and compile status, before scaling any agent fleet past three workers this quarter.

Diffusion Decoding Is Now a Serving Decision, Not a Paper

Two independent reports put non-autoregressive inference into production stacks; the throughput-at-matched-quality number that would justify a migration is still missing.

The quality evidence has caught up to the hardware argument, and that is the part worth acting on. LLaDA at 8B matches LLaMA 3 on MMLU and exceeds it on TruthfulQA and HumanEval. BD3-LM block diffusion lands within 0.5 perplexity of an autoregressive baseline on LM1B. Dream 7B and LLaDA 2.0 are already served through SGLang. A year ago none of that held, which moves the open question from "does masked diffusion work" to "does it work faster on my traffic shape".

Why the mechanism is credible even when the vendor isn't

Autoregressive decoding pulls the full weight set through GPU memory to emit one token, then does it again. On an A100 that is roughly 1 FLOP per byte moved against a 100+ FLOP/byte design point, an arithmetic-intensity deficit near 100x that GPT-4, Claude, Gemini and LLaMA all pay. Masked diffusion starts from a fully masked sequence and unmasks in parallel with bidirectional attention, which shifts inference from memory-bandwidth-bound to compute-bound. That is the regime the hardware was built for.

The cost is the KV cache. Bidirectional attention breaks it outright. Block diffusion restores block-wise caching via Fast-dLLM, which is why the block variants are the ones with a plausible adoption path.


Where the sources agree, and where the number is missing

DimensionAutoregressiveMasked diffusionBlock diffusion
Inference bottleneckMemory bandwidthCompute-boundCompute-bound, caching restored
KV cacheNativeIncompatibleBlock-wise (Fast-dLLM)
Quality evidenceBaselineLLaDA 8B = LLaMA 3 on MMLUWithin 0.5 ppl on LM1B
Adoption pathStatus quoPretrain, or convert via attention mask annealingSame, scaled 8B to 100B

Both reports converge on the mechanism, and both stop in the same place: every parity claim is a quality claim — perplexity and benchmark accuracy — not a throughput claim at matched quality. celeris-1's 157ms p50 and 1,280 tokens/sec arrive with no ablation, no named vendor, and no task accuracy at fixed latency. That is the profile of a launch-post number that shrinks under scrutiny.

The caveat cuts the prize down further. Batching already recovers arithmetic intensity, so for nightly embedding or bulk labeling, large-batch autoregressive inference amortizes most of the bandwidth penalty and diffusion buys far less than the 100x framing implies. The prize is low-batch, latency-sensitive single-stream serving: interactive assistants, agent inner loops, streaming ranking. Aggressive parallel unmasking also degrades quality, which is why confidence-aware parallel decoding and LLaDA 2.1's token editing exist at all.

The denoising-steps-versus-quality curve is the experiment that settles this, and nobody has published it for your task.

The most underrated item in either report is the migration path. Attention mask annealing converts an existing autoregressive checkpoint toward diffusion behavior through fine-tuning. That turns "adopt a new architecture" into "run a fine-tune on a checkpoint you already own", which is a spike rather than a program. Serving levers reported the same week are cheaper first moves if the pain is autoscaling rather than p50: Baseten doubled GLM-5.2 throughput via speculative decoding to 280 tok/s peak, and NVIDIA's ModelExpress attacks cold starts with P2P RDMA weight transfer.

What to do

  1. Serve Dream 7B or LLaDA 2.0 on SGLang with Fast-dLLM block caching this sprint and benchmark tokens/sec plus p95 latency at batch size 1 against your autoregressive baseline at matched quality on your own eval set.

  2. Plot the denoising-steps-versus-quality curve on your top two tasks before quoting any speedup internally.

  3. Cost an attention-mask-annealing conversion of a checkpoint you already own this quarter instead of budgeting a diffusion pretrain.

The bottom line

The leverage sits outside the weights: validate who judges whom, price fan-out before you build it, and treat every artifact your tooling parses as hostile input.