GO TO A SECTION

↑ ↓ to navigate · Enter to openExplore all sections →
FDEInterviews logo
arXiv preprint

Helix Parallelism: Rethinking Sharding Strategies for Interactive Multi-Million-Token LLM Decoding

Past 8 GPUs, tensor parallelism stops speeding up attention: each extra GPU copies the KV cache. Helix splits the sequence for attention and all GPUs for the FFN, for up to 32x the users at 1M tokens.

Breakdown by FDE Interviews · 12 min read · Updated

About the original · 2025
AUTHORS
Bhatia, More, Borkar, Mitra, et al.
FROM
NVIDIA
PUBLISHED
Jul 2025 · arXiv preprint
CITED BY
9Semantic Scholar · Oct 2026
IN THIS BREAKDOWN · 10 SECTIONS

You can read 20% of this breakdown.

01

The paper in one minute

Generating one token for a long-context request reads two big things from GPU memory: the KV cache for attention, which grows with context length and batch size, and the FFN weights, which every token needs regardless of context. At a million tokens of context, both matter.

Tensor parallelism (TP) splits a layer across GPUs so each reads less. For attention it splits by head. Modern models share KV heads across query heads (grouped-query attention with K = 8 KV heads is common; DeepSeek's MLA effectively has one). Once TP is wider than K, each extra GPU still needs a full copy of at least one KV head, so KV reads per GPU stop shrinking. The paper's roofline: at batch 8 and 1M tokens in FP4, KV reads per layer fall from 1,024 µs to 128 µs as TP goes from 1 to 8, then stay at 128 µs. Duplicated KV also eats the memory that would hold more requests.

KV parallelism (KVP) splits the sequence instead: each GPU holds a slice of the history for its heads, computes attention over its slice, and returns a partial output plus a log-sum-exp; one all-to-all combines them into the exact result (the same trick as Flash-Decoding). Prior work (Medha) did this but then ran the FFN on a fixed group of 8 GPUs, leaving FFN weight reads slow.

Helix reuses the same N GPUs in two layouts per layer: KVP × TP (TP ≤ K) for attention, then TP across all N (or TP × expert parallelism for MoE) for the FFN. HOP-B overlaps each request's all-to-all with the next request's attention. New KV entries rotate across KVP ranks every 16 tokens so memory fills evenly.

In NVIDIA's simulator of GB200 NVL72 with FP4 at a 1M-token context, Helix raised per-user speed up to 1.5x and supported up to 32x more concurrent users for DeepSeek-R1; for Llama-405B, 1.13x and 4x against TP.

THE IDEA, VISUALLY
ONE LAYER, TWO LAYOUTS ON THE SAME N GPUS attention: N = KVP x TPA KV heads / TPA (TPA ≤ K) sequence split across KVP: S/KVP tokens each each GPU: full QKV projection, attention over its KV shard, partial output + log-sum-exp one all-to-all: rescale and sum, exact softmax FFN: the same N GPUs regrouped dense: TPF = N FFN weights split N ways MoE: TPF x EP = N experts and their weights split Why: once TP exceeds the KV head count, extra GPUs must copy the KV cache, so attention stops getting faster. Splitting the sequence instead keeps every GPU's KV slice unique, and the FFN can still use all N GPUs to cut its weight reads. HOP-B overlaps each request's all-to-all with the next request's attention. New KV entries rotate across KVP ranks every 16 tokens. KV READ PER LAYER, 1M TOKENS (APPENDIX A) microseconds, batch 8, FP4, 8 TB/s; our recomputation TP width 1 1024 2 512 4 256 8 128 16 128 32 128 64 128 flat past TP = 8 KV heads KVP width (TP = 8) 1 128 2 64 4 32 8 16 SIMULATED ON GB200 NVL72, 1M CONTEXT (SECTION 3) interactivity users / throughput DeepSeek-R1 (MLA, MoE) up to 1.5x up to 32x Llama-405B (GQA, dense) 1.13x 4x vs TP HOP-B off: -12% tokens/s/user for Llama-405B, ~1% for DeepSeek-R1. Results from NVIDIA's in-house simulator, normalized to the best baseline, FP4, 1-64 GPUs.
Helix gives attention and the feed-forward layers different layouts on the same GPUs: split the sequence for attention so no KV is duplicated, then split the weights across every GPU for the FFN.
Research notes: the problem, approach and results
up to 32x

more concurrent users at the same latency budget for DeepSeek-R1 at a 1M-token context, simulated on GB200 NVL72

1.5x

higher tokens per second per user for DeepSeek-R1 against the best baseline sharding

128 µs

per-layer KV read floor once tensor parallelism passes 8 KV heads (batch 8, 1M tokens, FP4), from the paper's roofline

THE PROBLEM

Decoding with a million-token context is limited by two memory reads per token: the KV cache in attention and the FFN weights. Tensor parallelism splits both, but only up to the number of KV heads (often 8); beyond that each GPU stores a full copy of a KV head, so attention stops getting faster and memory for batching shrinks.

THE IDEA

Use different parallelism for each phase of every layer on the same GPUs. In attention, split KV heads up to their count and split the sequence across the rest (KV parallelism), combining partial results exactly with one all-to-all. In the FFN, regroup the same GPUs into tensor parallelism across all of them, or tensor times expert parallelism for MoE models. Overlap the all-to-all with the next request's attention (HOP-B).

THE RESULT

In NVIDIA's simulator of GB200 NVL72 with FP4 and a 1M-token context, Helix raised per-user token rate up to 1.5x and concurrent users up to 32x for DeepSeek-R1, and 1.13x and 4x for Llama-405B against tensor parallelism.

02

Why it matters to an FDE

Customers asking for whole-codebase, whole-archive or long-running agent contexts are asking for decode at hundreds of thousands to millions of tokens. The question that follows is how many GPUs per user, and what latency.

More GPUs don't help attention past the KV head count with plain TP. Adding GPUs to a TP group beyond 8 for a GQA model mostly copies KV cache. If a deployment's long-context latency won't improve with more GPUs, this is the first thing to check.

The shard layout decides concurrency. Duplicated KV leaves less memory for other requests; at a million tokens, a single request's KV cache for a 405B-class model is over 100 GB in FP4 by our arithmetic. Sharding the sequence is what turns a large NVLink domain into more concurrent users.

Short contexts reduce to something familiar. The paper notes that below about 4K tokens Helix becomes data-parallel attention with tensor-parallel FFN, already common in serving engines. The new part matters only for long histories.

THE FULL BREAKDOWN

Understand the mechanism. Try it on a real problem.

Unlock this breakdown and 149 more papers.

Premium opens every paper in full, plus every answer, concept, course and guide on the site. One payment for six months of access.

6 months · One payment · No auto-renewal

Get Premium · ₹2,000 / $25
  • ◇1 architecture diagram
  • </>1 runnable code experiment
  • ▦2 results tables
  • ?5 interview questions with answers
  1. 03Key takeaways

    The TP ceiling, exact sharded attention, phase-specific layouts, HOP-B and three misreadings

    Free account
  2. 04How it works

    The attention phase, the exact combine, the FFN regroup, HOP-B and KV placement

    Premium
  3. 05The numbers that matter

    The roofline, the simulated Pareto results, the HOP-B ablation and the setup

    Premium
  4. 06Try it yourself

    Recompute the roofline, prove sharded attention is exact, and model three layouts at 1M tokens

    Premium
  5. 07Where it breaks

    Simulated results, big NVLink domains, untested sparse attention, and slips

    Premium
  6. 08Using it on a deployment

    Diagnosing the TP ceiling, choosing KVP width, and what to ask a serving stack for

    Premium
  7. 09Interview angles

    Five questions this paper prepares you for, with answer hints

    Premium
Back to the paper library →