机器推理在深度学习的影响下,准确性越来越高、速度越来越快。深度学习对人工智能行业发展的贡献巨大,这得益于现阶段硬件计算能力的提升、互联网海量训练数据的出现。本篇文章主要介绍深度学习过程中如何选择合适的GPU显卡,如果你是深度学习新手,希望这篇文章对你有帮助。

推理用到的硬件分两种,一种是专业AI硬件公司出的AI芯片,一种就是我们平时熟知的GPU显卡了,前者不太适合入门学习,而后者无论从入门难度还是性价比上讲,对于新手来说都是优先的选择。而GPU显卡主流厂商大概两家,一个Nvidia,一个AMD,前者出的卡我们一般称之为N卡,后者称之为A卡。目前不管是普通消费市场(比如玩游戏)还是做机器推理的,N卡都占主流,生态也更好一些,因此,如果没有特殊原因,建议新手优先选择N卡入手。我个人不太推荐使用非主流的产品、技术,因为他们大多数不太成熟,使用过程中困难重重,甚至最终官方夭折。本篇文章所有内容全部基于Nvidia显卡。

Nvidia显卡分类

Nvidia显卡主要分3大类:

1)Geforce系列

这个系列是销量最多、大众最为熟悉的显卡,一般用来打游戏。价格便宜,最新出来的旗舰卡RTX 2080Ti京东售价大概1w左右,根据不同的品牌,价格有所波动。低配置的便宜的一千就能买到。游戏发烧友花1w买这种显卡还是很常见的。这个系列显卡官方定位是消费级,就是让你用来打游戏的。但是它在深度学习上的表现也非常不错,很多人用来做推理、训练,单张卡的性能跟深度学习专业卡Tesla系列比起来其实差不太多,但是性价比却高很多。比如已经停产的GTX 1080显卡的参数基本和深度学习入门级显卡Tesla P4一样,用来做训练和推理的效果比Tesla P4还要好,可是GTX 1080一张卡才卖5000~6000左右,而Tesla P4要卖到1.4w。英伟达官方禁止使用GTX系列显卡用于深度学习等用途,一经使用,自动过保。那么,既然性能差不多,为什么价格差这么远呢?原因后面讲到。

2)Quadro系列

Quadro系列显卡一般用于特定行业,比如设计、建筑等,图像处理专业显卡,比如CAD、Maya等软件,一般人很少用到,价格相对来讲也稍微贵一些,这里不多说了。

3)Tesla系列

Tesla系列显卡定位并行计算,一般用于数据中心,具体点,比如用于深度学习,做训练、推理等。阿里云、Amazon云有非常多的GPU服务器,基本都采用Tesla系列显卡。这个系列显卡有个特别明显的特征,那就是贵。Tesla系列入门级显卡 Tesla P4,前面提到过,用来做深度学习的效果比GTX 1080还差,但是价格是后者的3倍多。像其他更高级别的Tesla V100、Tesla P100 价格高达8w、4w,这种价位的显卡虽然性能强劲,但是一般人是买不起的,只有企业数据中心才会部署这种显卡。那么前面提到过,既然对于搞深度学习而言,Tesla系列显卡相比GeForce而言性价比并不高,那为什么英伟达还会推出Tesla这个系列呢? 主要原因有以下4个:

(1)我们前面讨论的性能对比全部都是基于单块显卡而言的,而Tesla系列显卡针对GPU集群做了优化,像那种4卡、8卡、甚至16卡服务器,Tesla多块显卡合起来的性能不会受很大影响,但是Geforce这种游戏卡性能损失严重。这也是Tesla主推并行计算的优势之一。

(2)数据中心的GPU显卡都是大批量部署的,有多台服务器,每台服务器有多块GPU显卡,而Tesla系列显卡功耗优化非常明显,Tesla P4单块卡的最大功耗只有75W,而与它参数配置差不多的GTX 1080的功耗高达175W。可以想象,Tesla系列显卡更适合大规模部署,长远来看,成本小得多。功耗低其中的一个原因是,Tesla系列显卡基本都是被动散热,不提供风扇,这个更适合数据中心机房工作环境:服务器设备统一散热,机房恒温条件。这本身跟它的定位一致。

(3)再一个,类似Geforce这种消费级的显卡更新换代太快,GTX 1080显卡生命周期不到2年就停产了,类似手机这种电子设备,你产品都还没做出来,拟采购的GPU可能就买不到货了。

(4)消费级显卡毕竟用于个人用途,性能方面不可能无限提升,用于并行计算的Tesla显卡高配版在性能(参数配置)上可能比消费级显卡高配版要高得多。

注意国内能买到的显卡一般由第三方代理商销售,比如七彩虹、华硕、丽台等等显卡厂商,这些厂商会在Nvidia的核心显卡芯片之上做一些改造,比如散热模式、外观或者其他修改,因此同一型号的同一款卡的价格可能会因不同厂家而不同。

GPU几个比较重要的参数

GPU有非常多的参数,在做深度学习挑选显卡的时候,主要看以下几个:

GPU架构:不同款的GPU可能采用不同设计架构,比如Geforce 10系列的 GTX 1080/1080Ti采用的是Pascal架构,而Geforce 20系列的 RTX 2080/2080Ti采用的是Turing架构。不同架构的GPU,即使其他参数差不多,性能差别可能非常大。

CUDA核心数量:这是一个非常重要的参数,一般你在搜索显卡参数时,这个参数一般写在前面。CUDA核心数量越大越好,前面提到的消费级显卡Geforce GTX 1080和Tesla入门级显卡 P4的CUDA核心数量一样,都是2560个。而Geforce RTX 2080Ti的CUDA核心数高达4352个。

显存位宽:代表GPU芯片每个时钟周期内能从GPU显存中读取的数据大小,这个值越大代表GPU芯片和显存之间数据交换的速度越快,性能越好。Geforce GTX 1080的显存位宽为256bit,Geforce RTX 2080Ti显存位宽为352bit。

GPU工作频率:这个很好理解,代表GPU每秒钟工作次数,单位为MHz,跟CPU的频率类似。该值越大代表性能越好。

显存带宽:代表GPU芯片每秒与显存交换的数据大小,这个值等于 显存位宽*工作频率,单位为GB/秒,该值越大,代表GPU性能越好。Geforce GTX 1080的显存带宽为320GB/秒,而它的升级版Geforce RTX 2080的带宽为448GB/秒。

显存容量:这个东西跟内存一样,不是越大越好,够用就行。Geforce GTX 1080的显存为8GB,而该系列的旗舰版Geforce GTX 1080Ti的显存为11GB。Tesla系列显卡由于特殊的应用场景,有些型号的卡显存高达16G/24G不等。

功耗:GPU能耗,像Geforce这种消费级的显卡一般功耗非常高,Geforce GTX 1080的最大功耗为175W,Tesla P4的最大功耗为75W。像那种数据中心大规模级别的GPU部署,低功耗的显卡一年电费能省很多。

注意上面提到的显卡名称后面加Ti和不加Ti完全是两款不同的卡,加Ti的性能比不加Ti的参数配置高很多。比如 Geforce GTX 1080Ti 比 Geforce GTX 1080性能更强劲。

如何选择合适你的显卡?

如果是个人学习使用,推荐购买Geforce系列的显卡,然后根据个人预算,如果在1W左右,可以选择最新出来的Geforce RTX 2080Ti,如果费用不够,可以购买Geforce RTX 2080/2070,价格在5000/3000左右。千万不要买入门级的Tesla P4,价格在1.4W左右。RTX 2080Ti经过实际测试,YoloV3目标检测模型能跑20路1080P高清实时流。

[AI开发]深度学习如何选择GPU?的更多相关文章

  1. 问题集录--新手入门深度学习,选择TensorFlow 好吗?

    新手入门深度学习,选择 TensorFlow 有哪些益处? 佟达:首先,对于新手来说,TensorFlow的环境配置包装得真心非常好.相较之下,安装Caffe要痛苦的多,如果还要再CUDA环境下配合O ...

  2. TVM:一个端到端的用于开发深度学习负载以适应多种硬件平台的IR栈

    TVM:一个端到端的用于开发深度学习负载以适应多种硬件平台的IR栈  本文对TVM的论文进行了翻译整理 深度学习如今无处不在且必不可少.这次创新部分得益于可扩展的深度学习系统,比如 TensorFlo ...

  3. 深度学习框架:GPU

    深度学习框架:GPU Deep Learning Frameworks 深度学习框架通过高级编程接口为设计.训练和验证深度神经网络提供了构建块.广泛使用的深度学习框架如MXNet.PyTorch.Te ...

  4. 用MXnet实战深度学习之一:安装GPU版mxnet并跑一个MNIST手写数字识别

    用MXnet实战深度学习之一:安装GPU版mxnet并跑一个MNIST手写数字识别 http://phunter.farbox.com/post/mxnet-tutorial1 用MXnet实战深度学 ...

  5. 想要学深度学习但是没有GPU?我帮你找了一些不错的平台

    本文始发于个人公众号:TechFlow,原创不易,求个关注 上次给大家推荐了免费的spark集群之后,就有很多小伙伴来问我有没有好的云GPU平台推荐.我一直没给大家推荐,主要原因是我常年使用Mac,对 ...

  6. windows10配置tensorflow深度学习环境(GPU版)各种坑

    我们配置一个tensorflow-gpu版的深度学习环境 windows10 64 python3.5 vs2017(需要C++部分) cuda9.0 cudnn7.1 GeForce GTX1060 ...

  7. AI:深度学习用于文本处理

    同本文一起发布的另外一篇文章中,提到了 BlueDot 公司,这个公司致力于利用人工智能保护全球人民免受传染病的侵害,在本次疫情还没有引起强烈关注时,就提前一周发出预警,一周的时间,多么宝贵! 他们的 ...

  8. AI炼丹 - 深度学习必备库 numpy

    目录 深度学习必备库 - Numpy 1. 基础数据结构ndarray数组 1.1 为什么引入ndarray数组 1.2 如何创建ndarray数组 1.3 ndarray 数组的基本运算 1.4 n ...

  9. 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】

    转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...

随机推荐

  1. Thinkphp 5 调试执行的SQL语句

    在模型操作中 ,为了更好的查明错误,经常需要查看下最近使用的SQL语句,我们可以用getLastsql方法来输出上次执行的sql语句.例如: User::get(1); echo User::getL ...

  2. OpenCV中的图像形态学转换

    两个基本的形态学操作是腐蚀和膨胀.他们的变化构成了开运算,闭运算,梯度等.下面以这张图为例 1.腐蚀 这个操作会把前景物体的边界腐蚀掉. import cv2 import numpy as np i ...

  3. AJAX小练习

    /index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pa ...

  4. LeetCode(155) Min Stack

    题目 Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. ...

  5. DP刷题记录(长期更新)

    bzoj 2748 一个吉他手,有一个初始音量,有一个音量最大值max. 给定n个音量变化量,从第一个变化量开始,可以选择加上或者减去变化量.途中音量不能低于0,不能超过max. 求最后能达到的最大音 ...

  6. 线段树: CDOJ1598-加帕里公园的friends(区间合并,单点更新)

    加帕里公园的friends Time Limit: 3000/1000MS (Java/Others) Memory Limit: 131072/131072KB (Java/Others) 我还有很 ...

  7. PHP GD库---之商详合成分享图片

    $item_pic = 'img/item.jpg'; $qcode_pic = 'img/qcode.png'; $user_pic = 'img/user.jpeg'; $item_title = ...

  8. tar.xz结尾的文件的解压缩方法

    例如: codeblocks-13.12-1_i386.debian.stable.tar 这个压缩包也是两层压缩,外面是xz压缩方式,里层是tar压缩方式. 解压缩方法: $xz -d ***.ta ...

  9. [python学习篇][廖雪峰][1]高级特性 ---迭代

    由于字符串也是可迭代对象,因此,也可以作用于for循环: >>> for ch in 'ABC': ... print ch ... A B C 所以,当我们使用for循环时,只要作 ...

  10. Game on Tree

    D - Game on Tree Time limit : 2sec / Memory limit : 256MB Score : 1100 points Problem Statement Ther ...