Accelerate笔记:本地SGD

  • 本地 SGD 是一种分布式训练技术,其中梯度不是每一步都同步。
  • 每个进程都会更新自己版本的模型权重,在给定的步数后,通过跨所有进程平均这些权重来同步它们
    • 在底层,本地 SGD 代码禁用了自动梯度同步(但累积仍然如预期工作!)。
    • 它每 local_sgd_steps 步(以及在训练循环结束时)平均模型参数。
  • 提高了通信效率,并且特别是在计算机缺乏如 NVLink 等更快的互连时,可以显著加速训练。
    • 如有必要,本地 SGD 也可以与梯度累积结合使用
  • 限制:当前的实现只适用于基本的多 GPU(或多 CPU)训练,例如,没有 DeepSpeed 等
相关推荐
适应规律5 分钟前
强化学习笔记(赵世钰)
笔记·线性代数·概率论
鸽子一号2 小时前
c#笔记之泛型和结构体、枚举
笔记
墨^O^2 小时前
进程与线程的核心区别及 Linux 启动全过程解析
linux·c++·笔记·学习
寒秋花开曾相惜2 小时前
(学习笔记)3.9 异质的数据结构(3.9.1 结构)
c语言·网络·数据结构·数据库·笔记·学习
猹叉叉(学习版)2 小时前
【系统分析师_知识点整理】 10.软件需求工程
笔记·需求分析·软考·系统分析师
LuminousCPP2 小时前
C语言自定义类型全解析
c语言·笔记·枚举·结构体·联合体
深蓝海拓3 小时前
西门子S7-1500PLC的常用Area地址以及网络读写
笔记·学习·plc
一轮弯弯的明月3 小时前
博弈论-Nim游戏
笔记·蓝桥杯·学习心得
Hello_Embed4 小时前
嵌入式上位机开发入门(五):UDP 编程 —— Server 端实现
笔记·单片机·网络协议·udp·嵌入式
热水过敏4 小时前
前路迷茫,再次起航
笔记·程序人生·职场和发展