动手学深度学习 | 使用和购买GPU | 15

摘要:
目录使用GPU购买GPU,整机配置,QA使用GPU。事实上,如果没有钱购买GPU,谷歌Colab也是一个不错的选择,每月大约10美元。购买的GPU的性能主要由以下三个参数组成:计算能力。因此,您不需要购买高端CPU。购买GPU时,您需要检查GPU的功耗,例如50W到300W。建议使用PCIe 3.016x以确保足够的GPU到内存带宽。注意,当一些主板配备4个GPU时,带宽将减少到8倍甚至4倍。使用GPU后加速效果不明显的可能原因是什么?运行的GPU利用率为60%~70%。cuda和GPU之间的关系是什么?

目录

使用GPU

其实如果没有钱买GPU的话,使用Google Colab也是一个不错的选择,大概是10 dollar一个月。

算力其实是很贵的... 利用好算力是一件很重要的事情!

动手学深度学习 | 使用和购买GPU | 15第1张

关于Nvidia Driver too old的问题,如果是服务器的话,这里不要盲目的去更新显卡驱动,这样子会把别人的环境搞坏的。

正确的方式应该是去安装适合自己驱动的版本的框架。

# 下面命令来确认cuda的版本,然后在进行相应cuda的下载
cat /usr/local/cuda/version.txt 

使用GPU是简单的,只要把权重copy到GPU上,在把输入copy到GPU上,就可以在GPU上进行运算了。

动手学深度学习 | 使用和购买GPU | 15第2张

动手学深度学习 | 使用和购买GPU | 15第3张

购买GPU

GPU的性能主要由以下3个参数构成:

  • 计算能力。通常我们关心的是32位浮点计算能力。16位浮点训练也开始流行,如果只做预测的话也可以用8位整数。

  • 显存大小。当模型越大或者训练时的批量越大时,所需要的显存就越多。

  • 显存带宽。只有当显存带宽足够时才能充分发挥计算能力。

当然只推荐消费类的GPU(GTX、RTX),对于企业类的GPU这是不推荐的,一般会贵5~6倍。

显卡尽量要买新的,因为工艺在进步,新一代对比旧一代,同样的计算性能,价格会便宜。(电子设备都是如此,买新不买旧)

整机配置

通常,我们主要用GPU做深度学习训练。因此,不需要购买高端的CPU。至于整机配置,尽量参考网上推荐的中高档的配置就好。不过,考虑到GPU的功耗、散热和体积,在整机配置上也需要考虑以下3个额外因素:

  1. 机箱体积。显卡尺寸较大,通常考虑较大且自带风扇的机箱。
  2. 电源。购买GPU时需要查一下GPU的功耗,如50 W到300 W不等。购买电源要确保功率足够,且不会造成机房供电过载。
  3. 主板的PCIe卡槽。推荐使用PCIe 3.0 16x来保证充足的GPU到内存的带宽。如果搭载多块GPU,要仔细阅读主板说明,以确保多块GPU一起使用时仍然是16倍带宽。注意,有些主板搭载4块GPU时会降到8倍甚至4倍带宽。

QA

  1. 如果买GPU的话,显存是越大越好吗?还有什么评价指标吗?

当然是越大越好,但是显存是一个很贵的事情,显存比CPU的内存贵。

GPU的显存是越大越好的,但是越大越贵,所以你要在你的承受范围能力买。

后面会讲解CPU和GPU的工作原理的不同,也就是为什么说GPU显存越大越好。

  1. 跑项目的时候显存不够怎么办,如果把batch_size调小,显存够用了但是cuda占用一直很低怎么办?

如果是显存不够用的话,那么只有把batch_size给调小。

但是如果把batch_size调小的话,那么Volatile GPU-Util(GPU计算单元的利用率)不高。

那么这里给的建议就是把模型给调小一点,比如如果是使用ResNet152的话,这里就建议修改成ResNet50。

  1. GPU使用率是不是越高越好,长时间满负荷是不是对显卡不太好?

满负荷对GPU是没有问题的,唯一的问题是温度不要过热!最好建议就是不要超过80度,90度太久。

沐神说他是烧过很多块卡的... 满负荷是没有问题的,但是就是要注意温度!温度是一个很重要的事情。

  1. 一般使用gpu训练,data在哪一步to gpu比较好?

一般是在最后network train的时候。

因为很多数据的变化,做data preprocess在GPU上不一定支持的比较好,如果data在GPU上做的比较好,那么可以往前走,比如很多时候在GPU上做一些图片的处理。

  1. tensor.cuda() 和 to(device)有什么区别?

都是将tensor挪到GPU上,但是to(device)是讲module,也就是模型挪到GPU上。

  1. 使用GPU后加速效果不明显有哪些可能的原因?运行GPU使用率在60%~70%。

其实60~70%的使用频率已经不低了,看看能不能优化下网络。

对于CNN的话,GPU的使用率很容易到80%以上。

  1. 怎么评价apple M1 gpu和cpu共用内存?

集成显卡基本都是个cpu共用内存的,而且共不共用内存不是关键,而是要看内存的带宽,其实M1的内存带宽还行。

  1. cuda和GPU到底是什么关系?

GPU是硬件,cuda可以认为是开发的一个SDK。

  1. 自定义的block被放在同一个Sequential内的不同layer,但是不想共享参数,该怎么做?

只要new新的对象就可以了,传入的也是对象,如果不是同一个对象,默认是不会共享参数的。

免责声明:文章转载自《动手学深度学习 | 使用和购买GPU | 15》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇php使用curl下载指定大小的文件(转)NIOS II IDE 9.1(Nios II Software Build Tools for Eclipse) 新特性下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

大数据技术之_19_Spark学习_08_Spark 机器学习_01_机器学习概述 + 机器学习的相关概念 + 算法常用指标

第1章 机器学习概述1.1 机器学习是啥?1.2 机器学习能干啥?1.3 机器学习有啥?1.4 机器学习怎么用?第2章 机器学习的相关概念2.1 数据集2.2 泛化能力2.3 过拟合和欠拟合2.4 维度、特征2.5 模型2.6 学习第3章 算法常用指标3.1 精确率和召回率3.2 TPR、FPR & TNR3.3 综合评价指标 F-measure...

Python机器学习(1)——决策树分类算法

1、决策树算法 决策树用树形结构对样本的属性进行分类,是最直观的分类算法,而且也可以用于回归。不过对于一些特殊的逻辑分类会有困难。典型的如异或(XOR)逻辑,决策树并不擅长解决此类问题。 决策树的构建不是唯一的,遗憾的是最优决策树的构建属于NP问题。因此如何构建一棵好的决策树是研究的重点。 J. Ross Quinlan在1975提出将信息熵的概念引入决策...

深入浅出计算机组成原理学习笔记:第三十一讲

一、引子 上一讲,我带你一起看了三维图形在计算机里的渲染过程。这个渲染过程,分成了顶点处理、图元处理、栅格化、片段处理,以及最后的像素操作。这一连串的过程, 也被称之为图形流水线或者渲染管线。 因为要实时计算渲染的像素特别地多,图形加速卡登上了历史的舞台。通过3dFx的Voodoo或者NVidia的TNT这样的图形加速卡,CPU就不需要再去处理一个个像素点...

gensim学习笔记

1、词向量建模的word2vec模型和用于长文本向量建模的doc2vec模型   在Gensim中实现word2vec模型非常简单。首先,我们需要将原始的训练语料转化成一个sentence的迭代器;每一次迭代返回的sentence是一个word(utf8格式)的列表: class MySentences(object): def __init__...

《python深度学习》笔记---3.2-3.3、Keras 简介

《python深度学习》笔记---3.2-3.3、Keras 简介 一、总结 一句话总结: 不处理张量操作:Keras 是一个模型级(model-level)的库,为开发深度学习模型提供了高层次的构建模块。 它不处理张量操作、求微分等低层次的运算 Keras张量操作由后端引擎实现:Keras 有三个后端实现:TensorFlow 后端、 Theano 后端...

机器学习 | 强化学习(8) | 探索与开发(Exploration and Exploitation)

8-探索与开发(Exploration and Exploitation) 1.导论 探索与开发二难问题 基于决策的决策过程存在以下两种选择 开发:基于目前的学习做最优的决策 探索:获取更多的学习 最佳的长期策略或许会包含一些短期的牺牲 获取足够的信息更能得到最为全面的决策 探索的方案(Approach to Exploration) 随机探索...