Skip to content

GPU 与硬件选型

本页速览 模型能不能跑、跑多快,一半由硬件决定。本文讲清 GPU 关键参数(显存、带宽、算力)、显存与模型大小的换算、CPU/GPU/NPU/TPU 对比,以及推理场景的实例选型思路。

GPU 与硬件选型

一句话定义:硬件选型就是为"模型大小 × 延迟要求 × 吞吐需求 × 预算"找一台满足约束的机器——显存定容量下限,带宽定速度上限,算力定峰值吞吐。

行业洞察:绝大多数模型部署事故不是代码问题,而是硬件不匹配:7B 模型塞进 16GB 显存的 T4,OOM 重启一整天;风控推理延迟要求 5ms,却为省预算选了 CPU 裸奔。反过来,过度采购也常见——一个日调用 1 万次的模型用 A100,GPU 利用率长期 <5%,等于每年烧掉几十万电费。会算账的部署工程师,一半时间在算显存和带宽,另一半时间在压测验证自己的估算。

一、显存:硬约束,先算清这笔账

1. 模型显存估算公式

text
模型权重显存 ≈ 参数量 × 每参数字节数
运行时显存   ≈ 权重显存 × 1.2 倍余量(激活 + 中间张量 + 引擎开销)

每参数精度字节:FP32=4、FP16/BF16=2、INT8=1、INT4=0.5。

常见 LLM 的推理显存(仅权重,不含 KV Cache):

模型参数量FP16INT8INT4
Llama-7B7B~14 GB~7 GB~3.5 GB
Llama-13B13B~26 GB~13 GB~6.5 GB
Llama-70B70B~140 GB~70 GB~35 GB

别忘 KV Cache 和激活

对 LLM 推理,KV Cache 随并发线性增长,可能比权重还大(7B 模型配 128 并发时 KV Cache 可吃掉 40GB+)。这套"显存账本"的完整算法见 大模型推理优化

2. 显存不够时的三条路(按优先级)

  1. 量化:FP16 → INT8 立省一半,INT4 省 75%,见 量化
  2. 卸载(offload):把不活跃权重放 CPU 内存/磁盘,牺牲延迟换容量;
  3. 换卡/多卡:张量并行把权重切到多卡,见 大模型推理优化

二、GPU 关键指标:三看一不看

指标单位意义对推理的影响
显存容量GB能装多大的模型硬约束,不够就 OOM
显存带宽GB/s每秒搬多少数据决定 memory-bound 算子的速度(推理主战场)
算力TFLOPS(FP16/INT8)每秒算多少次运算决定 compute-bound 算子的上限(训练/大 batch)
NVLink 互连GB/s多卡通信带宽决定多卡并行(张量并行)效率

"一看"是哪个? 对在线推理:先看显存容量,再看显存带宽,最后才算力。因为推理是带宽密集型(见 推理:从前向传播到推理引擎),一张高带宽的中端卡,常常比高算力的旗舰卡更适合小 batch 在线推理。

推理是带宽密集型,训练是算力密集型

Roofline 视角:每个算子有"算术强度"(FLOP/byte)。小 batch 推理的算术强度极低(每读一个权重字节只做几次运算),瓶颈在带宽;大 batch 训练算术强度高,瓶颈在算力。这解释了为什么:

  • T4(带宽 320 GB/s)跑小 batch 与 A100(带宽 2 TB/s)跑小 batch 的差距,远小于两者算力(65 vs 312 TFLOPS)的差距
  • INT8 量化对推理提速接近 2 倍(带宽减半),对训练意义不大。

三、主流推理 GPU 对比

以 2024 年市场在售/常见机型为例(参数为公开规格近似值,采购前以官方白皮书为准):

GPU显存显存带宽FP16 算力典型用途
T416 GB320 GB/s65 TFLOPS入门在线推理、批量小模型
L424 GB300 GB/s121 TFLOPST4 的升级替代、视频/视觉
A1024 GB600 GB/s125 TFLOPS中型在线推理、多路小模型
L40S48 GB864 GB/s362 TFLOPS大模型推理、训练两相宜
A100 40G/80G40/80 GB1.5~2 TB/s312 TFLOPS大模型、张量并行、训练
H10080 GB3.35 TB/s989 TFLOPS(含 sparse)旗舰推理与训练
RTX 4090(消费级)24 GB1 TB/s330 TFLOPS开发、内部工具、小规模服务(无 ECC/没 vGPU)

消费卡 vs 专业卡

RTX 4090 性价比极高(性能接近 A10 的两倍),但没有 ECC 内存、不支持 vGPU 虚拟化、无数据中心级散热与稳定性认证,且服务条款禁止数据中心使用。实验/开发可买,生产请走专业卡。

选型经验法则(模型 < 20B、在线推理):

text
模型 FP16 能塞进 1 张卡(≤ 24GB)且 QPS 要求不高  → L4 / A10
模型 FP16 塞进 1 张卡但 QPS 高(>200)           → L40S / A100
模型 > 1 张卡装不下(≥ 70B)                      → 多卡张量并行(H100/A100×N)

四、CPU 推理:被低估的第二战场

CPU 推理在 LLM 时代重新走红(llama.cpp 在普通笔记本上跑 7B 量化模型可达 5~10 token/s)。它的优化关键:

  • 指令集:AVX2 → AVX-512 → AMX(Intel),差距可达 3~5 倍;
  • :oneDNN(原 MKL-DNN)、OpenBLAS、llama.cpp 自研 ggml;
  • 缓存友好:把权重重排成 CPU 友好的内存布局,避免 cache miss。

什么场景选 CPU:低 QPS + 小模型 + 省钱,以及边缘无 GPU 环境。判断规则见 推理:从前向传播到推理引擎 第四节。

五、NPU / TPU 与定制芯片

芯片代表定位推理表现
边缘 NPU华为昇腾 Atlas、RK3588 NPU、Apple Neural Engine端侧/边缘 AI能效比极高,但算子支持窄
云 TPUGoogle TPU v5e云上大模型训练与推理算力强,绑定 TensorFlow/JAX 生态
其他 ASICAWS Inferentia、Groq LPU专用推理Inferentia 性价比好,生态约束明显

选型逻辑:NPU/ASIC 的诱惑是成本,风险是生态锁定。模型算子一旦不兼容,要么改写要么放弃。多数团队的做法是"GPU 打底,特定场景试点 NPU",而不是一上来就全量迁移。

六、多卡方案:并行三兄弟

模型单卡放不下,或单卡吞吐不够时,考虑多卡。三者的分工(详见 大模型推理优化论文:并行与分布式推理):

text
数据并行:每卡一份完整模型,吃不同 batch  ── 解决"吞吐不够"
张量并行:权重按层切到多卡,卡间频繁通信 ── 解决"单卡放不下"
流水并行:按层分组到多卡,卡间传激活     ── 解决"单卡放不下 + 通信省"

要点:张量并行每加一张卡,通信开销就增加一分,通常 2~8 卡最佳;超过 8 卡建议结合流水并行。多卡方案必须有 NVLink/InfiniBand 高速互连,否则通信反噬性能。

七、云端选型决策表

按"模型规模 × 目标 QPS"粗略估算(单实例,假定动态 batching 生效):

模型规模(FP16 权重)QPS < 10QPS 10~100QPS 100~1000QPS > 1000
< 1 GB(小型 CNN/MLP)CPU 2~4 核CPU 8 核 / T4T4×1~2L4×2+
1~7 GB(BERT 级)T4T4 / L4L4×1~2L40S×2+
7~30 GB(7B~13B LLM)L4L4 / L40SL40S / A100A100×2+(张量并行)
> 30 GB(70B+)不现实A100/H100×2A100×2~4H100×4+(张量+流水并行)

表格只是起点

真实 QPS 上限取决于模型、batch、延迟预算,必须用压测校准。方法见 压测与容量规划:先单实例压出最大 QPS,再按目标 QPS 反推实例数,并预留 30% 冗余应对流量尖峰。

一个完整的选型算例

目标:部署一个 13B 模型(FP16 约 26GB),要求 P99 延迟 < 1s,日均调用 100 万次(平均 QPS ≈ 12,峰值 ≈ 60)。

text
1) 显存:FP16 权重 26GB,加激活与 KV Cache → 单卡需 ≥ 48GB → L40S/A100
2) 带宽:峰值 60 QPS,若连续批处理吞吐可达 1000+ token/s → 单卡带宽够
3) 算力:LLM 生成阶段带宽受限,算力非瓶颈
4) 结论:1× L40S(48GB)起步,压测后按需扩到 2×

权衡与取舍

决策点选项怎么选
容量优先 vs 速度优先显存大的卡 vs 带宽高的卡先满足容量,再在带宽/算力间权衡
GPU vs CPUGPU 快但贵;CPU 便宜但慢QPS 高、延迟敏感选 GPU;低 QPS 小模型选 CPU
专业卡 vs 消费卡稳定 vs 便宜生产选专业卡,开发可用消费卡
单卡 vs 多卡简单 vs 容量/吞吐先量化省显存,还不够再上多卡
GPU vs NPU/ASIC生态好 vs 成本低常规 GPU 打底,稳定场景试点 ASIC

一句话总结:显存定能不能跑,带宽定跑多快,算力定能撑多高——先算账、再选卡、最后压测校准

延伸阅读

参考资料