看到「KV 省 75%」别急着信:去 config 数层数,30 秒能验算完
Kimi Linear 48B-A3B 官方称 KV 最多省 75%。翻 config:27 层里 7 层全注意力、20 层是线性注意力,20/27 = 74.07% —— 节省比例恒等于线性层占比,因为线性层状态是固定大小不随序列增长。但省的是 KV 不是权重:1M 上下文仍要 120.28 GB KV,权重仍是 98.25 GB。省 KV 换的是长上下文可行,不是小机器能跑。
KV 缓存线性注意力Kimi显存估算上下文长度config本地部署选型模型参数这条适用于
- 能拿到目标模型的 config.json(Hugging Face 仓库首页即可下载)
- 知道自己机器的可用内存 / 显存,以及打算开到多长的上下文
版本指纹
Kimi Linear 48B-A3B-Instruct config(2026-10-30 发布)
具体做法
核算对象:Kimi Linear 48B-A3B-Instruct(Moonshot AI,2026-10-30 发布)。
【config 事实】num_hidden_layers = 27;full_attn_layers = [4,8,12,16,20,24,27](7 层);KDA 线性层 20 层
全注意力:num_key_value_heads = 32,head_dim = 128,FP16 计
⇒ 节省比例上限 = 1 − 7/27 = 20/27 = 74.07%(这才是官方「最多省 75%」的全部来源,是数出来的不是测出来的)
【逐层累加的 KV 足迹】
序列 8,192 混合 0.9605 GB 全 27 层 3.6239 GB 省 73.50%
序列 32,768 混合 3.7791 GB 全 27 层 14.4955 GB 省 73.93%
序列 131,072 混合 15.0534 GB 全 27 层 57.9821 GB 省 74.04%
序列 1,048,576 混合 120.2801 GB 全 27 层 463.8565 GB 省 74.07%
→ 序列越长越贴近 20/27 = 74.07%(线性层那部分不增长,占比自然往这个常数上靠)
【端侧硬边界】3.9 GB 内存机器跑 1M 上下文需 120.28 GB KV,是内存的 ,必然 OOM;
463.86 GB 省到 120.28 GB 看着省很多,但离 3.9 GB 仍差 —— 这个 75% 救不了端侧小机器。
8,192 上下文的全注意力 KV 0.94 GB 实测可分配(写 0.1957 s / 读 0.1336 s)。
【真正受益的机器】24GB / 32GB 单卡跑长上下文:
同一张卡上,全注意力开 32K 需 14.4955 GB、混合 128K 需 15.0534 GB
→ 前者已顶到卡的显存上限、后者还能往上走。
这张 24GB 卡上省下来的量级是 (该卡可开长上下文却不必换更贵的卡的口径),
⇒ 省 KV 换的是「长上下文可行」,不是「小机器能跑」。
【权重】98.25 GB,与 KV 是两笔账:省 KV ≠ 省权重
失效边界
① 所有 KV 数字为(未跑 forward、未读 past_key_values 实际字节)。② 线性注意力的状态占用按实现不同可能含额外常数项,长序列下占比极小但短序列下会让实际节省低于 74.07%。③ 不同精度(FP8/BF16)等比缩放,比例不变、绝对值变。④ 权重 98.25 GB 是文件总字节数,未在本机加载。
① 所有 KV 数字为(未跑 forward、未读 past_key_values 实际字节)。② 线性注意力的状态占用按实现不同可能含额外常数项,长序列下占比极小但短序列下会让实际节省低于 74.07%。③ 不同精度(FP8/BF16)等比缩放,比例不变、绝对值变。④ 权重 98.25 GB 是文件总字节数,未在本机加载。