Skip to the content.

Memory Optimizations

To address memory constraints of LLM training, various memory-efficient techniques have been proposed. These include activation recomputation strategies, which trade increased computation for reduced memory usage; redundancy reduction methods that minimize data duplication across training processes; defragmentation techniques that optimize memory allocation and deallocation to reduce fragmentation and improve memory utilization; and swap and offload approaches that leverage CPU memory and NVMe SSDs to supplement GPU memory.

Activation Recomputation

Dynamic Evicting

Static Evicting

Redundancy Reduction

Fully Sharding

ZeRO [145], FSDP [146]

Partially Sharding

Defragmentation

Tensor-based Defragmentation

VMM-based Defragmentation

Offloading

CPU Offloading

SSD Offloading