不同架构模型KV Cache大小计算

MHA模型

kv cache采用BF16存储时,每个token KV cache大小:

layer_num * 2 * head_num * head_dim *2

第一个2是key和value两个张量,第二个2是BF16的dtype大小。

DeepSeek V3.1架构MLA

DeepSeek V3.1架构模型包括DeepSeek V3.1, Kimi-k2全系列,如Kimi-k2.6, k2-thinking等。

kv cache采用BF16存储时,每个token KV cache大小:

layer_num*(512+64)*2

例如DeepSeek V3.1:

61*(512+64)*2 = 68.625 K

Kimi-k2.5/Kimi-k2.6与DeepSeek层数都是61层,区别是MOE部分,因此kv cache容量相同。

DeepSeek V3.2架构MLA + topk indexer

DeepSeek V3.2架构模型包括DeepSeek V3.1,GLM5系列,如GLM5.1.

DeepSeek V3.2与V3.1的区别,除了增加了一个2048 topk的indexer模块,还采用了FP8量化,但是不是所有部分都进行了FP8量化,这使得kv cache计算稍微复杂了一些。当然V32也可以采用BF16存储,只是对推理decode能达到的batch不利。

每个token KV cache大小: layer_num * (656 + (128+4)) = layer_num *788

解释:

FP8量化按128分块,每个分块需要一个FP32的缩放系数,所以每个128对应128xFP8+1xFP32。

head_dim是512+64,512的部分采用FP8,大小是512(FP8) + 512/128*4,而64的部分BF16不量化。indexer部分128采用FP8,大小为128+4。

所以总大小为:512(FP8) + 512/128*4 + 64(BF16)*2 + (128+4)

DeepSeek V3.2的FP8 kv cache大小为:

61*(656 + (128+4)) = 46.942 K

GLM5/GLM5.1与DeepSeek V3.2除了MOE,还有模型层数变大,为78层。因此kv cache大小为

78*788 = 61464 = 60.023 k。

to do: 3:1混合attention,包括MHA+linear, MLA+linear

相关推荐
Token炼金师13 天前
服务的骨架:网关、负载均衡、容灾、弹性与多机房 —— 推理系统架构五柱
人工智能·系统架构·llm·负载均衡·容灾·kv cache·prefix cache
Token炼金师17 天前
幂律的预言:Kaplan 与 Chinchilla 的算力账本 —— Scaling Laws 与最优配比
人工智能·深度学习·大模型架构·kv cache·scaling laws
Soonyang Zhang2 个月前
vllm分析(八)——deepseek v4 Attention (SWA + CSA + HCA)
vllm·推理框架·kv cache
Soonyang Zhang2 个月前
FlexKV 分析(三)——缓存的异步读写操作
推理框架·kv cache
zyw20022 个月前
KV Cache 详解
kv cache
AI精钢3 个月前
DeepSeek KV Cache 入门解读:98% 命中率背后的工程逻辑
大模型·llm推理·kv cache·deepseek·ai工程
阿杰学AI3 个月前
AI核心知识123—大语言模型之 KV Cache
人工智能·ai·语言模型·自然语言处理·aigc·kv cache·键值缓存
handsomestWei4 个月前
KV Cache与vLLM、SGLang推理框架
vllm·推理框架·kv cache·sglang
lin_dec+4 个月前
KV Cache:大模型推理加速的关键技术
nlp·transformer·vllm·大模型推理·kv cache