学习深度学习,显卡(GPU)可以说是比不可少的投资。本文试图探究哪个GPU才是学习入门性价比最高的?
为什么深度学习需要GPU?
我们先来比较一下CPU和GPU的不同,下图是一个简化的处理器内部结构图DRAM即动态随机存取存储器,是常见的系统内存。
Cache存储器:电脑中作高速缓冲存储器,是位于CPU和主存储器DRAM之间,规模较小,但速度很高的存储器。
ALU算术逻辑单元是能实现多组算术运算和逻辑运算的组合逻辑电路。
我们可以很明显地看出,GPU拥有更多ALU,能够进行强大的计算。CPU是一个有多种功能的优秀领导者,优点在于调度、管理、协调能力强,计算能力则位于其次。GPU相当于一个接受CPU调度的“拥有大量计算能力”的员工。
深度学习需要进行大量的矩阵运算,GPU刚好满足了这一要求。同时GPU还有其他优点:高带宽:CPU更擅长于快速获取少量的内存,GPU则更擅长于获取大量的内存
多线程并行:GPU提供了多核并行计算的基础结构,且核心数非常多,可以支撑大量数据的并行计算。 并行计算或称平行计算是相对于串行计算来说的。它是一种一次可执行多个指令的算法,目的是提高计算速度,及通过扩大问题求解规模,解决大型而复杂的计算问题
如何选购显卡?
针对不同深度学习架构,GPU参数的选择优先级是不一样的,总体来说分两条路线:
卷积网络和Transformer:张量核心(GPU)>FLOPs(每秒浮点运算次数)>显存带宽>16位浮点计算能力
循环神经网络:显存带宽>16位浮点计算能力>张量核心(GPU)>FLOPs
Tim Dettmers对比了各个厂商的显卡,绘制了下图:
总之,根据量子位对Tim Dettmers博文的翻译,在GPU的选择上有三个原则:使用GTX 1070或更好的GPU;
购买带有张量核心的RTX GPU;
在GPU上进行原型设计,然后在TPU或云GPU上训练模型。
针对不同研究目的、不同预算,Tim给出了如下的建议:最佳GPU:RTX 2070
避免的坑:所有Tesla、Quadro、创始人版(Founders Edition)的显卡,还有Titan RTX、Titan V、Titan XP
高性价比:RTX 2070(高端),RTX 2060或GTX 1060 (6GB)(中低端)
穷人之选:GTX 1060 (6GB)
破产之选:GTX 1050 Ti(4GB),或者CPU(原型)+ AWS / TPU(训练),或者Colab
Kaggle竞赛:RTX 2070
计算机视觉或机器翻译研究人员:采用鼓风设计的GTX 2080 Ti,如果训练非常大的网络,请选择RTX Titans
NLP研究人员:RTX 2080 Ti
已经开始研究深度学习:RTX 2070起步,以后按需添置更多RTX 2070
尝试入门深度学习:GTX 1050 Ti(2GB或4GB显存)
更新:2020.09.09
Nvidia出了新显卡,号称半价买泰坦。大家可以看看下面这篇文章
参考