Accelerate笔记:本地SGD

  • 本地 SGD 是一种分布式训练技术,其中梯度不是每一步都同步。
  • 每个进程都会更新自己版本的模型权重,在给定的步数后,通过跨所有进程平均这些权重来同步它们
    • 在底层,本地 SGD 代码禁用了自动梯度同步(但累积仍然如预期工作!)。
    • 它每 local_sgd_steps 步(以及在训练循环结束时)平均模型参数。
  • 提高了通信效率,并且特别是在计算机缺乏如 NVLink 等更快的互连时,可以显著加速训练。
    • 如有必要,本地 SGD 也可以与梯度累积结合使用
  • 限制:当前的实现只适用于基本的多 GPU(或多 CPU)训练,例如,没有 DeepSpeed 等
相关推荐
lkbhua莱克瓦244 小时前
Java基础——方法
java·开发语言·笔记·github·学习方法
p66666666685 小时前
STM32-bootloader引导程序跳转机制笔记
笔记·stm32·嵌入式硬件
智者知已应修善业5 小时前
【c语言蓝桥杯计算卡片题】2023-2-12
c语言·c++·经验分享·笔记·算法·蓝桥杯
Elias不吃糖7 小时前
NebulaChat项目构建笔记
linux·c++·笔记·多线程
d111111111d7 小时前
STM32外设学习-串口数据包笔记-(程序)
笔记·stm32·单片机·嵌入式硬件·学习
弘毅 失败的 mian8 小时前
编译和链接
c语言·经验分享·笔记·编程入门
aramae10 小时前
MySQL数据库入门指南
android·数据库·经验分享·笔记·mysql
chenzhou__10 小时前
LinuxC语言文件i/o笔记(第十七天)
linux·c语言·笔记·学习
chenzhou__10 小时前
LinuxC语言文件i/o笔记(第十八天)
linux·c语言·笔记·学习
01100001乄夵10 小时前
FPGA模块架构设计完全入门指南
经验分享·笔记·学习方法·fpga入门·fpga学习之路