SlimPipe: Memory-Thrifty and Efficient Pipeline Parallelism for Long-Context LLM Training
Zhouyang Li, Yuliang Liu, Wei Zhang, Tailing Yuan, Bin Chen, Chengru Song, Di Zhang
TL;DR
This work tackles the memory and throughput bottlenecks of training long-context LLMs with pipeline parallelism. It introduces SlimPipe, a fine-grained scheme that uses uniform sequence slicing coupled with a 1F1B schedule and attention-context exchange to drastically reduce activation memory and pipeline bubbles, while distributing the workload across devices. The approach yields near-zero memory overhead and maintains high MFU, achieving up to $1.57\times$ MFU improvements at 512K context and preserving substantial throughput at $2048K$ contexts across hundreds of GPUs, with offloading extending the practical context length further. These results demonstrate SlimPipe’s ability to enable efficient long-context training without full checkpointing or prohibitive cross-node communications, significantly advancing scalable LLM training for ultra-long contexts.
Abstract
Pipeline Parallelism (PP) serves as a crucial technique for training Large Language Models (LLMs), owing to its capability to alleviate memory pressure from model states with relatively low communication overhead. However, in long-context scenarios, existing pipeline parallelism methods fail to address the substantial activation memory pressure, primarily due to the peak memory consumption resulting from the accumulation of activations across multiple microbatches. Moreover, these approaches inevitably introduce considerable pipeline bubbles, further hindering efficiency. To tackle these challenges, we propose SlimPipe, a novel approach to fine-grained pipeline parallelism that employs uniform sequence slicing coupled with one-forward-one-backward (1F1B) schedule. It reduces the accumulated activations from several microbatches to just one, which is split into several slices. Although the slices are evenly partitioned, the computation cost is not equal across slices due to causal attention. We develop a sophisticated workload redistribution technique to address this load imbalance. SlimPipe achieves (1) near-zero memory overhead and (2) minimal pipeline bubbles simultaneously. The effectiveness of SlimPipe has been proven by thorough testing with diverse model architectures, context window sizes, and SlimPipe-specific configurations. For example, on the Llama 70B model, compared to state-of-the-art methods, SlimPipe significantly boosts the Model FLOPs Utilization (MFU) to up to $1.57\times$ for a context length of 512K. More notably, for a context length of 2048K, it maintains over 45% utilization on 256 NVIDIA Hopper 80GB GPUs, while other approaches either suffer significant performance drops or fail entirely due to memory constraints.
