分享好友 最新动态首页 最新动态分类 切换频道
训练时的显存优化
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,在定义优化器时传入参数 即可。

最新文章
TOP榜十大Ai大模型培训学校综合排名2025实时更新一览
数学基础:深入理解线性代数、概率论、统计学和微积分等基础数学知识,这些是构建和理解AI大模型的重要基石。算法原理:掌握深度学习的基本概念和算法,如反向传播算法、梯度下降优化算法等,这些算法是训练和优化AI大模型的关键。模型架构
色蜂视频如何提升用户体验-它的互动功能和内容创作模式有何优势
色蜂视频,作为近年来兴起的一种视频分享平台,逐渐在网络中积累了大量的用户。它不仅提供了丰富的视频内容,而且还给用户提供了一个互动性强的社交空间,受到不少用户的喜爱。对于广大视频爱好者来说,色蜂视频无疑是一个值得关注的选择。
星推联盟最新版 v1.1.31
星推联盟是一款专门为创作者提供服务的推文软件,界面友好、操作简单,能够有效提升内容质量和创作效率。该软件特别适合零基础的创作者,提供保姆级实操教学和海量变现任务,帮助用户快速变现。软件还支持短视频制作、拍摄、剪辑等功能,适
看过来!世界著名抗体公司汇总全在这里_老铁SEO
Santa是世界上最大的抗体生产厂家,目前可提供的抗体种类多达两万多种,几乎覆盖了目前生命科学研究的各个最新领域,其每种抗体又有多个克隆可以选择,还提供一些对应蛋白标准品及相关产品,如ABC试剂盒,各种标记二抗,Western试剂盒,蛋
除百度谷歌以外,还有哪些靠谱的网站统计平台?盘点五个好用网站统计平台工具对比推荐,你的网站统计用哪个?
网站运营需安装统计工具分析访问量、用户体验及搜索数据。百度统计适合中文网站,Google统计适用于非中文网站但可能影响速度。易分析、51LA和友盟也是优秀的统计工具,但可能需付费。选择最适合自己需求的工具是关键。 1、百度
情侣飞行棋小程序搭建流程,一起来看看吧
本文将详细介绍情侣飞行棋小程序搭建流程,以及其中的一些重要细节和知识。如果你是一位开发者或者对小程序开发感兴趣的用户,相信这篇文章会给你带来帮助。我们需要明确小程序是一种运行在微信客户端的应用程序,它可以为用户提供丰富的功
品牌网站设计与打造方案全攻略
摘要:本设计方案旨在打造品牌网站,以提升品牌形象和知名度,吸引更多潜在客户。设计将注重用户体验和视觉效果的融合,以简洁明了的界面展示品牌特色。方案将考虑网站的响应速度和兼容性,确保用户在不同设备上都能顺畅浏览。通过精心策划
更持久才更好用,年货节手机怎么选?7款长续航手机选购推荐。
很显然,在能耗表现上,骁龙8gen3就是当前最强的处理器,明显好于自家上一代的8gen2,联发科的天玑9300因为现在长续航的手机选择不多,所以暂时还看不出端倪。一加12年货节期间最高免息分期24期,并且有加赠Enco Air 2i 活动。同样的229g,
【阿里翁●神马商城】~FDA新品~Stabilize heart 安心片
高血压的主要症状头晕、头痛 头晕是高血压最多见的症状,有些是一次性的,在突然站起来或蹲下时出现;有些是持续性的。头痛也是高血压的常见症状,多为搏动性的胀痛或持续性的钝痛,严重者甚至有炸裂性的剧痛。常在早晨睡醒时发生,起床下
零售数据分析之操作篇11:销售占比分析
各位数据的朋友,大家好,我是老周道数据,和你一起,用常人思维+数据分析,通过数据讲故事。上期内容和作业上一讲讲了排名与TOP的场景,排名是以排序为基础,从1开始标识其排名的序号;而TOP则是以排序为基础,仅显示N行或N%行记录。上一
相关文章
推荐文章
发表评论
0评