想在本地跑大模型,第一道门槛不是算力,是显存。一张 24GB 显存的卡,跑 7B 全精度模型都不轻松,更别说 27B、70B。而 llama.cpp 的核心价值,就是让「显存不够」这件事变得可以商量。
为什么是 llama.cpp
它把模型权重切成小块,可以在 CPU 内存、GPU 显存之间动态调度。更关键的是它支持量化——把原本 16 位浮点的权重压到 8 位、5 位、4 位,模型体积和显存占用直接砍到几分之一,代价是精度略有损失。
这也是为什么一台 16GB 内存的普通电脑,甚至一台破解的游戏主机,都能跑起来。
量化档位怎么选
常见的 GGUF 量化格式有一串后缀,记住这几个就够用:
- Q8_0:接近无损,体积最大,显存紧张时别选它
- Q5_K_M:质量与体积的平衡点,8GB 显存跑 7B 首选
- Q4_K_M:最常用的档位,速度和质量的折中,多数场景推荐
- Q3_K_M / Q2_K:能省内存,但中文场景下明显变傻,不推荐
经验法则:显存够就往上加档,不够就降档,但别低于 Q4。低于 4-bit 之后,模型在逻辑推理和长文本上会明显退化。
GPU 层数怎么调
llama.cpp 有个关键参数 --n-gpu-layers(简称 -ngl),决定多少层放显存。设得越高越快,但超了显存就崩。
调法是:从 0 开始往上加,每加 4 层观察一次显存占用,加到接近满载为止。找不到最优值时,宁可少放两层——留给 KV 缓存的空间比多跑两层更重要。
上下文长度别贪
很多人一上来就设 32K 上下文,结果发现模型边跑边卡。原因是 KV 缓存的显存占用随上下文线性增长,32K 上下文的缓存有时候比模型本身还大。
实用建议:日常对话 4K 到 8K 足够,长文档处理再上 16K。真的需要超长上下文时,考虑开启 kv 缓存量化,能省一半内存。
速度预期
参考几个真实数据:
- RTX 3060 12GB 跑 7B Q4:约 35-45 token/s
- M2 Pro 32GB 跑 14B Q4:约 20-25 token/s
- 纯 CPU(16 核)跑 7B Q4:约 8-12 token/s
低于 5 token/s 就会明显感觉到卡顿,高于 20 token/s 基本可以当作流畅对话使用。
最后一句
本地跑模型的意义不在于「替代云 API」,而在于数据不出门。处理敏感文档、做私有知识库、离线环境使用,这三点是云端永远给不了的。














![囧次元[樱花动漫]去广告纯净版 - 浩宇工作室](https://umwx.oss-cn-shenzhen.aliyuncs.com/wp-content/uploads/2023/01/7ef194ec378b-1024x768.jpg)

![[电脑软件]抖音采集/下载工具TikTokDownloader 5.3 - 浩宇工作室](https://umwx.oss-cn-shenzhen.aliyuncs.com/wp-content/uploads/2024/05/20240510151922787-234818cqqjoo83p5s2us3e-1024x516.png)







暂无评论内容