分布式训练DP与DDP

动画理解Pytorch 大模型分布式训练技术 DP,DDP,DeepSpeed ZeRO技术_哔哩哔哩_bilibili

单卡运行流程

DP(data parallel)

从硬盘读取数据,然后一个cpu进程将数据分成多份,给每个GPU训练,然后计算出梯度 进行网络更新(无效更新),然后再将各个GPU算出来的梯度,返回到gpu0进行梯度平均,再更新网络0,网络0再把更新后的网络参数广播到其他网络上。

DP存在的问题: 单进程,多线程,Python GIL只能利用一个CPU核。

GPU0负责手机梯度,更新参数,同步参数,通信,计算压力大。(即卡间负载极不平衡)

DDP: 让每个GPU都能进行接收处理以及通讯。

图中scatter的意思是,通过分发,让不同的节点有不同的值,reduce 的意思是 收集所有节点的值,并进行计算。

allgather 的意思是,把更新后的值,同步到 各个GPU,最后完成更新。充分利用各个GPU上下行的带宽。

计算参数梯度的个数满一个'桶'的时候,就开始流水并行化更新同步。

(他会预先分配好,哪些参数该谁更新,这样就避免了一个参数连圈转的发送和接收(相当于原来是A给B给C给D,现在是,A,B,C直接给D了)

相关推荐
zhangfeng11332 分钟前
趋动云 如何ssh登录 服务区 项目server
运维·人工智能·ssh
中烟创新5 分钟前
灯塔AI智能体获评“2025-2026中国数智科技年度十大创新力产品”
大数据·人工智能·科技
无人装备硬件开发爱好者6 分钟前
硬核技术解析|MCP 协议实现语音 AI 与 ESP32 软 / 硬件的标准化对接:从火山引擎豆包认证到全链路落地——中
人工智能·esp32·火山引擎·mcp
m0_531237178 分钟前
C语言-数组练习进阶
c语言·开发语言·算法
阿里云大数据AI技术12 分钟前
Hologres 向量检索和全文检索在淘天客户运营的实践
人工智能
超级大福宝21 分钟前
N皇后问题:经典回溯算法的一些分析
数据结构·c++·算法·leetcode
机器之心22 分钟前
击败谷歌、英伟达!清华陈建宇×斯坦福Chelsea团队世界模型Ctrl-World具身能力登顶全球
人工智能·openai
Wect36 分钟前
LeetCode 530. 二叉搜索树的最小绝对差:两种解法详解(迭代+递归)
前端·算法·typescript
掘金一周36 分钟前
2026 春晚魔术大揭秘:作为程序员,分分钟复刻一个 | 掘金一周 2.26
前端·人工智能·后端
Rabbit_QL36 分钟前
【BPE实战】从零实现 BPE 分词器:训练、编码与解码
python·算法·nlp