NVIDIA · 翻译

AI 模型协同设计:硬件友好的 LLM 设计

模型开发者只需遵循几条简单的硬件对齐规则,就能让 LLM 在 GPU 上跑得更快、成本更低、规模更大。NVIDIA 详解从近方形线性层、GPU tile 对齐到 NVFP4 量化与专家并行的完整方法论。

Elizabeth Goodman · NVIDIA 技术博客 · 2026年7月10日
NVIDIA

AI 性能归结为三个维度:部署系统必须在三者之间取得平衡——高准确率如果响应慢就没有意义,原始吞吐量再大如果每个用户的体验都卡顿也毫无价值。因此,实用的系统需要同时优化准确率、吞吐量和交互流畅度。

本文聚焦吞吐量和交互流畅度,探讨模型设计选择如何在不牺牲准确率的前提下影响两者(在涉及准确率权衡时会特别标注)。

当准确率固定时,问题就变成了一个二维的帕累托前沿:改进一个维度通常要以牺牲另一个为代价。目标是将整个前沿向外推进,最大化曲线下的面积。

这是一份面向模型开发者的实用入门指南,核心思想很简单:与硬件对齐的模型不仅跑得更快,还能更好地规模化、成本更低、获得更广泛的应用

系列后续文章将分别针对硬件感知设计的不同维度,帮助你避免计算瓶颈、在数据中心规模无缝部署、将设计与用例匹配,以及在实际场景中实现规模化。

部署格局:两个维度,四个象限

首先考虑部署格局,它沿两个轴变化(见下图):

工作负载从短上下文到长上下文变化,服务目标从吞吐量导向(最大化 tokens/秒)到延迟导向(最小化响应时间)变化,许多场景落在两者之间。

每个象限需要不同的优化策略:长上下文、吞吐量导向的服务大部分时间花在注意力(Attention)上;而延迟导向的服务需要增加模型并行来缩短注意力和 FFN 的耗时,代价是通信和固定开销。短上下文、吞吐量导向的服务在注意力和 FFN 之间更均衡地分配时间,可以在大规模部署中受益于并行策略(如专家并行)。

阿姆达尔定律在此适用:优化某一部分能带来的收益仅限于该部分在运行时间中的占比。如果注意力占运行时间的 77%,那么调优前馈层只能带来微不足道的提升——注意力的路径才是值得投入的地方。了解自己的工作负载属于哪个象限,才能知道该往哪里用力。

Transformer 设计中的长宽比(Aspect Ratio)

Transformer 的一个关键设计选择是长宽比——即模型宽度与层数(L)之间的平衡。在解码器式模型中,这两个因素主导着计算和內存在堆栈中的分布。宽度本身由两个维度决定:隐藏维度(H)和 MLP 层中的中间投影维度(H')。

H、H' 和 L 三者共同决定了模型能否干净地映射到并行策略上,以及能否跨 GPU 良好扩展。本文重点考察这三个选择如何影响吞吐量、交互流畅度和可扩展性,特别聚焦在线性层上。

屋顶线模型(Roofline Model)

在任何硬件上,可达性能都由屋顶线模型决定。一个工作负载落在哪个区域取决于其算术强度(Arithmetic Intensity),即每移动一字节內存所执行的计算操作数。

算术强度低的工作负载受限于內存带宽(內存受限);算术强度高的受限于设备的峰值计算吞吐量(计算受限)。当目标是最大化吞吐量时,你需要把工作负载推入计算受限区域,让硬件的全部算力被充分利用。

延迟敏感的解码则相反——它在低并发下运行,属于內存受限,因此减少內存访问时间才是降低响应延迟的关键。

线性层的 GEMM 维度

提高运算每字节比(arithmetic intensity)的一个直接方法是增加批处理大小,但模型形状同样重要。H 和 H' 决定了 GEMM 是计算受限还是內存受限。在单一设备上运行时,GEMM 的形式为 C = A × B。

考虑一种场景:每个 GEMM 都是"近方形"的,即 Tokens ≈ H' ≈ H。单个 GEMM 执行约 2H³ FLOPs,同时移动约 3H² 个元素,因此算术强度随 H 增长。实际后果是:当 H 或 H' 较小时,GPU 花在数据搬运上的时间远多于计算时间——即使 token 维度很大也是如此。

以 FFN-2 为例,刻意设小 H'=512、H=8192,使用 4-bit 输入和 8-bit 输出在 GB300 上运行。即使在大量 token(高 GEMM-M)下,这一层仍然是內存受限,被数据搬运所主导。

这对模型设计者来说是一个重要的点:模型维度对于饱和计算的重要性不亚于批处理大小

规则一:近方形权重矩阵

对于固定参数量的模型,倾向于使用近方形的权重矩阵,避免将投影维度或缩减维度设得太小。

规则二:与 GPU Tile 尺寸对齐

但仅尺寸大还不够。要让 GEMM 达到高 Tensor Core 利用率,其维度还必须干净地映射到底层 tile 几何上——对齐不佳会导致 tile 量化(tile quantization)效应,即使用算术强度高也会降低吞吐量。

GPU 通过将输出矩阵拆分为 tile 来执行 GEMM,每个 tile 由一个流式多处理器(SM)计算。在最新 GPU 上,SM 不再单打独斗:有了 clusterMMA,两个相邻 SM 可以合作处理一个更大的 tile;Cooperative Grid Array(CGA)则允许整组 SM 作为一个集群共同工作。

协作提高了数据复用率,但同时也放大了有效 tile 的尺寸——所以维度必须是更大数值的倍数才能保持对齐。当一个维度不是该有效 tile 的倍数时,边缘 tile 只能被部分填充,但仍会启动并运行一整个 tile 的计算量——未使用的部分不产生任何有用功,浪费了周期并降低了吞吐量。

模型维度至少应为 128 的倍数,以对齐 GPU tile 尺寸和缓存行宽度;优先选择 256 或 512 的倍数,以匹配 clusterMMA 和 CGA 形成的更大协作 tile。

规则三:宽度优先于深度

在固定参数量预算下,宽模型比深模型具有更高的算术强度和更低的延迟——因为更大的权重复用率和更短的顺序关键路径。这使得宽模型在吞吐量导向和延迟导向的服务目标中都更具优势。

但长宽比也会影响模型质量:深度有助于表征能力,所以存在一个有用的宽深比范围,而非"越宽越好"。只有在准确率能够保持的范围内才倾向于宽度,不要为了把模型做宽而随意删层。

在有选择的情况下,倾向于数量更少但规模更大的操作,而不是许多小操作——这能最大化算术强度并提高硬件利用率,同时有利于吞吐量和交互流畅度。换句话说,宽的 Transformer 模型比深的更"硬件友好"。

NVFP4 量化:两端受益

量化同时对计算受限和內存受限的工作都有帮助——它同时提高了数学吞吐量并减少了內存流量。

Blackwell 系统支持 NVFP4 以及 FP8、FP16/BF16 等其他位宽格式。NVFP4 是专门为平衡模型准确率和速度而设计的:它对每个 16 值的微块应用细粒度的 FP8(E4M3)缩放因子,再加上每个张量的二级 FP32 缩放。这种分层缩放显著降低了量化误差,同时保持了 4-bit 计算的速度,使 NVFP4 在广泛的 LLM 工作负载上都能紧追高精度准确率。

TensorRT Model Optimizer 和 LLM Compressor 支持后训练量化(PTQ)、量化感知训练(QAT)和高级校准,可以将模型量化为 NVFP4,且准确率损失最小。

在向网络中引入计算密集型操作时,要考虑是否可以在部署时对其量化。设计能从低精度执行中受益的层,是从现代 GPU 中榨取性能的关键。

吞吐量导向:MoE 的专家并行

在吞吐量导向的服务中,目标很简单:用最少的 GPU,尽可能快地服务尽可能多的用户。由于当前最先进的 LLM 几乎都是混合专家模型(MoE),一个非常有效的方法是专家并行(Expert Parallelism, EP)——将注意力部分做数据并行(DP),将 FFN 专家分布到各个 GPU 上。

对注意力使用数据并行避免了张量并行(TP)的一个关键限制——即昂贵的 AllReduce 合并部分结果。这个开销随着并发度的增长而增长,会拖累吞吐量,因此 TP 在这里不太合适。DP 注意力的扩展更自然:增加 GPU 直接提高全局并发度,而更高的并发度意味着 MoE FFN 中的 GEMM-M 更大。

由于 GEMM-M 随并发度增长、随模型稀疏度缩小,推动并发度是稀疏 MoE 模型中实现高 GEMM 利用率的关键。由于每 GPU 的并发度受 KV Cache 大小的限制,跨更多 GPU 扩展 EP 是提高 GEMM-M 的主要杠杆。

即使每个专家的有效批处理(GEMM-M)较小(无论是因为并发度有限还是 token 路由不平衡),扩展 EP 在两个方面仍有帮助:

(1)通过聚合带宽实现更快的执行——将专家分布到更多 GPU 上增加了加载专家权重的有效內存带宽,从而减少端到端 FFN 延迟。
(2)降低每 GPU 內存占用——每个 GPU 只存储专家的一个子集,释放出的內存可用于增加每 GPU 的有效并发度,更好地饱和计算。

EP 确实带来两个挑战——all-to-all 通信开销和专家负载不均衡——但 NVIDIA 的 TensorRT-LLM 提供了高性能的 all-to-all 内核(可跨 Blackwell 多节点 NVLink 系统扩展 EP)以及自适应负载均衡器(基于实时负载模式重新分配专家流量)。

对于吞吐量导向的 MoE 部署,关键杠杆是专家并行。具有大量专家的复杂稀疏 MoE 模型,只要采用正确的并行策略(尤其是宽 EP 扩展),仍然可以提供高吞吐量。

延迟导向:流水线并行与分块

当你将预填充(Prefill)和解码(Decode)分离时,流水线并行(Pipeline Parallelism)就变得重要了。对于某些模型大小、流量模式和延迟目标,这是一种有效的服务策略。

对于 Prefill,在维持高吞吐量的同时降低首 token 延迟(First-Token Latency, FTL)——特别是在长上下文下——需要激进的并行化。分块流水线并行(Chunked Pipeline Parallelism, CPP)在这方面非常合适:它将模型层跨 GPU 拆分,同时将输入上下文分成多个块在流水线中流动。

这让 Prefill 工作节点能在严格的 FTL 预算内处理长序列,而无需使用宽张量并行。

CPP 只有在流水线阶段均衡时才有价值——不均衡的阶段会产生流水线气泡,导致部分 GPU 空闲。保持阶段均衡的有效方法是使用可均匀分割的重复性层模式来构建模型。

设计具有规整、可重复层模式的模型,使其易于分割到均衡的流水线阶段。这让模型天然适合分块流水线并行,在满足严格首 token 延迟目标的同时实现更高吞吐量。

低并发场景

到目前为止我们主要关注吞吐量;延迟导向的服务遵循不同的约束。更低的延迟需要每 GPU 更少的工作(更低并发)或更多的 GPU。然而,缩小批处理最终只能降低注意力延迟:FFN 延迟会变成內存受限,因为 GEMM-N 和 GEMM-K 维度在 GEMM-M 缩小时仍然很大,使得 N×K 权重矩阵的读取成为瓶颈。

在这个低并发场景下,注意力和 FFN 应该独立地进行并行化。FFN 通过 TP、EP 或 TP×EP 将权重分散到各 GPU 来加速——TP 更适合粗粒度 MoE(大专家),EP 更适合细粒度 MoE(其较小的 H' 在 TP 下会产生低效的小 GEMM)。

注意力则受益于 TP 和 KV 并行。但 TP 只能扩展到 KV head 的数量——超出之后 KV cache 必须被复制,引入冗余工作。由于现代 MQA/GQA/MLA 模型的 KV head 很少,这很快就会成为瓶颈。

来源:Elizabeth Goodman, "AI Model Co-Design: Hardware-Friendly LLM Design", NVIDIA Technical Blog, 2026-07-10
原文链接:developer.nvidia.com/blog/ai-model-co-design-hardware-friendly-llm-design/
作者:Elizabeth Goodman · NVIDIA Developer Blog
译者:JediX AI · 本译文为全文翻译,非摘要。文中公式和图表详见原文。