第 14 题:梯度累积如何解决显存不足

第 14 题:梯度累积如何解决显存不足

题目

什么是梯度累积?它如何解决显存不足问题?

一、什么是梯度累积?

梯度累积(Gradient Accumulation) 指把一次“逻辑上的大 batch”拆成多个小 mini-batch 依次前向、反向,但不立即更新参数,而是把每次得到的梯度累加(或平均),在累加够若干步后再用累加/平均后的梯度做一次参数更新。

等价于:用多个小 batch 的梯度平均,模拟“大 batch”的梯度,再更新一次。

二、如何缓解显存不足?

  • 显存瓶颈:大 batch 需要同时存更多激活和梯度,容易 OOM。
  • 做法:batch size 减半(或缩小为 1/k),每次只算一个小 batch 的梯度并累加到缓冲区;累加 k 次后,用(累加梯度 / k)更新参数,然后清空梯度、继续下一轮累积。
  • 效果:单次前向/反向的显存占用由“小 batch”决定,因此显存需求下降;而有效 batch size = 小 batch × 累积步数,等效大 batch 训练,有利于稳定与收敛。

三、注

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Ai Agent:面试300问 文章被收录于专栏

《AI Agent 300 问》专为备战 AI Agent 相关岗位的求职者打造,适配校招、社招全场景,覆盖算法研发、产品、解决方案等全岗位。专栏汇总 300 道大厂高频面试真题,全维度覆盖提示工程、智能体规划推理、记忆机制、工具调用、多智能体协作、框架落地、行业应用等核心领域,拆解考点底层逻辑,分享一线实战经验,助你一站式通关高薪面试。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务