最全深度学习显卡推荐分析
大热的深度学习,买什么显卡,才能让你明白,我真的爱你!
前言
不得不说,这几年深度学习(Deep Learning),人工智能(AI),机器学习(Machine Learning, ML),真的很火呀!工资高,工作好找,风投多,风光无限。大家都知道,要想学好深度学习,GPU是必不可少的,那么需要什么级别的显卡GPU呢?本文这里分情况说明。另外,本文不涉及具体的安装环境配置。
本文可能是目前为止最全深度学习显卡推荐分析方面的分析文章。
正文
其实,学习深度学习需要的硬件,可能没有想象的那么高,只是需要提前把握一下方向。本文从几方面来说明。
如果已经有电脑了,但是不知道可不可以学习深度学习,或者想升级硬件学习深度学习。另外,就是还没有电脑,想买适合深度学习的电脑。下面分别说明。再说一遍,本文不涉及具体的安装环境配置。
如何确认现有硬件是否可以学习深度学习?
如果你已经有了电脑,并且想学习深度学习,那么,必须假设你已经知道,什么是显卡,你的显卡是什么型号,属于NVIDIA阵营,还是AMD阵营(如果这个还不明白,希望你自己弄明白)。
1.没有独立显卡
没有搞笑,没有显卡,纯CPU也是可以进行深度学习训练的。如果你只是想熟悉一下深度学习的基本框架,代码阅读分析,很少量的训练,纯CPU也是可以的。Tensorflow和PyTorch都有纯CPU的版本,而作为入门学习来说,这两个深度学习框架,就足够了。纯CPU的安装配置更简单,只是训练速度会慢很多。
你又说,我没有独立显卡,又想使用GPU训练学习,怎么办?哈,考到我了,不过呢,还真有办法,那就是google colab,https://colab.research.google.com/。当然了,国内对这个网址不友好,你可能要自己想办法怎么访问。这里有免费的强大的GPU,一般是Tesla K80,也有TPU。内存一般是32G,硬盘不一定,有时候100G,有时候300G,重启或者短线重连后,你可能分配到不同的机器上,你的原有文件或者设置都会消失。每隔12小时会自动短线,因为网速及链接断开问题,如果想好好利用google colab,你可以把一些数据文件,脚本文件,放到你的google drive上,做好脚本,重新链接google colab后,可以用脚本迅速还原工作环境。
google colab默认支持tensorflow,也支持PyTorch(需自己安装),只要解决了访问google colab的问题,剩下的,都不是问题。
如果你想升级电脑硬件,来满足深度学习的硬件要求,就看看后面,新配电脑,关键配件如何选择?
2.已有独立AMD显卡
如果你的电脑是AMD的显卡,想学习深度学习,能用GPU来加速吗?
目前,AMD推出了ROCm开放软件平台,也可以用AMD的GPU进行深度学习训练加速,Tensorflow,PyTorch都可以很好的支持。只是需要Linux平台(如Ubuntu 20.04LTS),Windows平台还不支持。其实,大多数的深度学习从业人员,也都是使用Linux平台。AMD 可以用于深度学习的GPU有R9 290X,R9 390X,RX 470,RX 480,RX550, RX560,RX 570,RX 580,R9 Fury X,RX Vega 64,Radeon VII,注意,最新的RX 5500XT, RX 5600XT,RX 5700XT不支持ROCm。具体参见https://github.com/RadeonOpenCompute/ROCm#supported-gpus。
AMD的GPU运算性能强大,经常可以越级打怪,比如RadeonVII的性能有时候可以超越2080Ti,RX 580对1070也是不遑多让。如果有以上的AMD显卡,学习深度学习也毫无问题,尤其是Tensorflow,PyTorch这两个利器都已经得到官方正式支持,放心大胆的玩起来吧。
3.已有独立NVIDIA显卡
已有NVDIA显卡,想学习深度学习,能用GPU来加速吗?这个,几乎可以肯定的说,当然没问题了,除非你的显卡太老了。。。,老到可能你没有听说(对于现在想学习深度学习的朋友来说)。
具体来说,NVIDIA的部分GT640,GT730等8年前的显卡都可以支持深度学习的GPU要求,基本来说,如果你是这两年买的电脑,又有NVIDIA显卡,基本都可以进行深度学习的模型训练。tensorflow的GPU要求是计算能力(Compute Capability)为3.5或更高(可以通过这里查看https://www.tensorflow.org/install/gpu),而NVIDIA的GPU计算能力可以通过查看https://developer.nvidia.com/cuda-gpus来了解大体的计算能力,如下图:
而本机的NVIDIA显卡计算能力可以通过命令C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\demo_suite\deviceQuery.exe来确认,具体的数值可能和列表给出的数值有差别(主要是不同的CUDA版本)。这里,CUDA10.1版本下,1060 6GB的计算能力为6.1。
好了,你又说了,我有一个NVIDIA的老显卡,计算能力只有3.0,我不想纯CPU训练,也想GPU加速,却不想升级显卡,怎么用它来对tensorflow进行GPU加速?好吧,我只能说,路是有的,只是要难一点。
办法就是自己编译tensoflow,获取tensoflow的源代码后,设置编译参数,比如CUDA版本,比如计算能力。设置编译能力为3,然后编译tensorflow就可以了。这样,就可以用计算能力为3的NVIDIA显卡进行GPU加速tensorflow了。
如果你想升级显卡,请看新配电脑,关键配件如何选择?这一部分。
新配电脑,关键配件如何选择?
到现在,我们说的都是已有电脑的情况,现在来说,新配电脑的话,如果选择关键配件。
对于深度学习来说,关键配件是GPU,CPU,主板,硬盘和内存。这里不研究极限性能,省心,够用即可。
我们先说简单的部分,CPU,硬盘和内存。
CPU,对深度学习来说,CPU的作用没有那么大,所以,基本上,CPU随便选就够用了。现在的低端CPU也有4核8线程。如果需要多显卡并行这样的高端电脑,上高端的CPU也无悬念。AMD或者Intel的CPU均可。基本上一个GPU配置4个线程就差不多,也就是说,4核8线程的CPU,配置双显卡,问题都不大。所以,CPU方面不需要太担心。简单来说,多花1000在CPU上,不如多花1000在显卡上。2000的CPU和1000的CPU没区别,2000的显卡和1000的显卡,差别大了去。。。
主板,就一个要求,尽量可以扩展,比如2条全速显卡通道就比一条好,4条更好,方便以后扩展显卡。内存插槽尽量4条。
内存,这个目前来说,问题也不大,基本进行深度学习的话,16G的内存少不了(原则上,内存大于GPU的显存大小即可),总容量来说,可以简单认为是GPU显存数量加8G(假设系统其余程序使用8G)。比如GPU系统共24G显存,那么,配置32G总内存就可以了。内存频率来说,AMD的CPU配置3200Mhz以上双通道内存,Intel的CPU2933以上双通道内存,就差不多了。
硬盘,由于要频繁的数据读写,硬盘越快越好。PCIe的SSD硬盘是必不可少的。可以买普通的SATA SSD或者HDD备份数据,计算用的,建议上比较快的PCIe SSD.
GPU,选择NVIDIA是毫无悬念的,除非你说,你只有2000元可用,这时候,用一下AMD的矿卡RX 580 8GB加普通的SATA SSD将就下,也毫无问题。这里着重说NVIDIA GPU。
先看看可以用来进行深度学习训练的N卡,
GTX 1050 Ti 4GB, GTX 1060 6GB, 1070/1080/1080 Ti, GTX1660/1660 Ti/1660 Super, GTX 2060/2060 Super, GTX 2070/2070 Super, GTX 2080/2080 Super/2080 Ti, RTX Titan/Titan V,Quadro RTX 6000(24GB), Quadro RTX 8000(48GB)
个人用户,基本上可以买的就是这些。先说基本结论:
预算不足,浅尝辄止,这种级别,1050 Ti就可以了。或者纯CPU,google colab。
深入学习,预算不足,选择1060 6GB/1070/2060 Super,都是性价比很高的卡,值得那你拥有,比1050 Ti好太多。
已经入行,预算一般,已经进行一些项目,可以2070。
预算充足,项目多多,2080Ti,多2080 Ti并行, QUADRO RTX 8000。
在我的推荐里,你没有看到1660, Titan这两个系列,深度学习用这两个系列的卡,有点不划算。比较推荐2070这款卡,性能,价格很均衡,一般应用都能满足(如果单卡,并且主要深度学习,可考虑从CPU上省点钱下来)。1060/2060预算不足的时候,也很推荐。2080 Ti属于性能之选,有预算一定上,还多就上两块,另外,由于QUADRO RTX 8000显存大,可以用于一些特殊环境,但是一般来说,还是建议2080 Ti。
总结
简单总结下,就是如果没有独立显卡,或者NVIDIA的中高端显卡,想暂时凑合学,可以纯CPU,或者google colab,也可以用AMD的显卡玩转深度学习,AMD的显卡有时候甚至性能更好。但是如果想换显卡,或者新购电脑用于深度学习,首选2070,性价比之选1060 6GB/1070/2060 Super,预算实在不足,可以考虑1050 Ti,而且,预算不足的话,可以考虑使用低一点的CPU来省钱。性能之选是2080 Ti。另外内存要大于总显存容量,硬盘最好选PCIe SSD,主板显卡插槽要多,方便扩展。
附录
各显卡基本的性能对比:
转到性价比视图,看看哪一个卡最划算:
关于Lambda labs的性能测试:
显卡参数基本规格表,作为参考:
显卡型号 | 核心 | 流处理器 /RT/Tensor |
频率 MHz |
加速频率 MHz |
位宽 | 显存 | 显存 GHz |
功耗 W |
Titan RTX | TU102 | 4608/72/576 | 1350 | 1770 | 384 | 24GB GDDR6 | 14 | 280 |
RTX 2080 Ti | TU102-300 | 4352/68/544 | 1350 | 1545/1635 | 352 | 11GB GDDR6 | 14 | 260 |
RTX 2080 Super | TU104-450 | 3072/48/384 | 1650 | 1815 | 256 | 8GB GDDR6 | 15.5 | 250 |
RTX 2080 | TU104-400 | 2944/46/368 | 1515 | 1710/1800 | 256 | 8GB GDDR6 | 14 | 225 |
RTX 2070 Super | TU104-410 | 2560/40/320 | 1605 | 1770 | 256 | 8GB GDDR6 | 14 | 215 |
RTX 2070 | TU106-400 | 2304/36/288 | 1410 | 1620/1710 | 256 | 8GB GDDR6 | 14 | 175 |
RTX 2060 Super | TU106-410 | 2176/34/272 | 1470 | 1650 | 256 | 8GB GDDR6 | 14 | 175 |
RTX 2060 | TU106-200 | 1920/30/240 | 1365 | 1680 | 192 | 6GB GDDR6 | 14 | 160 |
GTX 1660 Ti | TU116-400 | 1536/0/0 | 1500 | 1770 | 192 | 6GB GDDR6 | 12 | 120 |
GTX 1660 Super | TU116-300 | 1536/0/0 | 1530 | 1785 | 192 | 6GB GDDR6 | 8 | 120 |
GTX 1660 | TU116-300 | 1408/0/0 | 1530 | 1785 | 192 | 6GB GDDR5 | 8 | 120 |
GTX 1650 Super | TU116-300 | 1280/0/0 | 1530 | 1740 | 128 | 4GB GDDR6 | 12 | 100 |
GTX 1650 GDDR6 | TU117-300 | 896/0/0 | 1410 | 1590 | 128 | 4GB GDDR6 | 12 | 75 |
GTX 1650 | TU117-300 | 896/0/0 | 1485 | 1665 | 128 | 4GB GDDR5 | 8 | 75 |
Titan V | GV100-400 | 5120/0/0 | 1200 | 1455 | 3072 | 12GB HBM2 | 0.17 | 250 |
Titan Xp | GP102-450 | 3840/0/0 | 1405 | 1582 | 384 | 12GB GDDR5X | 11.4 | 250 |
Titan X | GP102-400 | 3584/0/0 | 1471 | 1531 | 384 | 12GB GDDR5X | 10 | 250 |
GTX 1080 Ti | GP102-350 | 3584/0/0 | 1480 | 1582 | 352 | 11GB GDDR5X | 11 | 280 |
GTX 1080 | GP104-400 | 2560/0/0 | 1607 | 1733 | 256 | 8GB GDDR5X | 10/11 | 180 |
GTX 1070 Ti | GP104-300 | 2432/0/0 | 1607 | 1683 | 256 | 8GB GDDR5 | 8 | 180 |
GTX 1070 | GP104-200 | 1920/0/0 | 1506 | 1683 | 256 | 8GB GDDR5 | 8 | 150 |
GTX 1060 6GB | GP106-400 | 1280/0/0 | 1506 | 1708 | 192 | 6GB GDDR5 | 8/9 | 120 |
GTX 1060 3GB | GP106-300 | 1152/0/0 | 1506 | 1708 | 192 | 3GB GDDR5 | 8 | 120 |
GTX 1050 Ti | GP107-400 | 768/0/0 | 1290 | 1392 | 128 | 4GB GDDR5 | 7 | 75 |
GTX 1050 3GB | GP107-301 | 768/0/0 | 1392 | 1518 | 96 | 3GB GDDR5 | 7 | 75 |
GTX 1050 | GP107-300 | 640/0/0 | 1354 | 1455 | 128 | 2GB GDDR5 | 7 | 75 |
GT 1030 | GP108-300 | 384/0/0 | 1228 | 1468 | 64 | 2GB GDDR5 | 6 | 50 |
RTX3090, RTX3080 TensorFlow 性能
RTX3090在Linux上的TensorFlow,NAMD和HPCG性能初测