← 返回算法与AI总览 算法与AI · 知识点深化 · 大模型推理优化:KV Cache、量化与投机解码
知识点深化 · 推理优化

大模型推理优化:KV Cache、量化与投机解码

大模型聪明,但又慢又贵。推理优化就是让它又快又省显存。这一页讲透四件套:KV Cache 免重算、GPTQ/AWQ 量化压显存、连续批处理填满 GPU、投机解码小模型起草大模型验收。

① 小白第一课怎么学(4 步走,约 60 分钟)

大模型很聪明,但又慢又贵。推理优化就是让它又快又省显存:

1建立直觉(10 分钟)
读②③:理解生成是"一个词一个词往外蹦",每步都要算。
2记四件套(15 分钟)
读④:KV Cache、量化、连续批处理、投机解码。
3跟例题(20 分钟)
精读⑤,看每个优化解决什么瓶颈。
4刷题纠错(15 分钟)
做⑦⑩,错题回⑥。
本课小目标学完你要能:① 说清 KV Cache 在缓存什么;② 区分 GPTQ/AWQ 这类量化;③ 解释投机解码为什么能加速。

② 一图看懂:推理加速四件套

推理优化 KV Cache 缓存历史键值免重算 量化 GPTQ/AWQ 权重 16bit→4bit 连续批处理 多请求拼满 GPU 投机解码 小模型起草大模型验收 目标:更快/更省显存 降本提吞吐 易错:量化太狠掉点 4bit 太差要回退
读法:四件套分别打四个瓶颈——重复计算、显存占用、GPU 闲置、串行生成慢。

③ 本质直觉:为什么生成一个字都不便宜

大模型生成是自回归的:一个字一个字往外蹦,每生成一个新字,都要把前面整段再过一遍网络。

问题来了:生成第 100 个字时,前面 99 个的注意力计算其实上一步算过了,何必重算?

KV Cache:把历史每一层的 Key、Value 缓存下来,新字只需算自己那一份,再和缓存拼一起。这是最基础、必开的优化。

显存瓶颈:7B 模型 FP16 就要约 14GB。量化把权重从 16bit 压到 4~8bit,显存砍到几分之一,还能跑更大模型。

自回归:逐字生成 我 爱 学 ? 每出一个新字都要跑一遍网络 KV Cache 把历史 K/V 存起来免重算
投机解码直觉用一个快的小模型先"草拟"几个字,再让大模型一次并行验收。对了就直接采纳,错了就回退。等于让大模型少跑几趟。

④ 完整体系:四件套对照

技术解决瓶颈一句话
KV Cache重复计算历史缓存历史 K/V,新字只算自己
量化 GPTQ/AWQ显存占用大权重 16bit→4/8bit,精度损失小
连续批处理GPU 等空闲新请求动态插进批次,不闲着
投机解码逐字串行慢小模型起草,大模型并行验收

量化常见方案

方案特点
GPTQ训练后量化,逐层压缩到 4bit
AWQ保留重要权重的精度,更稳
GGUFCPU/消费级 GPU 上 llama.cpp 常用
显存粗算 权重显存 ≈ 参数量 × 每参数字节数(FP16=2 字节,INT4≈0.5 字节)
7B × 2 = 14GB(FP16);7B × 0.5 ≈ 3.5GB(INT4)
量化不是越狠越好4bit 虽省,但任务复杂时可能掉点。关键场景留 8bit 或 FP16,普通问答 4bit 够用。

⑤ 用法场景与典型例题

例1(KV Cache)为什么它是推理标配?
避免每步重算全部历史。
① 自回归每生成一字都要注意力。
② 缓存历史 K/V 后,只需算新 token。
答案:大幅减少重复计算,几乎无副作用,必开。
例2(量化算显存)7B 模型 FP16 约占多少显存?
参数量×2 字节。
① 7B=70 亿参数。
② 70 亿×2 字节=140 亿字节≈14GB。
答案:约 14GB,4bit 后约 3.5GB。
例3(批处理)为什么单请求时 GPU 利用率低?
GPU 并行能力没用满。
① 一个请求一次算一点,GPU 大量计算单元闲置。
② 把多个请求拼成一批一起算,吞吐大涨。
答案:批处理填满 GPU,提高整体并发能力。
投机解码代价小模型要够快、且起草内容常被大模型认可才划算;偏差大时反而浪费。

⑥ 高频错误诊断(4 条)

错误 1:盲目追求 4bit 最低量化量化太狠,复杂推理/数学任务准确率明显下降。按任务选精度。
错误 2:只看显存不算 KV Cache 增长上下文越长,KV Cache 占的显存越大,长文本场景要预留。
错误 3:以为加速只靠模型显存够、用 KV Cache、合理批处理,往往比换大模型更有效。
错误 4:混淆训练优化和推理优化梯度下降/混合精度是训练侧;KV Cache/量化/批处理是推理侧,别张冠李戴。

⑦ 考点真题演练(4 题)

考点分布

考法出题形式应对
KV Cache问缓存什么、为何快历史 K/V 免重算
量化GPTQ/AWQ 作用、显存算权重压到低比特
投机解码问加速原理小模型起草大模型验收

真题基础1. KV Cache 主要缓存的是?

真题中档2. GPTQ/AWQ 这类量化的主要作用是?

真题中档3. 投机解码(Speculative Decoding)的思路是?

真题拔高4. 关于量化,正确的是?

⑧ 必背知识点卡

自回归:逐字生成,每步跑一遍网络 慢的根源
KV Cache:缓存历史 K/V,新字只算自己 必开
量化:GPTQ/AWQ/GGUF,权重 16bit→4/8bit 省显存
显存:参数量×字节数,7B FP16≈14GB 粗算公式
批处理:多请求拼一批,填满 GPU 提吞吐
投机解码:小模型起草、大模型并行验收 加速
铁律:显存 vs 精度要权衡,别盲目压到最低比特 按需选

⑨ 应用输出:本地跑一个 7B 模型的配置决策

实战场景:一张 16GB 显卡想跑 7B 模型
① 算显存:FP16 要 14GB,看似够,但还要留系统和 KV Cache 余量。
② 选量化:选 4bit(如 GGUF Q4),权重约 3.5GB,留出充足空间给长上下文。
③ 开 KV Cache:推理框架默认开启,长文本不重算。
④ 服务器部署:多用户时上连续批处理提高并发。
⑤ 验收:用真实问答测准确率,若复杂题掉点就换回 8bit。
口述"生成是逐字的,KV Cache 免重算;量化压显存;批处理填满 GPU;投机解码靠小模型起草大模型验收;精度和省显存要权衡。"

⑩ 分层练习 16 题(基础 6 + 中档 5 + 拔高 5)

▍基础 6 题

基础1大模型生成新内容是一次出全句吗?
不是,逐字自回归生成。
基础2KV Cache 缓存什么?
历史 token 的 Key/Value。
基础3量化主要省什么?
显存。
基础4GPTQ、AWQ 属于什么?
权重量化方法。
基础5连续批处理提升什么?
吞吐/并发,填满 GPU。
基础6投机解码靠谁起草?
快的小模型起草,大模型验收。

▍中档 5 题

中档7FP16 的 7B 模型权重大致多少显存?
7B×2 字节 ≈ 14GB。
中档8为什么量化到 4bit 显存骤降?
每个参数从 2 字节降到约 0.5 字节,权重存储减到约 1/4。
中档9上下文越长什么会变大?
KV Cache 显存占用随之增大。
中档10投机解码中验收不通过怎么办?
回退到不一致处,由大模型重新生成,保证不牺牲正确性。
中档11推理优化和训练优化区别?
推理是上线后跑起来的加速;训练是训练阶段的方法。

▍拔高 5 题

拔高12AWQ 相比朴素量化好在哪?
识别并保留重要权重的精度,减少精度损失。
拔高13连续批处理为什么比静态批好?
请求长短不一,动态插入新请求,不让 GPU 等整批凑齐。
拔高14为什么 4bit 在复杂数学题可能掉点?
低比特带来精度损失,对数值敏感任务影响更明显。
拔高15TTFT 和 TPT 分别指什么?
首字延迟(Time To First Token)和每 token 生成耗时;优化目标不同。
拔高16KV Cache 为什么会成为长文本瓶颈?
随上下文线性增长,长 prompt 时显存占比甚至超过权重本身。

⑪ 记忆口诀 + 7 天复习计划

三句口诀 ① 生成逐字跑,KV Cache 把历史键值缓存免重算。
② 量化把权重压到低比特省显存,批处理填满 GPU。
③ 投机解码小模型起草大模型验收;省显存别牺牲到任务精度。
天任务自检
第 1 天读②③④,画四件套图说清各打哪个瓶颈
第 2 天背知识点卡 + 基础 1-6基础全对
第 3 天做中档 7-11,手算显存会算 7B 显存
第 4 天做拔高 12-16懂 TTFT/TPT
第 5 天做⑦真题 4 题限时每题 2 分钟
第 6-7 天合上书口述四件套不看资料全说对

← 返回算法与AI总览