中等kv-cacheKV Cache显存面试高频
KV Cache 的显存占用如何估算?
10 0 0
参考答案
KV Cache 显存大小的估算公式: `显存 ≈ 2 × batch_size × seq_len × num_layers × num_kv_heads × head_dim × dtype_bytes` 其中系数 2 表示 K 和 V 各一份。 **举例**:Llama-3-70B(80 层,8 个 KV head(GQA),head_dim=128,FP16 即 2 字节),单条序列长度 4K: `2 × 1 × 4096 × 80 × 8 × 128 × 2 ≈ 1.34 GB`。若是 MHA(64 个 KV head)则约 10.7 GB。序列到 128K 时线性放大约 32 倍。 **关键结论**: - 占用与序列长度、层数、KV head 数、batch 成正比。 - GQA/MQA 通过减少 KV head 数直接线性降低 KV Cache(这是它们的主要动机)。 - 长上下文场景 KV Cache 会超过模型权重本身,成为显存主要消耗者,因此需要 KV 量化(如 KIVI 的 K2bit/V4bit)或分页管理。
讨论区(0)
还没有评论,来做第一个发言的人吧