机器推理在深度学习的影响下,准确性越来越高、速度越来越快。深度学习对人工智能行业发展的贡献巨大,这得益于现阶段硬件计算能力的提升、互联网海量训练数据的出现。本篇文章主要介绍深度学习过程中如何选择合适的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. input类型

    由于我们学习一个新的知识,而以前的都差不多忘完了,下面来复习我们以前学习的input的类型: button     点击的按钮                date    年/月/日 CheckBo ...

  2. CSS3边框图片-像素虚边的问题

    虽然CSS3新增了这个功能,但是在W3school里面并没有给出具体详细的解释,还好网上不乏大神给你我们很全面的解释其中的原理-css3:border-image边框图像详解 边框图片的原理是四个角不 ...

  3. 面试题--如何防止sql注入,使用PreparedStatement的预编译,传入的内容就不会和原来的语句发生任何匹配的关系,达到防止注入的方法

    PreparedStatement的用法 jdbc(java database connectivity,java数据库连接)的api中的主要的四个类之一的java.sql.statement要求开发 ...

  4. SpringMVC总结以及在面试中的一些问题.

    1.简单的谈一下SpringMVC的工作流程? 流程 1.用户发送请求至前端控制器DispatcherServlet 2.DispatcherServlet收到请求调用HandlerMapping处理 ...

  5. poj-1979 red and black(搜索)

    Time limit1000 ms Memory limit30000 kB There is a rectangular room, covered with square tiles. Each ...

  6. 水题:CF16C-Monitor

    Monitor 题目描述 Reca company makes monitors, the most popular of their models is AB999 with the screen ...

  7. session工作原理

    什么是Sesson? 这个是状态保持三大对象之一! 原意是会话,会议的意思! 就是你打开浏览器到关闭浏览器 这期间称为一个会话,也就是一个session, 它是保存在服务器端的. 每当客户端请求页面时 ...

  8. HDU 4605 Magic Ball Game 主席树

    题意: 给一棵\(n(1 \leq n \leq 10^5)\)个节点的二叉树,除叶子节点外,每个点都有左儿子和右儿子. 每个点上都有一个权值. 游戏规则是这样的:在根节点放一个权值为\(X\)的小球 ...

  9. JAVA-基础(六) Java.io

    由于IDEA相对于我这种新手来说,对学习JAVA还是比较方便,后记都移步到IDEA中进行基础学习 1.File(文件类) 尽管java.io定义的大多数类是实行流式操作的,File类不是.它直接处理文 ...

  10. Ubuntu 档案权限

    Linux文件属性:查看指令是:ls -al ls是list的意思,重点在显示档案的文件名与相关属性.而选项-al则表示列出所有的档案详细的权限与属性.