pipeline parallelism model parallel

**Pipeline Parallelism** is a **model parallelism technique that divides neural network layers across multiple devices, enabling concurrent forward and backward passes on different micro-batches to hide latency and maintain high GPU utilization.** **GPipe and Synchronous Pipelining** - **GPipe Architecture (Google)**: First practical pipeline parallelism at scale. Splits model layers across sequential GPU stages (Stage_0 → Stage_1 → ... → Stage_N). - **Micro-Batching Strategy**: Input batch (size B) divided into M micro-batches (size B/M). Each micro-batch propagates sequentially through pipeline stages. - **Forward Pass Pipelining**: Stage 0 computes micro-batch 1 while Stage 1 computes micro-batch 0. Overlaps computation across stages, reducing idle time. - **Gradient Accumulation**: Gradients from M micro-batches accumulated and applied once (equivalent to large-batch training). Effective batch size increases without memory pressure. **1F1B (One-Forward-One-Backward) Pipeline Schedule** - **Synchronous Schedule**: GPipe maintains fixed schedule (all F passes before all B passes). Requires buffering all activations until backward phase. - **1F1B Asynchronous Schedule**: Interleaves forward and backward passes. When backward computation available, immediately execute instead of waiting for forward to complete. - **Activation Memory Reduction**: 1F1B reduces peak activation memory from O(N_stage × batch_size × model_depth) to O(batch_size × model_depth) by reusing buffers. - **PipeDream Implementation**: 1F1B extended to handle weight update timing, gradient averaging. Critical for large-scale distributed training. **Pipeline Bubble Overhead** - **Bubble Fraction**: Percentage of GPU cycles spent idle (no useful computation). Bubble = (N_stage - 1) / (N_stage + M - 1), where N_stage = stages, M = micro-batches. - **Minimizing Bubbles**: Increase micro-batches M. With M >> N_stage, bubble fraction approaches (N_stage / M) → 0. Requires sufficient memory bandwidth per GPU. - **Optimal Micro-Batch Count**: Typically M = 3-5 × N_stage balances memory and bubble overhead. For 8 stages, use 24-40 micro-batches. - **Load Imbalance**: Heterogeneous stage sizes (early stages deeper than later) create variable compute time. Faster stages idle, slower stages bottleneck. Requires careful layer partitioning. **Inter-Stage Activation Storage** - **Activation Tensors**: During forward pass, intermediate activations stored at each stage boundary (input to stage, output from stage). Required for backward pass gradient computation. - **Memory Footprint**: Activation memory = (number of micro-batches in-flight) × (activation tensor size per stage) × (number of layers per stage). - **Checkpoint-Recomputation Hybrid**: Store checkpoints at stage boundaries, recompute intermediate activations during backward pass. Reduces memory from O(layers) to O(1) per stage. - **Communication Overhead**: Activations streamed between stages over network (inter-chip or intra-cluster). Bandwidth requirement: ~10-100 GB/s typical for large models. **Communication Overlapping with Computation** - **Pipelining at Machine Level**: While Stage 1 computes backward pass, Stage 0 computes forward pass on next micro-batch. Network communication of activations hidden behind computation. - **Gradient Streaming**: Gradients propagate backward stages asynchronously. All-reduce across replicas (data parallelism + pipeline parallelism) overlapped with forward pass. - **Synchronization Points**: Wait-free pipelines minimize hard synchronization. Soft synchronization (loose coupling) permits stages to operate at slightly different rates. **Real-World Implementation Details** - **Zero Redundancy Optimizer (ZeRO) Integration**: ZeRO stages 1/2/3 combined with pipeline parallelism. Stage 3 (parameter sharding) demands careful activation checkpoint management. - **Gradient Accumulation Steps**: Typically 4-16 gradient accumulation steps combined with 4 micro-batches through 8 pipeline stages. Total effective batch size = 32-128. - **Convergence Properties**: Pipeline parallelism with 1F1B achieves near-identical convergence to sequential training. Hyperparameters transferred between configurations.

Go deeper with CFSGPT

Get AI-powered deep-dives, save terms, and run advanced simulations — free account.

Create Free Account