POST

70B 到底有多大:从一块卡到一千张卡

名词解释 #名词解释 #大模型

数据出处:NVIDIA H100 产品页(80GB HBM3、bf16 1,979 TFLOPS、700W);NVIDIA NVLink 页(18 条链路、整卡总带宽 900GB/s);DGX H100 用户指南(8 个 400Gb/s 网络口);Meta《The Llama 3 Herd of Models》表 3(70B:80 层、模型维度 8192、8 个 KV head);NVIDIA MLPerf 记录(10,752 张 H100、3.92 分钟)。
说明:文中的显存、卡数和集群规模,除标注引用的规格外,均为按上述公开参数与公式推算,推算过程见文末「口径与局限」,不构成采购依据。

一个 70B 的模型,权重约 140GB。一张 80GB 级加速卡装不下,两张刚好。但真正训练它的机房,通常不止两张卡——从单机到千卡,中间隔的不只是数量。

一、先把单位钉死:B 和 T 都不是字节

B 是 billion,10 亿;T 是 trillion,1 万亿。70B 是 700 亿参数,1T 是 1 万亿参数。这里的 B 不是 byte,T 也不是 1024 进制,更不是 TB。

按 bf16(每个参数 2 字节)换算:

参数量 中文口径 bf16 权重 int8 int4
7B 70 亿 约 14GB 约 7GB 约 3.5GB
70B 700 亿 约 140GB 约 70GB 约 35GB
405B 4050 亿 约 810GB 约 405GB 约 202GB
1T 1 万亿 约 2TB 约 1TB 约 500GB

140GB 是十进制,约等于 130GiB。GB 与 GiB 差 7% 左右,采购单上写错一个单位,预算就会差出一截。

参数量也不等于显存占用。权重之外还有 KV cache、激活值和框架开销。训练时还要存梯度、优化器状态和主权重:按混合精度加 Adam,bf16 权重 2 字节、梯度 2 字节、两个动量各 4 字节、fp32 主权重 4 字节,合计 16 字节/参数。70B 单这一项就是约 1.1TB。

二、一块卡装得下什么

H100 SXM 是 80GB HBM3,8 卡单机合计 640GB。70B 的 bf16 权重 140GB,最小要 2 张卡才放得下;实际推理常配 4 到 8 张,把余量留给 KV cache 和并发。

KV cache 的公式是:

2 × 层数 × KV head 数 × head 维度 × 每参数字节 × token 数

以 Llama 3 70B 为例:80 层、8 个 KV head、head 维度 128、bf16,每个 token 约 0.31MiB。8k 上下文,一条序列约 2.5GiB;32 条并发就吃掉约 80GB。权重还没算进去。

量化能省显存:FP8 约 70GB,INT4 约 35GB。但省下来的空间要拿精度、长上下文表现和吞吐来换,具体损失只能实测。

三、从 8 卡到一千张卡:互联是第二道墙

H100 SXM 的 NVLink 是 18 条链路、整卡总带宽 900GB/s(双向合计)。这是机内互联,出了机箱就要换网络。

千卡集群大致是 125 台 8 卡机。DGX H100 每台配 8 个 400Gb/s 网络口,折合每卡 400Gbps(约 50GB/s);1000 张卡直接相加是 50TB/s 的理论上限。实际能跑出多少,取决于 leaf-spine 的收敛比和有没有 oversubscription。

并行策略也决定通信量:张量并行多放在机内,流水并行和数据并行跨机。卡越多,通信占比越高。所以「千卡集群」是采购单位,不是性能单位。

四、MFU:1000 张卡不等于 1000 倍

MFU 是实际达到的浮点运算量除以峰值浮点运算量。它不是 GPU 利用率,也不是「卡有没有在跑」。

H100 SXM 的 bf16 Tensor Core 标称 1,979 TFLOPS,这是含稀疏性的口径;稠密口径约为它的一半。分母用哪个,结果能差一倍——这是第一个容易吵起来的地方。

MFU 是实测值,没有通用区间:同一个模型换并行策略、换集群规模,结果都会变。公开的 MLPerf 结果给的是 time-to-train,例如 10,752 张 H100 用 3.92 分钟跑完 GPT-3 175B 基准,并不直接公布 MFU;要得到 MFU,得用实测吞吐反算。

所以「卡数翻倍、吞吐翻倍」只是个默认假设。卡数上去以后,通信、流水气泡、checkpoint 和故障恢复都会把 MFU 往下拉,实际吞吐要按实测算。

五、训练集群和推理集群,是两种机房

训练集群跑少量超大任务,一跑几周,追求吞吐和稳定;网络要高带宽低延迟,存储要扛得住 checkpoint,故障恢复是日常。

推理集群跑海量小请求,追求 P95 / P99 延迟和单位 token 成本;显存主要被 KV cache 占,需要多地域、冗余和弹性扩缩。

同一批卡可以从训练转推理,但网络拓扑、存储配置、供电和运维不会自动跟着转。篇一只回答「机房长什么样」,至于「要多少卡」,那是日活和请求量的问题。

六、把账落到一张表:先算显存,再算卡

给定 70B、bf16、8k 上下文、1000 并发:

  • 权重:约 140GB;
  • KV cache:约 2.5GiB × 1000 ≈ 2.5TiB,约合 2,750GB;
  • 单机 640GB,装下 140GB 权重后,扣掉框架开销,能留给 KV cache 的约 400 到 500GB。

按每台可留 450GB 算,2,750GB 需要约 6 台;再留冗余、峰值和故障域,6 到 8 台更合理。这个结果只跟显存有关,跟算力够不够是两件事。

七、容易搞错的六件事

  • B 是 billion,不是 byte;T 是 trillion,不是 1024 进制,也不是 TB。
  • 70B 不是 70GB;bf16 是 2 字节/参数。
  • 参数量不等于显存占用,KV cache 在高并发时经常比权重更大。
  • 卡数不等于算力,线性扩展是假设,不是事实。
  • MFU 不等于 GPU 利用率;分母用含稀疏还是稠密,要写清楚。
  • 8 × 80GB 是一台机器,不是集群;千卡集群的瓶颈常在机间网络和存储。

口径与局限

  • 直接引用:H100 SXM 的 80GB HBM3、bf16 1,979 TFLOPS(含稀疏)、700W,来自 NVIDIA H100 产品页;18 条 NVLink、整卡总带宽 900GB/s,来自 NVIDIA NVLink 页;DGX H100 每台 8 个 400Gb/s 网络口,来自 DGX H100 用户指南;Llama 3 70B 的 80 层、模型维度 8192、8 个 KV head,来自 Meta 论文表 3;10,752 张 H100、3.92 分钟的 MLPerf GPT-3 175B 结果,来自 NVIDIA 技术博客。
  • 公式推算:权重 = 参数量 × 每参数字节;KV cache = 2 × 层数 × KV head 数 × head 维度 × 每参数字节 × token 数;训练状态按 bf16 权重 2 + 梯度 2 + Adam 两个动量 8 + fp32 主权重 4 = 16 字节/参数;节点数 =(权重 + KV cache)/ 单机可用显存;聚合带宽 = 卡数 × 单卡网络带宽。
  • 边界:没有做任何推理或训练实测,因此不给出 MFU、吞吐和延迟的具体值;节点数只看显存,不含功耗、价格、存储容量、网络收敛比和故障冗余的真实配置;GB 为十进制、GiB 为二进制,文中已分别标注。
  • Llama 3 70B 的 Hugging Face 仓库需要授权,本文结构参数取自 Meta 论文表 3,不是从 config.json 直接读取;换其他模型时,层数与 KV head 数以对应 config.json 为准。
  • 本文不构成采购建议。

70B 到底有多大:从一块卡到一千张卡
https://www.040925.xyz/2026/11/04/70b-to-cluster/
作者
hanyaoyu
发布于
2026年11月4日
许可协议

← 回到首页