估算 DeepSeek 本地部署的显存和内存,先算权重下限,再加 KV cache、运行缓冲、并发槽位和系统余量。只说“7B 需要多少显存”会漏掉量化、上下文和 GPU 卸载比例。下面给出可复算的方法,并用实际日志校正估算,而不是给所有电脑一个固定答案。
第一步:用参数量和位宽算权重下限
理论权重大小可用:

权重 GiB ≈ 参数量 × 每参数位数 ÷ 8 ÷ 1024³
| 参数量 | 4 bit 理论下限 | 8 bit 理论下限 | 16 bit 理论下限 |
|---|---|---|---|
| 1.5B | 约 0.70 GiB | 约 1.40 GiB | 约 2.79 GiB |
| 7B | 约 3.26 GiB | 约 6.52 GiB | 约 13.04 GiB |
| 14B | 约 6.52 GiB | 约 13.04 GiB | 约 26.08 GiB |
| 32B | 约 14.90 GiB | 约 29.80 GiB | 约 59.60 GiB |
这是数学下限,不是安装要求。实际 GGUF 会包含元数据,并可能让部分张量保留更高精度,所以最可靠的权重起点是文件实际大小。DeepSeek 模型卡确认蒸馏系列包含 1.5B、7B、14B、32B 等规格;不要把这些数字与完整 671B DeepSeek-R1 混用。
第二步:把 KV cache 和运行缓冲加回来
KV cache 随层数、KV 维度、上下文长度、缓存精度和并发槽位变化。模型架构不同,不能只用参数量推断。实践中按以下顺序做:
- 先用单并发和 2048 上下文启动;
- 从 llama.cpp 启动日志记录 model buffer、KV buffer 和 compute buffer;
- 把上下文升到 4096,再记录一次差值;
- 需要并发时,再逐个增加 slot,不要一次开到目标上限。
./build/bin/llama-server \
-m ~/models/deepseek.gguf \
-c 2048 -np 1 \
--host 127.0.0.1 --port 8080
日志中的模型、KV 和计算缓冲是当前组合的证据,比网上的固定表更接近你的真实占用。
第三步:区分全显存、混合卸载和纯内存
- 全显存:权重、KV cache 和缓冲尽量放入 GPU,显存必须留出驱动和桌面占用。
- 混合卸载:部分层在 GPU,其余在 CPU/内存;能降低显存门槛,但速度受总线和 CPU 影响。
- 纯 CPU:主要占系统内存,不需要独显显存;速度取决于 CPU、内存带宽、线程和模型。
使用 llama.cpp 时,从较低的 GPU layers 开始逐步增加,并观察日志:
./build/bin/llama-bench -m ~/models/deepseek.gguf -ngl 0 -p 128 -n 128
./build/bin/llama-bench -m ~/models/deepseek.gguf -ngl 20 -p 128 -n 128
./build/bin/llama-bench -m ~/models/deepseek.gguf -ngl 99 -p 128 -n 128
某一步内存不足,就退回上一个可重复运行的层数。不同模型的层数不同,99 表示尝试尽量卸载,不代表模型一定有 99 层。
4GB、6GB、8GB 显存如何做决定
不要先根据显存数字挑模型名称,先用下面的预算表:
- 记录空闲显存,而不是显卡标称总量;
- 用 GGUF 文件大小作为权重起点;
- 单并发、2048 上下文启动并记录 KV/compute buffer;
- 保留操作系统、驱动和峰值余量;
- 若放不下,依次降低卸载层数、上下文、模型规格或量化文件。
例如 7B 的 4 bit 权重理论下限约 3.26 GiB,但这不表示 4GB 显存就能稳定全量装下:实际文件、KV cache、缓冲和已有桌面占用都会继续消耗显存。6GB、8GB 也必须按同一流程实测。
用系统工具校正估算
# Linux 系统内存
free -h
# NVIDIA 显存和进程
nvidia-smi --query-compute-apps=pid,used_memory --format=csv
# 固定输入做一次 API 验收
curl http://127.0.0.1:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"messages":[{"role":"user","content":"只回答:预算测试通过"}],"temperature":0,"max_tokens":16}'
至少连续请求三次,确认没有第二次请求才出现的内存峰值。随后再增加真实业务长度。若发生 OOM,记录模型哈希、上下文、并发、卸载层数和错误日志,才能知道该改哪一个变量。
资料来源
- DeepSeek-R1 模型卡:完整模型和蒸馏模型参数规模,2026-10-01 核验。
- llama.cpp server 文档:上下文、并发和 GPU layers 参数,2026-10-01 核验。
- llama.cpp 量化文档:量化输入、Q4_K_M 与文件大小差异,2026-10-01 核验。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/32146.html