Pytorch 分布式训练(DP/DDP)

概念

PyTorch是非常流行的深度学习框架,它在主流框架中对于灵活性和易用性的平衡最好。

分布式训练根据并行策略的不同,可以分为模型并行和数据并行。

模型并行

模型并行主要应用于模型相比显存来说更大,一块 GPU 无法加载的场景,通过把模型切割为几个部分,分别加载到不同的 GPU 上,来进行训练

数据并行

这个是日常会应用的比较多的情况。即每个 GPU 复制一份模型,将一批样本分为多份分发到各个GPU模型并行计算。因为求导以及加和都是线性的,数据并行在数学上也有效。采用数据并行相当于加大了batch_size,得到更准确的梯度或者加速训练

常用的 API 有两个:

torch.nn.DataParallel(DP)

torch.nn.DistributedDataParallel(DDP)

DP 相比 DDP 使用起来更友好(代码少),但是 DDP 支持多机多卡,训练速度更快,而且负载相对要均衡一些。所以优先选用 DDP 吧。

参考

Pytorch 分布式训练(DP/DDP)_pytorch分布式训练_ytusdc的博客-CSDN博客

PyTorch分布式训练简明教程(2022更新版) - 知乎

Pytorch分布式训练 - 知乎

Pytorch多机多卡分布式训练 - 知乎

Pytorch - 多机多卡极简实现(附源码) - 知乎

相关推荐
jieshenai几秒前
BERT_Experiment_Template 多种模型与数据集加载,训练、参数保存与评估,适合论文实验的代码模板项目
人工智能·深度学习·bert
蝎蟹居13 分钟前
GBT 4706.1-2024逐句解读系列(25) 第7.5条款:不同电压功率需清晰明确
人工智能·单片机·嵌入式硬件·物联网·安全
做萤石二次开发的哈哈13 分钟前
萤石开放平台 萤石可编程设备 | 设备 Python SDK 使用说明
开发语言·网络·python·php·萤石云·萤石
Mintopia14 分钟前
😎 HTTP/2 中的 HPACK 压缩原理全揭秘
前端·人工智能·aigc
阿里云大数据AI技术19 分钟前
EMR AI 助手再升级:支持 Serverless StarRocks
人工智能
bing.shao21 分钟前
golang 做AI任务链的优势和场景
开发语言·人工智能·golang
知乎的哥廷根数学学派21 分钟前
基于多物理约束融合与故障特征频率建模的滚动轴承智能退化趋势分析(Pytorch)
人工智能·pytorch·python·深度学习·算法·机器学习
deephub37 分钟前
Agentic Memory 实践:用 agents.md 实现 LLM 持续学习
人工智能·大语言模型·agent
chen_jared43 分钟前
反对称矩阵的性质和几何意义
人工智能·算法·机器学习
NocoBase1 小时前
NocoBase 本周更新汇总:支持 Gemini-3 模型
人工智能·开源·零代码·无代码·版本更新