ai china

MegaScale’s 12,288-GPU lesson: the slowest machine sets the pace

5 sources 3 primary sources August 9, 2026

Text
Portrait of ByteDance researcher Haibin Lin wearing glasses and a cap in a field of purple flowers.

Haibin Lin, a ByteDance researcher and MegaScale co-author, in the official portrait used for the 2024 Systems @Scale program. The photograph identifies one of the engineers behind the work; it does not depict the 12,288-GPU cluster. [5]

Video mode

This article includes 1 embedded video.

  1. 1 USENIX NSDI 2024 presentation on ByteDance MegaScale training across more than ten thousand GPUs YouTube embed

The seductive image of a 12,288-GPU training run is a wall of identical accelerators, all working at once. MegaScale’s less cinematic lesson is that the machines do not remain identical in practice. A synchronous job advances only when the ranks that depend on one another are ready. A slow GPU, a damaged link, a stalled data worker, or a buried communication error can set the tempo for the entire cluster. At this scale, the weakest participant is not an edge case. It is part of the performance model.[2]

This 16-minute USENIX recording presents work by a ByteDance and Peking University team at NSDI ’24. Its headline result—a reported 55.2% model FLOPS utilization for a 175-billion-parameter model across 12,288 NVIDIA Ampere GPUs—is worth attention. More useful, however, is the sequence behind that number: arrange parallel work, hide communication, measure individual ranks, find anomalies, and recover without surrendering the rest of the training run. The open proceedings paper makes the technical evidence available beside the recording.[1][2]

Watch the talk as an argument about sustained throughput, not as a tour of a very large computer. The annotated waypoints below follow its progression from benchmark to software stack to operational stability. The measurements belong to the authors’ specified models, network, software, and comparison point; they are evidence from one engineered system, not a universal conversion from GPU count to training speed.[2]

0:00–2:25 — A utilization number needs a denominator

The opening result is deliberately compressed: 12,288 GPUs, a 175B model, and 55.2% model FLOPS utilization, or MFU. MFU divides the useful floating-point work implied by the model by the accelerators’ theoretical peak capacity. It is therefore more informative than raw GPU count, but it is not a measure of model quality and not a claim that every transistor was productive. It asks how much of the advertised arithmetic ceiling became model computation over time.[2]

In the reported configuration, an iteration took 6.34 seconds and processed about 1.98 million tokens per second. The paper estimates that 300 billion tokens would take roughly 1.75 days at that rate. The authors compare 55.2% MFU with 41.2% for the particular Megatron-LM baseline they tested, yielding the often-quoted 1.34× improvement. Those qualifications matter: this was a fixed 175B dense-model configuration, a sequence length of 2,048, a global batch of 6,144, a 64,000-token vocabulary, and a historical Megatron-LM code point—not a standing claim over every later release or every model architecture.[2]

That makes the first viewing question precise: where did the missing time go, and which losses could the system actually recover? MegaScale treats the answer as distributed across algorithms, kernels, data delivery, collectives, the network, and operations. The utilization figure is the outcome of that chain, not an independent feature that can be pasted onto another cluster.

2:25–7:30 — More parallelism also means more waiting

The middle of the talk turns a model into several interacting schedules. Data parallelism replicates model work across batches. Pipeline parallelism divides layers into stages. Tensor parallelism splits the arithmetic inside a layer. Sequence parallelism further changes where activations and communication sit. These techniques let a model span thousands of devices, but every split introduces a dependency: a tensor must arrive, a pipeline stage must accept work, or a reduction must finish before the next useful operation can proceed.[1][2]

MegaScale’s answer is not one novel collective. It is full-stack overlap. The system rearranges transformer-block computation so communication can occur while other kernels are running; it combines 3D parallelism with optimized operators, including FlashAttention-2 and fused kernels; and it uses asynchronous data handling so the input pipeline is less likely to leave accelerators idle. The paper also describes initializing NCCL communication groups across more than 10,000 GPUs in under 30 seconds. The common idea is to expose waiting early enough that another useful task can occupy it.[2]

This is why algorithm–system co-design is more than a slogan in the presentation. A mathematically equivalent model schedule can generate a very different communication graph. A fast kernel can merely reveal that the next collective is late. A larger tensor-parallel group can save memory while making more ranks wait on the same exchange. MegaScale’s result comes from choosing these layers together, then observing the combined execution rather than optimizing each component against a private benchmark.

7:30–10:45 — The network is part of the training algorithm

At cluster scale, “the network” is not a single bandwidth number. The paper describes a three-layer Clos-like fabric using Broadcom Tomahawk 4 switches, with 400 Gbps links and equal aggregate capacity in and out of a tier. The team tuned routing and transport behavior for the repeated, structured traffic produced by model collectives. A topology that is adequate for independent services can still perform poorly when thousands of ranks begin the same all-reduce together.[2]

The important annotation here is the shift from peak capacity to coordination. Communication overlap only helps if messages arrive within the window that computation leaves available. Nominally identical paths can diverge under congestion or hardware degradation. The system therefore needs rank-level timings and RDMA telemetry, not just a dashboard showing that every link is technically up. A link that passes traffic but fluctuates under load can be more expensive to a synchronized job than a clean failure, because it repeatedly extends the critical path without declaring itself broken.[2]

This also places the headline in its proper material setting. The result is inseparable from a particular accelerator generation and a purpose-built fabric. It does not show that software erases hardware constraints. It shows that, once a large hardware budget exists, software determines how much of that budget survives synchronization.

10:45–13:25 — The slowest half-percent becomes the benchmark

The talk’s most transferable observation concerns stragglers. MegaScale uses CUDA-event timing and heat maps to compare execution across workers. The authors report that roughly 0.5% of machines could be substantially slower, while the slowest participant determined the pace of synchronized work. Once those outliers were excluded or repaired, peak MFU became much more consistent across repeated runs.[2]

That small fraction changes what performance engineering means. On one GPU, an occasional slow kernel may be noise. Across 12,288 GPUs, a half-percent is about 61 machines—enough opportunities for one rank to arrive late in nearly every coordinated step. Average device performance can look healthy while the job repeatedly waits. The relevant statistic is therefore not only the mean; it is the tail of the rank-time distribution and the identity of the worker occupying that tail.

MegaScale’s observability tools connect that identity back to system structure. Heartbeats cover executors, processes, hardware, logs, and RDMA behavior. A three-dimensional visualizer reconstructs data-, pipeline-, and tensor-parallel dependencies so operators can distinguish the first failed participant from the cascade of NCCL timeouts that follows. The point is not prettier monitoring. It is causal compression: reduce thousands of downstream alarms to the component that actually delayed or broke the step.[2]

13:25–16:26 — A restart is normal; lost progress is the cost

The closing production account makes “stability” concrete. In a separate, proprietary model run lasting several weeks on more than 10,000 GPUs, the system restarted over 100 times. The authors report that more than 90% of faults were automatically identified and handled, diagnosis averaged under ten minutes, and the job resumed from its latest checkpoint and caught back up to its pre-crash training position within 15 minutes. They also report more than 90% effective training time.[2]

Those figures should not be blended with the 175B benchmark as though they describe one public experiment. The production model had hundreds of billions of parameters and trained on multiple trillions of tokens; its exact architecture and fleet details are not disclosed. It supplies operational evidence, while the 175B test supplies the reproducible shape of the scaling measurement. Keeping the two evaluations separate makes both easier to interpret.

The operational lesson is still strong. Fault tolerance is not merely the ability to reboot. It is the ability to notice a fault quickly, diagnose the first cause, preserve a recent checkpoint, replace the bad resource, and return the job to its previous pace. A five-minute repair followed by hours of recomputation is not a five-minute incident. MegaScale treats time to catch up—not time to restart—as the meaningful recovery interval.

What remains outside the frame

The presentation does not turn ByteDance’s internal training stack into a box that another lab can reproduce. Hardware inventory, scheduler policy, network configuration, model shape, and operational practice are coupled, and much of the production environment remains proprietary. ByteDance’s public veScale repository is useful evidence of continued work on distributed training, but its own README says that only a small part of the internal library has been released. It should not be mistaken for the full MegaScale system evaluated in 2024.[4]

There are other limits. The convergence checks for algorithmic changes used 13B-scale microbenchmarks rather than publishing a full 175B training curve. The 1.34× comparison freezes one baseline implementation. The large-scale experiments focus on dense transformer configurations and NVIDIA Ampere hardware. A mixture-of-experts model, a different interconnect, heterogeneous accelerators, or a later software stack could move the bottleneck and change the best schedule.[2]

This is also not evidence that an unnamed benchmark model was Doubao. A December 2024 Chinese first-hand account from ByteDance Seed says the broader Peking University–ByteDance work on ultra-large-cluster management has been deployed in Doubao’s production environment, and it describes MegaScale’s 10,000-plus-GPU design as early public work in this area. That establishes institutional and production continuity; it does not disclose that the paper’s 175B test configuration was a commercial model.[3]

The AI-China signal is an operating discipline

MegaScale matters to the AI-China landscape because model competition depends on what happens between headline training runs. The durable capability is not owning a five-digit accelerator fleet for one photograph. It is sustaining useful work while communication, hardware, and people produce variance. That capability lives in unglamorous instruments: per-rank heat maps, dependency reconstruction, RDMA signals, checkpoint cadence, and automated replacement.

The next evidence to watch is therefore operational. How much of the internal stack becomes inspectable? Do later systems report effective training time alongside peak MFU? Can recovery measurements survive heterogeneous hardware and longer-context or sparse models? Can another organization reproduce the tail-latency diagnosis rather than merely cite the 55.2% number?

The video’s 12,288 GPUs make MegaScale memorable. Its better lesson is smaller: at every synchronized step, one machine sets the pace. Large-scale training improves when a team can find that machine, understand why it is late, and return the whole job to useful work before the checkpoint becomes old.

Sources

  1. USENIX, “NSDI ’24 — MegaScale: Scaling Large Language Model Training to More Than 10,000 GPUs,” official presentation video, 2024.
  2. Ziheng Jiang et al., “MegaScale: Scaling Large Language Model Training to More Than 10,000 GPUs,” 21st USENIX Symposium on Networked Systems Design and Implementation, 2024.
  3. ByteDance Seed, “北京大学-字节跳动-豆包大模型系统软件联合实验室成立,聚焦AI系统软件关键问题,” Chinese first-hand account of the Peking University–ByteDance collaboration and production deployment, December 12, 2024.
  4. Volcengine, veScale open-source repository, current README and scope statement for ByteDance’s internal distributed-training library.
  5. Systems @Scale, “MegaScale: Scaling Large Language Model Training to More Than 10,000 GPUs,” source page for the official Haibin Lin portrait used as the cover, 2024.
Previous SoMBench asks AI to read the room. The room is still staged

Recommended In ai china

Matched by subject and format