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

相关推荐
余俊晖2 小时前
RLVR训练多模态文档解析模型-olmOCR 2技术方案(模型、数据和代码均开源)
人工智能·算法·ocr·grpo
这张生成的图像能检测吗2 小时前
(论文速读)开放词汇3D场景理解的掩蔽点-实体对比
人工智能·计算机视觉·图像生成·1024程序员节·开放词汇·3d重建
程序员杰哥3 小时前
如何使用Postman做接口自动化测试及完美的可视化报告?
自动化测试·软件测试·python·测试工具·jenkins·postman·1024程序员节
大象耶3 小时前
计算机视觉六大前沿创新方向
论文阅读·人工智能·深度学习·计算机网络·机器学习
老歌老听老掉牙3 小时前
参数曲线切向量与叉乘向量的精确计算与分析
python·sympy·1024程序员节
Cherry Zack4 小时前
FastAPI 入门指南 :基础概念与核心特性
开发语言·python·fastapi·1024程序员节
言德斐4 小时前
Python Web框架深度对比:Django vs Flask vs FastAPI(含优缺点与选型策略)
前端·python·django
TMT星球4 小时前
加速进化发布Booster K1,打造AI时代的苹果公司
人工智能
开心-开心急了4 小时前
Flask入门教程——李辉 第5章: 数据库 关键知识梳理
笔记·后端·python·flask·1024程序员节
tangchen。4 小时前
YOLOv4 :兼顾速度与精度!
人工智能·计算机视觉·目标跟踪