在现在的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相关推荐

  1. WPF中使用Data Annotations验证Model

    原文:WPF中使用Data Annotations验证Model .NET Framework中System.ComponentModel.DataAnnotations提供了很多属性来验证对象的属性 ...

  2. 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 ...

  3. SAP UI5 视图如何使用工程里的 sample data 作为 JSON model 的数据源

    在本地工程文件里,新建一个 model 文件夹,里面包含一个 mock.json 文件: 运行时,该文件被加载的路径为 /model/mock.json: 也可以直接写成: createOrdersM ...

  4. rasa.exceptions.ModelNotFound: No NLU or Core data for unpacked model at:

    执行遇到的报错: rasa train 解决 在项目目录下添加model文件夹

  5. Efficient Large-Scale Language Model Training on GPU ClustersUsing Megatron-LM

    Efficient Large-Scale Language Model Training on GPU ClustersUsing Megatron-LM 1 INTRODUCTION 在这篇文章中 ...

  6. 【阅读】A Comprehensive Survey on Distributed Training of Graph Neural Networks——翻译

    转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] (本文中,涉及到公式部分的翻译不准确,请看对应原文.) 另一篇:[阅读]Distributed Graph Neural Networ ...

  7. (5)Flink-并行度parallelism、插槽slot

    概述 parallelism指的是并行度的意思.在 Flink 里面代表每个任务的并行度,适当的提高并行度可以大大提高 job 的执行效率,比如你的 job 消费 kafka 数据过慢,适当调大可能就 ...

  8. GCN-LSTM预测道路车辆速度英文 Forecasting using spatio-temporal data with combined Graph Convolution LSTM model

    GCN-LSTM模型预测道路交通车辆速度 GCN:又称GNN,图神经网络    LSTM:长短时记忆网络 可做学习参考 Abstract Accurate traffic prediction is ...

  9. 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 ...

最新文章

  1. ubuntu通过xmange连接桌面
  2. 毕业三年,贷款40万创业之后我又做回了程序员
  3. 进位赛迪百强榜,雨花区的“高质量”发展底座有多坚实?
  4. Unity3D研究院之获取摄像机的视口区域
  5. Spring Bean 定义
  6. java.util —— 工具类
  7. 8255A的工作方式控制字
  8. 8考勤填报_公司考勤管理制度
  9. .NET LINQ 限定符操作
  10. Hive从身份证号中提取相关信息_性别_年龄_出生日期_详细地址
  11. 如何使用FreeSSL申请免费证书?
  12. 数据结构和算法知识点整理
  13. 签名档php,签名档文字
  14. 12306多线程抢票
  15. css3 background简写,background-size简写背景属性(CSS3)
  16. 微信的账号连接服务器失败怎么回事,微信无法连接到服务器的原因和6个解决方法...
  17. 本软件仅供学习交流,如作他用所承受的法律责任一概与作者无关(下载使用即代表你同意上述观点)
  18. 新版CorelDRAW Technical Suite2022最新详细功能介绍
  19. html网页里如何竖着打字,搜狗输入法怎么设置为竖排显示 怎样把横向打字变成竖向...
  20. ftk挂载镜像 加vm 实现仿真

热门文章

  1. ubuntu配置jre8
  2. (微软允许的激活方式)win8的激活以及重装系统后二次激活
  3. sts会自带maven吗_STS中Maven配置
  4. [统计学笔记](五)统计量及其抽样分布
  5. 永嘉原*厂-VK1Q68D 是低功耗LED显示/数码管显示驱动IC,带键盘扫描电路,4~7 位,10~13 段 显示,QFN24 4*4MM超小体积封装
  6. 第二届“强国青年科学家”获奖者均有海外经历
  7. 关于分布式商城的项目讲解
  8. shell是什么?shell与linux的区别是什么?
  9. 开源开放 生态共建 | openKylin社区单位会员突破200家!
  10. 数据分析(以美国选民的总统喜好为例)