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 - 多机多卡极简实现(附源码) - 知乎

相关推荐
大模型之路几秒前
基于本地LLM与MCP架构构建AI智能体全指南
人工智能·架构
大霸王龙8 分钟前
系统模块与功能设计框架
人工智能·wpf
北京_宏哥10 分钟前
🔥Python零基础从入门到精通详细教程4-数据类型的转换- 上篇
前端·python·面试
乾巫宇宙国监察特使20 分钟前
Python的设计模式
python·测试
Hockor29 分钟前
写给前端的 Python 教程四(列表/元组)
前端·后端·python
Se7en25830 分钟前
Prefix Caching 详解:实现 KV Cache 的跨请求高效复用
人工智能
山顶听风35 分钟前
多层感知器MLP实现非线性分类(原理)
人工智能·分类·数据挖掘
佛喜酱的AI实践36 分钟前
5分钟入门Google ADK -- 从零构建你的第一个AI Agent
人工智能
用户387754343356337 分钟前
Midjourney Imagine API 申请及使用
人工智能·后端
这里有鱼汤38 分钟前
熟练掌握MACD这8种形态,让你少走三年弯路(附Python量化代码)| 建议收藏
后端·python