GPU选购指南:训练ML模型,我必须买RTX3080吗?( 九 )


GPU 的碳排放量是多少?我如何使用 GPU 而又不污染环境?我构建了一个碳计算器,供学者们计算自己的碳排放量(从航班到会议 + GPU 时间的碳排放) 。该计算器也可以用来计算纯粹的GPU 碳排放量 。你会发现,GPU 产生的碳比国际航班多得多 。因此,你应该确保你有一个绿色能源,如果你不想有一个天文数字的碳排放量 。如果我们这个地区没有电力供应商提供绿色能源,最好的办法就是购买碳抵消 。许多人对碳抵消持怀疑态度 。他们工作吗?他们是在诈骗吗?
我相信,在这种情况下,怀疑主义是有害的,因为什么都不做比冒着被骗的风险更有害 。如果你担心被骗,只需投资一个抵消投资组合来最小化风险 。
大约十年前,我参与了一个产生碳抵消的项目 。联合国官员跟踪了整个过程,他们获得了干净的数字数据,并对项目现场进行了实地检查 。在这种情况下产生的碳抵消是非常可靠的 。我相信,其他许多项目也有类似的质量标准 。
碳计算器: https://github.com/TimDettmers/carbonneutral
在两台机器之间并行需要什么?如果你想要跨机器并行,那么你将需要 +50Gbits/s 的网卡来提高速度 。关于这个问题,我有一篇有点过时的博文 。现在,我建议至少有一个EDR Infiniband 设置,这意味着网卡至少有50 GBit/s 的带宽 。两张带线缆的EDR 卡在eBay 上大约卖500 美元 。
稀疏矩阵乘法特性适用于一般的稀疏矩阵吗?似乎并非如此 。稀疏矩阵的粒度需要满足每4 个元素有2 个零值元素,也就是说,稀疏矩阵需要是高度结构化的 。可以稍微调整下算法,这涉及到将4 个值组合成2 个值的压缩表示,但这也意味着Ampere GPU 不可能实现任意稀疏矩阵的精确乘法 。
我需要Intel CPU 来支持多GPU 设置吗?我不推荐Intel CPU,除非你在Kaggle 竞赛中大量使用了CPU(CPU 上的大量线性代数运算) 。即使是在Kaggle 竞赛中,AMD CPU 仍然很好 。在深度学习方面,AMD GPU 比Intel GPU 更便宜也更好 。对于4x GPU 构建,我的首选CPU 是Threadripper 。我们在大学里用Threadripper 构建了几十个系统,它们都工作得很好——还没有人抱怨 。对于8x GPU 系统,我通常会选择供应商熟悉的CPU 。在8x 系统中,CPU 和PCIe/ 系统可靠性比单纯的性能或成本效益更重要 。
我应该等待RTX 3090 Ti 吗?目前还不清楚是否会有RTX 3080 Ti / RTX 3090 Ti / RTX Ampere Titan 。GTX XX90 的名称通常是留给双GPU 卡,所以NVIDIA 是偏离了这一趋势 。从价格和性能来看,似乎RTX 3090 是一个取代RTX 3080 Ti 的名字 。但是所有这些都是推测 。如果你对这个问题感兴趣,我建议你对Rumor Mill 上的新闻跟踪一两个月,如果你什么都没有看到,就不太可能出现RTX 3080 Ti / RTX 3090 Ti / RTX Ampere Titan 。
机箱设计对散热有影响吗?没有 。只要GPU 之间有一个小间隙,GPU 的冷却通常就没问题 。机箱设计可以提供1 到3 摄氏度的好处,而GPU 之间的间隙将提供10 到30 摄氏度的改进 。归根结底,如果GPU 之间有间隙,冷却就没问题 。如果GPU 之间没有间隙,就需要合适的冷却器设计(鼓风扇)或其他解决方案(水冷、PCIe 扩展器),但无论哪种情况,机箱设计和机箱风扇都不很重要 。
AMD GPUs + ROCm 能赶上 NVIDIA GPUs + CUDA 吗?1-2 年内赶不上 。这涉及三个方面的问题:张量核、软件和社区 。
就纯硅而言,AMD GPU 很棒:优秀的 FP16 性能,优秀的内存带宽 。然而,由于缺乏张量核或等效特性,其深度学习性能与 NVIDIA GPU 相比较差 。封装的低精度数学函数不能解决这个问题 。没有这个硬件特性,AMD GPU 将永远不会有竞争力 。有传言称,AMD 计划在 2020 年推出某种具有张量核等效特性的数据中心卡,但此后就没有新的数据出现了 。拥有张量核等效特性的数据中心卡意味着很少有人能够负担得起这样的AMD GPU,这将给NVIDIA 带来竞争优势 。
假设AMD 在未来引入了类似于张量核的硬件特性 。然后很多人会说,“但是没有软件针对AMD GPU!”我该怎么使用它们呢?这更多的是一种误解 。AMD 软件ROCm 已经发展很长一段时间了,并且PyTorch 提供了优秀的支持 。虽然我没有看到很多针对AMD GPU+ PyTorch 的经验报告,但所有的软件功能已整合 。看起来,不管你选择什么网络,都可以很好地在AMD GPU 上运行 。所以,在这方面,AMD 已经走过了一段很长的路,这个问题或多或少得到了解决 。
然而,如果软件问题和缺少张量核的问题已得到了解决,AMD 还有一个问题:缺少社区 。如果你使用NVIDIA GPU 遇到问题,你可以在谷歌查询这个问题并找到解决方案 。这让人们对NVIDIA GPU 产生了很大的信任 。你有基础设施,使使用NVIDIA GPU 变得很容易(任何深度学习框架都可以使用,任何科学问题都得到很好的支持) 。你可以轻松地使用NVIDIA GPU(比如apex) 。你很容易就可以找到NVIDIA GPU 和编程专家,而我认识的AMD GPU 专家就少得多 。


推荐阅读