预训练工程模块四 · 高效训练技术概念约 11 分钟
显存优化:梯度检查点与激活重计算
用时间换显存
学完这节你能:
- 理解激活为什么占显存
- 掌握梯度检查点的原理与代价
- 了解其他省显存手段
反向传播需要用到前向的中间激活,所以它们默认全都留在显存里——序列长、层数深时非常占地方。梯度检查点(激活重计算)专治这个。
- 梯度检查点:前向时只保存少数「检查点」处的激活,其余丢弃;反向需要时再重新前向算一遍。
- 代价:多一次前向计算(约多 1/3 算力),换来激活显存大幅下降。
- 其他手段:混合精度、ZeRO 切分优化器态/梯度、CPU offload、更小 batch。
🔑 一句话:梯度检查点是「用时间换显存」——多算一遍前向,省下大量激活显存,让更大模型/更长序列能训。
自测梯度检查点(激活重计算)的核心权衡是:
// 带走一句话
激活占显存大;梯度检查点只存少量激活、反向重算,用「多一次前向」换显存。
独立练习
做到这些,才算完成本节
- 合上正文,用自己的话解释核心概念。
- 写出一个相似概念,并说明两者最关键的区别。
学习记录
记录本节阅读进度
建议先独立回答自测。读完记录不等于已经掌握。