动手学深度学习 | 单机多卡并行 | 32
时间:2021-10-03
本文章向大家介绍动手学深度学习 | 单机多卡并行 | 32,主要包括动手学深度学习 | 单机多卡并行 | 32使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
单机多卡并行
这里图片是4张980,但是因为GPU靠的太近了,一个月后就烧了一块GPU。这是沐神第一次装多GPU犯的错误。
一般都是进行数据并行。
什么使用使用模型并行呢?就batch_size=1的时候,一个GPU都不能计算的话,那么就会考虑进行模型并行,将模型分割到多个GPU来做,比如transformer的模型直接有100个G。
QA
- 我在4块GPU训练,后来我有两块更大显存的GPU,那我什么都不变,换成2块显存的GPU训练,会有什么影响吗?
你可以每次分配多点数据给性能更好的GPU,一般框架也是允许这个操作的。
- 小批量分到多GPU计算后,模型结果怎么合到一块?
一般是说把梯度给加起来,梯度加起来之后就会得到完整梯度,在模型更新的时候,其实模型就只有一份,模型基本可以把保证是一致的。
- 数据并行的时候,不同gpu也是拷贝了同一个模型吗?那是不是数据并行才是真正的并行,模型并行只是模型切块,本质上还是串行。可以这么理解吗?
数据并行确实是在每张卡中拷贝同一个模型。
模型并行实际上也是并行,只不过并行的程度会低一些。
原文地址:https://www.cnblogs.com/Rowry/p/15364219.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 基于Android studio3.6的JNI教程之helloworld思路详解
- 基于Android studio3.6的JNI教程之opencv实例详解
- AndroidStudio代码达到指定字符长度时自动换行实例
- android studio 新建项目报错的解决之路
- Android Studio 3.6中使用视图绑定替代 findViewById的方法
- Android 使用View Binding的方法详解
- CentOS一键安装Resilio Sync脚本
- Python从URL获取图片、读取图片格式并保存到本地
- Linux一键屏蔽指定国家所有的IP访问
- React基础(9)-React中发送Ajax请求以及Mock数据
- 一个快速引入CDN的workflow
- 在Ryzen平台上安装macOS High Sierra苹果系统
- v-selectpage 基于Vue2的高清重制版
- Android Studio3.6中的View Binding初探及用法区别
- Android日志文件的读写工具类