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

  • 如果你使用 GPU 的时间不到一年,那么云 GPU 是有帮助的 。除此之外,台式机是更便宜的解决方案 。
  • 我需要 PCIe 4.0 吗?一般来说,不需要 。如果你有一个 GPU 集群,PCIe 4.0 很有用 。如果你有一台 8x GPU 机器,也还可以,但除此之外,它就没有多大好处了 。它可以帮助实现更好的并行化和更快的数据传输 。数据传输在任何应用程序中都不是瓶颈 。在计算机视觉中,在数据传输管道中,数据存储可能是瓶颈,而 PCIe 从 CPU 到 GPU 的传输则不是瓶颈 。所以,对于大多数人来说,没有真正的理由去安装 PCIe 4.0 。在 4 GPU 设置中,这样做的好处是,并行度可能会提高 1-7% 。
    我需要 8x/16x PCIe 通道吗?和 PCIe 4.0 一样,一般来说,不需要 。并行化和快速数据传输需要 PCIe 通道,但这几乎不会成为瓶颈 。在 4x 通道上运行 GPU 就很好,特别是当你只有 2 个 GPU 的时候 。对于 4 GPU 设置,我更希望每个 GPU 有 8 个通道,但如果你是在 4 个 GPU 上并行运行的话,那么 4 个通道可能只会降低 5-10% 的性能 。
    如果每个 RTX 3090 需要 3 个 PCIe 插槽,我该如何安装 4x RTX 3090?你需要一个双插槽变体,或者你可以尝试使用 PCIe 扩展器布置它们 。除了空间之外,你还需要考虑冷却问题和一个合适的 PSU 。最易于管理的解决方案似乎是,4x RTX 3090 EVGA Hydro Copper 加一个定制的水冷循环 。这可以使卡处于低温状态 。EVGA 生产 Hydro Copper 版本的 GPU 已有多年,我认为你可以信任其水冷式 GPU 的质量 。不过,可能还有其他更便宜的变体 。
    PCIe 扩展器也可以解决空间和冷却问题,但是你需要确保你的机箱中有足够的空间来布置 GPU 。一定要确保你的 PCIe 扩展器足够长!
    我该如何冷却 4x RTX 3090 或 4x RTX 3080?请看上节 。
    我可以使用多个不同类型的 GPU 吗?是的,你可以!但是不同类型的 GPU 无法有效地并行 。我认为,一个 3x RTX 3070 加一个 RTX 3090 就够原型推广了 。另一方面,在 4x RTX 3070 GPU 上并行会非常快,如果你能将模型放到这些 GPU 上的话 。除此之外,我能想到的你希望这样做的唯一原因是,你希望继续使用旧 GPU 。这没问题,但是在那些 GPU 上并行会比较低效,因为最快的 GPU 会等待最慢的 GPU 到达一个同步点(通常是梯度更新) 。
    NVLink 是什么,有用吗?一般来说,NVLink 是没有用的 。NVLink 是 GPU 之间的高速互连 。如果你有一个有 +128 GPU 的 GPU 集群,它就有用了 。否则,与标准 PCIe 传输相比,它几乎不会产生任何好处 。
    我钱不够,即使是你推荐的最便宜的 GPU 。我能做什么?当然是买二手 GPU 。二手 RTX 2070(400 美元)和 RTX 2060(300 美元)都很棒 。如果你负担不起,次佳选项是试着买一个二手的 GTX 1070(220 美元)或 GTX 1070 Ti(230 美元) 。如果那还太贵,则可以使用 GTX 980 Ti (6GB 150 美元)或使用 GTX 1650 Super(190 美元) 。如果这都太贵的话,最好是使用免费的 GPU 云服务 。通常,这些服务会有时间限制,之后你就需要付费了 。你可以轮流使用不同的服务和账户,直到你有钱购买自己的 GPU 。
    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 不可能实现任意稀疏矩阵的精确乘法 。


    推荐阅读