checkpointing专题

理解SparkStreaming的Checkpointing

streaming 应用程序必须 24 * 7 运行, 因此必须对应用逻辑无关的故障(例如, 系统故障, JVM 崩溃等)具有弹性. 为了可以这样做, Spark Streaming 需要 checkpoint 足够的信息到容错存储系统, 以便可以从故障中恢复.checkpoint 有两种类型的数据.   Metadata checkpointing - 将定义 streaming 计算的信息

Gradient-checkpointing的原理

原文: 将更大的网络安装到内存中。|by 雅罗斯拉夫·布拉托夫 |张量流 |中等 (medium.com)   前向传播时,隔几层就保留一层activation数据,其余层的activation都释放掉; 反向传播时,从最近的checkpoint去重新跑forward,这次跑的不删除;计算梯度每用完一层,才释放掉该层的activation; N层网络,使用sqrt(N)个checkpo

gradient_checkpointing

点评:本质是减少内存消耗的一种方式,以时间或者计算换内存 gradient_checkpointing(梯度检查点)是一种用于减少深度学习模型中内存消耗的技术。在训练深度神经网络时,反向传播算法需要在前向传播和反向传播之间存储中间计算结果,以便计算梯度并更新模型参数。这些中间结果的存储会占用大量的内存,特别是当模型非常深或参数量很大时。 梯度检查点技术通过在前向传播期间临时丢弃一些中间结果,仅

PyTorch 节省显存技巧:Activation Checkpointing

参考资料 官方文档: https://pytorch.org/docs/2.0/checkpoint.html官方博客:https://medium.com/pytorch/how-activation-checkpointing-enables-scaling-up-training-deep-learning-models-7a93ae01ff2d Activation Checkpoin