用 llama.cpp 把 13B 模型塞进 8GB 显存:GGUF 量化部署实战(含完整命令)
用 llama.cpp 把 13B 模型塞进 8GB 显存:GGUF 量化部署实战(含完整命令)
很多人想在本机跑大模型,但一看到"13B 模型需要 26GB 显存"就劝退了。其实只要做一步量化,同样的效果完全能在消费级显卡甚至纯 CPU 上跑起来。本文用 llama.cpp 走一遍从源码编译、模型转换、量化到本地推理服务的全流程,命令可直接复制,踩过的坑也都标了出来。
一、为什么一定要量化
FP16 的 13B 模型权重约 26GB,光加载就超出绝大多数笔记本显卡的显存。量化通过把权重从 16 位浮点压缩到 4~5 位整数,体积和显存占用直接砍掉 3~4 倍,推理速度反而更快(显存带宽压力小了)。代价是极小的精度损失,对大部分问答、摘要任务几乎无感。
二、编译 llama.cpp
官方已全面迁移到 CMake 构建,比老的 Makefile 更稳:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
cmake -B build -DGGML_CUDA=ON # 有 NVIDIA 显卡加这个,纯 CPU 去掉
cmake --build build --config Release -j $(nproc)
编译产物在 build/bin/,关键有两个:llama-quantize(量化工具)和 llama-server(推理服务)。踩坑提醒:Windows 上务必用 Visual Studio 的"Developer Command Prompt"执行,否则找不到 C++ 工具链。
三、HuggingFace 模型转 GGUF 并量化
先装转换依赖,再把原始模型转成 GGUF 中间格式,最后量化:
pip install -r requirements.txt
# 1) 转 GGUF(未量化)
python convert_hf_to_gguf.py ../Qwen2.5-13B-Instruct --outfile qwen13b-f16.gguf
# 2) 量化到 Q4_K_M(体积与质量的甜点)
./build/bin/llama-quantize qwen13b-f16.gguf qwen13b-q4km.gguf Q4_K_M
常用档位:Q4_K_M(~7.5GB,首选)、Q5_K_M(~9.2GB,质量更好)、Q8_0(~14GB,接近无损)。8GB 显存选 Q4_K_M 刚好。
四、启动本地推理服务
一行命令起 OpenAI 兼容服务,方便接 LangChain、Open-WebUI 等生态:
./build/bin/llama-server -m qwen13b-q4km.gguf \
-ngl 33 -c 8192 --host 0.0.0.0 --port 8080
-ngl 33 表示把 33 层卸载到 GPU;-c 8192 是上下文长度。起来后访问 http://localhost:8080 有自带对话界面。
五、用 Python 调用
服务兼容 OpenAI 接口,改个 base_url 就能复用现有代码:
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8080/v1", api_key="sk-noauth")
resp = client.chat.completions.create(
model="qwen13b-q4km",
messages=[{"role": "user", "content": "用一句话解释量化"}],
)
print(resp.choices[0].message.content)
总结
量化不是"将就",而是把大模型真正用起来的第一步。本文的五步链路(编译→转换→量化→服务→调用)覆盖了 90% 的本地部署需求。下一步可以接 RAG 让模型读你的私有文档,我们下篇聊。
更多推荐



所有评论(0)