1. 显存账:一张卡的四个住户

组成规模随什么变化规划要点
模型权重参数数 × 位宽固定(选定模型+量化后)第一约束:27B BF16≈54G / FP8≈27G / INT4≈14G
KV Cache2 × n_layers × n_kv_heads × head_dim × 位宽 × seq_len × 并发数随 max-model-len 与并发数线性增长长上下文的头号变量,见下节
激活/中间张量batch × seq × hidden随并发与序列长通常 1-3GB,长 prefill 峰值高
CUDA 上下文 + 碎片1-2GB/卡基本固定预留,别把显存按 100% 规划
📌 工程法则:可用KV显存 = 显存总量 × gpu-memory-utilization − 权重 − 激活预留(2G) − 上下文预留(1.5G),再 ÷ 每 token KV 大小 = 可承载总 token 数。

2. KV Cache 估算(示例)

以 27B 级稠密模型(GQA,等效 KV 头 8、hidden 4096、80 层)BF16 为例,每 token KV ≈ 2 × 8 × 512 × 2B × 80 ≈ 1.31MB/token(GQA 压缩后;MHA 架构约为其 4-8 倍):

max-model-len单请求 KV 峰值24G 卡(权重 14G,剩 ~8G)可支撑并发
8K≈10.5MB~700 请求(实际受 max-num-seqs 与算力先限)
32K≈42MB~180
128K≈168MB~45
153K(≈176K 场景)≈200MB~40(单卡 INT4 权重的理论值,实际按实测校准)

结论直观:上下文长度翻 4 倍,同硬件并发容量砍 3/4。"支持 176K"和"176K 下还能多少并发"是两个问题——容量规划必须同时回答。

3. 规划方法:从业务到卡数

  1. 需求:峰值并发 C、典型/最大上下文 L_typ / L_max、SLO(TTFT/TPOT P95)。
  2. 算单卡能力:按上节公式 + 实测拐点(vLLM 压测)得到单卡(或单 TP 组)在 SLO 下的 Goodput G。
  3. 定数量:N = ⌈C / G⌉,再按 20-30% 冗余向上取整(发布期灰度、故障摘除、流量突增)。
  4. 长尾隔离:长上下文请求(>64K)建议独立实例池(max-model-len 大、并发低),避免与短请求互挤——短请求池 max-model-len 可收到 32K 提升 4 倍密度。
  5. 验证:按设计点 80% 负载持续 30 分钟,显存/延迟/错误率无漂移即通过(容量验收 = 性能测试的一种)。

4. 部署形态选择

形态适用测试关注
单机多卡 TP单实例需放下大模型(27B BF16 双卡 TP=2)卡间 NVLink/PCIe 带宽 → TPOT 通信开销;单卡故障=整实例挂(无冗余)
多实例水平扩展 + LB吞吐扩展(生产推荐)实例间负载不均(KV 分布不均)、摘除后的流量再平衡时间、跨实例会话亲和
消费级卡集群(24G×N)预算受限/内网环境(无数据中心卡采购)无 ECC(长期运行位翻转→推理结果偶发异常,需周期健康检查)、无原生 FP8(选 INT4 路线)、显存碎片更敏感
推理云/托管弹性峰值冷启动(实例拉起 30s-数分钟)计入容量、网络 RTT 进 TTFT
⚠️ 消费级卡的测试红线:长时间满载(≥2h 高温高载)跑稳定性专项,观察显存 ECC 错误计数(nvidia-smi -q -d ECC)、算力降频(时钟频率曲线)与输出异常率——数据中心卡的验收标准不能直接套用。