第三章:硬件层——大模型推理的“发动机”对决

聊大模型推理,绕不开硬件。说白了,芯片就是算力的物理载体。我这些年经手过不少项目,从早期的V100到现在的H100,再到国产的昇腾、寒武纪,每一代芯片的脾气秉性都不一样。今天咱们就把市面上主流的几款推理芯片拉出来,做个硬核对比。

你想想看,同样跑一个Llama 3-70B,为什么有的卡能跑满吞吐,有的卡却卡在显存带宽上?这背后就是架构设计的差异。我习惯把芯片比作“发动机”,推理框架是“变速箱”,两者匹配好了,才能把性能压榨到极致。

3.1 NVIDIA GPU:H100与B200的推理特性

NVIDIA在AI芯片领域,目前还是绝对的霸主。H100和B200,代表了Hopper和Blackwell两代架构。

H100(Hopper架构)

H100我最常用的配置是80GB HBM3显存,带宽高达3.35TB/s。这个带宽对于大模型推理至关重要。为什么?因为推理是“访存密集型”任务,模型参数要从显存搬到计算单元,带宽不够,计算单元就得干等着。

核心推理特性:

  • FP8 Transformer Engine:支持FP8精度计算,推理时可以用FP8量化,显存占用减半,吞吐翻倍。我在项目中实测过,精度损失在0.5%以内,完全可接受。
  • NVLink 4.0:多卡通信带宽900GB/s。做大模型张量并行时,这个很关键。我曾经遇到过单机8卡H100,因为NVLink没配好,通信成了瓶颈,吞吐直接掉了30%。
  • 异步执行引擎:支持计算和通信重叠。说白了,就是一边算一边传数据,不浪费时间。

B200(Blackwell架构)

B200是NVIDIA最新一代,我还没拿到实物,但从公开资料看,提升主要在两点:

  • 显存容量翻倍:单卡192GB HBM3e,带宽8TB/s。这意味着单卡就能装下更大的模型,比如Llama 3-405B的FP8版本。
  • 第二代Transformer Engine:支持更细粒度的混合精度,比如FP4。嗯,这里要注意,FP4虽然快,但精度控制不好容易崩,需要框架层做校准。

我的个人经验:H100目前是性价比最高的选择。B200虽强,但价格也翻倍。如果你的模型在H100上能通过张量并行塞进8卡,那没必要急着上B200。我去年帮客户做方案,就是8卡H100跑Llama 3-70B,吞吐做到2000 tokens/s,完全够用。

3.2 AMD MI300X:性价比之选?

AMD MI300X,我今年初才真正上手测试。说实话,它的硬件规格很亮眼:192GB HBM3显存,带宽5.2TB/s,比H100还高。但实际推理性能,却没那么乐观。

为什么会这样?问题出在软件生态上。AMD的ROCm虽然一直在追赶CUDA,但算子库的成熟度还是差一截。比如FlashAttention,在H100上已经优化到极致,在MI300X上却要手动调优。

避坑指南:我曾经在MI300X上跑一个MoE模型,结果发现专家路由的算子性能只有H100的60%。后来排查发现,是ROCm的原子操作优化不到位。如果你要用MI300X,建议先跑一遍算子性能测试,别直接上生产。

不过,MI300X也有它的优势:

  • 显存大:192GB单卡,适合大模型推理,尤其是长上下文场景。
  • 价格低:相比H100,MI300X的采购成本低30%左右。如果软件生态能跟上,性价比确实高。

3.3 Intel Gaudi 3:另辟蹊径

Intel Gaudi 3,我接触得不多,但它的设计思路很有意思。它没有用HBM,而是用了2.4TB/s的HBM2e,带宽不如H100。但它的优势在于:

  • 集成网络:Gaudi 3内置了RoCE网卡,不需要额外配InfiniBand。对于小规模集群,这能省不少钱。
  • 矩阵引擎:专门优化了矩阵乘法,推理时能效比不错。

但说实话,Gaudi 3的生态更封闭。它的PyTorch插件只支持部分算子,很多自定义操作得自己写。我建议,如果你团队有硬件优化能力,可以试试;否则,还是优先考虑NVIDIA或AMD。

3.4 国产芯片:昇腾910B与寒武纪思元590

国产芯片这两年进步很快。我因为项目需要,深度测试过昇腾910B和寒武纪思元590。

昇腾910B

华为的昇腾910B,显存64GB HBM2e,带宽1.6TB/s。单看规格,和H100有差距。但它的优势在于:

  • CANN算子库:华为自研的算子库,对Transformer类模型优化得不错。我实测过,跑BERT-Large的推理吞吐,能达到H100的70%。
  • 多卡互联:HCCS互联技术,带宽392GB/s,虽然不如NVLink,但做张量并行也够用。

注意:昇腾的生态比较封闭。你如果要用PyTorch,得用华为的torch_npu插件。我遇到过一个问题:torch_npu对torch.compile的支持不完善,动态图推理会报错。建议用静态图模式,或者直接用MindSpore。

寒武纪思元590

思元590,显存48GB HBM2e,带宽1.2TB/s。它的亮点是:

  • MLU架构:寒武纪自研的指令集,对稀疏计算有优化。如果你模型里用了MoE,思元590的稀疏加速能提升20%的吞吐。
  • BangPy框架:支持Python直接写算子,开发效率高。我试过用BangPy写一个自定义的FlashAttention,比用CUDA快不少。

但思元590的显存太小了,48GB连Llama 3-70B的FP16版本都装不下。只能做量化或者模型并行。我建议,思元590更适合中小模型,比如7B、13B级别的。

3.5 芯片对比总结

好了,咱们把这几款芯片的核心参数拉个表,一目了然:

芯片型号 显存容量 显存带宽 互联带宽 推理生态 适用场景
NVIDIA H100 80GB HBM3 3.35 TB/s 900 GB/s (NVLink) ★★★★★ 大模型推理首选
NVIDIA B200 192GB HBM3e 8 TB/s 1.8 TB/s (NVLink) ★★★★★ 超大模型单卡部署
AMD MI300X 192GB HBM3 5.2 TB/s 896 GB/s (Infinity Fabric) ★★★☆☆ 性价比推理,需调优
Intel Gaudi 3 128GB HBM2e 2.4 TB/s 集成RoCE ★★☆☆☆ 小规模集群,成本敏感
昇腾910B 64GB HBM2e 1.6 TB/s 392 GB/s (HCCS) ★★★☆☆ 国产化替代,静态图推理
寒武纪思元590 48GB HBM2e 1.2 TB/s 200 GB/s (MLU-Link) ★★☆☆☆ 中小模型,稀疏计算

3.6 一张图看懂硬件层推理架构

下面这张SVG图,是我梳理的硬件层核心逻辑。它展示了从芯片到推理框架的映射关系:

大模型推理硬件层架构图 推理芯片层 NVIDIA H100/B200 AMD MI300X Intel Gaudi 3 国产芯片 核心推理特性 显存容量/带宽 互联带宽 精度支持(FP8/FP4) 算子生态 推理框架适配层 vLLM / TensorRT-LLM PyTorch / MindSpore 自定义算子 推理性能:吞吐 / 延迟 / 能效比

这张图想表达的核心是:芯片的硬件特性决定了推理性能的上限,但最终落地效果,还得看推理框架的适配程度。我见过不少团队,买了H100却用PyTorch默认配置跑,结果吞吐还不如别人用vLLM优化过的A100。说白了,硬件和软件要一起调。

我的建议:选芯片时,别只看显存和带宽。先想清楚你的模型规模、推理框架、以及团队的技术栈。如果你团队CUDA经验丰富,无脑上H100;如果想做国产化,昇腾910B是当前最成熟的选择;如果预算有限,AMD MI300X值得一试,但要做好调优的心理准备。

好了,这一章咱们把硬件层的几款主流芯片都过了一遍。下一章,我会聊聊推理框架的软件架构,看看vLLM、TensorRT-LLM这些框架是怎么把硬件性能榨干的。


专注资料整理