zoukankan      html  css  js  c++  java
  • 动手学深度学习 | 单机多卡并行 | 32

    单机多卡并行

    这里图片是4张980,但是因为GPU靠的太近了,一个月后就烧了一块GPU。这是沐神第一次装多GPU犯的错误。

    一般都是进行数据并行。

    什么使用使用模型并行呢?就batch_size=1的时候,一个GPU都不能计算的话,那么就会考虑进行模型并行,将模型分割到多个GPU来做,比如transformer的模型直接有100个G。

    QA

    1. 我在4块GPU训练,后来我有两块更大显存的GPU,那我什么都不变,换成2块显存的GPU训练,会有什么影响吗?

    你可以每次分配多点数据给性能更好的GPU,一般框架也是允许这个操作的。

    1. 小批量分到多GPU计算后,模型结果怎么合到一块?

    一般是说把梯度给加起来,梯度加起来之后就会得到完整梯度,在模型更新的时候,其实模型就只有一份,模型基本可以把保证是一致的。

    1. 数据并行的时候,不同gpu也是拷贝了同一个模型吗?那是不是数据并行才是真正的并行,模型并行只是模型切块,本质上还是串行。可以这么理解吗?

    数据并行确实是在每张卡中拷贝同一个模型。

    模型并行实际上也是并行,只不过并行的程度会低一些。

  • 相关阅读:
    读书日记-策略模式
    五、@property的参数
    三、Object-C内存管理
    二、OC的构造方法和descriprtion方法
    一、初始Object-C
    linux中安装eclipse--CnetOS6.5
    linux中安装和配置 jdk
    linux中安装mysql
    bzip2压缩 解压缩
    gzip压缩解压缩
  • 原文地址:https://www.cnblogs.com/Rowry/p/15364219.html
Copyright © 2011-2022 走看看