算
选卡之前先把账算清楚,免得买回来发现 batch size 上不去。分享一个手算方法:
1. 权重显存:参数量 × 精度字节数。70B 模型 FP16 就是 70×2=140GB,INT8 量化直接减半,INT4 再减半。
2. KV Cache:2 × 层数 × hidden_dim × 精度 × seq_len × batch。长上下文场景下这一项经常超过权重本身,128k 上下文不做 GQA/MQA 根本扛不住。
3. 激活显存:和 batch、seq_len 正相关,推理时相对小,但大 batch 下不能忽略。
4. 碎片和框架开销:预留 10~15%,vLLM 的 PagedAttention 能省不少碎片,但峰值还是要留。
举例:70B、FP16、GQA、seq 8k、batch 8,权重大约 140G,KV 约几十 G,一张 80G 的卡肯定不够,两张起步是合理的。
你们做推理选型时,KV cache 的估算和实测一般差多少?
1. 权重显存:参数量 × 精度字节数。70B 模型 FP16 就是 70×2=140GB,INT8 量化直接减半,INT4 再减半。
2. KV Cache:2 × 层数 × hidden_dim × 精度 × seq_len × batch。长上下文场景下这一项经常超过权重本身,128k 上下文不做 GQA/MQA 根本扛不住。
3. 激活显存:和 batch、seq_len 正相关,推理时相对小,但大 batch 下不能忽略。
4. 碎片和框架开销:预留 10~15%,vLLM 的 PagedAttention 能省不少碎片,但峰值还是要留。
举例:70B、FP16、GQA、seq 8k、batch 8,权重大约 140G,KV 约几十 G,一张 80G 的卡肯定不够,两张起步是合理的。
你们做推理选型时,KV cache 的估算和实测一般差多少?
