Accelerate笔记:本地SGD

  • 本地 SGD 是一种分布式训练技术,其中梯度不是每一步都同步。
  • 每个进程都会更新自己版本的模型权重,在给定的步数后,通过跨所有进程平均这些权重来同步它们。
    • 在底层,本地 SGD 代码禁用了自动梯度同步(但累积仍然如预期工作!)。
    • 它每 local_sgd_steps 步(以及在训练循环结束时)平均模型参数。
  • 提高了通信效率,并且特别是在计算机缺乏如 NVLink 等更快的互连时,可以显著加速训练。
    • 如有必要,本地 SGD 也可以与梯度累积结合使用
  • 限制:当前的实现只适用于基本的多 GPU(或多 CPU)训练,例如,没有 DeepSpeed 等
相关推荐
Zhao-Jichao1 小时前
AI Prompting for Everyone 课程笔记 - P21 总结 Conclusion
人工智能·笔记
欢欢李1 小时前
【LTE L3 笔记 05】LTE同步信号
笔记·无线通信·物理层·lte·空口协议
La Pulga3 小时前
【FreeRTOS源码学习笔记】空闲任务与阻塞延时
笔记·mcu·学习·嵌入式·freertos·实时操作系统
蒸蒸yyyyzwd3 小时前
秋招学习笔记 day106
笔记·学习
小李不想当小白4 小时前
WDG看门狗(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
欢欢李5 小时前
【LTE L3 笔记 04】LTE帧结构
笔记·无线通信·物理层·lte·空口协议
Zhao-Jichao7 小时前
AI Prompting for Everyone 课程笔记 - P20 实验与期末项目 Lab and Final Project
前端·人工智能·笔记
Z21-X7 小时前
云原生运维实战笔记:企业网站综合上云部署与云运维服务全景解析
运维·笔记·学习·云原生
坤坤子吖8 小时前
Linux网络编程:UDP进阶,从字典服务器到简单聊天室
linux·服务器·网络·c++·笔记·学习
Rabitebla8 小时前
【Linux学习笔记】进程篇(九):进程的创建与退出——fork、写时拷贝与退出码
linux·c++·笔记·学习