查看: 4|回复: 0

AI 聊天越聊越卡?聊聊 KV Cache 这笔账

[复制链接]
发表于 昨天 06:42 | 显示全部楼层 |阅读模式
🧠 同一个模型,第一句话秒回,聊到第三十轮就开始一个字一个字往外蹦——不是你网速的问题,是显存在还债。
💡大模型没有记忆,它每回答一个字,都要把前面所有字重新“看”一遍。


🔍一、Attention 天生是“回头党”
生成第 N 个 token 时,模型要拿当前 token 去和前面 N-1 个 token 算注意力。不做缓存,第 N 步就要重算 N 次,总量是 O(N²)——上下文翻倍,算力翻四倍。

✅二、KV Cache 就是记笔记
既然前面那些 token 的 Key/Value 算过就不会变,那就存下来。
  • 只存 K 和 V:Q 是当前 token 自己的,用完就扔,没必要留;
  • 显存换时间:每层、每个头、每个 token 都要存一份,7B 模型聊到 8K 上下文,缓存能吃到几个 GB;
  • 省的是平方,花的是线性:把 O(N²) 的重算压成 O(N) 的读取。


⚠️三、代价也很真实
  • ❌ 并发上不去:一条对话一份缓存,显存先被占满,batch 就开不大;
  • ✔ 于是有了 PagedAttention(分页管理,像操作系统管内存)、GQA/MQA(多个头共享 K/V)、KV 量化(FP16 压到 INT8);
  • 🔒 长上下文之所以贵,本质是这本“笔记”越来越厚。


🎯四、一句话
训练拼算力,推理拼显存——KV Cache 是推理成本的主战场。

💬互动一下:你部署本地大模型时,是被上下文长度卡住,还是被并发数卡住?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注公众号
免责声明|Archiver|手机版|小黑屋|半导贴吧

相关侵权、举报、投诉及建议等,请发 E-mail:1152577621@qq.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|渝ICP备2024033348号|渝ICP备2024033348号-1

在本版发帖
关注公众号
QQ客服返回顶部