量化显存与并发账
本地部署的显存账只有一条公式:显存 ≈ 量化后权重 + 键值缓存。权重是入场券,缓存才是并发的大头——14 GB 的 7B 权重先吃掉半张卡,100 路并发 4K 上下文的缓存却要 22 GiB。拧参数量、量化档位、上下文与并发,再挑一张卡,看这台机器到底能扛几路并发。
纯前端算真实公式:权重显存 = 参数量 × 位宽字节、KV 缓存 = 并发 × 上下文 × 56 KiB、可扛并发 =(卡显存 − 权重)÷ 单路缓存,规划值打八折,与知识库《本地部署与量化》显存估算一节逐字对齐;量化掉点无公式,只作各档位静态注记,零 API、零延迟。
权重账 · 拧参数量与量化位宽
对数档位 0.5B → 70B——7B 是文章算例锚点
权重显存 = 参数量 × 位宽字节(7B × FP16 = 14 GB)
4-bit 主流档:7B 权重 14 GB → 3.5 GB(文章口径「约 4 GB」即 3.5 的毛估),压缩 4 倍——实盘副本会略大(7B AWQ 约 5.6 GB),但量级不变。
掉点注记(静态口径,不算假账):主流档(静态注记,无公式):QLoRA 口径 NF4 四比特追平 16-bit 全量微调,推理侧大多数任务的影响在小数点后;但模型越小、任务越精细(数学末位、代码精确性、长链推理)越容易露馅。实盘副本比纯公式略大——7B 实盘 AWQ 约 5.6 GB。格式三派跟着引擎走:vLLM 优先 GPTQ/AWQ,Ollama 与 Mac 吃 GGUF。
缓存账 · 拧上下文与并发
对数档位 1K → 32K——上下文是缓存的乘数
文章算例 100 路——能扛几路由下面的汇总卡反推
KV 缓存 = 并发 × 上下文 × 56 KiB(Qwen2-7B 口径)
键值缓存不跟权重一起量化:权重压到 4-bit,并发下的缓存开销仍是精度的,两笔账分开算。上下文长度是缓存的乘数——平均上下文从 4K 涨到 32K,同样显存能扛的并发直接除以八。
100 路 × 4K 的缓存 21.9 GiB,是权重(3.26 GiB)的 6.7 倍——文章口径「缓存是权重的好几倍」,这就是「权重塞得下、并发上不去」的根因:扩容先算缓存。
汇总 · 挑一张卡,反推可扛并发
显存占用 vs 卡容量
7B · 4 位 · 100 路 × 4K读法与文章图 2 同款:条长 = 显存占用——量化只压青色那段(权重),琥珀那段(缓存)要靠限上下文与限并发来管。
装得下:总占用 25.1 GiB(权重 3.26 + 缓存 21.9),80 GB 卡还剩 49.4 GiB 余量——余量就是并发的弹药,见下方反推。
反推(文章四步):80 GB 卡(74.5 GiB)扣掉权重 3.26 GiB,剩 71.2 GiB 给缓存;单路 4K = 0.22 GiB;除出来理论 325 路,打八折留突发余量,规划 260 路(文章算例 80 GB × 7B 4-bit × 4K:理论 320 路上下、规划二百五十路上下)。