tensor parallelism distributed llm

Tensor Parallelism for LLM Training is a sophisticated model parallelism approach that partitions weight matrices across multiple GPUs/TPUs, enabling training of trillion-parameter language models by distributing computation and memory load.

Column and Row Parallel Linear Layers

  • Tensor Parallel Concept: Weight matrices (W) split across device axis (column or row), enabling parallel matrix multiplication without replicating activations.
  • Column-Parallel Linear: W divided by output dimension (Y = A × W_col, split across GPUs). Each GPU computes partial output; all-reduce aggregates results.
  • Row-Parallel Linear: W divided by input dimension. Each GPU computes partial activation independently; all-gather concatenates results for next layer.
  • Mixed Partitioning: Alternating column→row layers reduces synchronization overhead vs all-column. Megatron-LM uses this pattern for optimal efficiency.

Attention Head Distribution

  • Multi-Head Attention Parallelism: Attention heads (H heads, typically 96-320) split across tensor-parallel devices. Each device computes subset of attention heads.
  • Query/Key/Value Projection Parallelism: Q/K/V projections use column-parallel layers. Attention computation distributed across heads.
  • Attention Dot-Product: Each device computes (Q × K^T) for its subset of heads independently. Softmax applied per head, values weighted locally.
  • Output Projection: Multi-head outputs concatenated (all-gather), then row-parallel projection aggregates before feeding to MLP.

Megatron-LM 1D/2D/3D Tensor Parallelism

  • 1D Tensor Parallelism: Splits along single dimension (typically embedding or head dimension). Simple implementation but less scalable (synchronization barrier every layer).
  • 2D Tensor Parallelism: Creates 2D process grid (N_layer × N_tensor). Reduces all-reduce overhead by pipelining across two dimensions. Megatron-LM sweet spot for 100-500 GPU clusters.
  • 3D Tensor Parallelism: Combines tensor parallelism with pipeline and data parallelism. Specialized for extreme scales (>1000 GPUs). Complex scheduling, minimal synchronization overhead.
  • Sequence Parallelism Extension: Splits along sequence dimension (for transformer auto-regressive generation). Reduces attention O(N²) memory complexity.

All-Reduce Communication Patterns

  • All-Reduce Operation: Collective communication reducing across devices (summation typical in gradient averaging). Each device sends/receives partial results.
  • Ring All-Reduce: Devices arranged in logical ring. Minimizes bandwidth requirement, tolerates network asymmetry. O(NP) communication steps for N data elements, P processes.
  • Tree All-Reduce: Binary tree structure reduces latency to O(log P) hops. Requires bandwidth-saturated links (not always available in over-subscribed networks).
  • NCCL (NVIDIA Collective Communications Library): Optimized all-reduce kernels, automatically selects best algorithm based on hardware topology and message size.

Activation Memory and Communication Trade-offs

  • Activation Recomputation: Intermediate activations dropped after forward pass, recomputed during backward pass. Reduces memory by 50% but increases computation 33%.
  • Tensor Parallel Memory: No activation replicas (unlike data parallelism). Memory scales as O(model_size / tensor_parallel_degree + batch_size).
  • Communication vs Computation Ratio: All-reduce bandwidth requirement ~2× (send/receive) weight size per iteration. Optimized via asynchronous communication overlap.
  • Network Saturation: Bandwidth-limited at scales >100 GPUs. Network topology (fat-tree, dragonfly) critical to avoiding communication bottleneck.

Efficiency and Scaling Characteristics

  • Arithmetic Intensity: Each all-reduce involves O(model_size) bandwidth for O(model_size) computation. Arithmetic intensity ~ 1 FLOP/Byte (memory-bound).
  • Scaling Law: Perfect scaling requires communication hidden behind computation. Overlapping communication with matrix multiplications maintains efficiency to ~64-128 GPU clusters.
  • Diminishing Returns: Beyond tensor_parallel_degree ~64, synchronization overhead dominates. Hybrid 2D/3D parallelism required for 1000+ GPU training.
  • Hyperparameter Tuning: Learning rate, batch size, gradient accumulation adjusted per parallelism configuration. Different configurations yield different convergence behavior.

Go deeper with CFSGPT

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

Create Free Account