手机站 广告联系

十五人行新闻网—梳理天下事

Titan XP值不值?一文教你如何挑选深度学习GPU

来源: 作者: 人气: 发布时间:2017-11-26
摘要:本文作者 slav Ivanov 在今年早些时候曾介绍过如何用 1700 美元预算搭建深度学习机器。最近,英伟达在消费级 GPU 领域又推出了 GTX 1070 Ti,如果现在想要组装一台深度学习机器,我们用哪块 GPU 最好呢?本文将详细解答这一问题。

本文作者 slav Ivanov 在今年早些时候曾介绍过如何用 1700 美元预算搭建深度学习机器。最近,英伟达在消费级 GPU 领域又推出了 GTX 1070 Ti,如果现在想要组装一台深度学习机器,我们用哪块 GPU 最好呢?本文将详细解答这一问题。

\

 

即将进入 2018 年,随着硬件的更新换代,越来越多的机器学习从业者又开始面临选择 GPU 的难题。正如我们所知,机器学习的成功与否很大程度上取决于硬件的承载能力。在今年 5 月,我在组装自己的深度学习机器时对市面上的所有 GPU 进行了评测。而在本文中,我们将更加深入地探讨:

• 为什么深度学习需要使用 GPU
• GPU 的哪种性能指标最为重要
• 选购 GPU 时有哪些坑需要避免
• 性价比
• 每个价位的最佳选择

GPU + 深度学习


深度学习(DL)是机器学习(ML)的一个分支。深度学习使用神经网络来解决问题。神经网络的优点之一是自行寻找数据(特征)模式。这和以前告诉算法需要找什么不一样。但是,通常这意味着该模型从空白状态开始(除非使用迁移学习)。为了从头捕捉数据的本质/模式,神经网络需要处理大量信息。通常有两种处理方式:使用 CPU 或 GPU。

计算机的主要计算模块是中央处理器(CPU),CPU 的设计目的是在少量数据上执行快速计算。在 CPU 上添加数倍的数字非常快,但是在大量数据上进行计算就会很慢。如,几十、几百或几千次矩阵乘法。在表象背后,深度学习多由矩阵乘法之类的操作组成。

有趣的是,3D 电子游戏同样依赖这些操作来渲染那些美丽的风景。因此,GPU 的作用被开发出来,它们可以使用数千个核心处理大量并行计算。此外,它们还有大量内存带宽处理数据。这使得 GPU 成为进行 DL 的完美硬件。至少,在用于机器学习的 ASIC 如谷歌的 TPU 投入市场之前,我们还没有其他更好的选择。

总之,尽管使用 CPU 进行深度学习从技术上是可行的,想获得真实的结果你就应该使用 GPU。

对我来说,选择一个强大的图形处理器最重要的理由是节省时间和开发原型模型。网络训练速度加快,反馈时间就会缩短。这样我就可以更轻松地将模型假设和结果之间建立联系。

选择 GPU 的时候,我们在选择什么?

和深度学习相关的主要 GPU 性能指标如下:

• 内存带宽:GPU 处理大量数据的能力,是最重要的性能指标。
• 处理能力:表示 GPU 处理数据的速度,我们将其量化为 CUDA 核心数量和每一个核心的频率的乘积。
• 显存大小:一次性加载到显卡上的数据量。运行计算机视觉模型时,显存越大越好,特别是如果你想参加 CV Kaggle 竞赛的话。对于自然语言处理和数据分类,显存没有那么重要。

常见问题

多 GPU(SLI/交火)

选择多 GPU 有两个理由:需要并行训练多个模型,或者对单个模型进行分布式训练。并行训练多个模型是一种测试不同原型和超参数的技术,可缩短反馈周期,你可以同时进行多项尝试。

分布式训练,或在多个显卡上训练单个模型的效率较低,但这种方式确实越来越受人们的欢迎。现在,使用 TensorFlow、Keras(通过 Horovod)、CNTK 和 PyTorch 可以让我们轻易地做到分布式训练。这些分布式训练库几乎都可以随 GPU 数量达成线性的性能提升。例如,使用两个 GPU 可以获得 1.8 倍的训练速度。

PCIe 通道:使用多显卡时需要注意,必须具备将数据馈送到显卡的能力。为此,每一个 GPU 必须有 16 个 PCIe 通道用于数据传输。Tim Dettmers 指出,使用两个有 8 个 PCIe 通道的 GPU,性能应该仅降低「0—10%」。

对于单个 GPU 而言,任何桌面级处理器和芯片组如 Intel i5 7500 和 Asus TUF Z270 需要使用 16 个通道。

然而,对于双 GPU,你可以使用 8x/8x 通道,或者使用一个处理器和支持 32PCIe 通道的主板。32 个通道超出了桌面级 CPU 的处理能力。使用 Intel Xeon 组合 MSI—X99A SLI PLUS 是可行的方案。

对于 3 个或 4 个 GPU,每个 GPU 可使用 8x 通道,组合支持 24 到 32 个 PCIe 通道的 Xeon。

如果需要使用 3 到 4 个有 16 个 PCIe 通道的 GPU,你得有一个怪兽级处理器。例如 AMD ThreadRipper(64 个通道)和相应的主板。

总之,GPU 越多,需要越快的处理器,还需要有更快的数据读取能力的硬盘。

英伟达还是 AMD

英伟达已经关注深度学习有一段时间,并取得了领先优势。他们的 CUDA 工具包具备扎实的技术水平,可用于所有主要的深度学习框架——TensorFlow、PyTorch、Caffe、CNTK 等。但截至目前,这些框架都不能在 OpenCL(运行于 AMD GPU)上工作。由于市面上的 AMD GPU 便宜得多,我希望这些框架对 OpenCL 的支持能尽快实现。而且,一些 AMD 卡还支持半精度计算,从而能将性能和显存大小加倍。

今年夏天,AMD 还发布了 ROCm 平台提供深度学习支持,它同样适用于主流深度学习库(如 PyTorch、TensorFlow、MxNet 和 CNTK)。目前,ROCm 仍然在不断开发中。然而目前而言,如果想做深度学习的话,还是选择英伟达吧。

其它硬件

你的 GPU 还需要以下这些硬件才能正常运行:

• 硬盘:首先需要从硬盘读取数据,我推荐使用固态硬盘,但机械硬盘也可以。
• CPU:深度学习任务有时需要用 CPU 解码数据(例如,jpeg 图片)。幸运的是,任何中端现代处理器都能做得不错。
• 主板:数据需要通过主板传输到 GPU 上。单显卡可以使用几乎任何芯片组都可以使用。
• RAM:一般推荐内存的大小至少和显存一样大,但有更多的内存确实在某些场景是非常有帮助的,例如我们希望将整个数据集保存在内存中。
• 电源:一般来说我们需要为 CPU 和 GPU 提供足够的电源,至少需要超过额定功率 100 瓦。

我们总体上需要 500 到 1000 美元来获得以上设备,当然如果买一个二手工作站会更加省钱。

GPU 性能对比(2017 年 11 月)


下面是截止目前英伟达产品线主要 GPU 的性能对比,每个 GPU 的 RAM 或内存带宽等信息都展示在图表中。注意 Titan XP 和 GTX 1080 Ti 尽管价格相差非常多,但它们的性能却非常相近。

\

责任编辑:

十五人行新闻独家出品

新闻由机器选取每5分钟自动更新

手机:122222222222 邮箱:11223344@qq.com
地址:北京市河南岸国商大厦B-6-B