分享好友 最新动态首页 最新动态分类 切换频道
训练时的显存优化
2024-12-27 12:24

HuggingFace 的这篇文章总结了一系列节约显存的方法,非常全面。

训练时的显存优化

训练时显存占用的组成:

  • 模型参数
  • 优化器状态
  • 输入张量和其他临时张量
  • 激活值
  • 梯度
  • 通信缓冲

“激活值” 可能有点难理解。这是指像是 dropout 的 mask、LayerNorm 的 等,不是梯度但参加到梯度计算的张量。

除了用混合精度等方法降低整体显存占用,从 降低显存占用峰值 入手也是有效的。

通常的训练过程:计算 loss、反向传播、使用优化器 然后 清除梯度。


这就意味着,我们一次性计算了所有梯度,然后一并应用优化器参数更新。

如果能边算梯度边更新参数,就不需要用大量空间去存储梯度数据了。这就是融合 backward pass 和 optimizer step 的原理,能够有效降低显存占用峰值。

对于 PyTorch Lightning,需要借助 处理优化器逻辑:


若需要原生 PyTorch 实现,可以借助 :


本节参考:

  • https://lightning.ai/pages/community/tutorial/faster-pytorch-training-by-reducing-peak-memory/
  • https://pytorch.org/tutorials/intermediate/optimizer_step_in_backward_tutorial.html

AdamW 优化器最为常用,调参简单效果好。要说缺点,就是每个参数都需要额外 8 字节的显存。

Adafactor 优化器改变 Adam 的动量思路,将空间占用降低到了 4 字节。但实际使用中发现 Adafactor 可能会导致训练不稳定。

Bitsandbytes 库提供了一系列 8-bit 优化器。其实现的 AdamW8bit 只需占用 2 字节空间。

这个 issue 是包含各种优化器的 benchmark。可以看出,各优化器的训练损失都差不多。这么说,大胆使用 AdamW8bit 节省显存是个不错的主意。

对于参数少、激活多的网络(例如卷积网络),8-bit 优化器的效果不是很明显。

Bitsandbytes 库推荐在使用 8-bit 优化器训练 NLP 模型时,将 embedding 层换为 以保证训练稳定性。对于其他不稳定的参数,也可以使用 这个文档 提到的方法对那些参数单独使用 32-bit 优化器。

这个知乎问题下 提到 8-bit 优化器可能会让模型容易过拟合。注意一下。

PyTorch Lightning 对 Bitsandbytes 库有支持,可以自动替换用上 Bitsandbytes 的 8-bit 线性层。具体可看官方文档。

PyTorch 的优化器默认启用了一个叫 foreach 的 trick,能加快训练。但随之而来的是额外的优化器中间变量占用,会导致峰值显存占用变高。若要关闭 foreach,在定义优化器时传入参数 即可。

最新文章
拼多多店铺标题能和别人一样吗?如何优化标题?
最近有很多商家朋友都问过我同一个问题:老师啊,我产品现在能改标题不?改了又降权,不改流量到瓶颈了,不知道如何提升!今天我就出一期关于拼多多商品在什么情况下去改标题怎么去改最好详细讲解一下。相信大家都知道,你的商品卖的好不好
私信卡片工具一键跳转微信加好友如何实现?
您是否常常遭遇这样的困扰:想要引导平台粉丝或潜在客户快速添加微信好友,却面临重重阻碍?繁琐的手动操作、复杂的引导流程,让许多宝贵的人脉资源和商业机会从指尖溜走。别担心,私信卡片工具一键跳转微信加好友功能的出现,将为您彻底扭
Sora开始收费了,其他人怎么办?
《中国经营报》记者注意到,Sora最早于今年2月公开亮相,一度惊艳世界,但试用者局限于艺术家、动画师、电影制作人等专业人士。在此次OpenAI宣布开放之后,Sora官网注册人数激增导致页面无法正常使用。Sora产品负责人Rohan Sahai对此回应称
视频压缩在线工具,推荐6个实用工具
有时候视频文件体积太大不仅会占用设备的存储空间,降低设备的运行效率,在网络状况不佳的情况下,还会导致视频播放卡顿,十分影响用户的视频观看体验。对于这种情况,很多用户会选择压缩视频大小。那么有哪些比较好用的视频压缩在线工具或
西安市建设工程信息网平台/福州seo技巧培训
STL中,要删除容器内的一个元素,其方法会随着容器类型的不同而不同。  例如,对于STL容器c,c包含int类型的元素,现在需要删除c中等于2014的元素。 序列容器即具有连续内存的容器,如vector,
SEO关键词首页排名
SEO关键词首页排名 为什么选择我们的百度关键词排名优化服务?精准分析,量身定制优化策略我们深入分析你的行业和目标受众,帮助你选择最合适的关键词,并制定个性化的优化方案,确保你的网页能够排名靠前,吸引更多的潜在客户。高效优化,
搜索引擎营销文案写作技巧
搜索引擎营销文案写作技巧  我们一直提倡用SEO 的思想去写文章,即合理的将关键词分布在文章中。下面是YJBYS小编整理的搜索引擎营销文案写作技巧,希望对你有帮助!  1.标题醒目  标题是搜索引擎营销文案写作至关重要的地方,必须简单
国内可以24小时挂机的云电脑有哪些?
随着云计算技术的发展,越来越多的人需要使用云计算机。云计算机可以帮助我们随时随地访问桌面环境和应用程序,而不必担心数据丢失和缺乏计算能力。本文将为大家介绍几款可以24小时挂机的国产云电脑主机。1.阿里云阿里云是中国最大的云计算
澄迈爱采购代运营费用
百度爱采购服务商浅谈:上传产品图片需要注意的地方 百度爱采购服务商浅谈:上传产品图片需要注意的地方,不同的商品质量影响着商品的排序程度,主要因素有类目优化程度、图片质量、参数丰富度、时间、地域等,下面来了解下百度爱采购上传
相关文章
推荐文章
发表评论
0评