GaLore的全称是“Gradient Low-Rank Projection“,翻译过来就是“梯度低秩投影“

本文解析了GaLore,一种通过降低优化器状态的秩来节省内存的高效算法。它能将70亿参数模型的优化器状态内存从42GB降至14.5GB,使得大模型训练在资源有限的设备上成为可能。GaLore优于其他方法,如Colossal-AI和LoRA,因为它支持从头训练且内存占用大幅减小。

鉴于大家对GaLore比较感兴趣,我今天试着结合论文做一个更深入的解读:
GaLore的全称是"Gradient Low-Rank Projection",翻译过来就是"梯度低秩投影"。它的核心思想是通过降低优化器状态的秩,来大幅减少内存占用。
在训练大模型时,我们需要存储三类数据:模型权重、优化器状态(如动量、梯度等)和中间激活值。而优化器状态往往占据了最大的内存空间。以70亿参数的模型为例,模型权重约占14GB,中间激活值约占2GB,但优化器状态却高达42GB!
GaLore的目标就是在不影响训练效果的前提下,最大限度地压缩优化器状态的内存占用。它用到了一些很巧妙的数学技巧,比如低秩分解,将原本庞大的矩阵近似表示为两个更小的矩阵的乘积。这就像是给矩阵"瘦身",把多余的"赘肉"都去掉,只保留最精华的部分。
在实验中,GaLore对70亿参数的LLaMA模型进行了测试。结果显示,它成功将优化器状态的内存占用从42GB降到了14.5GB,降幅超过65%!再加上一些其他的内存优化技术,最终将总内存消耗控制在了21.3GB,比原来的58GB低了很多。
这意味着我们现在可以在家用的24GB显卡上,轻松训练70亿参数的大模型了!这在此前是根本不可想象的。
与其他一些内存优化方法相比,GaLore的优势在于它既支持从头训练,又能显著降低内存占用。像Colossal-AI是通过将模型切分到多个设备上来分担压力,但总内存需求其实没变;LoRA是在预训练模型上叠加一个小矩阵来微调,内存占用是小了,但只适合微调,不能从头训练。
GaLore的出现,为大模型训练开辟了一条全新的道路。它让每个人都有机会参与到大模型的开发中来,用自己的创意和智慧去塑造心目中最理想的AI助手。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灿烂李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值