Documentation Index
Fetch the complete documentation index at: https://se7en.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
本章概要
2024 年底,中国初创公司 DeepSeek 用 2048 块受出口管制限制的 H800 GPU,训练出了 671B 总参数、每个 token 激活 37B 参数的 MoE 模型 DeepSeek-V3。根据其技术报告,DeepSeek-V3 在语言理解、阅读理解和推理等多项标准化测试上接近甚至部分超过 GPT-4,而完整训练仅需 278.8 万 H800 GPU 小时。假设 H800 的租赁价格为每小时 2 美元,总训练成本仅为 557.6 万美元(该数字仅包含正式训练,不含前期架构探索和消融实验)。 随后推出的推理模型 DeepSeek-R1 进一步逼近 OpenAI o1 的水平。消息一出,NVIDIA 股价单日跌了约 17%,据 路透社报道市值蒸发近 5930 亿美元,创下华尔街单只股票单日最大市值损失纪录。 作为对比,训练 GPT-4 估计花了约 1 亿美元,训练 Gemini Ultra 估计花了约 1.9 亿美元。在这个规模上,系统效率每提高一点,省下来的就不是小数目。而 DeepSeek 在硬件更受限的条件下,用不到 GPT-4 训练成本 1/18 的预算达到了相近效果,靠的正是硬件、软件和算法的协同设计。 本章先从 DeepSeek 在 H800 约束下的模型与系统优化讲起,包括 MoE 架构、DeepSeek-R1 以及 FlashMLA、DeepGEMM、DeepEP、3FS 等工程创新;再把视角扩展到万亿到百万亿参数模型面临的计算与内存瓶颈,以及 GB200、Vera Rubin 等机架式 AI 超级计算机如何提供系统级支撑;最后通过 FlashAttention、MLA 和低精度量化这些例子,说明大模型性能和成本的上限并不只取决于单个算法或单代 GPU,而取决于硬件、软件和算法能否围绕同一组瓶颈协同演进。章节详解
1. DeepSeek:硬件受限下的极致优化
2024 年底,中国初创公司 DeepSeek 在没有最新 NVIDIA GPU 的情况下,训练出了接近前沿水平的大语言模型,震动了整个 AI 社区。1.1 硬件约束
由于美国出口管制,DeepSeek 无法获得顶级的 Blackwell(B200、B300)或完整版 Hopper(H100、H200)GPU,只能使用出口合规的 H800。下面这张表可以看出 H800 和其他型号的差距:| 指标 | H800 SXM | H100 SXM | H200 SXM | B200 | B300 |
|---|---|---|---|---|---|
| 架构 | Hopper | Hopper | Hopper | Blackwell | Blackwell |
| FP64 | 1 TFLOPS | 34 TFLOPS | 34 TFLOPS | 37 TFLOPS | 1.2 TFLOPS |
| FP64 Tensor Core | 1 TFLOPS | 67 TFLOPS | 67 TFLOPS | 37 TFLOPS | 1.2 TFLOPS |
| FP32 | 67 TFLOPS | 67 TFLOPS | 67 TFLOPS | 75 TFLOPS | 75 TFLOPS |
| TF32 Tensor Core | 989 TFLOPS | 989 TFLOPS | 989 TFLOPS | 2,250 TFLOPS | 2,250 TFLOPS |
| FP16 Tensor Core | 1,979 TFLOPS | 1,979 TFLOPS | 1,979 TFLOPS | 4,500 TFLOPS | 4,500 TFLOPS |
| BF16 Tensor Core | 1,979 TFLOPS | 1,979 TFLOPS | 1,979 TFLOPS | 4,500 TFLOPS | 4,500 TFLOPS |
| FP8 Tensor Core | 3,958 TFLOPS | 3,958 TFLOPS | 3,958 TFLOPS | 9,000 TFLOPS | 9,000 TFLOPS |
| INT8 Tensor Core | 3,958 TOPS | 3,958 TOPS | 3,958 TOPS | 9,000 TOPS | 307 TOPS |
| FP4 Tensor Core | — | — | — | 18,000 TFLOPS | 18,000 TFLOPS |
| GPU Memory | 80 GB | 80 GB | 141 GB | 180 GB | 270 GB |
| GPU Memory Bandwidth | 3.35 TB/s | 3.35 TB/s | 4.8 TB/s | 7.7 TB/s | 7.7 TB/s |
| Multi-Instance GPU | 7 | 7 | 7 | 7 | 7 |
| Interconnect | NVLink: 400 GB/s, PCIe Gen5: 128 GB/s | NVLink: 900 GB/s, PCIe Gen5: 128 GB/s | NVLink: 900 GB/s, PCIe Gen5: 128 GB/s | NVLink: 1.8 TB/s, PCIe Gen5: 128 GB/s | NVLink: 1.8 TB/s, PCIe Gen6: 256 GB/s |
峰值算力单位
峰值算力单位
TFLOPS = Tera Floating-Point Operations Per Second,即每秒万亿次浮点运算。
- T(Tera)=
- FL(Floating-Point)= 浮点
- OPS(Operations Per Second)= 每秒运算次数
数据精度
数据精度
精度格式一览
GPU 规格表里会出现多种数值精度格式,它们决定了每个数字占多少位、能表示多大范围和多高精度。位数越少,每个周期能算的数越多,TFLOPS 越高,但精度越低。| 格式 | 位数(符号+指数+尾数) | 首次广泛使用 | 应用场景 |
|---|---|---|---|
| FP64 | 64(1+11+52) | 通用计算时代 | 科学计算(HPC),AI 训练中几乎不用 |
| FP32 | 32(1+8+23) | 通用计算时代 | 早期深度学习默认精度;现在优化器(AdamW)状态仍保持 FP32 |
| FP16 | 16(1+5+10) | 2017(混合精度训练) | 早期混合精度训练和推理,逐渐被 BF16 取代 |
| BF16 | 16(1+8+7) | 2018(Google TPU) | 当前最主流的训练精度,Llama 3 等均使用 BF16 训练 |
| TF32 | 19(1+8+10) | 2020(NVIDIA Ampere) | Tensor Core 自动用 TF32 加速 FP32 矩阵乘法,无需改代码 |
| INT8 | 8 | 2020(推理量化) | 训练完成后将权重从浮点压缩为整数以节省显存和加速推理,vLLM、SGLang、TensorRT-LLM 等主流推理框架均支持。在 Hopper 及之后的 GPU 上逐渐被 FP8 取代 |
| FP8 | 8(E4M3: 1+4+3;E5M2: 1+5+2) | 2022(NVIDIA Hopper) | DeepSeek-V3 用 FP8 训练,Hopper 开始原生支持 |
| FP4 | 4(1+2+1) | 2024(NVIDIA Blackwell) | Blackwell 开始支持训练和推理 |
浮点数的存储结构
浮点数的存储结构与科学计数法相同,由 符号位、指数 (exponent) 和 尾数 (mantissa) 三部分组成:(-1)^符号位 × 1.尾数 × 2^指数- 指数位越多 → 能表示的数值范围越大,但不影响精度
- 尾数位越多 → 有效数字越多、精度越高,但不影响范围
4.8125 为例:| 符号(1 bit) | 指数(8 bit) | 尾数(23 bit) |
|---|---|---|
0 | 10000001 | 00110100000000000000000 |
- 符号位 =
0:表示这个数是正数。 - 指数位 =
10000001₂ = 129:FP32 存的不是“真实指数”,而是“真实指数 + 偏移量(bias)”。FP32 的指数有 8 位,所以偏移量是 。因此这里的真实指数 = 129 - 127 = 2。这样设计的好处是,指数即使有正有负,存进硬件后也始终是非负整数,便于存储和比较。其他格式同理:如果指数位为 ,偏移量通常是 。 - 尾数位 =
0011010...:这里只存小数部分,前面的1.默认省略不写(称为“隐含前导 1”)。所以完整尾数其实是1.001101₂,换成十进制约为 1.203125。 - 最终值 = = 4.8125。
低精度格式的缩放机制
低精度格式(FP8、FP4)的刻度很粗,需要 scaling factor 来补偿。
- 传统 FP8:所有物品共用一个秤(per-tensor scaling),量程必须覆盖最重的东西,因此称很轻的物品时精度会明显变差
- MXFP8:把物品分成很多小组(通常每 32 个一组),每组发一个秤,量程根据这组物品的大小单独调(per-block scaling)。重的一组用大量程,轻的一组用小量程,因此每组内部都能称得更准
- NVFP4:秤的刻度更粗了(4 bit),只靠一个秤已经不够,所以要用两层秤:先给每个小组一个局部秤调组内相对大小(per-block E4M3 scaling),再给整批物品一个总秤校正整体范围(per-tensor FP32 scaling)
- Understanding the FP64, FP32, FP16, BFLOAT16, TF32, FP8 Formats — 各种精度格式的位布局和对比
- Floating-Point 8: An Introduction to Efficient, Lower-Precision AI Training — NVIDIA 官方 FP8 技术博客,解释 E4M3/E5M2 变体和 scaling 策略
- Accelerating AI Training with NVIDIA TF32 Tensor Cores — NVIDIA 官方 TF32 技术博客
- Using NVFP4 Low-Precision Model Training — NVIDIA 官方 FP4 训练技术博客
- From FP8 LLM Training to Inference: Language AI at Scale — GTC 2025 演讲,FP8 在大语言模型训练和推理中的实践
Sparse 与 Dense 矩阵乘法
Sparse 与 Dense 矩阵乘法
上面表格中 Tensor Core 峰值算力均为启用 sparse 加速后的数值,dense 模式下性能减半。 A100 是第一款在 Tensor Core 中内置硬件级 2:4 结构化稀疏支持的 GPU:它将权重矩阵按每 4 个连续元素分组,每组只保留 2 个非零值。哪些值被置零由剪枝或稀疏训练算法决定,常见做法是保留绝对值较大的两个,再将绝对值较小的两个置零并通过微调恢复精度;Tensor Core 负责利用这种固定的稀疏模式跳过零值计算,从而实现约 2 倍的矩阵乘法吞吐量提升。Dense GEMM 是标准矩阵乘法 ,A(M×K)和 B(K×N)的所有元素都参与乘累加运算。Sparse GEMM 利用 2:4 稀疏格式对 A 矩阵进行压缩:
参考资料
- 只存储非零元素(数据量减半,K → K/2)以及一组 2-bit 索引记录非零元素在原始 4 个位置中的偏移。
- Tensor Core 根据索引从 B 矩阵的 K 个元素中选出对应的 K/2 个元素,只对它们做乘累加。

- Structured Sparsity in the NVIDIA Ampere Architecture — NVIDIA 官方博客,介绍 2:4 稀疏的硬件支持与应用
- Accelerating Sparse Deep Neural Networks — NVIDIA 论文,系统评估 2:4 稀疏在各类网络上的精度影响,并给出剪枝与重训练的最佳实践
- Accelerating Neural Network Training with Semi-Structured (2:4) Sparsity — PyTorch 博客,动态稀疏训练的实现与加速效果
- Exploiting Ampere Structured Sparsity with cuSPARSELt — cuSPARSELt 库的使用
SXM、HGX、NVL 是什么
SXM、HGX、NVL 是什么
SXM:物理封装形态SXM 是 NVIDIA 的高带宽插座式 GPU 模块封装。它不走标准
PCIe 插槽,而是把 GPU 直接安装到 HGX / DGX 底板上。在这类系统里,SXM GPU 通常配合 NVLink 和 NVSwitch 使用,因此往往有更高的供电、更强的散热,以及更高的 GPU 间互连带宽。HGX:服务器主板 / 平台HGX 是 NVIDIA 的多 GPU 服务器参考平台。常见的 HGX H100 / HGX H200 底板会集成 8 块 SXM GPU,并通过 NVSwitch 把它们全互连。Dell、HPE、浪潮等厂商通常在 HGX 底板之外再配上 CPU、内存和网卡,组装成完整的 AI 服务器。NVL:NVLink 互连版本NVL 代表 NVLink,H100 NVL 是把两块 H100 通过 NVLink 桥接焊在同一张 PCIe 大卡上,对外表现为单张卡。 这样做的好处是:不需要安装专用 HGX 主板就能拿到 NVLink 互连和更大的显存(两张合计 188 GB HBM3),适合快速部署在现有服务器基础设施上,尤其适合 LLM 推理场景。 NVL 版的核心性能接近 SXM,但 NVLink 带宽略低(600 GB/s vs SXM 的 900 GB/s)。1.2 DeepSeek-V3 的 MoE 架构
DeepSeek‑V3 是一个约 671B 参数的混合专家(MoE)模型,但每个输入 token 只会激活约 37B 参数:每层包含 1 个共享专家和 256 个路由专家,每个 token 从中选出 8 个路由专家,再加上共享专家,一共使用 9 个活跃专家。这样一来,激活参数量约占总参数的 5.5%,在保持大模型容量的同时显著降低了单 token 的实际计算开销。1.3 DeepSeek-R1:推理模型
在 DeepSeek-V3 基础上,团队进一步构建了专门的推理模型 DeepSeek-R1,路线接近 OpenAI 的 o1/o3 系列。与依赖大量人工反馈做后训练不同,R1 采用了 DeepSeek 开创的“冷启动”策略:只使用少量监督数据,把重点放在强化学习上,直接将思维链推理能力嵌入模型。这种做法同时压低了训练成本和训练时间,也说明软件和算法设计足够聪明时,可以在相当程度上弥补硬件瓶颈。1.4 DeepSeek 工程创新
DeepSeek 的工程团队几乎把整条系统栈都做了针对 H800 约束的重优化:从 attention kernel、FP8 矩阵乘法和 MoE 通信,到专家负载均衡、双向流水线并行,再到底层文件系统。| 项目 | 简介 |
|---|---|
| FlashMLA | 用 CUDA/CUDA C++ 实现的高性能 MLA attention kernel 库,针对 Multi-Head Latent Attention 优化解码计算和 KV cache 访问路径 |
| DeepGEMM | 轻量级 FP8 优化矩阵乘法库,在多种矩阵形状和小 batch 场景下,性能可与基于 CUTLASS 等深度调优实现持平甚至更优 |
| DeepEP | 为 MoE/专家并行定制的高性能通信库,重点优化专家的 dispatch/combine all-to-all 通信,缓解专家并行通信瓶颈 |
| EPLB | 基于冗余专家策略的负载均衡组件,通过复制高负载专家并分布到多块 GPU,上下两级调度缓解 MoE 训练中的负载不均 |
| DualPipe | 双向流水线并行算法,通过同时重叠前向/反向计算与跨节点通信,显著减少 pipeline bubble、提高大模型训练吞吐 |
| 3FS | 高性能分布式文件系统,为训练数据读取、checkpoint 及大规模 KV cache 提供统一的高吞吐存储 I/O 基础设施 |
2. 迈向百万亿参数模型
模型规模正在从千亿向万亿参数迈进。以下是 2026 年主流开源 LLM 中的千亿至万亿级模型(均为 MoE 架构):| 模型 | 公司 | 总参数 | 活跃参数 |
|---|---|---|---|
| Kimi-K2.5 | Moonshot AI | 1T | 32B |
| GLM-5 | 智谱 | 744B | 40B |
| DeepSeek-V3.2 | DeepSeek | 671B | 37B |
| Qwen3.5-397B | 阿里 | 397B | 17B |
| MiMo-V2-Flash | 小米 | 309B | 15B |
| gpt-oss-120b | OpenAI | 117B | 5.1B |
2.1 计算挑战
一个 dense 的 100 万亿参数模型,在约 29 万亿 token 上训练,需要约 1.2 × 10²⁹ FLOPS。这是一个天文数字——即使是 exascale 系统也需要数千年的 GPU 时间来完成一次训练。什么是 Exascale 系统
什么是 Exascale 系统
Exascale 系统指算力达到 FLOPS(1 exaFLOPS)的超级计算机。目前已有多台投入运行:
| 系统 | 机构 | 峰值算力 | 年份 |
|---|---|---|---|
| Frontier | 美国橡树岭国家实验室 | ~1.1 exaFLOPS | 2022 |
| Aurora | 美国阿贡国家实验室 | ~2 exaFLOPS | 2024 |
| El Capitan | 美国劳伦斯利弗莫尔国家实验室 | ~2 exaFLOPS | 2024 |
2.2 内存挑战
以 FP16(每参数 2 字节)存储 100 万亿参数,仅模型权重就需要约 182 TB 显存。单块 B200 GPU 有 192 GB HBM3e,仅加载模型就需要约 1,000 块 B200(约 125 个 8-GPU 节点)。若使用 B300(288 GB),则需约 700 块。这还只是模型权重——不包括激活值内存、优化器状态和输入数据,实际需求更大。B200 / B300 显存口径说明
B200 / B300 显存口径说明
前面规格表里的 B200 / B300 采用的是
HGX B200 / HGX B300 的单 GPU 口径,因此显存写成 180 GB 和 270 GB;这里这句沿用原书引用的 DGX B200 / DGX B300 口径,因此写成 192 GB 和 288 GB。两者对应的是不同系统形态下的规格,所以数字不完全一致。可参考 Blackwell Ultra Datasheet 和 NVIDIA DGX B300 Datasheet。2.3 MoE 是关键路径
LLM 的基本架构是 Transformer,由一系列 Transformer 模块像搭积木一样堆叠而成。每个模块内部有两个核心组件:- Attention:负责词与词之间的相互关联(“这句话里哪些词和当前词有关”)
- FFN(Feed-Forward Network):负责对每个词本身的深度理解(“这个词在当前语境下是什么意思”)


2.3.1 从 Switch Transformer 到 DeepSeek MoE
Switch Transformer(Google, 2021)是最早的大规模实践,采用 top-1 路由(每个 token 只选 1 个专家),训练速度达到同等 dense 模型的 7 倍。但它有一个缺陷:每个专家都要各自学一遍通用能力(语义理解、语法处理等),大量参数容量浪费在重复学习上。 DeepSeek MoE 的改进是两个:- 共享专家:划出一部分专家,所有 token 都经过它们,专门学习通用能力。其余专家只需在通用能力的基础上各自深耕专业领域。
- 细粒度专家:把每个专家的粒度做细、数量做多(DeepSeek-V3 用 256 个 routed expert 选 8 个),让专业分工更精细。

2.3.2 MoE 推理优化
1. 算子效率:更快的 CUDA kernel 通用的 NCCL collective 对 MoE 的 all-to-all 通信模式并非最优。DeepSeek 的 DeepEP 提供了专门为 MoE 优化的高效 all-to-all 通信 kernel。Perplexity 开源的 pplx-kernels 同样针对 MoE expert parallelism 场景,支持 NVLink、IBGDA、IBRC 等多种传输层,并在 kernel 层面提供通信与计算重叠的底层能力。IBGDA 与 IBRC
IBGDA 与 IBRC
都是 InfiniBand 网络上 GPU 间的通信方式:
- IBGDA(InfiniBand GPU-Direct Async):GPU 直接向网卡发起 RDMA 操作,完全绕过 CPU,延迟最低
- IBRC(InfiniBand Reliable Connection):传统模式,需要 CPU 代理线程协调 GPU 和网卡之间的通信,延迟较高

- 线程 0 完成 dispatch(send + recv)后立刻让出给线程 1
- 线程 1 开始自己的 dispatch 通信,同时线程 0 收到的 token 在 SM 上做专家计算
- 线程 1 完成 dispatch 后让回给线程 0 做 combine
- 线程 0 完成 combine 后让出给线程 1 做 combine,如此交替

MoE 在 Expert Parallelism 下的通信流程
MoE 在 Expert Parallelism 下的通信流程
当专家分布在多块 GPU 上时,每一层的 MoE 计算都需要经过 dispatch → 专家计算 → combine 三个阶段。其中 dispatch 和 combine 属于通信操作(通过 NIC/NVLink 在 GPU 间搬运数据),共四步:
下图展示了两个 DP group 和 4 个专家之间的完整 dispatch → 专家计算 → combine 流程:
| 步骤 | 作用 |
|---|---|
| dispatch send | 根据路由结果,把 token 发送到持有对应专家的 GPU |
| dispatch recv | 接收其他 GPU 发来的 token |
| (专家计算) | 本地 GPU 上的专家对收到的 token 做前向计算 |
| combine send | 把专家计算结果发回给 token 的来源 GPU |
| combine recv | 接收专家计算结果,加权求和得到最终输出 |

- 左侧 DISPATCH:DP #0 有 3 个 token(0, 1, 2),DP #1 有 2 个 token(0, 1)。根据路由结果,token 被分发到 4 个专家(E #0 ~ E #3),一个 token 可能被发给多个专家
- 中间 专家计算:每个专家收到各自的 token 后独立做前向计算
- 右侧 COMBINE:专家计算结果沿箭头发回各自的来源 DP rank,⊕ 表示加权求和——同一个 token 被多个专家处理后,按路由权重合并为最终结果


2.4 开源 MoE 模型一览
| 模型 | 公司 | 总参数 | 活跃参数 | Routed Expert | Shared Expert | 每 token 激活 Routed Expert | 年份 |
|---|---|---|---|---|---|---|---|
| Mixtral 8x7B | Mistral | 46.7B | 12.9B | 8 | 0 | 2 | 2023 |
| DeepSeek-V3.2 | DeepSeek | 671B | 37B | 256 | 1 | 8 | 2025 |
| gpt-oss-120b | OpenAI | 117B | 5.1B | 128 | 0 | 4 | 2025 |
| MiMo-V2-Flash | 小米 | 309B | 15B | 256 | 0 | 8 | 2026 |
| Kimi-K2.5 | Moonshot AI | 1T | 32B | 384 | 1 | 8 | 2026 |
| GLM-5 | 智谱 | 744B | 40B | 256 | 1 | 8 | 2026 |
| Qwen3.5-397B | 阿里 | 397B | 17B | 512 | 1 | 10 | 2026 |
- A Visual Guide to Mixture of Experts — 50+ 可视化图解 MoE 的工作原理
- Mixture of Experts Explained — Hugging Face 博客,MoE 的训练技巧和推理优化
- Mixture of Experts (MoEs) in Transformers — Hugging Face 2026 年更新版,MoE 在 transformers 库中的工程实践
- Scaling Large MoE Models with Wide EP on NVL72 — NVIDIA 技术博客,Wide EP + EPLB + GroupGEMM
- vLLM Large Scale Serving: DeepSeek @ 2.2k tok/s/H200 — vLLM 博客,Wide EP + DBO + EPLB 的完整实践
- Dual Batch Overlap 设计文档 — vLLM DBO 的实现细节
- Efficient and Portable MoE Communication — Perplexity 博客,pplx-kernels 的设计与基准测试
- 7 分钟速通开源 MoE — 中文视频,从省算力到负载均衡到推理优化的完整概览
3. 机架式 AI 超级计算机
NVIDIA 正在将 AI 基础设施从单块 GPU、单台服务器演进为机架级系统和 POD 级超级计算机。3.1 GB200 NVL72 (2024)
GB200 NVL72 是基于 Blackwell 架构的机架级 AI 超级计算系统,在单机架内提供 exaFLOP 级算力。它将 36 颗 Grace CPU 和 72 块 Blackwell GPU 整合在一个液冷机柜中,72 GPU 组成一个 NVLink 域,如同一块巨型 GPU。其核心构建单元是 GB200 Grace Blackwell Superchip——通过 NVLink-C2C 将两块 Blackwell Tensor Core GPU 与一颗 Grace CPU 互连。
统一内存
统一内存
GB200 NVL72 的 30.5 TB 快速访问内存由两部分组成:
- HBM3e(GPU 显存):72 块 GPU × 192 GB = 13.5 TB,直接供 GPU 计算使用
- LPDDR5X(CPU 内存):36 颗 Grace CPU 提供最高 17 TB
cudaMemPrefetchAsync 显式预取数据到本地,避免运行时因数据不在本地而触发缺页异常(page fault),导致 GPU 阻塞等待远端数据搬运。| 场景 | vs H100 | 说明 |
|---|---|---|
| LLM 推理 | 30× | 第二代 Transformer Engine 支持 FP4,新一代 Tensor Core 引入 microscaling 格式,配合第五代 NVLink 将万亿参数语言模型的推理性能提升 30 倍 |
| LLM 训练 | 4× | 第二代 Transformer Engine 支持 FP8,配合第五代 NVLink(1.8 TB/s GPU 间互连)、InfiniBand 和 Magnum IO 实现大规模 LLM 训练 4 倍加速 |
| 能效 | 25× | 液冷提升计算密度、减少占地面积,并支持大规模 NVLink 域的高带宽低延迟 GPU 通信。同等功耗下性能 25 倍,同时减少水资源消耗 |
| 数据处理 | 18× vs CPU | 利用高带宽内存、NVLink-C2C 和 Blackwell 专用解压引擎加速数据库查询 |
3.2 GB300 NVL72 (2025)
GB300 NVL72(Blackwell Ultra)在同一机柜架构上升级:显存从 192 GB 增至 288 GB HBM3e,FP4 Tensor Core 密度提升 1.5 倍,Attention 性能提升 2 倍。| 指标 | GB200(Blackwell) | GB300(Blackwell Ultra) |
|---|---|---|
| 制程 | TSMC 4NP | TSMC 4NP |
| 晶体管 | 208B | 208B |
| NVFP4 dense / sparse | 10 / 20 PFLOPS | 15 / 20 PFLOPS |
| FP8 dense / sparse | 5 / 10 PFLOPS | 5 / 10 PFLOPS |
| Attention 加速(SFU EX2) | 5 TeraExponentials/s | 10.7 TeraExponentials/s |
| HBM 容量 | 192 GB HBM3e | 288 GB HBM3e |
| HBM 带宽 | 8 TB/s | 8 TB/s |
| NVLink 带宽 | 1.8 TB/s | 1.8 TB/s |
| 最大功耗(TGP) | 1,200W | 1,400W |
3.3 Vera Rubin NVL72 (2026)
Vera Rubin NVL72 整合了 72 块 Rubin GPU、36 颗 Vera CPU、ConnectX-9 SuperNIC 和 BlueField-4 DPU。通过 NVLink 6 实现机架内 scale-up,通过 Quantum-X800 InfiniBand 或 Spectrum-X Ethernet 实现跨机架 scale-out。 Vera Rubin NVL72 基于第三代 MGX 机架设计,可从上一代 Blackwell 平滑过渡。相比 Blackwell,训练仅需 1/4 的 GPU 数量,推理每百万 token 成本降至 1/10。MGX 机架架构
MGX 机架架构
MGX(Modular GPU Accelerated)是 NVIDIA 的开放标准化机架架构,定义了机柜的机械尺寸、电源、冷却和线缆的统一规范。2024 年 NVIDIA 将 GB200 NVL72 的设计贡献给了 Open Compute Project(OCP)。所有 NVL72 机柜(GB200、GB300、Vera Rubin)都基于 MGX 架构,共用相同的电源、冷却和机械规格,由 80+ 全球合作伙伴的供应链支撑。这意味着数据中心可以在不重新设计基础设施的前提下跨代升级——从 Blackwell 到 Vera Rubin 只需更换计算托盘,机柜外壳、冷却管路和电源母线保持不变。
3.4 Vera Rubin POD (2026)
现代 Agentic AI 系统需要规划任务、调用工具、执行代码、检索数据,并在多个 AI Agent 之间协调连续的多步工作流。这些交互会产生大量推理 token、扩展 KV cache,并需要基于 CPU 的沙箱环境来测试和验证加速计算系统生成的结果,对 GPU、CPU、scale-up 域、scale-out 网络和存储都提出了低延迟、高吞吐的要求。 Vera Rubin POD 通过横跨计算、网络和存储的 7 种芯片极致协同设计,构建了最先进的 POD 级 AI 平台:40 个机柜、1.2 × 10¹⁵ 个晶体管、近 20,000 块 NVIDIA 芯片、1,152 块 Rubin GPU、60 exaFLOPS、10 PB/s 总 scale-up 带宽。

Spectrum‑X Ethernet 与 Quantum‑X800 InfiniBand 对比
Spectrum‑X Ethernet 与 Quantum‑X800 InfiniBand 对比
Spectrum‑X Ethernet 面向 AI 云和企业数据中心,是“为 AI 优化的以太网”。它在保留以太网开放生态(TCP/IP、RoCEv2 等)的前提下,针对大模型训练和推理做了拥塞控制、流量调度和端到端优化,优势是兼容现有基础设施、部署灵活,也更适合多租户场景。NVIDIA Quantum‑X800 InfiniBand 面向极致性能需求的 800G InfiniBand 平台,主要服务于万亿参数级模型训练、HPC 和超大规模 AI 工厂。它强调超低时延、网络内计算(In-Network Computing)和强集体通信能力,更适合追求训练规模与性能上限的场景。
3.5 Vera Rubin Ultra (2027)
Vera Rubin Ultra 引入了一种全新的两层全互连 NVLink 拓扑,使开发者能够将 scale-up 扩展到 576 块 GPU。Vera Rubin Ultra NVL576 将由 8 个独立的 MGX NVL 机柜组成,每个机柜配备 72 块 Rubin Ultra GPU,并通过铜缆和直连光互连构成一个统一的 576-GPU NVLink 域。它将基于同一套 MGX 机架级生态系统构建,以实现最快的产品落地速度。 作为这一大规模多机柜 NVLink 拓扑的演示系统,Polyphe 是 NVIDIA 内部一个基于 GB200 的全功能原型,用于验证多机柜 NVL576 scale-up 架构。
3.6 Feynman (2028)
为了扩展到 NVL576 之上,NVIDIA 将引入一款新的 MGX 机柜:NVIDIA Kyber。NVIDIA Kyber 是下一代 MGX NVL 机柜设计,可将每个机柜内的 NVLink 域规模翻倍,容纳 144 块 GPU。
- NVIDIA Vera Rubin POD: Seven Chips, Five Rack-Scale Systems, One AI Supercomputer
- Inside the NVIDIA Vera Rubin Platform: Six New Chips, One AI Supercomputer
- Inside NVIDIA Groq 3 LPX: The Low-Latency Inference Accelerator for the NVIDIA Vera Rubin Platform
- NVIDIA Unveils Rubin CPX: A New Class of GPU Designed for Massive-Context Inference
- NVIDIA Rubin CPX Accelerates Inference Performance and Efficiency for 1M+ Token Context Workloads
- 英伟达将 Rubin CPX 从路线图移除,或以 Groq LPU 及 LPX 机架取代
- Inside NVIDIA Blackwell Ultra: The Chip Powering the AI Factory Era
4. 协同设计(Co-design)
在计算领域,协同设计指的是编写对底层硬件特性有深刻认知的软件。在 AI 背景下,它更具体地意味着让算法、软件与硬件能力协同设计,以最大化性能;FlashAttention、MLA 和低精度量化正是三个典型例子。4.1 FlashAttention
真实系统里的经验反复说明,哪怕只是 GPU kernel 或内存访问模式上的小改动,也可能带来远超直觉的收益。FlashAttention 就是一个经典例子:它没有改变 Transformer 注意力的数学定义,而是以一种更贴近硬件的方式重写 attention 计算。它的核心做法是把 GPU 上的计算切成 tile,尽量减少对显存的读写次数,从而显著降低数据搬运开销并加快 attention 计算。 FlashAttention-1(2022) 首次把 attention 明确地当成一个 I/O 问题来处理。 要理解 FlashAttention 在优化什么,先看 GPU 内部的数据流动方式。

- 第 1 步:从 HBM 读入 Q 和 K。
- 第 2 步:在 SRAM 中做一次矩阵乘法,计算 。
- 第 3 步:把中间矩阵 写回 HBM。
- 第 4 步:再把 从 HBM 读回。
- 第 5 步:在 SRAM 中计算 。
- 第 6 步:把中间矩阵 写回 HBM。
- 第 7 步:再把 和 V 从 HBM 读回。
- 第 8 步:在 SRAM 中做第二次矩阵乘法,计算 。
- 第 9 步:把输出矩阵 写回 HBM。
N×N 中间矩阵的 I/O 开销
N×N 中间矩阵的 I/O 开销

| 序列长度 | 单个 矩阵元素数 | 输入 ()元素数 |
|---|---|---|
| 4,096 | 1,600 万 | 52 万 |
| 65,536 | 43 亿 | 838 万 |

Softmax 的作用与计算过程
Softmax 的作用与计算过程
在 attention 中, 算出的 score 矩阵 只是原始的相似度分数,数值范围不固定,可正可负。Softmax 的作用是把每一行转换成概率分布:所有值变为正数且加起来等于 1,表示当前 token 对其他各 token 的关注程度。以一行 score 为例:结果表明:当前 token 把 64.4% 的注意力放在第 2 个 token 上,23.7% 放在第 4 个,其余两个各占不到 10%。关键问题在步骤 2:分母需要整行所有元素的 exp 之和。如果只看到一半数据(比如 block tiling 只载入了 ),算出的分母是 ,和完整分母 不同,结果就是错的。这就是 softmax 阻止 kernel fusion 的根本原因。实际实现中还有一个数值稳定性技巧:先减去最大值再取 exp(即算 ),防止 在 很大时溢出。这个最大值同样需要看到整行数据。
Rescaling 具体在做什么?
Rescaling 具体在做什么?
用 score 向量 分两块处理来说明。处理第一块 用这个局部 softmax 权重乘以 V 的第一块(即前两个 token 对应的 value 向量 ),得到临时输出 。此时 只按第一块做了归一化,对应的 softmax 分母还是局部的 ,还不是看到全部 token 后的最终答案。处理第二块 分母从 1.135 变成了 1.553。之前的 是按旧分母 1.135 算的,现在需要修正: 是这个例子里的 rescaling 系数。它把 等比缩小,补偿”分母变大了”这个事实,再加上第二块 token 的贡献。这里第二块的局部最大值是 3,但全局最大值仍然是 4,所以 ,;rescaling 不再来自 max 基准的变化,而只来自 softmax 分母从 扩大到 。对每个 query block,只维护一个当前输出块 ,并在 SRAM 中原地更新。 每处理完一块新的 K/V 数据,就先用 rescaling 系数 修正旧输出,再加上当前块带来的局部贡献。等所有块遍历完成后, 就是该 query block 的最终输出。

为什么需要两层嵌套循环?
为什么需要两层嵌套循环?
因为 SRAM 放不下完整的 Q、K、V。一个完整的 attention 要求每个 Q 行都和所有 K 列算 score,再对所有 V 行加权求和。如果只遍历 Q 的分块,每次处理一块 Q 时仍然需要把完整的 K 和 V 放在 SRAM 里 — 放不下。所以用两层循环:外层每次换一块 K、V,内层让所有 Q 块都和当前这块 K 算一次局部 score:任意时刻 SRAM 里只有一块 Q_i()、一块 K_j()、一块 V_j()和对应的小块中间结果,远小于 。当外层循环走完所有 K 块后,每个 O_i 都已经和全部 K 算过、被 rescaling 到了正确值。

- 同样的模型训练更快
- 同样的模型可以用更大的 batch size
- 同样的预算可以训练更大(通常也更好)的模型
- 可以训练更长上下文窗口的模型
- 可以在更小的 GPU 上训练模型
FlashAttention-1 到 FlashAttention-4 的概览如下:
| 版本 | 年份 | 关键改进 | 性能 | 备注 |
|---|---|---|---|---|
| FlashAttention-1 | 2022 | 引入 I/O-aware 分块 attention;融合 softmax 与 matmul kernel;避免物化完整 attention 矩阵 | attention 速度提升 2-4 倍;显存占用最高降低 10 倍 | 第一版;支持实用长上下文;exact attention(非近似) |
| FlashAttention-2 | 2023 | 改进 warp / thread block 并行与 work partitioning;减少 non-matmul FLOPs | 相比 FA-1 再快约 2 倍,长序列下更明显 | 支撑了很多长上下文 LLM;已广泛集成到训练和推理框架 |
| FlashAttention-3 | 2024 | Tensor Core 加速(FP8/BF16);针对 Hopper GPU(如 H100)优化 | 相比 FA-2 最高再快 2 倍;H100 达到 740 TFLOPS(75% 利用率);FP8 误差降低 2.6 倍 | 面向 Hopper 的专门优化版本;把 WGMMA、TMA、FP8 等硬件能力真正用起来 |
| FlashAttention-4 | 2026 | 针对 Blackwell 重写 pipeline;fully asynchronous MMA;减少 non-matmul 和 backward pass 流量 | B200 BF16 达到 1613 TFLOPS(71% 利用率);相较 cuDNN 最高快 1.3 倍;相较 Triton 最高快 2.7 倍 | 面向 Blackwell;基于 CuTe-DSL 实现,继续针对新硬件重排瓶颈 |
- FlashAttention from First Principles
- FlashAttention — Visually and Exhaustively Explained
- Flash Attention 2.0 with Tri Dao (author)!
- Flash Attention学习过程【详】解
- ELI5: FlashAttention
- Designing Hardware-Aware Algorithms: FlashAttention
- FlashAttention: Fast and Memory-Efficient Exact Attention With IO-Awareness
4.2 DeepSeek MLA
DeepSeek 的 MLA 算法以 NVIDIA GPU kernel 的形式实现,并于 2025 年开源,是软硬件协同设计的另一个例子。与 FlashAttention 类似,MLA 重新组织了 attention 计算,以更好地利用 NVIDIA 的内存层级和专用的 GPU Tensor Cores。这些优化使 MLA 能够更充分地利用受限的 H800 GPU 架构,以更低的成本实现更高的吞吐量,甚至在同样的 H800 系统上超过了 FlashAttention 的性能。
W_Q^(i)、W_K^(i)、W_V^(i),每个头各自计算注意力,最后把所有头的输出拼接再投影回去。它的表达能力最完整,但 decode 阶段也必须为每个 head 缓存完整 K/V,因此 KV cache 最大。
MQA (Multi-Query Attention) 保留多个 query heads,但所有 heads 共享同一组 K/V。这样 KV cache 从 h 份降到 1 份,显著减轻显存占用和 HBM 读流量,推理速度通常更高;代价是不同 heads 看到的是同一套 K/V,表达能力往往弱于 MHA。
GQA (Grouped-Query Attention) 是 MHA 和 MQA 之间的折中。它把 h 个 query heads 分成 g 组,每组共享一套 K/V,因此总共有 g 份 K/V。它保留了更多头间差异,因此表达能力通常强于 MQA,但仍弱于每个 head 都独立持有 K/V 的 MHA。
MLA(Multi‑Head Latent Attention) 先把所有头的 K/V 合在一起做一次低维压缩,只把这个共享的 latent 表示写进 KV cache,然后在算注意力时,各个头再用自己的变换从同一个 latent 里解码出各自的 K/V。这样既大幅缩小了 KV cache 的体积,又保留了不同注意力头之间的差异,不像 MQA/GQA 那样只是简单地共用同一套 K/V。
| 机制 | KV cache 大小 | 推理效率 | 表达能力 | 核心操作 |
|---|---|---|---|---|
| MHA | 最大,随 head 数线性增加 | 基线 | 最高 | 每个 head 独立 Q/K/V |
| MQA | 最小,只有 1 份 K/V | 最快或接近最快 | 通常弱于 MHA | 所有 query heads 共享同一组 K/V |
| GQA | 中等,有 g 份 K/V | 比 MHA 快 | 通常介于 MHA 和 MQA 之间 | query heads 分组,组内共享 K/V |
| MLA | 显著减少,缓存低维 latent | 实践中通常快于 MHA,接近 GQA/MQA | 在 DeepSeek 实验中可接近甚至超过 MHA | K/V 低秩联合压缩 + head-specific 上投影 |
4.3 低精度量化
低精度量化 也是协同设计的典型体现。Transformer 的普及和 FP8、FP4 这类低精度格式的兴起,推动 NVIDIA 增加了 Transformer Engine、面向低精度计算的 Tensor Core、FP4 支持和 microscaling;而这些硬件能力又反过来让研究者可以探索新的数值优化器和神经网络结构,形成持续迭代的正反馈。FAQ
MoE 的核心价值是什么?
MoE 的核心价值是什么?
MoE 的价值不是”比原来的小模型更省计算”,而是用”同样的计算量,换来了大得多的模型”。 例如 DeepSeek-V3 有 671B 总参数,但每 token 只需 37B 的计算量;如果用 dense 架构达到同样的知识容量,每 token 需要 671B 的计算量,MoE 省了 18 倍。
FlashAttention 优化的到底是什么?
FlashAttention 优化的到底是什么?
FlashAttention 降到 的是 HBM 内存占用,不是计算量。Attention 本身就是每个 token 和所有 token 算 score, 的计算是省不掉的。
标准实现把整个 的中间矩阵物化到 HBM,内存 。FlashAttention 虽然两层循环遍历了所有 个 score,但任意时刻 SRAM 里只有一小块,算完就丢,HBM 里始终只存 Q、K、V、O(各 )和统计量 、(各长度 ),所以内存是 。速度提升来自 I/O 减少(少搬了大量数据),不是因为算得少了。
| 计算量 | HBM 内存 | HBM I/O | |
|---|---|---|---|
| 标准 attention | |||
| FlashAttention | (没变) |
