← 关联知识节点:本地部署与量化:把模型跑在自己机器上
交互工具 · 算账

量化显存与并发账

本地部署的显存账只有一条公式:显存 ≈ 量化后权重 + 键值缓存。权重是入场券,缓存才是并发的大头——14 GB 的 7B 权重先吃掉半张卡,100 路并发 4K 上下文的缓存却要 22 GiB。拧参数量、量化档位、上下文与并发,再挑一张卡,看这台机器到底能扛几路并发。

纯前端算真实公式:权重显存 = 参数量 × 位宽字节、KV 缓存 = 并发 × 上下文 × 56 KiB、可扛并发 =(卡显存 − 权重)÷ 单路缓存,规划值打八折,与知识库《本地部署与量化》显存估算一节逐字对齐;量化掉点无公式,只作各档位静态注记,零 API、零延迟。

本地部署的显存账只有一条公式:显存 ≈ 量化后权重 + 键值缓存。权重是入场券,缓存才是并发的大头——拧参数量与量化位宽算权重,拧上下文与并发算缓存,最后挑一张卡,看它到底能扛几路并发。

权重账 · 拧参数量与量化位宽

权重显存
3.5 GB
7B × 4 位(0.5 字节/参数)
FP16 对照
14 GB
不量化的天花板(7B 即 14 GB)
压缩比
×4
相对 FP16 省下 75%
参数量7B

对数档位 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。

缓存账 · 拧上下文与并发

单路缓存
0.22 GiB
4K × 56 KiB/token
KV 缓存
21.9 GiB
100 路 × 单路(100 路 4K ≈ 22)
缓存 ÷ 权重
6.7 倍
缓存已是大头
上下文长度4K

对数档位 1K → 32K——上下文是缓存的乘数

并发数100 路

文章算例 100 路——能扛几路由下面的汇总卡反推

KV 缓存 = 并发 × 上下文 × 56 KiB(Qwen2-7B 口径)

键值缓存不跟权重一起量化:权重压到 4-bit,并发下的缓存开销仍是精度的,两笔账分开算。上下文长度是缓存的乘数——平均上下文从 4K 涨到 32K,同样显存能扛的并发直接除以八。

100 路 × 4K 的缓存 21.9 GiB,是权重(3.26 GiB)的 6.7 倍——文章口径「缓存是权重的好几倍」,这就是「权重塞得下、并发上不去」的根因:扩容先算缓存。

汇总 · 挑一张卡,反推可扛并发

总占用
25.1 GiB
权重 + 缓存(当前 100 路)
卡容量
74.5 GiB
80 GB 标称(十进制)
判定
装得下
余 49.4 GiB

显存占用 vs 卡容量

7B · 4 位 · 100 路 × 4K
80 GB 卡 · 74.5 GiB
权重 3.26 GiB KV 缓存 21.9 GiB 卡容量 74.5 GiB

读法与文章图 2 同款:条长 = 显存占用——量化只压青色那段(权重),琥珀那段(缓存)要靠限上下文与限并发来管。

理论可扛并发
325 路
(74.5 − 权重)÷ 单路 0.22 GiB
规划可扛并发
260 路
理论 × 0.8 打八折(文章口径)
文章口径,点一下复现

装得下:总占用 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 路上下、规划二百五十路上下)。