Transformers 文档

构建你自己的机器

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

构建你自己的机器

在为深度学习构建机器时,最重要的考虑因素之一是 GPU 的选择。GPU 是深度学习的标准主力,因为它们拥有用于高效矩阵乘法的 Tensor Core 和高内存带宽。为了训练大型模型,你需要更强大的 GPU、多个 GPU,或者利用将部分负载卸载到 CPU 或 NVMe 的技术。

本指南提供了一些设置深度学习 GPU 的实用技巧。有关 GPU 的更详细讨论和比较,请参阅《为深度学习选择哪个 GPU(s)》博客文章。

电源

高端消费级 GPU 可能有两个或三个 PCIe 8 针电源插座,您应该确保每个插座都连接了相同数量的 12V PCIe 8 针电缆。不要使用**一分二电缆**(一根电缆在末端有两个分支)来连接两个插座,否则您将无法获得 GPU 的全部性能。

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

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

散热

过热的 GPU 会降低其性能,如果太热甚至会关机以防止损坏。将 GPU 温度保持在 158 - 167 华氏度(70 - 75 摄氏度)之间,对于发挥全部性能和延长其寿命至关重要。一旦温度达到 183 - 194 华氏度(84 - 90 摄氏度),GPU 可能会开始限制性能。

多 GPU 连接

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

运行以下命令检查您的 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 上更新