Training - PyTorch Lightning 分布式训练的 global_step 参数 (accumulate_grad_batches)

欢迎关注我的CSDN:https://spike.blog.csdn.net/

本文地址:https://blog.csdn.net/caroline_wendy/article/details/137640653

在 PyTorch Lightning 中,pl.Traineraccumulate_grad_batches 参数允许在执行反向传播和优化器步骤之前,累积多个批次的梯度。这样,可以增加有效的批次大小,而不会增加内存开销。例如,如果设置 accumulate_grad_batches=8,则会在执行优化器的 .step() 方法之前,累积 8 个批次的梯度。

accumulate_grad_batchesglobal_step 的关系:

  1. global_step 会在每次调用优化器的 .step() 方法后递增。
  2. 使用梯度累积,global_step 增长小于 批次(batch) 的数量
  3. 多个批次贡献到 1 个 global_step 的更新中。

例如,如果 accumulate_grad_batches=8,那么每 8 个批次,只会增加 1 次 global_step,如果多卡,则 global_step 表示单卡的次数。日志,如下:

bash 复制代码
[INFO] [CL] global_step: 0, iter_step: 8
[INFO] [CL] global_step: 1, iter_step: 16

其中 pl.Trainer 的源码:

bash 复制代码
    trainer = pl.Trainer(
        accelerator="gpu",
        # ...
        accumulate_grad_batches=args.accumulate_grad,
        strategy=strategy,  # 多机多卡配置
        num_nodes=args.num_nodes,  # 节点数
        devices=1,  # 每个节点 GPU 卡数
    )

输出日志:

bash 复制代码
log = {'epoch': self.trainer.current_epoch, 'step': self.trainer.global_step}
wandb.log(log)
相关推荐
UI设计兰亭妙微1 分钟前
人工智能大模型管理平台UI设计
人工智能
发哥来了4 分钟前
主流AI视频生成商用方案选型评测:五大核心维度对比分析
大数据·人工智能
物联网APP开发从业者5 分钟前
2026年AI智能产品开发行业十大创新解决方案
人工智能
badfl19 分钟前
VSCode Claude Code插件配置教程:使用、配置中转API、常见问题
人工智能·vscode·ai
Faker66363aaa43 分钟前
指纹过滤器缺陷检测与分类 —— 基于MS-RCNN_X101-64x4d_FPN_1x_COCO模型的实现与分析_1
人工智能·目标跟踪·分类
金融小师妹1 小时前
基于LSTM-GARCH-EVT混合模型的贵金属极端波动解析:黄金白银双双反弹的逻辑验证
大数据·人工智能·深度学习·机器学习
代码匠心1 小时前
Trae IDE 隐藏玩法:接入即梦 AI,生成高质量大片!
人工智能·ai·trae·skills
陈天伟教授1 小时前
人工智能应用- 语言理解:01. 写作与对话
人工智能·深度学习·语音识别
铁蛋AI编程实战1 小时前
OpenClaw+Kimi K2.5开源AI助手零门槛部署教程:本地私有化+远程控制+办公自动化全实操
人工智能·开源
liliangcsdn1 小时前
文本视频音频分块工具 - Semantic Chunkers
人工智能·音视频