Skip to content
Seldon

Technology

Eight compounding reductions, none of them magic.

Every technique below is published, peer-reviewed, and available to anyone willing to do the engineering. We are not claiming a secret. We are claiming that assembling all of them into one production serving stack, and keeping them working together under real traffic, is hard enough that most providers implement three or four.

17.3xCompounded reductionAfter discounting for overlap between techniques. The undiscounted product would be 83.9x.

01The cost identity

Where the money actually goes

Before any technique, it helps to see what determines cost per token. Everything downstream is an attack on one of these four terms.

Cost per million output tokens

CPMT = 277.78 × ($/hr) × [ r(1−h) / P + 1 / D] / U

$/hr
GPU hourly costWhat you pay for capacity
P
Prefill throughputInput tokens/sec/GPU
D
Decode throughputOutput tokens/sec/GPU
U
Fleet utilizationFraction of paid GPU-hours serving traffic
r
Input:output ratioWorkload shape
h
Cache hit ratePrefill avoided by prefix reuse

Four of these are engineering variables and two are properties of your workload. A provider can only compete on the four. Raise decode throughput, raise utilization, lower the hourly cost of capacity, and the price falls out of the arithmetic. There is no other lever, and any provider claiming a cost advantage is pulling one of these whether they describe it that way or not.

$0.704
Baseline

Dense 70B at FP8 on one rented H200, stock serving stack, no prefix cache. What a team that has done none of this work is running.

$0.041
After the stack

Same class of output quality, all eight techniques applied, on continuously sourced capacity.

02The stack

Compounding, in the order you would build it

Each bar takes the running cost and multiplies it by that stage's factor. The factors shown are already discounted for overlap, so the final figure is the honest product rather than the flattering one.

USD per million output tokens, by stage

Llama 3.3 70B dense, FP8 weights, one rented H200 at $4.39/GPU-hr, 1K in / 1K out chat, 50 tok/s/user, stock vLLM with continuous batching, PagedAttention and chunked prefill, no prefix cache, 100% utilization.

USD per million output tokens, by stage
StageMultiplierRunning cost
Stock stack1.00x0.70
Sparsity0.52x0.36
Speculation0.70x0.25
Precision0.64x0.16
KV compression0.81x0.13
Serving stack0.82x0.11
Disaggregation0.77x0.08
Routing0.78x0.06
Capacity0.63x0.04
Seldon0.058x0.04

Factors are discounted from their measured values because these techniques overlap: prefix caching and semantic caching compete for the same tokens, and sparsity and quantization both attack memory bandwidth. The undiscounted product would be 83.9x, which would be wrong.

research/tech-batching-economics.md section 6.1; RunPod live pricing 2026-07-17; SemiAnalysis InferenceMAX H200 throughput

03Why not a bigger number

The arithmetic we did not do

Multiplying every technique’s best published result gives 83.9x. We do not believe that number, and neither should you.

These techniques are not independent. Sparsity and quantization both attack memory bandwidth, so the second one applied has less left to win. Prefix caching inside the serving stack and semantic caching inside the router compete for the same repeated tokens. Stacking their individual gains multiplicatively counts the same saving more than once.

So each factor is dampened by an exponent reflecting how much it overlaps with the rest of the stack, which strips out 4.9x of claimed benefit and leaves 17.3x. The weights are published in our source tree, one per technique, so you can dispute an individual weight rather than having to accept or reject the whole figure.

Excluded from the stack

  • Hardware generation. The H100-FP8 to B200-FP8 step alone is a measured 2.94x in performance per dollar, and much of it is 192 GB of HBM3e eliminating tensor-parallel communication rather than raw FLOPs. Including it would conflate buying newer silicon with engineering the software stack.
  • Fleet utilization. Measured enterprise GPU utilization is 5% against a well-run 49%, roughly 10x, and it is larger than the entire hyperscaler-to-neocloud price spread. It is excluded because it would double-count against the serving and scheduling factors, which are the mechanisms that raise it.
  • The 21x figure for multi-token prediction on DeepSeek-R1 at 150 tok/s/user. It is real and measured, but it is a single point at an extreme interactivity setting where the baseline is pathologically bad. Using it would be quoting the best cell of a table.
  • Batch size. Going from batch 1 to batch 64 is a measured 39-40x on a 70B model, but batch is the baseline's operating point rather than a technique, and every factor here is already stated at production concurrency.

Cross-checked against measurement

11.7xverified

Measured: dense 70B FP8 on rented H200 against sparse gpt-oss-120b MXFP4 with EAGLE-3 on rented B200

Covers four of the eight factors. The stack claims 17.3x across all eight, which requires the remaining four to be worth 1.5x combined. That is conservative against their individually measured ranges.

1.4xverified

Published production floor, frontier MoE at $2/GPU-hr

Not directly comparable, since this is a different model at a different interactivity level on cheaper capacity. Included as a sanity anchor on the order of magnitude, not as a step in the stack.

04Technique by technique

What each stage actually does

Measured factor, the range reported across the literature, and the papers the number comes from. Where a range is wide, that reflects genuine disagreement in published results rather than uncertainty about our own implementation.

01

Sparsity

Architecture

Mixture of experts

Route each token to a small subset of expert feed-forward blocks, so parameter count and per-token compute decouple.

Parameter footprint scales with the number of experts; FLOPs per token scale only with the number activated. DeepSeek-V3 activates 37B of 671B parameters and spends 250 GFLOPS per token against dense LLaMA-3.1-405B's 2,448, a 9.8x reduction, while scoring higher on most benchmarks. The sparsity ratio has climbed roughly 16x in three years, from 4 (Mixtral) to 64 (DeepSeek-V4-Pro). Baseline for this factor is a dense model of equal or better benchmark quality on the same hardware. Two caveats bound the factor from above: sparsity does not reduce memory, since a 671B model still needs 671B parameters resident, and at small batch a mixture of experts reads k/N of the weights to do k/N of the work, so its arithmetic intensity matches dense while it additionally pays routing and all-to-all cost. The gain is entirely a large-batch phenomenon.

Evidence (7)
  • DeepSeek-V3 Technical Report (DeepSeek-AI, arXiv:2412.19437)
  • Insights into DeepSeek-V3: Hardware for AI Architectures (arXiv:2505.09343), Table 1, 250 vs 2,448 GFLOPS/token
  • DeepSeekMoE (Dai et al., ACL 2024, arXiv:2401.06066): 16B matches LLaMA2-7B at roughly 40% of computations
  • Kimi K2: Open Agentic Intelligence (Moonshot, arXiv:2507.20534): sparsity 48 reduces FLOPs 1.69x vs sparsity 8 at equal validation loss
  • Switch Transformer (Fedus et al., JMLR 2022, arXiv:2101.03961)
  • Auxiliary-Loss-Free Load Balancing (arXiv:2408.15664): 13-18x reduction in maximal violation with lower perplexity
  • DeepSeek EPLB, measured by SGLang on 96x H100: 1.49x prefill, 2.54x decode
3.3xMeasuredreported
1.8x to 10.0xrange across published results
1.9xcarried into the stack after the overlap discount (x0.55 weight)
02

Speculation

Decoding

Speculative decoding and multi-token prediction

A cheap drafter proposes several tokens and the target model verifies them all in one forward pass, converting idle FLOPs into throughput.

Decode reads the whole weight matrix from HBM to do a trivial amount of arithmetic, so verifying eight tokens costs almost exactly what verifying one costs. Rejection sampling makes the output distribution provably identical to plain sampling, so this is not a quality trade. The governing condition is that acceptance rate must exceed the drafter's relative cost; below that, speculation makes the system slower, which is what happens to EAGLE-1 at batch 24 and above. Baseline for this factor is the same model and hardware with speculation disabled at production concurrency, not at batch 1. Paper figures of 4x to 6.5x are single best cells at batch 1 against unoptimized baselines and are not used here.

Evidence (8)
  • Leviathan, Kalman & Matias, Fast Inference from Transformers via Speculative Decoding (ICML 2023, arXiv:2211.17192)
  • Medusa (Cai et al., ICML 2024, arXiv:2401.10774): 2.83x at batch 1, per-step overhead 1.18-1.27x
  • EAGLE-3 (Li et al., 2025, arXiv:2503.01840): mean 4.1-5.5x at T=0 in-paper; holds 1.38x throughput at batch 64 where EAGLE-1 falls to 0.99x
  • EAGLE 3.1 (vLLM blog, 2026-05-26): 2.03x at concurrency 1, 1.66x at concurrency 16 on Kimi-K2.6-NVFP4 / GB200
  • Red Hat, vLLM + EAGLE-3 on gpt-oss-120b / H200 (2026-04-16): -19.4% cost per 1M output tokens on SWE-bench, geomean over concurrency 1 to 200
  • vLLM + EAGLE-3 on AMD MI355X (2026-07-13): 1.69-2.00x on Kimi K2.5
  • DeepSeek-V3 multi-token prediction: 85-90% second-token acceptance, 1.8x tokens per second
  • Snowflake Arctic Inference suffix decoding: roughly 4x on SWE-bench agentic traffic
1.7xMeasured
1.2x to 2.5xrange across published results
1.4xcarried into the stack after the overlap discount (x0.70 weight)
03

Precision

Precision

FP8 and NVFP4 / MXFP4 low-precision serving

Store and compute weights at four to eight bits instead of sixteen, cutting the bytes that decode is bound by and the FLOPs that prefill is bound by.

FP8 is settled and effectively lossless: across the Llama-3.1 family W8A8-FP recovers 99.3% to 100.1% of BF16 on Open LLM Leaderboard averages. FP4 is the live frontier and is format-sensitive. NVFP4's 16-element blocks with FP8 scales beat the open MXFP4 standard's 32-element blocks with power-of-two scales by roughly 10 percentage points of relative recovery before format-specialized methods close the gap. Baseline for this factor is FP8 weights on the same silicon, which is what production actually serves today, so the factor isolates the precision step from the hardware step. It therefore assumes Blackwell-class FP4 tensor cores. Nobody quantizes everything: the universal production recipe is FP4 for the large mixture-of-experts and feed-forward GEMMs, FP8 for attention and KV cache, and BF16 for a handful of sensitive layers.

Evidence (7)
  • SemiAnalysis InferenceX, MiniMax-M2.5 on vLLM (May 2026): B200 FP8 to B200 NVFP4 is 2.77x performance per dollar at 110 tok/s/user, isolated from the 2.94x hardware step
  • LMSYS, DeepSeek V3/R1 on GB200 NVL72 (2025-09-25): FP8 attention + NVFP4 MoE gives +41.6% prefill and +47.3% decode over BF16 attention + FP8 MoE on identical hardware
  • Kurtic et al., Give Me BF16 or Give Me Death (ACL 2025, arXiv:2411.02355), over 500,000 evaluations
  • NVIDIA, Introducing NVFP4: quantization MSE 0.08 for E4M3 scaling against 0.72 for E8M0
  • Egiazarian et al., Bridging the Gap for Microscaling FP4 (arXiv:2509.23202): NVFP4+MR-GPTQ 96.08% recovery, MXFP4+RTN 87.83%
  • NVIDIA Quantization-Aware Distillation report (2026-03-05): NVFP4 PTQ cost a 49B reasoning model 13.7 AIME25 points while IFEval moved 0.6
  • MLPerf Inference v6.0, DeepSeek-R1 on GB300 NVL72: 5,842 tok/s/GPU offline with FP4 weights and FP8 KV cache
1.8xMeasured
1.4x to 2.8xrange across published results
1.6xcarried into the stack after the overlap discount (x0.75 weight)
04

KV compression

Architecture

Attention architecture and KV cache management

Shrink the bytes each sequence occupies in HBM, because KV cache size is what caps batch size and batch size is the denominator of cost per token.

Total HBM is weights plus activations plus KV cache. Weights are fixed, so the KV cache sets the maximum concurrency, and cost per token is inversely proportional to achievable concurrency. Multi-head latent attention gets DeepSeek-V3 to 70.3 KB per token against LLaMA-3.1-405B's 516 KB, though normalising per layer the honest architectural gap is 3.6x rather than 7.3x. Baseline for this factor is a modern serving stack that already has PagedAttention and grouped-query attention, both of which are universal in 2026, so the 8x MHA-to-GQA reduction and PagedAttention's 2-4x against 2023 baselines are already spent and are not counted here. The marginal levers that remain are FP8 or NVFP4 KV cache and latent-attention-class compression. FlashAttention makes attention compute fast but does not reduce KV cache size, so its wins land in training and prefill rather than in decode cost.

Evidence (7)
  • Kwon et al., vLLM PagedAttention (SOSP 2023): KV waste from 60-80% down to under 4%, 2-4x throughput at equal latency
  • Ainslie et al., GQA: Training Generalized Multi-Query Transformer Models (EMNLP 2023): GQA-8 is 5.4x faster than MHA at better average quality for 5% of pretraining compute
  • DeepSeek-V2 (arXiv:2405.04434): 93.3% KV cache reduction, 5.76x maximum generation throughput vs DeepSeek 67B
  • vLLM, The State of FP8 KV-Cache and Attention Quantization (2026-04-22): +14.9% output throughput, inter-token latency slope at 54% of BF16, break-even near 7k tokens
  • NVIDIA NVFP4 KV cache: 50% memory reduction against FP8, RULER 64K down 1.0 point
  • Dao et al., FlashAttention-2 and FlashAttention-3: 740 TFLOP/s FP16 at 75% utilization on H100; FlashAttention-4 at 1,605 TFLOP/s BF16 on B200
  • Mind the Memory Gap (arXiv:2503.08311): attention arithmetic intensity nearly constant from batch 1 to max, compute utilization roughly 3.5-3.8% at max batch
1.4xMeasuredreported
1.2x to 2.0xrange across published results
1.2xcarried into the stack after the overlap discount (x0.60 weight)
05

Serving stack

Serving

Continuous batching, prefix caching, and CPU overhead removal

Schedule at the iteration rather than the request, reuse the KV of any prefix already computed, and stop the CPU from being the bottleneck.

Continuous batching was the largest single historical win in this field, up to 23x over static batching, but it is table stakes and is inside the baseline rather than counted here. Baseline for this factor is stock vLLM with continuous batching, PagedAttention and chunked prefill already on. What remains is prefix caching, cache-aware routing, CUDA graphs and scheduler overhead removal. Prefix caching is the highest-leverage item and its value is a property of the traffic, not of the system: measured hit rates run 1.7% on code generation, 78% on chat, and near 100% on classification. DeepSeek's production 56.3% hit rate was worth 36% of their total serving cost. Cache investment should be sized to the input:output ratio, since at r = 0.125 even a 90% hit rate is worth only 4.7%.

Evidence (8)
  • Yu et al., Orca: A Distributed Serving System for Transformer-Based Generative Models (OSDI 2022), origin of continuous batching
  • Kwon et al., vLLM PagedAttention (Kwon et al., SOSP 2023)
  • Zheng et al., SGLang RadixAttention (arXiv:2312.07104): up to 6.4x throughput on agent, reasoning, RAG and multi-turn workloads
  • SGLang v0.4 cache-aware load balancer: 1.9x throughput from a 3.8x higher cache hit rate, purely from routing
  • Agrawal et al., Sarathi-Serve chunked prefill (OSDI 2024): 2.6x on Mistral-7B, 3.7x on Yi-34B, 5.6x on Falcon-180B
  • LMCache: 50% cache hit rate measured at an enterprise deployment, falling from 85% to 45% when context truncation is applied
  • DeepSeek open-infra-index: 342B of 608B input tokens served from cache over 24 hours, worth 36% of total serving cost
  • vLLM V1: 1.7x over V0 from CPU overhead reduction, with kernels described as almost identical
1.5xMeasured
1.1x to 1.8xrange across published results
1.2xcarried into the stack after the overlap discount (x0.50 weight)
06

Disaggregation

Scheduling

Prefill/decode disaggregation and goodput-aware scheduling

Run the compute-bound prefill phase and the bandwidth-bound decode phase in separate GPU pools, each with its own parallelism strategy and SLO.

Prefill wants FLOPs and decode wants bytes per second, so co-locating them means each interferes with the other and neither gets its preferred parallelism. Naive hybrid batching inflates time-between-tokens by up to 28.3x. Baseline for this factor is a co-located deployment with chunked prefill already enabled, which is the honest comparison since chunked prefill is the alternative solution to the same problem and is already in the serving baseline. This factor is expressed on goodput, meaning requests per second that meet both a time-to-first-token and a time-per-output-token target, not raw throughput; a system with 10 rps of throughput can have 3 rps of goodput. Disaggregation is not always a win: under tight-TTFT and loose-TPOT workloads one 2025 measurement puts aggregation ahead at 97% against 42% SLO attainment, which is why the upper end of the range is 1.00.

Evidence (7)
  • Zhong et al., DistServe (OSDI 2024, arXiv:2401.09670): 2.0-4.48x goodput per workload; the abstract's 7.4x is the best cell of the grid and is against DeepSpeed-MII, not vLLM
  • Patel et al., Splitwise (ISCA 2024, arXiv:2311.18677): 1.4x throughput at 20% lower cost; decode GPUs can be power-capped over 50% with almost no latency impact
  • Qin et al., Mooncake (FAST 2025, arXiv:2407.00079): 59-498% effective request capacity on real traces under SLO; 75% more requests in Kimi production
  • Agrawal et al., Sarathi-Serve (OSDI 2024): the co-location control, 28.3x TBT inflation from naive hybrid batching
  • HexGen-2 (ICLR 2025): heterogeneous prefill/decode, 2.0x peak and 1.3x average throughput at equal budget
  • NVIDIA Dynamo 1.0 (2026-03-16): Planner, KV-aware Smart Router validated on 100K real DeepSeek-R1 requests, NIXL transfer library
  • Revisiting SLO and Goodput Metrics in LLM Serving (arXiv:2410.14257): the counter-argument that both standard metrics are gameable
1.6xMeasuredreported
1.0x to 3.3xrange across published results
1.3xcarried into the stack after the overlap discount (x0.55 weight)
07

Routing

Scheduling

Model routing, cascades, and semantic caching

Send each request to the cheapest model that will answer it correctly, escalating only when a scorer says the cheap answer is not good enough.

Two very different families of numbers exist here and conflating them is the main credibility risk. Single-benchmark headlines (85% on MT-Bench, 98% on HEADLINES) come from settings where the weak model was already close to the strong one: on MT-Bench, Mixtral-8x7B alone already scores 89% of GPT-4, so the router closes 6 of the 11 points of gap. Baseline for this factor is serving every request on the single best model, and the factor used is the broad multi-domain number rather than any headline. The documented failure mode is routing collapse: as budgets rise, deployed routers converge on the strongest model, sending roughly 100% of queries to GPT-4 where an oracle would use it for under 20%, and prior routers reach GPT-4-level performance only at over 93% of GPT-4's cost. Semantic caching is a separate mechanism with a real correctness cost: at a 0.8 similarity threshold, 2.7% to 7.5% of cache hits returned a wrong answer.

Evidence (8)
  • Ong et al., RouteLLM (ICLR 2025, arXiv:2406.18665): 85% cost reduction at 95% of GPT-4's MT-Bench score, routing 13.4% of queries to GPT-4; router overhead under 0.5%
  • Chen, Zaharia & Zou, FrugalGPT (TMLR 2024, arXiv:2305.05176): savings range 50% to 98% across five datasets; the 98% is HEADLINES, a four-way classification task
  • Ding et al., Hybrid LLM (ICLR 2024, arXiv:2404.14618): up to 40% fewer calls to the large model with no quality drop
  • BEST-Route (Microsoft, ICML 2025, arXiv:2506.22716): up to 60% cost reduction at under 1% performance drop
  • RouterBench (arXiv:2403.12031): 405k precomputed inference outcomes; the oracle seldom selects GPT-4
  • LLMRouterBench (arXiv:2601.07206, 2026): 33 models, 21 datasets, 391,645 instances; best routers give up to 31.7% cost reduction while matching the best single model
  • EquiRouter (arXiv:2602.03478, 2026): documents routing collapse, GPT-4-level at 77% of GPT-4 cost against over 93% for prior routers
  • GPT Semantic Cache (arXiv:2411.05276): 61.6-68.8% API call reduction on repetitive support traffic, at a 92.5-97.3% positive hit rate
1.5xMeasuredreported
1.1x to 2.0xrange across published results
1.3xcarried into the stack after the overlap discount (x0.65 weight)
08

Capacity

Sourcing

Capacity sourcing across tiers and terms

Buy the same silicon at the clearing price rather than the posted price, and match contract term to the shape of the load.

The identity is cost = 277.78 x ($/hr) / (tokens/sec/GPU), so price and throughput are separate multiplicative terms and this is the one factor in the stack that is close to genuinely independent of the others. Identical H100 silicon rents from $0.45 to $12.29 per GPU-hour, a 27x raw spread and 6.2x on non-interruptible capacity, while the all-in cost to produce that hour is roughly $1.45. The spread persists because hyperscaler on-demand is an administratively-set posted ceiling rather than a clearing price, and because resale is contractually prohibited at most venues, so the classic arbitrage is not executable where the spread is widest. Baseline for this factor is a neocloud on-demand rate, which is where the unit economics cases in fleet.ts are already priced. From that starting point the available lever is tier and term, roughly 1.2x to 2.7x, not the full hyperscaler-to-marketplace spread. Utilization is a larger lever still and is deliberately excluded here to avoid double-counting it against the serving and scheduling factors.

Evidence (8)
  • Silicon Data SDH100RT indices (2026-07-15): standardized H100 at $2.70 neocloud against $7.24 hyperscaler, a 2.68x like-for-like spread
  • Live provider rate cards fetched 2026-07-19/20: RunPod $1.99, Nebius $3.85, Lambda $3.99, CoreWeave $6.16, AWS $6.88, GCP $11.06, Azure $12.29 per H100-hour
  • Together AI published reserved rate card: -10% at 7-30 days, -18% at 31-90, -23% at 91-180 for H100
  • CoreWeave published discount ceiling of up to 60%; Nebius up to 35%
  • Silicon Analysts, GPU Rental Price Decomposition (2026-07-10): $1.12 hardware plus $0.33 energy and facility per H100-hour at 70% utilization
  • SemiAnalysis H100 contract index: 1-year contract rose from $1.70 to $2.35 between Oct 2025 and Mar 2026, and on-demand was marked sold out for three consecutive months
  • AWS EC2 Capacity Blocks: prices raised roughly 15% on 2026-01-04 and roughly 20% on 2026-07-01
  • Cast AI 2026 State of Kubernetes Optimization Report: 5% measured GPU utilization across roughly 23,000 enterprise clusters
1.7xMeasuredreported
1.2x to 2.7xrange across published results
1.6xcarried into the stack after the overlap discount (x0.90 weight)

05Sanity check

Where the endpoint sits against published figures

A cost model that lands outside the range of every published measurement is a broken model. Ours sits between what is achievable on owned hardware and what is typical on rented capacity, which is where a rented-capacity number belongs.

USD per million output tokens, published reference points

Log scale. These figures come from different models, hardware, and interactivity targets, so they are bounds rather than a like-for-like comparison.

USD per million output tokens, published reference points
ItemDetailValue ($)
NVIDIA / SemiAnalysisgpt-oss-120b, owned B200, max throughput$0.012
NVIDIA headlinegpt-oss-120b, owned B200, 100 tok/s/user$0.022
Seldonderived from the stack above$0.041
Rented on-demand B200gpt-oss-120b, 100 tok/s/user, 100% utilization$0.060
Rented B200, 60% utilizationsame configuration, realistic fleet$0.100
SGLang reproductionDeepSeek-class MoE on 96 rented H100s$0.200
DeepSeek V3/R1published production bill$0.518
Together AI list pricegpt-oss-120b output tokens$0.600

Our endpoint is not the cheapest number on this chart. Providers running owned, depreciated hardware at high utilization can go lower, and we would rather show that than crop the axis.

See research/ for per-figure provenance

Ask us the hard version of any of this.

Every factor above has a failure mode, a workload where it does nothing, and a range where published results disagree. Our engineers would rather walk you through those than through a deck.