Day 9·1 KV 也量化——q8 KV 把缓存与 decode 带宽压到一半

发布时间:2026/11/10 13:48:44

Day 9·1 KV 也量化——q8 KV 把缓存与 decode 带宽压到一半 源码精读篇本文为源码/方法论精读无独立实测文中数字均引述仓库 docs 的板端实测记录一句话导读q8 KV把 K、V 从 f16 压到 INT8按每 token 每头定标量化逐字节算清缓存与 decode 扫描带宽省约一半的账并讲清 KV 为何敢量化、f32 为何只是调试探针。8-3 我们把 KV 的布局讲清楚了可一个残酷的事实还在KV 是模型里除权重外最肥的东西。8K 上下文 × 28 层 × 8 KV 头 × 128 维若用 f16 存 K、V 各一份光这一块就约 560MB——decode 每词还要把它们全扫一遍。今天把 KV 也量化成 q8看带宽怎么压到约一半。1. 知识点为什么 KV 敢量化权重能 Q4/Q8第 5 天KV 为什么不能量化 KV 的顾虑是“精度”但注意两个事实decode 只“读”KVK/V 一旦写入就只被乘与累加量化误差只影响当次注意力打分/加权不像权重误差会一层层传播叠加KV 每维都有独立的 scale引擎对每个 (token, head) 单独定标见下128 维共享一个 scale误差被锁在“一行的局部”不会累积。于是引擎默认把内存 KV 压成INT8q8每个元素从 2 字节f16降到 1 字节K、V 各一份直接砍半再配合 8-3 的“decode 扫全 KV”路径每词的 KV 读取带宽同比例减半另有更狠的--kv-q4模式K/V 再压一半约 1.65 倍更密Day 24 思路同源。2. 对应代码q8 KV 的存储与“一 token 一 scale”引擎在分配阶段默认走 q8vllm_safetensors.c 第 8208–8244 行/* Compressed KV cache: INT8 (near-lossless) by default; --kv-q4 switches * to the Q4_0 payload cache (~1.65x denser, decode dot without dequant). */ st-use_kv_q8 g_kv_q4 ? 0 : 1; ... st-k_cache_q8[l] alloc_kv_blocks_i8(n_blocks, bs, kv_dim, ...); st-k_scale[l] cf_calloc_guard((size_t)max_seq * nkv, sizeof(float), ...); /* 每 token 每头一个 scale */写入时按“每 token 每头”做 max-abs INT8 量化第 9466–9476 行if (st-use_kv_q8) { /* Per-token per-head max-abs INT8 K/V quantization (near-lossless). */ int8_t *kdst kv_row_i8(st-k_cache_q8[l], cl, kv_dim, st-kv_bs); int8_t *vdst kv_row_i8(st-v_cache_q8[l], cl, kv_dim, st-kv_bs); kv_quantize_per_head(kdst, vdst, st-k_scale[l] (size_t)cl * nkv, st-v_scale[l] (size_t)cl * nkv, st-k_buf, st-v_buf, nkv, hd); /* Also store in float cache */ /* fp32 镜像仍保留调试/对照用 */ memcpy(... k_buf, kv_dim * sizeof(float)); ... }逐字节算笔账2B 模型参数nkv8、hd128即每个 token 每层 K 与 V 各kv_dim 1024f16 KV K 1024×2B V 1024×2B 4096 B / token / 层 q8 KV K 1024×1B V 1024×1B 2048 B scale8 头 × (K、V 各一) × 4B 64 B 合计 2112 B / token / 层 → 4096 → 2112缓存字节与 decode 全量扫描带宽均 ×0.52省约 48%接近一半scale 的粒度是“每个 (token, 头)”——比“整层一个 scale”细得多这正是 q8 KV 敢自称 near-lossless 的原因9-3 会给实测误差。3. 改动后果关掉 q8 KV 试试--kv-q4 / 全 f32 的代价引擎把 KV 模式做成可切默认 q8near-lossless解码走 INT8 单遍9-2 主角--kv-q4切到 Q4_0 payload 缓存比 q8 再密 ~1.65 倍decode 点积免反量化直接吃 nibble全 f32 的 KV代码注释明确记为DEBUG 用途第 8210–8214 行曾用来排查 K 缓存损坏定位后恢复生产默认——f32 KV 不是给生产用的是调试探针。想亲眼看到“KV 模式影响带宽”连跑--bench-mixed之外的 decode 场景不现实无直接开关计时但可以换位验证——8-3 说过 decode 每词扫全 KVKV 从 4096B/token/层f16降到 2112Bq8后decode 的 KV 扫描带宽需求直接 ×0.52这正是基准报告里 8K decode 引擎能维持 ~137ms/词vs llama f16-KV 全扫 411ms的重要来源之一叠加 Day 10 的稀疏详见 9-2/10 天。4. 学员调试任务A 档板端动手跑引擎--kv-q4与默认模式各一次短生成同一 prompt记录输出 token 是否一致q4 KV 比 q8 更激进肉眼可看的场景值得留个心眼用 5-1 的解析脚本确认模型 KV 相关张量名结合本页算一遍“2B 8K 上下文 q8 KV 约多少 MB”8K×28 层×2112B≈?。B 档纯读源码读alloc_kv_blocks_i8/kv_quantize_per_head在 vllm_safetensors.c 内搜索画出“一个 token 的 K 行 → 1024 int8 8 个 float scale”的落盘/落存图。预期输出你能算清 f16→q8 KV 省多少字节、scale 为什么按“每 token 每头”、以及 f32 KV 为何只是调试探针。收尾本篇源码点名vllm_safetensors.cq8 KV 分配与开关第 8208–8244 行、per-head 量化写入第 9466–9476 行。开源仓库Kestrel-LLM (Gitee)源码可得双许可学习 / 学术研究免费下篇预告q8 KV 存好了decode 怎么读它才最省下一篇 9-2 进flash_attn_single_q_q8_neon——量化 Q、在线 rescale、一条路径扫完全部 KV。关键词q8 KV、KV cache、INT8 量化、带宽、decode上一篇Day 8·3 KV Cache按头存储vs按token存储内存布局下一篇Day 9·2 flash_attn_single_q_q8_neon——单 q 单遍扫全 KV
延伸阅读

更多相关文章

2026/11/10 17:05:12

提示工程测试规范体系:构建高效AI系统的关键

1. 提示工程测试规范体系概述在人工智能技术快速发展的今天,提示工程(Prompt Engineering)已成为构建高效AI系统的关键环节。作为架构师,我们需要建立一套完整的测试规范体系来确保提示设计的质量和稳定性。这套体系不仅关乎单个提…

2026/11/10 18:59:44

英雄联盟S赛晋级机制与战队历史突破解析

我无法基于该标题生成符合要求的博文内容。 原因如下: 标题“创历史!KC击败GX队史首次挺进S赛,为全球第十支进军的队伍”属于 电子竞技(Esports)领域 ,特指《英雄联盟》(League of Legends&…

2026/11/10 21:30:56

SSM+微信小程序火锅店点餐系统开发实战

简介:一套基于JavaSSMMySQL微信小程序开发的火锅店点餐系统毕业设计项目,面向需要完成毕设、课程设计或期末大作业的高校学生,以及希望快速搭建餐饮管理系统的开发者。系统集成了Spring、SpringMVC、MyBatis框架,采用微信小程序作…

2026/11/11 13:24:25

8级电工证过期了怎么复审?在哪考最靠谱

8级电工证过期了怎么复审?在哪考最靠谱 证书过期了不知道怎么复审延期,这种焦虑你肯定经历过。8级电工证作为电工行业的“硬通货”,一旦过期不仅影响工作,还可能带来法律风险。现在你最想知道的不是“为什么考”,而是“怎么复审”“在哪考”更省事。别…

2026/11/11 13:24:25

高压电工证错题怎么处理 通过率揭秘全在这了

高压电工证错题怎么处理 通过率揭秘全在这了 之前考的证在外省能不能转过来?这几乎是每个准备考高压电工证的人最关心的问题。尤其是像郑州的劳务班组负责人,常常需要带着团队跨省施工,证照的可迁移性直接关系到施工资格和项目合规性。今天我们就来聊聊…

2026/11/11 13:24:25

罗家田低压电工证过期了不知道怎么复审延期?别慌,含金量还在

罗家田低压电工证过期了不知道怎么复审延期?别慌,含金量还在 证书过期了不知道怎么复审延期,这事儿你不是一个人。不少在漯河从事水利工程的电工师傅,手上拿着罗家田低压电工证,但因为工作忙、不了解政策,导致证书一不小心就过了有效期,影响了工作安排…

2026/11/11 13:24:25

蓝田低压电工证千万别踩坑,实操考试心里没底怕挂科怎么破?

蓝田低压电工证千万别踩坑,实操考试心里没底怕挂科怎么破? 实操考试心里没底怕挂科?蓝田低压电工证千万别踩坑,很多人因为没准备充分或者选择错误的培训机构,最终耽误了考试和工作安排。尤其对于驻马店的中小施工企业负责人来说,低压电工证不仅是上岗的…

2026/11/11 13:19:24

华东进网电工证含金量高不高?实操考试到底考什么?

华东进网电工证含金量高不高?实操考试到底考什么? 找电工相关工作,手里没有华东进网电工证,根本进不了门。现在各行各业对特种作业人员的要求越来越高,尤其是像电工这种高风险工种, 华东进网电工证…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/11 0:02:26

考低压电工证通过率考试真题与备考技巧

低压电工证通过率高不高?学历不高也能考,值不值得考? 你是不是总听说电工证能帮你找高薪工作,但又担心自己学历不够,考不上?其实,低压电工证考试门槛并没有你想象中那么高,关键是方法对不对。这篇文章就告诉你, 考低压电工证通过率到底有多高 ,…

2026/11/11 0:02:26

低压电工证学时千万别踩坑,濮阳毕业生怎么避坑报名

低压电工证学时千万别踩坑,濮阳毕业生怎么避坑报名 你是不是也和我一样,刚毕业就听说低压电工证学时必须达标才能上岗?可一打听,发现报名机构五花八门,价格参差不齐, 不知道去哪报名怕被中介坑…

2026/11/10 20:08:15

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/10 10:29:37

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑