参与:思、泽南、jamin

2020年搞深度进修需要什么样的GPU:请上48G显存_模子_显存 AI简讯

2020 年,什么样的 GPU 才是人工智能演习的最佳选择?本文给出的结论彷佛见告我们,开拓深度学习间隔「普通人」越来越远了。

众所周知,当今业界性能最强(SOTA)的深度学习模型都会占用巨大的显存空间,很多过去性能算得上强劲的 GPU,现在可能稍显内存不敷。
在 lambda 最新的一篇显卡横向测评文章中,开拓者们磋商了哪些 GPU 可以再不涌现内存缺点的情形下演习模型。
当然,还有这些 GPU 的 AI 性能。

今年的 GPU 评测比较往年有了不小的变革:由于深度学习技能的突飞年夜进,以前 12G 内存打天下的局势不复存在了。
在 2020 年 2 月,你至少须要花费 2500 美元买上一块英伟达最新款的 Titan RTX 才可以勉强跑通业界性能最好的模型——那到今年年底会是什么样就无法想象了。
或许我们该当把目光转向云端 GPU。

一句话总结

截止到 2020 年 2 月份,只有以下这几种 GPU 可以演习所有业内顶尖的措辞和图像模型:

RTX 8000:48GB 显存,约 5500 美元RTX 6000:24GB 显存,约 4000 美元Titan RTX:24GB 显存,约 2500 美元

以下 GPU 可以演习大多数 SOTA 模型,但不是所有模型都能:

RTX 2080Ti:11GB 显存,约 1150 美元RTX 1080Ti:11GB 显存,约 800 美元(二手)RTX 2080:8GB 显存,约 720 美元RTX 2070:8GB 显存,约 500 美元

超大规模的模型在这一级别的 GPU 上演习,常日须要调小 Batch size,这很可能意味着更低的准确性。

以下 GPU 不太能用作高端 AI 模型的演习:

RTX 2060:6GB 显存,约 359 美元

图像模型测试

为测试当前 GPU 性能,研究者们以 CV 和 NLP 两个方向的顶尖模型进行了测试。
处理图像模型而言,根本版 GPU 或 Ti 系的处理的效果都不是很好,且相互差异不大。

相较而言 RTX 的有明显上风且以最新版的 RTX8000 最为突出,不难创造就目前为止对付 GPU 能处理的批量大小基本都因此 2 的倍数来提升。
相较于性能方面,总体还是以 RTX 系为最优。

1. 显存能支持的最大批量大小

如下如果要演习 Pix2Pix HD 模型,至少须要 24GB 的显存,且批大小还只能是一张图像。
这紧张由于输入图像为 2048x1024 的高清大图,演习所需的显存与打算都非常大。

带符号表示 GPU 显存不敷以运行模型

2. 性能(每秒处理的图像数量)

这些都是大模型,连打算最快的神经架构搜索模型 NasNet Large,之前也一贯以算力需求大著称。
只管演习 NasNet Large 的数据集是 ImageNet,其图像分辨率只有 331x331。

带符号表示 GPU 显存不敷以运行模型

措辞类模型测试

对付措辞类模型而言,批量处理量方面依旧是 RTX 系为最优。
但单从性能角度而言,跟其他各款比较,Titan RTX 却有着不错的表现。

1. 显存能支持的最大批量大小

如下前面三个都是机器翻译模型,后面三个都是预演习措辞模型。
两者的计数办法不太一样,一条 Sequences 可能几十到几百个 Token。

带符号表示 GPU 显存不敷以运行模型

2. 性能

带符号表示 GPU 显存不敷以运行模型

以 RTX 8000 为基准,向左看齐

上面的性能表格可能不足直不雅观,lambda 以 Quadro RTX 8000 为基准,将其设定为「1」,其它 GPU 则针对该 GPU 打算出相对性能。
如下所示为不同模型在不同 GPU 上进行演习的数据吞吐量:

对付所有测试结果,lambda 给出了测试模型与数据集。
如说是 CV 中的各种任务,其采取了 ImageNet、MSCOCO 和 CityScape 等主流主数据集,模型也直接用原作者在 GitHub 上开源的代码。
如果是 NLP 中的各种任务,除了 WMT 英-德数据集,其它 GLUE 基准中的数据集也有采取。

从图像识别、分割、检测与天生,到机器翻译、措辞模型与 GLUE 基准,这些任务差不多覆盖了 GPU 利用的绝大多数场景,这样的测试也是比较合理了。

2020 年,深度学习须要什么样的 GPU?

「旧模型」都跑不了,更别说什么开拓新模型了。
看完上面的测试结果,是不是觉得「生活溘然失落去了梦想」?除了硬件之外,我们还可以从本次测评中不雅观察到近段韶光深度学习发展趋势的变革:

措辞模型比图像模型更须要大容量显存。
把稳措辞模型那张图的折线变革轨迹要比图像模型那张更加陡峭。
这表明措辞模型受内存的限定更大,而图像模型受算力的限定更大。
显存越高,意味着性能越强大。
由于显存越大,batch size 就越大,CUDA 核可以更加靠近满负荷事情。
更大的显存可以按比例用更大的 Batch size,以此推之:24GB 显存的 GPU 比较 8GB 显存的 GPU 可以用上 3 倍的 batch。
对付长序列来说,措辞模型的内存占用增长情形不成比例,由于把稳力是序列长度的二次方。

有了这些认识,我们就可以愉快地挑选 GPU 了:

RTX 2060(6GB):如果你想在业余韶光探索深度学习。
RTX 2070 或 2080(8GB):如果你想负责地研究深度学习,但用在 GPU 上的预算仅为 600-800 美元。
8G 的显存可以适用于大部分主流深度学习模型。
RTX 2080Ti(11GB):如果你想要负责地研究深度学习,不过用在 GPU 上的预算可以到 1200 美元。
RTX 2080Ti 在深度学习演习上要比 RTX 2080 快大约 40%。
Titan RTX 和 Quadro RTX 6000(24GB):如果你常常研究 SOTA 模型,但没有富余到能买 RTX 8000 的话,可以选这两款显卡。
Quadro RTX 8000(48GB):恭喜你,你的投入正面向未来,你的研究乃至可能会成为 2020 年的新 SOTA。
GPU 太贵,我选择薅成本主义羊毛

现在演习个模型,GPU 显存至少得上 8GB,对应的价格实在有点劝退。

实在,很多大企业都推出了面向研究和实验的免费 GPU 打算资源,例如我们熟知的 Kaggle Kernel、Google Colab,它们能供应 K80 或 P100 这种非常不错的 GPU 资源,个中 Colab 还能供应免费 TPU。
海内实在也有免费 GPU,百度的 AI Studio 能供应 Tesla V100 这种强劲算力。

这三者都有各自的利害势,Kaggle Kernel 与 Colab 都须要科学上网,且 Kaggle Kernel 只能供应最根本的 K80 GPU,它的算力并不大。
Colab 还会供应 T4 和 P100 GPU,算力确实已经足够了,但 Colab 有时会中断你的打算调用,这就须要分外的技巧办理。

百度 AI Studio 也能供应非常强大的 V100 算力,且现在有免费算力卡操持,每天运行环境都能得到 12 小时的 GPU 利用时长。
但问题在于,百度 AI Studio 只能调用 PaddlePaddle 框架,而不能自由选择 TF 或 PyTorch。

Colab 薅毛要技巧

很多开拓者在利用 Colab 时,总会抱怨时时时的终止,抱怨每一次结束后所有包和文件都会删除。
但实际上,除了科学上网,其它很多问题都能办理。

首先最大一个问题是 Colab 会断,但

那么如果断了呢?这就要考虑加载 Google Drive 了。
Colab 非常好的一点是能与谷歌云硬盘互动,也便是说等演习一些 Epoch 后,可以将模型保存在云端硬盘,这样就能做到持久化演习。
每当 Colab 断了时,我们可以从云端硬盘读取保存的模型,并连续演习。

如上两行代码可以将谷歌云硬盘加载到远程实例的「content/drive」目录下,后面各种模型操作与数据集操作都可以在这个目录下完成,纵然 Colab 断了连接,所有操作的内容也会保存在谷歌云盘。

只要搞定上面两个小技巧,Colab 的实用性就很强了。
当然,如果读者创造分配的 GPU 是 K80,你可以重新启动几次 Colab,即开释内存和本地文件的重新启动,每一次重启都会重新分配 GPU 硬件,你可以「等到」P100。

此外,开拓者还探索了更多的秘籍来担保 Colab 连接不会断,例如跑一段仿照鼠标点击的代码,让 Colab 断了也能自己重连:

functionClickConnect(){console.log("Working");document.querySelector("colab-toolbar-button#connect").click()}setInterval(ClickConnect,60000)AI Studio 算力是真强

Colab 的 P100 已经非常不错了,它有 16GB 的显存,演习大模型也没多大问题,但 AI Studio 的 V100 更强大。
AI Studio 纵然不申请打算卡,每天上岸项目也能得到 12 个 GPU 运算时,连续上岸还能有褒奖。

AI Studio 类似 Jupyter Notebook 的编辑界面也非常随意马虎利用,且中断运行环境后保存在磁盘里面的文件并不会删除,这也是 Colab 局限的地方。
但该平台只能导入 PaddlePaddle 框架,以是对付熟习 PaddlePaddle 框架的开拓者而言,AI Studio 是最好的免费算力平台。

我们考试测验了一下,在终端可以安装其他框架,且进入 Python 自带 IDE 后也能导入新安装的框架。
但是在 Notebook 界面,会显示只能导入 PaddlePaddle。

末了,看了这么多顶级 GPU 的性能比拟,也理解了免费 GPU 打算资源的特性。
以是,你是不是该宅在家搞一搞炫酷的深度学习新模型与新能力?

参考内容:https://lambdalabs.com/blog/choosing-a-gpu-for-deep-learning/