Data Parallelism vs. Model Parallelism
在现在的DNN模型训练中,模型参数和训练数据量都大幅增加,因此需要使用multi-node(GPU) training来进行模型训练优化。
Data Parallelism
一般在batch数据上学习梯度训练模型,这样做的缺点是,因为每次学习到的梯度不一定代表全集梯度,所以模型收敛需要更多的时间。
Data Parallelism的训练过程:
- 在每一个GPU/Node上,使用相同的模型/参数进行forward propogation
- 往每一个GPU上送一个batch的不同数据,计算梯度。把所有的梯度都汇总到main GPU上,因为每个GPU的计算速度不同,这是异步操作,等所有的梯度都汇总完之后,使用(weighted)average计算梯度更新模型/参数
Model Parallelism
训练过程:
- 把模型分成多份,每一部分consecutive layers放到一个node上训练,这样每一个node上的参数会大幅减小
- forward propogation在GPU#1上完成后,把output传到GPU#2,继续forward propogation直到最后一个GPU
- 在最后一个GPU上计算梯度,更新这部分模型,然后把梯度反向传播到前一个GPU,计算梯度更新模型参数,直到GPU#1
Reference
https://leimao.github.io/blog/Data-Parallelism-vs-Model-Paralelism/
Data Parallelism vs. Model Parallelism相关推荐
- WPF中使用Data Annotations验证Model
原文:WPF中使用Data Annotations验证Model .NET Framework中System.ComponentModel.DataAnnotations提供了很多属性来验证对象的属性 ...
- XPipe: Efficient Pipeline Model Parallelism for Multi-GPU DNN Training
1. Authors:Lei Guan(NUDT), Wotao Yin(来自UCLA), Dongsheng Li, Xicheng Lu 论文来源:https://arxiv.org/pdf/19 ...
- SAP UI5 视图如何使用工程里的 sample data 作为 JSON model 的数据源
在本地工程文件里,新建一个 model 文件夹,里面包含一个 mock.json 文件: 运行时,该文件被加载的路径为 /model/mock.json: 也可以直接写成: createOrdersM ...
- rasa.exceptions.ModelNotFound: No NLU or Core data for unpacked model at:
执行遇到的报错: rasa train 解决 在项目目录下添加model文件夹
- Efficient Large-Scale Language Model Training on GPU ClustersUsing Megatron-LM
Efficient Large-Scale Language Model Training on GPU ClustersUsing Megatron-LM 1 INTRODUCTION 在这篇文章中 ...
- 【阅读】A Comprehensive Survey on Distributed Training of Graph Neural Networks——翻译
转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] (本文中,涉及到公式部分的翻译不准确,请看对应原文.) 另一篇:[阅读]Distributed Graph Neural Networ ...
- (5)Flink-并行度parallelism、插槽slot
概述 parallelism指的是并行度的意思.在 Flink 里面代表每个任务的并行度,适当的提高并行度可以大大提高 job 的执行效率,比如你的 job 消费 kafka 数据过慢,适当调大可能就 ...
- GCN-LSTM预测道路车辆速度英文 Forecasting using spatio-temporal data with combined Graph Convolution LSTM model
GCN-LSTM模型预测道路交通车辆速度 GCN:又称GNN,图神经网络 LSTM:长短时记忆网络 可做学习参考 Abstract Accurate traffic prediction is ...
- The Wide and Deep Learning Model(译文+Tensorlfow源码解析) 原创 2017年11月03日 22:14:47 标签: 深度学习 / 谷歌 / tensorf
The Wide and Deep Learning Model(译文+Tensorlfow源码解析) 原创 2017年11月03日 22:14:47 标签: 深度学习 / 谷歌 / tensorfl ...
最新文章
- ubuntu通过xmange连接桌面
- 毕业三年,贷款40万创业之后我又做回了程序员
- 进位赛迪百强榜,雨花区的“高质量”发展底座有多坚实?
- Unity3D研究院之获取摄像机的视口区域
- Spring Bean 定义
- java.util —— 工具类
- 8255A的工作方式控制字
- 8考勤填报_公司考勤管理制度
- .NET LINQ 限定符操作
- Hive从身份证号中提取相关信息_性别_年龄_出生日期_详细地址
- 如何使用FreeSSL申请免费证书?
- 数据结构和算法知识点整理
- 签名档php,签名档文字
- 12306多线程抢票
- css3 background简写,background-size简写背景属性(CSS3)
- 微信的账号连接服务器失败怎么回事,微信无法连接到服务器的原因和6个解决方法...
- 本软件仅供学习交流,如作他用所承受的法律责任一概与作者无关(下载使用即代表你同意上述观点)
- 新版CorelDRAW Technical Suite2022最新详细功能介绍
- html网页里如何竖着打字,搜狗输入法怎么设置为竖排显示 怎样把横向打字变成竖向...
- ftk挂载镜像 加vm 实现仿真
热门文章
- ubuntu配置jre8
- (微软允许的激活方式)win8的激活以及重装系统后二次激活
- sts会自带maven吗_STS中Maven配置
- [统计学笔记](五)统计量及其抽样分布
- 永嘉原*厂-VK1Q68D 是低功耗LED显示/数码管显示驱动IC,带键盘扫描电路,4~7 位,10~13 段 显示,QFN24 4*4MM超小体积封装
- 第二届“强国青年科学家”获奖者均有海外经历
- 关于分布式商城的项目讲解
- shell是什么?shell与linux的区别是什么?
- 开源开放 生态共建 | openKylin社区单位会员突破200家!
- 数据分析(以美国选民的总统喜好为例)