梯度检查点如何让大模型训练突破显存瓶颈:从时间换空间到选择性重计算的技术进化
2020年,当OpenAI训练拥有1750亿参数的GPT-3模型时,他们面临一个令人绝望的现实:即使使用当时最先进的NVIDIA A100 GPU(80GB显存),单张显卡连模型都无法加载,更不用说训练了。 ...
2020年,当OpenAI训练拥有1750亿参数的GPT-3模型时,他们面临一个令人绝望的现实:即使使用当时最先进的NVIDIA A100 GPU(80GB显存),单张显卡连模型都无法加载,更不用说训练了。 ...
2023年10月,一篇名为 FP8-LM 的论文在 arXiv 上发布,研究团队用8位浮点数完成了 GPT-175B 的训练——内存占用减少39%,训练速度提升75%。这并非孤例,QLoRA 更是将模型压缩到4位,却依然保持着与16位训练相当的微调效果。这些数字背后的数学原理,揭示了深度学习一个反直觉的特性:神经网络对数值精度的要求,远比我们想象的要低。 ...
当混合专家模型(Mixture of Experts, MoE)首次在2017年被提出时,研究者的愿景很美好:用一组专门化的"专家"网络替代传统的全连接层,让每个输入只激活一小部分参数,从而在保持计算效率的同时大幅扩展模型容量。然而,当他们真正开始训练这些模型时,却发现了一个令人沮丧的现象——路由器总是倾向于选择相同的几个专家,而让其他专家完全闲置。 ...
2017年,NVIDIA和百度研究院联合发表了一篇题为《Mixed Precision Training》的论文,展示了如何用16位浮点数训练深度神经网络。论文中有一个不起眼的细节:训练某些网络时,需要将损失值放大8到32768倍,否则梯度会变成零。 ...
1990年,Yann LeCun发表了一篇题为《Optimal Brain Damage》的论文,提出了一个反直觉的发现:训练好的神经网络中,高达90%的参数可以被安全删除,而模型精度几乎不受影响。这篇文章开创了神经网络剪枝的研究领域,但三十多年后,这项技术仍然难以在实际部署中大规模应用。 ...
2020年,OpenAI发布了拥有1750亿参数的GPT-3模型。按照FP16精度计算,仅存储模型权重就需要350GB显存——而当时最先进的NVIDIA A100 GPU只有80GB显存。这意味着,即使不考虑训练过程中额外的梯度、优化器状态和激活值,单张GPU连加载模型都做不到。 ...
2023年,当大模型的上下文窗口从4K扩展到128K甚至更长时,一个看似不可逾越的技术障碍横亘在研究者和工程师面前:注意力机制的计算复杂度随序列长度呈二次方增长。处理一个16K token的序列,光是注意力矩阵就要占用近1GB显存;64K序列的注意力矩阵更是超过16GB,直接撑爆了当时最顶级GPU的内存容量。 ...