转载于 量子位
搞AI,谁又没有“GPU之惑”?
张量核心、显存带宽、16位能力……各种纷繁复杂的GPU参数让人眼花缭乱,到底怎么选?
从不到1000元1050 Ti到近30000元的Titan V,GPU价格的跨度这么大,该从何价位下手?谁才是性价比之王?
让GPU执行不同的任务,最佳选择也随之变化,用于计算机视觉和做NLP就不太一样。
而且,用云端TPU、GPU行不行?和本地GPU在处理任务时应该如何分配,才能更省钱?
最合适的AI加速装备,究竟什么样?
现在,为了帮你找到最适合的装备,华盛顿大学的博士生Tim Dettmers将对比凝练成实用攻略,最新的模型和硬件也考虑在内。
到底谁能在众多GPU中脱颖而出?测评后马上揭晓。
文末还附有一份特别精简的GPU选购建议,欢迎对号入座。
最重要的参数针对不同深度学习架构,GPU参数的选择优先级是不一样的,总体来说分两条路线:
卷积网络和Transformer:张量核心>FLOPs(每秒浮点运算次数)>显存带宽>16位浮点计算能力
循环神经网络:显存带宽>16位浮点计算能力>张量核心>FLOPs
这个排序背后有一套逻辑,下面将详细解释一下。
在说清楚哪个GPU参数对速度尤为重要之前,先看看两个最重要的张量运算:矩阵乘法和卷积。
举个栗子????,以运算矩阵乘法A×B=C为例,将A、B复制到显存上比直接计算A×B更耗费资源。也就是说,如果你想用LSTM等处理大量小型矩阵乘法的循环神经网络,显存带宽是GPU最重要的属性。
矩阵乘法越小,内存带宽就越重要。
相反,卷积运算受计算速度的约束比较大。因此,要衡量GPU运行ResNets等卷积架构的性能,最佳指标就是FLOPs。张量核心可以明显增加FLOPs。
Transformer中用到的大型矩阵乘法介于卷积运算和RNN的小型矩阵乘法之间,16位存储、张量核心和TFLOPs都对大型矩阵乘法有好处,但它仍需要较大的显存带宽。
需要特别注意,如果想借助张量核心的优势,一定要用16位的数据和权重,避免使用RTX显卡进行32位运算!
下面Tim总结了一张GPU和TPU的标准性能数据,值越高代表性能越好。RTX系列假定用了16位计算,Word RNN数值是指长度