Transformers 文档

构建你自己的机器

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

构建你自己的机器

构建深度学习机器时,最重要的考虑因素之一是 GPU 的选择。由于 GPU 具有用于执行高效矩阵乘法的张量核心和高内存带宽,因此是深度学习的标准主力。为了训练大型模型,你需要更强大的 GPU、多个 GPU,或者利用将部分负载转移到 CPU 或 NVMe 的技术。

本指南提供了一些关于为深度学习设置 GPU 的实用技巧。有关 GPU 的更详细讨论和比较,请查看“应该为深度学习选择哪个 GPU”的博客文章。

电源

高端消费级 GPU 可能有两个或三个 PCIe 8 针电源插座,你应该确保连接到每个插座的 12V PCIe 8 针电缆数量相同。不要使用“猪尾线”,即一端有两个分支的单根电缆来连接两个插座,否则你将无法从 GPU 获得完整性能。

每根 PCIe 8 针电源线应连接到电源单元 (PSU) 上的 12V 导轨,并且可以提供高达 150W 的功率。其他 GPU 可能会使用 PCIe 12 针连接器,它可以提供高达 500-600W 的功率。低端 GPU 可能仅使用 PCIe 6 针连接器,它提供高达 75W 的功率。

电源单元具有稳定的电压非常重要,否则它可能无法在峰值使用期间为 GPU 提供足够的功率以正常运行。

散热

过热的 GPU 会限制其性能,甚至在过热时关闭以防止损坏。保持 GPU 温度在 158 - 167F 之间的低温对于发挥完整性能和延长其使用寿命至关重要。一旦温度达到 183 - 194F,GPU 可能会开始限制性能。

多 GPU 连接

当你的设置使用多个 GPU 时,重要的是要考虑它们是如何连接的。NVLink 连接比 PCIe 桥接更快,但你也应该考虑你正在使用的并行策略。例如,在 DistributedDataParallel 中,与 ZeRO-DP 相比,GPU 通信频率较低。在这种情况下,较慢的连接并不那么重要。

运行以下命令以检查你的 GPU 如何连接。

nvidia-smi topo -m
NVLink
没有 NVLink

NVLink 是 NVIDIA 设计的一种高速通信系统,用于连接多个 NVIDIA GPU。在 wikitext 数据集的小样本上训练 openai-community/gpt2,使用 NVLink 速度快约 23%。

在一台具有两个通过 NVLink 连接的 GPU 的机器上,下面显示了 nvidia-smi topo -m 的示例输出。

        GPU0    GPU1    CPU Affinity    NUMA Affinity
GPU0     X      NV2     0-23            N/A
GPU1    NV2      X      0-23            N/A

NV2 表示 GPU0GPU1 通过 2 个 NVLink 连接。

< > 更新 在 GitHub 上