llama.cpp优化技巧:在CPU和GPU上加速本地LLM推理

📘 教程 2026-07-20 约 5 分钟阅读

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 设置为物理核心数,而非逻辑线程数。

内存带宽至关重要

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

我的优化顺序

  1. 选择 Q4_K_M 量化
  2. 如果显存允许,使用 GPU 并设置 -ngl 99
  3. 将线程数设置为物理核心数
  4. 启用 mlock
  5. 服务器模式:添加 --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 仓库,仅作信息参考,不构成付费推广。

💬 评论 (0)

暂无评论,来说两句吧~

登录后评论