当前位置: 首页 > ds >正文

[AI算法] LLM中的gradient checkpoint机制

文章目录

  • 什么是gradient checkpoint
    • 原理
    • 使用场景
  • 注意事项

什么是gradient checkpoint

  • gradient checkpoint是一种优化深度学习模型内存使用的技术,尤其在训练大型模型时非常有用。它通过牺牲计算时间为代价来减少显存占用。
  • 大多数情况下,transformers库中的gradient checkpoint粒度是“一个Transformer Block(也叫layer)为单位。

原理

-在标准的反向传播中,为了计算梯度,需要保存所有中间激活值(activations),这会占用大量显存。

  • Gradient Checkpointing 的核心思想是只保留部分层的激活值,其余层在反向传播时重新计算,从而节省显存。【一般只保存transformer block的输入输出,这样节省了大量的存储】

使用场景

  • 显存受限时(如训练大模型)
  • batch size 需要增大但受显存限制
  • 模型层数较多(如Transformer)

注意事项

  • 会增加训练时间(因为需要重复计算激活值)【如果计算是瓶颈,那么这个方法会增加训练时长。】
  • 不适用于所有模型结构,建议先测试是否有效
  • 可能与某些优化器或混合精度训练有兼容性问题
http://www.xdnf.cn/news/10596.html

相关文章:

  • Office办公文档软件安装包2024版
  • Ubuntu终端性能监视工具
  • 概率单纯形(Probability Simplex)
  • 关于神经网络中的激活函数
  • 【Linux命令】scp远程拷贝
  • 什么是promise
  • UI 设计|提高审美|极简扁平过时吗?
  • “人单酬“理念:财税行业的自我驱动革命
  • ZLG ZCANPro,ECU刷新,bug分享
  • 系统架构设计师(一):计算机系统基础知识
  • 【C++高级主题】命令空间(六):重载与命名空间
  • 8天Python从入门到精通【itheima】-60~61
  • 笔试笔记(运维)
  • LeetCode - 965. 单值二叉树
  • 计算机网络第1章(下):网络性能指标与分层模型全面解析
  • PCB设计教程【强化篇】——USB拓展坞PCB布线
  • javaEE->多线程:定时器
  • 【Hot 100】45. 跳跃游戏 II
  • Python训练第四十一天
  • 【创新实训个人博客】实现了新的前端界面
  • CP4-OFDM模糊函数原理及仿真
  • 三方接口设计注意事项
  • 人工智能在智能能源管理中的创新应用与未来趋势
  • ContentProvider URI匹配机制详解
  • DELETE 与 TRUNCATE、DROP 的区别
  • 【Java基础】Java基础语法到高级特性
  • Canvas: trying to draw too large(256032000bytes) bitmap.
  • 02.上帝之心算法用GPU计算提速50倍
  • Java对象的内存结构
  • 华为IP(7)