hdy 发表于 2025-5-27 22:55

Blackwell GPU性能/TCO深度分析:B100、B200、GB200 NVL72


在上一代产品中,英伟达 H100 的性能 / 总拥有成本(TCO)提升表现不佳,原因在于其定价大幅上涨。实际上,A100 在推理场景下的 TCO 比 H100 更优 —— 这是因为 H100 的内存带宽提升有限,且其价格较 A100 在 2022 年第三季度的低谷定价大幅上涨。不过,这一情况在当时影响并不显著,因为人工智能行业对训练的需求远高于推理,而 H100 更强的浮点运算性能(FLOPS)更能满足训练需求;此外,价格上涨的主要原因是英伟达借机获取了更高的利润率。而 Blackwell 系列的情况则完全不同,其代际间的价格涨幅远未达到此前的水平。这主要是由于市场上面临双重竞争压力:一方面,现有大量 H100 和 H200 仍在流通;另一方面,超大规模定制芯片、AMD 的 MI300X 以及英特尔的 Gaudi 2/3 等新兴挑战者进入市场,并纷纷提出各自的性能 / TCO 优势。因此,英伟达必须拿出有说服力的理由来推销新一代产品。当然,英伟达也不会坐视竞争侵蚀市场,其定价策略变得极具攻击性,甚至可以说定价颇具 “诚意”。英伟达声称 Blackwell 系列性能较 Hopper 架构提升高达 30 倍。但问题在于,这一 30 倍的数据基于极其特定的最佳场景。需要明确的是,该场景确实真实且可能实现(排除不公平的量化差异因素),但并非完全能代表市场普遍情况。今天,我们将深入剖析英伟达的性能宣称,并借助我们耗时一年半开发的 LLM 模型性能模拟器,针对各类应用场景(包括不同规模模型的推理与训练)的实际性能提升进行详细分析。我们还将拆解以下问题:竞争对手的商用芯片是否具备竞争力,以及超大规模定制芯片在成本差异巨大的情况下,能否与英伟达的新产品抗衡。有几类关键工作负载值得关注,且每类负载具有不同特性。显然,推理与训练的差异极大,这是由于训练涉及反向传播过程且批量大小不同。处理大规模模型时,性能特征也会大相径庭,尤其是当模型规模突破 GPU 和节点边界时 —— 例如,将并行性扩展至典型 HGX H100 服务器的 8 块 GPU 之外。如今,许多人在讨论性能时往往聚焦于小模型推理(参数规模 < 1000 亿),但随着 Blackwell 大幅降低推理成本,加之小模型持续难以满足工作负载需求,再结合 Databricks DBRX 1320 亿参数模型、xAI Grok - 1 3.14 万亿参数模型、Cohere Command R + 1040 亿参数模型、Mistral 8x220 亿参数模型的发布,以及即将推出的 Meta LLAMA 3 模型,显然,焦点将重新转向大模型的推理性能。对于 “小模型” 微调与推理而言,参数规模超过 1000 亿的模型将成为新基准,而参数规模超过 1 万亿的稀疏模型将成为大模型的主流。需要明确的是,这些大模型目前已占据推理和训练计算资源的大部分份额。随着未来模型的不断迭代,大模型的标准只会持续提高。请记住,从经济角度考量,硬件需要在 4 - 6 年内保持有效性,而不仅仅是支撑到下一款模型发布。在深入探讨 LLM 性能模拟器及其对大小模型推理与训练的启示之前,我们先从硬件规格开始分析。规格 —— 远不止表面所见keynote 演讲中展示的性能提升是通过多个维度的改进实现的,其中最基础且最易理解的因素便是内存带宽和浮点运算(FLOPS)能力的提升。风冷 700W 的 B100 将率先出货,可提供 1750 TFLOPS 的 FP16/BF16 计算能力。B100 的基板设计可直接适配现有 HGX H100 系统的相同架构,这使其必须在更低功耗和时钟频率下运行,以保持在现有系统的散热范围内。在 B100 出货后不久,B200 将以更高功耗和更快时钟频率进入市场,提供 2250 TFLOPS 的 FP16/BF16 计算能力。此外,GB200 NVL72 采用液冷设计,允许 Blackwell GPU 在更高功耗水平下运行,进一步释放性能潜力,可提供 2500 TFLOPS 的 FP16/BF16 计算能力,较 H100 和 H200 提升 153%。表格中未包含 1200W 的 B200 型号。Source: Nvidia, SemiAnalysis在 FP16 和 TF32 精度下,B100 的浮点运算性能(FLOPS)仅提升 77%,但随着功耗增加并结合进一步的量化技术,总 FLOPS 性能可提升至 4 倍之多。内存带宽 —— 可以说是最重要的规格升级点 —— 从 H100 的 3.4 TB/s 和 H200 的 4.8 TB/s 提升至 Blackwell 系列最高 8.0 TB/s。这一提升最直接地改善了推理吞吐量和交互性(每秒 / 用户生成的 tokens 数量),因为推理场景通常受限于内存带宽。需要注意的是,即使在最坏情况下(FP16 精度直接对比),Blackwell 代际间的 FLOPS 性能仍提升 153%,但内存带宽的增幅相对较小。实际上,从 A100 到 H100 的带宽提升幅度比这一代更大。内存墙(Memory Wall)仍是未来 AI 行业规模扩展面临的最大挑战之一。Source: Nvidia, SemiAnalysis更重要的是考察 “浮点运算次数(FLOPS)× 位数 ÷ 带宽” 这一指标,它才能揭示真实性能情况。在大多数数据格式下,该比值基本保持一致,即充分利用浮点运算性能所需的计算强度(Arithmetic Intensity)维持稳定。若不考虑新数据格式的出现,基于相同的计算强度,大多数代码迁移后可实现相近的利用率。不过,一旦 Blackwell 张量核心的所有新特性被充分利用,其计算资源利用率(MFU)通常会比 Hopper 架构更优。然而,这些性能提升需结合以下事实来看:Blackwell 的芯片面积约为 1600mm²(含 2080 亿晶体管),是 Hopper(约 800mm²/800 亿晶体管)的两倍。鉴于摩尔定律放缓及 3nm 工艺的挑战,英伟达在未真正实现工艺节点缩小的情况下,仍需实现代际性能提升。通过使用设计技术协同优化(DTCO)和温和的 6% 光刻工艺微缩,Blackwell 仍实现了两倍于 Hopper 的性能。当考察 “每平方毫米芯片的原始 TFLOPS”(即对照逻辑制造成本来衡量)时,B100 的性能密度反而更低 —— 浮点运算性能提升 77%,但芯片面积增长约 100%。这是由于为适配现有 700W 平台以快速上市,B100 进行了降频处理,只有 B200 和 GB200 NVL72 才实现了单位芯片面积的性能提升。按芯片面积增长归一化后,风冷 B200 的单位面积 FP16 浮点运算性能仅提升 14%—— 这与全新架构的预期相去甚远。因为大部分性能提升仅通过增加芯片面积和量化技术实现。人们需要理解微缩 scaling 原理,并借助 Blackwell 架构解决 FP8、FP6 和 FP4 精度的训练问题。另需注意,在本文中,我们将 H100 和 H200 的 FP4 与 FP6 浮点运算性能(FLOPS)视为与 FP8 相同。尽管从内存以 FP4 格式加载数据后转换为 FP8 格式存在轻微开销,但在计算受限场景中,内存带宽节省足以降低功耗,并为实现最大 FLOPS 性能提供更多余量,这在实际应用场景中可有效抵消该开销。鉴于芯片面积翻倍应对应功耗翻倍的前提,分析等功耗性能提升(即每 GPU 瓦特实现的 FLOPS)至关重要。尽管 B100 在相同 700W 功耗下实现了 FP16/BF16 浮点运算性能(FLOPS)77% 的提升,但 B200 和 GB200 在芯片额外功耗带来的 FLOPS 增益上呈现递减趋势。GB200 每 GPU 瓦特的 TFLOPS 性能较 H100 提升 47%,这一改进虽有帮助,但在缺乏模型进一步量化的情况下,显然不足以实现 keynote 演讲中展示的 30 倍推理性能提升。从 FLOPS 成本角度看,情况同样平淡。GB200 NVL 和 B200 的每美元 TFLOPS 指标并未展现出显著差异。正如上述简单分析所表明的,仅看规格参数只是冰山一角,英伟达宣称的 30 倍推理性能提升,绝大部分源于量化技术,以及其他带来颠覆性变革的架构改进。模型性能调研英伟达宣称,与 H200 相比,GB200 的性能提升了 30 倍,但正如上述分析所示,没有任何一项单独的规格能接近这样的提升幅度。这怎么可能呢?嗯,这是因为系统的重要性超过了单个芯片的规格。“制造知识”(FabricatedKnowledge)就黄仁勋(Jensen)多年来一直宣称的 “数据中心是计算单元” 这一观点发表了一篇很棒的思考文章,而随着 GB200 NVL72 的出现,这一观点终于得以实现。我们应该注意到,在机器学习硬件领域,NVLink 背板和机架级产品并非新鲜事物。自 2018 年以来,谷歌一直在交付 64 个通过无源铜缆连接的 TPU 子切片,这些子切片在此基础上通过全水冷机架实现光连接。TPUv5p(蝰蛇鱼)和 TPUv5e(蝰蛇精简版)除了芯片级别的规格差异外,主要区别在于,v5e(蝰蛇精简版)通过铜缆连接 256 个 TPU 且无法进一步扩展,而 v5p(蝰蛇鱼)通过铜缆连接 64 个 TPU,并通过光电路交换机(OCS)与 8960 个 TPU 组成的集群中的其余部分相连。以下可能是我们所见过的关于机器学习性能建模以及最优总体拥有成本(TCO)搜索空间方面最酷的图表了。它充分揭示了大型语言模型(LLM)性能建模及相关趋势的诸多内容。它还展示了各种各样不同的并行策略以及批量大小情况。当在单个 GPU 上对较小的模型进行推理时,通常会得到如下所示的一条曲线:在小批量规模下,交互性(每秒每个用户的令牌数)非常高;而随着批量规模增大,吞吐量会增加,但交互性也会下降。在面向所有用户的系统吞吐量(每个令牌的成本)和单个用户交互性(用户体验)之间存在着一条权衡曲线。遗憾的是,像 GPT-4 这样的大型模型使得这种简单的单一权衡曲线不复存在了。大型模型必须拆分到多个 GPU 上运行,这就带来了诸多复杂的情况。例如,GPT-4 混合专家模型(MoE)有 550 亿个注意力参数,并且在 120 层中每层有 16 个专家,每个专家具备 1110 亿个参数,按每个参数 8 位来算,总共有 1.831 万亿个参数,总共需要 1831GB 的内存。这个模型不可能装在单个 GPU 上,甚至连 8 个 GPU 的服务器也装不下。因此,它必须拆分到数十个 GPU 上运行。模型如何拆分非常重要,因为每种不同的配置意味着截然不同的性能特征。让我们从简单的情况入手,逐步深入。推理并行技术 —— 流水线并行、张量并行、专家并行和数据并行
并行,即将任务拆分到多个 GPU 上,仅仅是为了能将模型装进系统里就是必要的。但正如我们即将看到的那样,并行的作用远不止缓解这种容量限制。让我们来解释一下最重要的几种并行形式,以及不同并行配置的运用如何成为性能提升的核心所在。我们将先从一个简化的解释开始,它会忽略一些复杂性,以便更容易理解,然后再深入探讨考虑到键值缓存(KVCache)、预填充以及各种内存、计算和通信开销的实际模型。流水线并行
在流水线并行这种最简单的并行形式中,模型的各层会被拆分到多个 GPU 上 —— 在下面以 GPT-4 混合专家模型(MoE)为例,就是将 120 层拆分到 16 个 GPU 上。在正向传播过程中,每个用户查询中的每个令牌会按顺序依次通过每个 GPU,遍历所有层,直至跑完整个模型。因为每个 GPU 上的层数变少了,所以现在整个模型就能装在这 16 个 GPU 上了。然而,由于查询中的令牌在流水线并行设置下仍必须按顺序依次通过所有 GPU,所以在交互性(每秒每个用户的令牌数)方面并没有实质性的提升。将上述 16 个 GPU 的流水线并行(PP16)设置与假设的单 GPU 部署进行对比,我们会发现交互性是相同的(暂不考虑单 GPU 系统的每秒浮点运算次数(FLOPS)和内存容量限制 —— 在对 GPT-4 混合专家模型进行 100 个用户的推理时,这种限制就会出现)。流水线并行的主要好处在于缓解了内存容量压力,使得模型能够被装载运行,而并非是提高运行速度。流水线的每个阶段会按顺序处理不同的一组用户。张量并行

流水线并行和张量并行都有克服内存容量限制的优势(也就是能将模型装入系统中),但在张量并行中,每一层的工作通常会沿着隐藏维度分布到多个 GPU 上。中间运算结果会通过全归约操作在各个设备之间多次交换,这种交换贯穿每层的自注意力机制、前馈神经网络以及层归一化等环节。这就需要高带宽,尤其需要极低的延迟。Source: Accelerating PyTorch Model Training实际上,该领域中的每个 GPU 在每一层上都与其他所有 GPU 协同工作,就好像它们共同构成了一个巨大的 GPU 一样。下图展示了 DGX H100 内的两个网络 —— 即 NVLink 扩展网络(连接到 NVSwitch 的多色通道)以及通过橙色的 ConnectX-7 网络接口卡访问的 InfiniBand / 以太网扩展网络。像 NVLink 和谷歌的集成电路互联(ICI)这样的扩展网络能够使张量并行比扩展网络快得多。张量并行允许内存带宽在所有 GPU 之间汇聚并共享。这意味着,在前向传播期间,在为每层加载模型参数时,可用的内存带宽不再只是 8000GB / 秒,而是达到了 128000GB / 秒。在下面这个例子中,交互性(每秒每个用户的令牌数)比 16 个 GPU 的流水线并行(PP16)示例要好 16 倍,达到了每秒每个用户 69.9 个令牌,而在 PP16 系统中仅为 4.4 个令牌。相应地,在这个简化的例子中,整个系统的吞吐量也增大了 16 倍。然而,上面所呈现的例子是理想情况,并没有考虑到现实中会导致内存带宽利用率(MBU)降低的各种因素。这里需要注意的最重要影响是,由于 GPU 之间需要进行全归约和全连接操作而产生的通信代价。在张量并行中使用的 GPU 数量越多,这种影响就越会削弱交互性和吞吐量。实际上,由于流水线并行产生的 GPU 到 GPU 通信瓶颈更少,所以它能实现比张量并行更高的吞吐量。而且通常它还能实现更大的批量大小 / 多处理器利用率(MFU)。Source: SemiAnalysis每个专家域还必须加载注意力权重这一事实,以每个令牌的内存带宽需求的形式带来了额外开销。因此,与张量并行(TP)相比,专家并行(EP)有着更高的内存带宽需求,对于 16 个 GPU 的专家并行(EP16)示例和 16 个 GPU 的张量并行(TP16)示例而言,可用于加载模型的内存带宽与所需带宽的比率在 EP16 示例中更低,这就导致了 EP16 的交互性更低,为 48.2,而 TP16 的交互性为 69.9,相应地吞吐量也更低。回想一下,使用张量并行会对内存带宽利用率造成重大的通信损耗,从而减慢吞吐量。这种影响与专家并行中注意力层带来的额外开销是相悖的 —— 而这种通信损耗的程度决定了哪种影响占主导地位。Source: A Hybrid Tensor-Expert-Data Parallelism Approach to Optimize Mixture-of-Experts Training. Singh et al.专家并行同样存在通信开销,如上图所示,但其将专家域拆分并复制注意力机制的做法显著降低了开销。从根本上说,图右侧的全归约(All Reduce)和全连接(All to All)操作在专家并行中无需执行。我们还应注意到,并行 Transformer 在推理和训练成本上有显著改善,尤其是在模型规模扩大时,这正是因为每层所需的通信量更少。不过,要大规模实现它们仍存在挑战,至少在开源模型领域是这样。数据并行

数据并行或许是所有并行方式中最简单的一种 —— 本质上它会复制系统的所有内容,而不共享或整合任何系统资源。这就好比在美国和亚洲各有一台网络服务器,不同的用户访问各自的服务器,它们运行着相同的内容,但彼此完全独立。在下面这个例子中,交互性并没有加快,因为每个含 16 个 GPU 的张量并行(TP16)的数据并行系统都已经遇到了内存瓶颈。在总用户数量保持为 100 的情况下,总吞吐量也与 TP16 示例中的相同。数据并行增加了在遇到每秒浮点运算次数(FLOPS)限制之前可增加的用户数量上限,因为现在总共可利用 32 个 GPU 的 FLOPS(而 TP16 只有 16 个 GPU 的 FLOPS),但如果我们不向系统中引入更多用户以产生更多吞吐量,那么从 TP16 变为含 2 个数据并行副本的 TP16 DP2 就是一种资源浪费。如果我们在之前的 TP16 系统示例中仍保持 100 个用户,但部署两个数据并行系统 —— 也就是总共有 200 个用户,那么吞吐量将翻倍。数据并行的最重要优势在于,由于每个数据并行系统完全独立运行,因此不存在额外开销。需要注意的是,为简化解释,我们在讨论其他系统时对各种开销进行了简化处理,但数据并行确实不存在任何额外开销!并行方案的组合应用

我们还可以将各种并行方案组合起来,以适应特定的模型、用户需求以及交互性和吞吐量目标。在下面的 TP2 EP8 并行示例中,我们部署了 8 个专家域,每个域中的两个 GPU 采用 TP2 张量并行方式协同工作。与 EP16 并行相比,每个专家域现在需要加载两个专家的参数以及注意力机制参数(而非一个专家加注意力机制),从而降低了整体内存容量需求和带宽开销。因此,TP2 EP8 的总系统参数内存需求为 2216GB,低于 EP16 的 2656GB。这使得 TP2 EP8 的交互性更高,达到 57.8 tokens/s/user,而 EP16 为 48.2 tokens/s/user。然而,尽管内存容量 / 带宽开销减少了,但转向 TP2 EP8 会引入通信开销,而本分析中暂未考虑这一因素。NVL72路并行方案组合

GB200 NVL72 的发布引起了轰动 —— 部分原因是不太恰当的,它让人们对增加的液冷配置以及更高的数据中心功率密度垂涎不已。NVL72 实现了在 72 个 GPU 之间构建无阻塞的全连接网络,其单向带宽可达 900GB / 秒,远比 InfiniBand / 以太网扩展网络目前所能提供的 50GB / 秒(400G)快得多。比带宽提升更重要的是,NVL72 还实现了更低的延迟。综合来看,NVL72 的主要创新之处在于,它极大地拓展了 NVLink 网络所能支持的并行方案组合。H100 和 H200 的 8 个 GPU 的 NVLink 网络只允许一小部分配置,例如,张量并行和专家并行的实用排列组合并不多:(TP1 EP8)、(TP2 EP4)、(TP4 EP2) 和 (TP8, EP1)。我们之所以说 “实用”,是因为虽然可以在单个服务器之外运行张量并行,但这样做会严重影响性能。在糟糕情况下对 H200 进行基准测试

当观察在 FP8 精度下运行 GPT-4 的 H200 时,随着用于张量并行的 GPU 数量增加,并行方案的帕累托最优边界下降得非常厉害。在 TP8 情况下,GPU 都通过 NVLink 进行通信,所以交互性(每秒每个用户的令牌数)提升时,相应的代价还不算太糟糕,但紧接着,吞吐量突然暴跌。这是因为张量并行扩展到了 8 个 GPU 之外。从大约 6.3 的交互性提升到大约 6.5,会使每个 GPU 的总吞吐量下降约 23%。这是一个非常棘手的影响,其原因全在于张量并行的通信现在必须跨越 NVLink 网络边界,转到 InfiniBand / 以太网网络上进行。造成这种情况的主要原因是,当除了要经过网络交换机之外,还需通过 ConnectX-7 网络接口卡(NIC)从一个 GPU 连接到另一个 GPU 时,其延迟相对较高。而且,通常还会涉及数字信号处理器(DSP)、光器件,或者要经过自适应回声消除器(AEC)才能实现服务器到服务器之间的连接。相比之下,NVLink 网络只需要通过 NVLink 交换机,除此之外就是短距离的铜缆连接。此外,当张量并行中使用的 GPU 数量超过 16 个和超过 32 个时,这种影响会再次出现。考虑到这一点,再来看主题演讲中的幻灯片,会注意到英伟达选用的幻灯片选择以 TP64(在 H200 上运行的最糟糕的并行方案)为基准进行测试。不仅如此,英伟达还故意让 H200 和 B200 系统使用 FP8 精度,尽管 GB200 使用的是 FP4 精度。从内存角度来看,所有这些系统使用 FP4 精度都会受益,这会使所有与交互性指标相关的曲线都向右移动。而且,B200 即便在 FP4 精度下有着两倍的每秒浮点运算次数(FLOPs),却仍被限制使用 FP8 精度。解释 30 倍性能提升最明显的因素是对比 GB200 NVL 在 FP4 精度下的性能与 H200 和 B200 使用 FP8 量化的性能。在我们的模拟器中对此进行分析后发现,从 H200 到 GB200 实际上只有大约 18 倍的性能提升。虽然远不像英伟达宣称的 30 倍那么惊人,但仍然是一项令人印象极为深刻的成就。接下来影响较大的因素则更为微妙 —— 基准测试场景对所有基准测试都设定了 GPT-4 的输入为 32000 个令牌、输出为 1000 个令牌以及生成首个令牌的时间(TTFT)限制在 5 秒内的条件。预填充对每秒浮点运算次数(FLOPs)的要求极高,因此像 H200 这样 FLOPs 较低的系统在此方面面临的限制就非常大。而且,通过将每个用户的预填充令牌数最大化并尽量减少解码操作,这些限制变得更加严格了。这种场景通过有效排除使用 H200 系统的所有大批量规模系统设置来操纵基准测试,因为在 H200 系统上运行大批量规模时,由于其 FLOPs 较低,会远远超出 5 秒生成首个令牌的时间限制。没有大批量规模,H200 系统就无法实现较高的整体系统吞吐量 —— 这意味着如果没有这 5 秒的限制,H200 的性能曲线本应更高。需要明确的是,缩短生成首个令牌的时间是非常理想的,但这是用户需要权衡考虑的问题。该基准测试在吞吐量方面缩小了 H200 系统能够实现的性能范围,尽管这是以牺牲生成首个令牌的时间为代价的。如果是输入为 512 个令牌、输出为 2000 个令牌的场景,并且同样设定 5 秒生成首个令牌(TTFT)以及 20 的交互性要求,性能提升就不到 8 倍了。不过,我们并不确定输入与输出令牌在大规模部署时的比例情况,而且有可能很多人需要极高的输入和较低的输出比例。潜在地,智能体以及其他新兴工作负载的预填充与解码比例甚至会比英伟达所展示的 32:1 的比例更高。即便剔除了单纯的规格和营销噱头的影响,由于架构和网络方面的优势,在这种精心挑选的场景下,性能提升仍然是显著的。现在,让我们来看一下在我们认为更符合实际的、涉及各种模型尺寸以及训练与推理的场景中,真实的性能和总体拥有成本(TCO)的改进情况。此外,让我们深入探讨一下这些性能提升对推理系统盈利能力的推动作用。

页: [1]
查看完整版本: Blackwell GPU性能/TCO深度分析:B100、B200、GB200 NVL72