RunInfraby RightNow
  • CatalogNew
  • Pricing
  • Research
  • Contact
DashboardSign inGet started
RunInfraby RightNow

© 2026 RunInfra. All rights reserved.

System status
Pipeline BuilderModelsPricingStartupsDocsResearchNewsContact
Backed by
YCombinator
AICPA Type II
SOC 2
NVIDIA Inception ProgramNVIDIA Inception Program
Ask AI about RunInfra
Part of RightNow
SecurityDPAAUPCookiesTermsPrivacy

August 1, 2026/10 min read

A number you cannot trace is not a number

The measurement discipline behind the Kimi K3 campaign, and the four published claims it deleted against our own interest. One container, one wheel, one variable, named refusal codes, and a measured noise floor.

RunInfra
Engineering
01Measurement
02Methodology
03Benchmark
Article map03 signals / 0V3S38E

Table of contents

  1. The window: one container, one wheel, one variable
  2. The refusal codes
  3. The noise floor, measured rather than assumed
  4. Four things we withdrew
  5. The raw-evidence law, and what it cost
  6. The thesis
Share:

The most useful thing this project built was not a kernel or a config. It was a measurement discipline strict enough that it kept deleting our own results. Four published claims were withdrawn by the people who made them, each one against our own interest, and the reason the surviving numbers are worth anything is that those four are on the record beside them.

This is how the instrument works and what it cost us.

The window: one container, one wheel, one variable

Every publishable comparison in this repository comes from a two-column window. Both arms run sequentially inside ONE container, on THE SAME eight B300 cards, with ONE wheel install, so the comparison carries no node-to-node variance and no install-to-install variance. Between arms the harness drains VRAM and records what it found: in the bring-up window, a maximum of 726.0 MiB used across all eight GPUs against a 2048.0 MiB threshold, both times.

Before any number renders, the comparison tool compares the two arms field by field and refuses if they differ. In the headline window it verified 26 request-profile fields identical (results/raw/k4pub-comparison.json, profile_verified.verified true): 11 single-stream fields covering concurrency, requests, warmup requests, input and output token targets, temperature, top_p, streaming, ignore_eos and seed; and 15 sweep fields covering workload, input and output token counts, GPU count, seed, concurrency list, and per-point requests, warmup and prompt fingerprint. The fingerprints are full sha256 digests of the prompt set at each of concurrency 1, 8 and 32. Two arms that disagree about what they were asked are not a comparison, and the tool will not pretend otherwise.

The delta convention is fixed and printed in every output: positive always means arm B is better, throughput uses (B minus A) over the absolute value of A, latency uses (A minus B). Any value absent from a raw file renders as the word absent and its delta is absent too. No value is interpolated, derived from a neighbouring percentile, or invented.

The refusal codes

The tool exits with a named refusal rather than a best effort: 2 USAGE, 3 MISSING_ARM, 4 PROFILE_MISMATCH, 5 ZERO_BASELINE, 6 PROFILE_UNVERIFIABLE. Refusing on a profile it cannot check is a distinct code from refusing on a profile that does not match, because "I could not verify" and "I verified and it differs" are different facts.

This fired for real. In the first custom-prefill plus DSpark window, stock upstream failed to serve, so arm A produced no benchmark artifact at all. The comparison step exited 3 with REFUSED MISSING_ARM: arm A single-stream raw file ... cannot be read (results/raw/twocol-step-compare.log), and the payload recorded headline.publishable false, headline.armA null, headline.ratio_b_over_a null. There is no stock-versus-tuned number for that window and there never will be, which is inconvenient, because a serves-at-all result is the most quotable thing that window produced.

The noise floor, measured rather than assumed

Two servers on the same hardware, running the same stock configuration, were benched against each other as an A/A control (results/raw/serving-c1-c8-runA.json and results/raw/serving-c1-c8-runB.json). The deltas: minus 0.33 and plus 0.39 percent on tok/s/GPU, plus 0.28 and minus 0.00 percent on TPOT p50, minus 0.05 and plus 0.74 percent on TTFT p50, at concurrency 1 and 8. That establishes a harness noise floor of roughly plus or minus 0.7 percent TTFT, 0.4 percent throughput and 0.3 percent TPOT, under the stated conditions: workload A, 3 requests per point, max_tokens 256. Any claim below that floor is noise.

That floor is what lets a later result be read honestly rather than spun. When the shipped configuration measured minus 0.83 percent throughput at concurrency 32, the correct reading was "flat", not "a small regression" and certainly not "no change".

A second, larger spread is also on the record: the same configuration measured 118.27 tok/s single stream in one window and 119.84 in another, a 1.3 percent run-to-run spread between windows that is wider than the within-window throughput floor. Recorded rather than smoothed.

That A/A control also paid for itself twice over by finding two harness defects before they could contaminate a claim. The patch hook armed on the wrong module, so the candidate arm ran stock and the whole run was an A/A rather than an A/B. And the accuracy gate turned out to be unsound, which is the first of the four withdrawals.

Four things we withdrew

The cross-server logit gate, demoted

The gate compared logit captures across two server instances and FAILED at top-1 78.12 percent, KL 0.2378, on two effectively identical stock configurations (results/raw/trial-payload.json). Tensor-parallel reduction order differs per server instance, and on a recurrent-state model that dominates temperature-0 token agreement. An instrument that scores 78 percent comparing a server against itself cannot certify a 99.5 percent threshold for anything. It was demoted to informational.

This matters most where it hurts. The W4A8 expert backend later failed that same gate at top-1 65.94 percent, KL 0.5364, with 24.16 percent of positions skipped for thin shared support (results/raw/w4a8gate-gate-result.json). Sitting below the 78.12 percent self-comparison control is weak evidence that the backend diverges more than instance noise, and that is expected by construction, because W4A8 quantizes activations and genuinely should differ. What the instrument cannot say is whether the difference costs task quality, which is the only question a buyer has. The tool reports task-level evaluation as SKIPPED and its own note names the runners as unwired. So the backend stays out of the product, and the number it produced stays a recorded fact about a configuration we do not sell.

2.78 accepted tokens per step, withdrawn

A planning document used 2.78 tokens per verify step and attributed it to the shipped k=4 configuration. Verified against the committed Prometheus scrapes, the attribution was wrong twice. The only committed scrapes carrying non-zero speculative counters are results/raw/twocol-armB-metrics-after-t0.txt and -t30.txt, and 426608 draft tokens over 60944 drafts is exactly 7.00 per draft, so the scrape describes k=7, not k=4. And 1 plus 126490 over 60944 is 3.076 accepted tokens per step, not 2.78. The sweep raw files embed metric snapshots taken BEFORE traffic, so their counters are all zero and can source no acceptance figure at all. Every projection built on 2.78 was withdrawn, and a dedicated probe later measured the real k=4 figure at 2.6498 (results/raw/accept-acceptance-probe.json).

A 30x time-to-first-token advantage, withdrawn

A public leaderboard shows 13 to 15 second "latency" figures for this model's providers, and we read that as time to first token against our own 429 ms. It is not. It is time to first ANSWER token on a reasoning model that emits roughly 2000 reasoning tokens first. The relationship TTFAT equals TTFT plus 2000 divided by output speed reproduces all nine listed providers to two decimal places, with three exact hits against figures quoted verbatim on the page (docs/AA-PROVIDER-BRIEF.md). Real top-provider TTFT is 1.12 to 3.53 seconds. Our 429 ms would rank first on true TTFT and fourth on the column the board actually headlines, because for a reasoning model decode speed dominates visible latency by roughly six to one. The claim was wrong, it was ours, and it is withdrawn. The correction moved the target that matters from a hand-waved gap to an arithmetic one.

A mechanism, withdrawn after it looked proven

A CUDA graph capture crash on the W4A8 backend was attributed to failed autotune tactics poisoning the context, and a window in which the backend served under full graphs with autotune off was recorded as proving it. The confirming experiment then killed it: FlashInfer's own generator found zero invalid tactics at this model's real expert shape and produced no file, and the serve survived capture with autotune ON and no blocklist, at 140.42 tok/s against 140.30 with autotune off (results/raw/blocklist-manifest.json). One failure and two successes across two differing conditions attribute nothing. The mechanism is withdrawn and the crash is recorded as unexplained.

The raw-evidence law, and what it cost

Every published number traces to a committed raw file with per-request rows. The rule has teeth because it deleted our best-looking table. The first healthy serve of this model produced aggregate throughput of 49.0, 191.0, 299.7 and 329.7 tok/s at concurrency 1, 8, 32 and 128. That serve revision wrote its raw JSON inside the container and the container died before persistence to the volume existed. Those four rows have no raw file, so they are uncitable forever. They stay in the log labelled as recorded history, and every published claim uses the lower, raw-backed points instead.

The same law caught a citation that would have looked like fabrication. An early draft cited engagement evidence as kda.py:163, which is the vLLM source location that emitted the message, not a line number in our log. A checker following it would have landed on a safetensors progress bar. The correction is in the log: the kernel engagement line is log line 133 of the committed serve log, and it is cited that way now.

Two windows were lost outright to a VRAM drain defect, at roughly 50 dollars an hour on eight B300s. The fix was to stop guessing from process names and ask the driver who holds the memory, and to record what the sweep killed either way, so the next occurrence is one read rather than another window.

The thesis

None of this makes a number bigger. It makes a number survivable. A reader with a terminal can open every raw file cited in these writeups, recompute the p50 from the eight per-request rows, check that the two arms were asked the same question, and find the places where we scored ourselves badly and said so. That is the only thing that makes the rest believable, and it is cheaper than being caught.

These findings come from the Kimi K3 serving campaign. The card below reads its current price, kit size, checksums, and measurements from the package definition at build time.

Kimi K3

Price$2,300
GPUB300
EnginevLLM 0.23.1

2.12x faster

Written by

Jaber JaberFounder and researcher, RunInfra
<-Previous$0.09 and $290.12: What Actually Moves Your Inference BillNext->Day zero on a 2.8T model: five walls between released weights and a served endpoint

Latest articles

RunInfra
August 1, 2026

Speculative decoding inverts with concurrency, and the draft horizon is the knob

RunInfra
July 30, 2026

Serving Kimi K3 on vLLM was hard. Here is what we measured.

RunInfra
Engineering
01vLLM
02SGLang
03TensorRT-LLM
Article map03 signals / 03C5AMR
June 20, 2026

vLLM vs SGLang vs TensorRT-LLM: a reproducible benchmark

Deploy your first optimized model, measured before you ship

Describe the goal. RunInfra builds and optimizes the stack.

Start BuildingView Pricing
End-to-end encryption
Isolated GPU infrastructure
Zero data retention
SOC 2 Type II
RunInfraby RightNow

© 2026 RunInfra. All rights reserved.

System status
Pipeline BuilderModelsPricingStartupsDocsResearchNewsContact
Backed by
YCombinator
AICPA Type II
SOC 2
NVIDIA Inception ProgramNVIDIA Inception Program
Ask AI about RunInfra
Part of RightNow
SecurityDPAAUPCookiesTermsPrivacy