FOAM: Blocked State Folding for Memory-Efficient LLM Training
Ziqing Wen, Jiahuan Wang, Ping Luo, Dongsheng Li, Tao Sun
TL;DR
<3-5 sentence high-level summary> FOAM tackles the optimizer-state memory bottleneck in LLM training by folding optimizer moments into blocks and adding a residual correction to recover lost information. The method preserves Adam-like convergence while reducing memory usage by about 50% and optimizer overhead by up to 90%, and it is compatible with other memory-efficient optimizers. Theoretical analysis shows FOAM retains Adam’s convergence rate under standard non-convex assumptions, and extensive experiments across pre-training and fine-tuning (LLaMA, Qwen, RoBERTa, and long-context/quantization scenarios) demonstrate improved memory efficiency, faster convergence, and robust performance. Overall, FOAM offers a practical, optimizer-agnostic solution to memory bottlenecks in large-scale language model training.
Abstract
Large language models (LLMs) have demonstrated remarkable performance due to their large parameter counts and extensive training data. However, their scale leads to significant memory bottlenecks during training, especially when using memory-intensive optimizers like Adam. Existing memory-efficient approaches often rely on techniques such as singular value decomposition (SVD), projections, or weight freezing, which can introduce substantial computational overhead, require additional memory for projections, or degrade model performance. In this paper, we propose Folded Optimizer with Approximate Moment (FOAM), a method that compresses optimizer states by computing block-wise gradient means and incorporates a residual correction to recover lost information. Theoretically, FOAM achieves convergence rates equivalent to vanilla Adam under standard non-convex optimization settings. Empirically, FOAM reduces total training memory by approximately 50\%, eliminates up to 90\% of optimizer state memory overhead, and accelerates convergence. Furthermore, FOAM is compatible with other memory-efficient optimizers, delivering performance and throughput that match or surpass both full-rank and existing memory-efficient baselines.
