jingyaogong / minimind

「大模型」3小时完全从0训练26M的小参数GPT,个人显卡即可推理训练!
https://jingyaogong.github.io/minimind
Apache License 2.0
2.7k stars 329 forks source link

梯度低秩投影集成 #64

Closed ningpengtao-coder closed 1 month ago

ningpengtao-coder commented 1 month ago

梯度低秩投影 (GaLore) 是一种内存效率高的低秩训练策略,允许全参数学习。 https://github.com/jiaweizzhao/GaLore

是否可以集成GaLore训练更大的模型,0.5B这样的。

jingyaogong commented 1 month ago

image

训练模型显存占用来自于1. 前向传播,2. 反向梯度计算,3. 优化器中的动量状态。 低秩方案在这三者之中无法节约1、2、的显存使用,仅能节约部分3、的显存。 节省内存主要来自对全秩模型的量化,否则不量化的话收益就小了。

6dbf77e662ccd4983b14396f4bca683 5fffa69d36527a9228463f2a919e8d4

例如有无GaLore在minimind 1-pretrain中的显存开销区别。 低秩方案还是更适合batchsize=1时候的FT,可以大大节省optimizer部分的内存 pre-train虽然可以用,但是大batchsize的时候节省的开销微弱。

ningpengtao-coder commented 1 month ago

好的,明白了,感谢你的解释,我关闭了。