Accelerate笔记:本地SGD

  • 本地 SGD 是一种分布式训练技术,其中梯度不是每一步都同步。
  • 每个进程都会更新自己版本的模型权重,在给定的步数后,通过跨所有进程平均这些权重来同步它们
    • 在底层,本地 SGD 代码禁用了自动梯度同步(但累积仍然如预期工作!)。
    • 它每 local_sgd_steps 步(以及在训练循环结束时)平均模型参数。
  • 提高了通信效率,并且特别是在计算机缺乏如 NVLink 等更快的互连时,可以显著加速训练。
    • 如有必要,本地 SGD 也可以与梯度累积结合使用
  • 限制:当前的实现只适用于基本的多 GPU(或多 CPU)训练,例如,没有 DeepSpeed 等
相关推荐
太阳吖5 分钟前
学习笔记之注册用户如何防止缓存穿透
笔记·学习·缓存
寻丶幽风24 分钟前
论文阅读笔记——QLORA: Efficient Finetuning of Quantized LLMs
论文阅读·人工智能·笔记·深度学习·语言模型
大白的编程日记.42 分钟前
【Git学习笔记】Git结构原理及其分支管理模型分析
笔记·git·学习
Small踢倒coffee_氕氘氚1 小时前
Python扑克牌游戏更新哦~【增加更多牌类】
经验分享·笔记
宇寒风暖2 小时前
一文弄懂编辑距离算法(Levenshtein Distance)示例,通过动态规划计算两个字符串之间的最小编辑操作次数(插入、删除、替换)
开发语言·数据结构·笔记·学习·算法·动态规划
尽力不摆烂的阿方2 小时前
《图解设计模式》 学习笔记
java·笔记·学习·设计模式
0^12 小时前
Flutter笔记
笔记·flutter
傍晚冰川4 小时前
【STM32】USART串口协议&串口外设-学习笔记
笔记·科技·stm32·单片机·嵌入式硬件·学习
RedMery6 小时前
论文阅读笔记:Deep Unsupervised Learning using Nonequilibrium Thermodynamics
论文阅读·笔记·diffusion model·theano
OSwich6 小时前
【虚幻C++笔记】枚举UENUM、结构体USTRUCT
c++·笔记·虚幻