帮你省下2000块钱,入门级显卡RTX 2060做深度学习也不差

晓查 发自 凹非寺 量子位 出品 | 公众号 QbitAI 最近,NVidia发布了Turing架构

最近,NVidia发布了Turing架构的入门级显卡RTX 2060,售价只需350美元(约2400元),在老黄家新一代RTX显卡里可谓是物美价廉。

就连上一代顶级显卡GTX 1080Ti价格也是居高不下,官方定价699美元(约4700元)买不到,你还得加价买。

RTX 2060虽然只是入门级显卡,但它有一项重要特性,就是加入了张量核心(Tensor Core),这使深度学习模型能够更好地在“FP16”上进行运行,理论上最多能缩短一倍训练时间。

 RTX 2060规格参数

RTX 2060各方面的优劣势如下:

  • 大约只有GTX 1080Ti一半多的CUDA核心(1920 vs 3584);

    显存带宽只有1080Ti的70%(336 vs 484 GB/s);

    有240个用于深度学习的张量核心,而1080Ti没有;

    功率160W,而1080Ti功率达250W;

    更重要的是,作为新一代的“乞丐版”显卡,2060的价格只有1080Ti的一半!

    加入张量核心,显存和CUDA核心数却比1080Ti少了近一半,在此消彼长的情况下,2060还适合用来做深度学习吗?如果你囊中羞涩,不妨看国外开发者的实际对比测试,也许能帮你省下一大笔钞票。

    一位名叫Eric Perbos-Brinck的深度学习从业人员,分别在两张显卡上测试了CIFAR-10CIFAR-100两个数据集在不同层数的ResNet上的表现。

    运行环境

    首先,我们看一下Eric的硬件配置:

    CPU:AMD Ryzen 7 1700X 3.4GHz 8核
    主板:MSI X370 Krait
    内存:32GB DDR4
    硬盘:1TB NVMe 三星960Evo
    显卡:华硕GTX 1080Ti-11GB Turbo(800美元)、Palit RTX 2060–6GB(350美元

    软件环境:

    • Ubuntu 18.04 + Anaconda/Python 3.7

      CUDA 10

      PyTorch 1.0 + fastai 1.0

      Nvidia驱动版本:415.xx

      在每次运行程序前,Eric都会把训练用的显卡切换到第二个PCIe插槽,由另一张卡负责显示器的输出工作,让显卡把性能100%用在训练模型上。

      测试标准的内容是,在CIFAR数据集上训练ResNet模型,比较二者的运行时间,越短越好。

      运行结果

      为了测试结果的可比性,Eric运行了3个不同版本的Benchmark:

      在相同batch size的条件下,运行FP32和FP16;
      使用batch size扩大一倍的条件(从128增加到256),运行FP16 bs * 2。

      话不多说,下面开始跑分。

      CIFAR-10测试:运行30个epoch所需的时间,越短越好

      CIFAR-100测试:运行30个epoch所需的时间,越短越好

      结论:

      RTX 2060 FP32在多项测试中性能垫底。

      当深度学习模型层数较少时,GTX 1080Ti性能更佳,随着层数增多,RTX 2060性能实现了反超,而且层数越多性能优势越大。

      在CIFAR-100上,RTX 2060的性能优势更明显,即便层数较少,在FP16上的性能也好于GTX 1080Ti。

      总之,你的模型层数越多,而且是在半精度(FP16)条件下训练模型,那么用RTX 2060就越划算。

      One More Thing

      以上的结果都是显卡在100%负责训练模型的条件下测得的。

      如果你不是土豪,只有一张显卡,进行深度学习运算的同时,显卡也在负责显示器的输出。这会对性能造成多大的影响?

      Eric让显卡外接两个显示器,分辨率分别为1080p和1440p,测试结果如下:

      可以看出,外接双屏幕对性能的影响不超过10%。

打开APP阅读更多精彩内容