技术指南

NVLink 和 GPU 互连

NVLink 和相关互连是高速链路,可让许多 GPU 直接快速地相互通信。

概述

NVLink 和相关互连是高速链路,可让许多 GPU 直接快速地相互通信。它们至关重要,因为训练和服务最大的 AI 模型需要数百或数千个 GPU 才能像一个巨大的加速器一样运行。

NVLink 和 GPU 互连是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。

深入探讨

单个 GPU 无法容纳最大的模型,因此它们被分成许多芯片,这些芯片必须不断交换数据,例如权重、梯度和激活。标准 PCIe 总线对此来说速度太慢,因此 NVIDIA 创建了 NVLink,这是一种 GPU 到 GPU 的直接链接,可提供更高的带宽和更低的延迟。 NVSwitch 芯片将其扩展到一种结构中,以便服务器中的每个 GPU 都可以全速访问其他 GPU,从而将八个 GPU 变成一个大型内存和计算池。在机架规模上,像 NVIDIA 的 NVL72 这样的系统通过统一的 NVLink 域连接数十个 GPU。除了单个机架之外,InfiniBand 和以太网(通常使用 RDMA)等网络技术还将数千个节点连接到一个集群中。这些互连的质量直接限制了模型的训练规模和速度。

技术洞察

NVLink 在 GPU 之间提供专用的点对点通道,其带宽是 PCIe 的许多倍并且延迟更低,让 GPU 几乎可以像读取本地内存一样读取彼此的内存。 NVSwitch 的作用就像一个高速交叉开关,因此节点中的所有 GPU 都可以在全带宽下进行无阻塞通信。诸如 all-reduce 之类的集体操作(在训练期间对 GPU 上的梯度求和)在这种结构上运行速度要快得多,这就是为什么互连带宽强烈影响训练扩展到多个芯片的程度。

掌握 NVLink 和 GPU 互连

NVLink 和相关互连是高速链路,可让许多 GPU 直接快速地相互通信。它们至关重要,因为训练和服务最大的 AI 模型需要数百或数千个 GPU 才能像一个巨大的加速器一样运行。 NVLink 和 GPU 互连是一个技术构建块,会大规模影响模型质量、基础设施成本、延迟和可靠性。为了加深理解,请将 NVLink 和 GPU 互连视为一种操作模型,而不是单一功能:定义所需的结果,澄清假设,并将系统可以可靠地执行的操作与仍需要专家判断的操作分开。

在实践中,使用 NVLink 和 GPU 互连的强大团队根据可靠性和成本优化架构、数据和基础设施选择。他们记录明确的成功标准,根据实际数据和工作流程进行测试,并根据观察到的失败模式而不是一次性基准测试胜利进行迭代。这就是理论理解转变为跨产品、政策和运营的持久能力的地方。

多年来,架构决策决定着性能和运营成本。与此同时,优化一个基准测试可以隐藏更广泛的系统弱点。最具弹性的方法是将实验速度与治理规则结合起来:运行试点、捕获证据、发布决策日志,并随着模型行为、用户期望和监管要求的发展不断更新保障措施。

战略影响

多年来,架构决策决定着性能和运营成本。

多年来,架构决策决定着性能和运营成本。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

更好的工程选择可以减少生产中的可靠性事故。

更好的工程选择可以减少生产中的可靠性事故。在高质量部署中,这会转化为可衡量的操作规则、所有权边界和定期审查仪式,以便团队可以增强信心,而不是扩大模糊性。

NVLink 和 GPU 互连的未来

随着模型的发展超出了单一服务器的范围,互连正在成为系统。 NVLink 每一代都在不断获得带宽,并且机架级 NVLink 域(如 NVL72)正在扩大作为一个 GPU 的数量。预计会有更大的统一域、计算和网络的更紧密耦合、可降低距离功率的光链路,以及业界在开放互连标准(例如 UALink)方面所做的努力,以与专有结构相竞争。扩展人工智能越来越依赖于芯片之间的数据传输以及芯片本身。

现实世界的实施

通过 NVSwitch 连接一台服务器(如 NVIDIA DGX 系统)内的八个 GPU,以便它们共享内存并一起训练一个大型模型。

在分布式训练期间跨 GPU 执行 all-reduce 梯度同步,并由 NVLink 带宽加速。

将机架级 NVL72 系统中的数十个 GPU 连接到一个统一的 NVLink 域,以实现万亿参数模型。

使用 InfiniBand 或 RDMA-over-Ethernet 将数千台 GPU 服务器连接到集群中,以进行大规模基础模型训练。

实施模式

NVLink 和 GPU 互连的实践

通过 NVSwitch 连接一台服务器(如 NVIDIA DGX 系统)内的八个 GPU,以便它们共享内存并一起训练一个大型模型。

通过 NVSwitch 在一台服务器(如 NVIDIA DGX 系统)内连接八个 GPU,以便它们共享内存并一起训练一个大型模型。当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

NVLink 和 GPU 互连的实践

在分布式训练期间跨 GPU 执行 all-reduce 梯度同步,并由 NVLink 带宽加速。

在分布式训练期间跨 GPU 执行 all-reduce 梯度同步,并通过 NVLink 带宽进行加速 当团队预先定义质量阈值、为边缘情况保留人工升级路径并跟踪一段时间内的生产力提升和错误成本时,通常会获得更好的结果。

NVLink 和 GPU 互连的实践

将机架级 NVL72 系统中的数十个 GPU 连接到一个统一的 NVLink 域,以实现万亿参数模型。

将机架级 NVL72 系统中的数十个 GPU 连接到一个统一的 NVLink 域,以实现数万亿参数模型当团队预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

NVLink 和 GPU 互连的实践

使用 InfiniBand 或 RDMA-over-Ethernet 将数千台 GPU 服务器连接到集群中,以进行大规模基础模型训练。

使用 InfiniBand 或 RDMA-over-Ethernet 将数千台 GPU 服务器绑定到一个集群中,进行大规模基础模型训练 团队在预先定义质量阈值、为边缘情况保留人工升级路径并随着时间的推移跟踪生产力增益和错误成本时,通常会获得更好的结果。

风险与防护栏

!

优化一项基准测试可以隐藏更广泛的系统弱点。

!

基础设施和维护成本常常被低估。

!

随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

实施路线图

1

在实施之前定义延迟、质量和成本目标。

在实施之前定义延迟、质量和成本目标。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

2

在实际负载和数据条件下进行基准测试。

在实际负载和数据条件下进行基准测试。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

3

仪器监控错误、漂移和用户影响。

仪器监控错误、漂移和用户影响。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

4

在扩展之前准备回滚和事件响应路径。

在扩展之前准备回滚和事件响应路径。将每个步骤视为证据门:如果不满足标准,则暂停推出,缩小差距,然后再扩大使用。

不断探索