llama.cpp优化技巧:在CPU和GPU上加速本地LLM推理
llama.cpp是运行本地LLM最流行的C++实现。这些优化技巧可以让推理速度翻倍。
💡 你将学到
llama.cpp是运行本地LLM最流行的C++实现。这些优化技巧可以让推理速度翻倍。
📜 目录
llama.cpp 优化技巧:加速 CPU 和 GPU 上的本地 LLM 推理
llama.cpp(GitHub 星标 76K)是在本地运行 LLM 的黄金标准。以下是一些真正有效的优化技巧。
最重要的优化:量化
| 量化 | 大小(7B) | 速度 | 质量损失 |
|---|---|---|---|
| FP16 | 14GB | 1x | 0% |
| Q8_0 | 7.5GB | 1.2x | <1% |
| Q5_K_M | 5.2GB | 1.5x | ~2% |
| Q4_K_M | 4.2GB | 2x | ~3% |
| Q2_K | 2.7GB | 3x | ~15% |
Q4_K_M 是最佳平衡点。 体积缩小 75%,速度快 2 倍,质量损失几乎不可察觉。
CPU 优化
线程数
# 自动检测或设置为物理核心数
./llama-cli -m model.q4_k_m.gguf -p "Hello" -t 0
将 -t 设置为物理核心数,而非逻辑线程数。
内存带宽至关重要
- DDR4-3200:~25 GB/s → 7B Q4 约 3 tok/s
- DDR5-6000:~50 GB/s → 约 6 tok/s
- Apple M1/M2:~100 GB/s → 约 12 tok/s
GPU 加速
NVIDIA CUDA
cmake -B build -DLLAMA_CUDA=ON
cmake --build build --config Release
./llama-cli -m model.q4_k_m.gguf -ngl 99
-ngl 99 将所有层放到 GPU 上。如需部分卸载:-ngl 24。
AMD ROCm / Apple Metal / Intel
# AMD
cmake -B build -DLLAMA_HIPBLAS=ON
# Apple
cmake -B build -DLLAMA_METAL=ON
高级参数
| 参数 | 作用 |
|---|---|
| --mlock | 将模型锁定在 RAM 中,防止交换 |
| --flash-attn | 长上下文场景下的 Flash Attention |
| --cont-batching | 连续批处理(服务器模式) |
服务器模式
./llama-server -m model.q4_k_m.gguf --host 0.0.0.0 --port 8080 -ngl 99 --parallel 4 --cont-batching
API 地址:http://localhost:8080/v1/chat/completions(兼容 OpenAI)。
实际基准测试
| 硬件 | 模型 | Tokens/秒 |
|---|---|---|
| MacBook Air M1(8GB) | Llama 3.1 8B Q4 | 12 t/s |
| MacBook Pro M3 Max(64GB) | Llama 3.1 70B Q4 | 15 t/s |
| RTX 4090(24GB) | Llama 3.1 8B Q4 | 85 t/s |
| 仅 CPU(Ryzen 7950X) | Qwen3 7B Q4 | 9 t/s |
我的优化顺序
- 选择 Q4_K_M 量化
- 如果显存允许,使用 GPU 并设置
-ngl 99 - 将线程数设置为物理核心数
- 启用 mlock
- 服务器模式:添加
--cont-batching --parallel 4
常见问题
问:llama.cpp 比 Ollama 快吗? 答:速度相同——Ollama 底层使用的就是 llama.cpp。
问:可以运行 HuggingFace 上的 GGUF 模型吗? 答:可以。
问:运行 70B Q4 的最低内存要求? 答:约 42GB 模型 + 8GB 上下文 = 最低 50GB。
相关文章
❓ 常见问题
问:llama.cpp 比 Ollama 快吗?
答:速度相同——Ollama 底层使用的就是 llama.cpp。
问:运行 70B Q4 的最低内存要求?
答:约 42GB 模型 + 8GB 上下文 = 最低 50GB。
相关文章
2026-08-11
投机解码2026:草稿模型如何让LLM快2-3倍
2026-08-14
Ollama 模型清单 2026:30+ 个模型附真实体积详解
2026-07-16
AI Agent工具描述优化:写得好,Agent一次选中正确工具
本站文章由编辑人工撰写,收录的工具均经过实测或公开资料核验。文中链接指向工具官网或 GitHub 仓库,仅作信息参考,不构成付费推广。
