SkewAdam: A tiered optimizer that cuts MoE state memory by 97% (fits a 6.7B MoE on a 40GB GPU) [R]
Paper: https://arxiv.org/abs/2607.19058
Code (GitHub): https://github.com/nuemaan/skewadam
Hi everyone, I just published a preprint on a new optimizer designed to tackle the massive VRAM bottleneck in Mixture-of-Experts (MoE) training.
Problem
If you've trained MoEs, you know that optimizer state is usually the largest single line item in the memory budget. AdamW, for example, spends 50.6 GB of state memory just to update a 12.6 GB model.
Tiered State Allocation
I built SkewAdam to fix this by using a tiered state allocation. Instead of treating all parameters equally, it allocates precision based on parameter behavior:
- Backbone (5% of params): Momentum + Factored 2nd moment
- Experts (95% of params): Factored 2nd moment only
- Router (<0.01% of params): Exact 2nd moment
Hardware Results
Optimizer state memory drops from 50.6 GB to 1.29 GB (a 97.4% reduction). Peak training memory drops from 81.4 GB to 31.3 GB. This allows a 6.78B MoE to fit comfortably on a single 40GB GPU without sacrificing convergence or router stability.
Comments
No comments yet. Start the discussion.