title: “在 Linux 上用 llama.cpp 本地跑 Qwen3 和 MiniCPM5-1B(2026 指南)”
date: 2026-07-14
categories: [“linux-software”]
tags: [“llama.cpp”, “qwen3”, “minicpm5”, “本地-llm”, “ai”, “ollama”, “ubuntu”, “fedora”, “arch”, “gpu-推理”]
在 Linux 上用 llama.cpp 本地跑 Qwen3 和 MiniCPM5-1B(2026 指南)
2026 年,在自己的 Linux 机器上跑一个大语言模型已经不算什么稀奇事。阿里巴巴的 Qwen3-8B 在 8 GB 消费级 GPU 上能跑出可用的速度,OpenBMB 的 MiniCPM5-1B(2026-05-26 发布)4-bit 量化后只占 ~0.5 GB,手机、浏览器、最破的 Linux 机器都能跑。
两个模型都是 Apache 2.0(商用 OK),英中文都行,都能原生跑在 llama.cpp 上 —— 小模型不需要 GPU,有大卡(NVIDIA / AMD / Apple Silicon)也能跑。
本文覆盖完整路径:装 llama.cpp、跑 Qwen3、跑 MiniCPM5-1B,以及避开那些会浪费一下午的坑。
为什么选 llama.cpp 而不是 Ollama?
Ollama 是最简单的起步方式 —— ollama run qwen3:8b 60 秒就开始聊天。但 llama.cpp 是 Ollama 底下的引擎,直连给你:
- 完全控制 采样参数(top_k、min_p、temperature)
- 直接访问 GGUF 文件 —— 没有 Docker、没有守护进程、没有 API 服务器
- 直接文件系统检查 你的权重
- 工具调用、函数调用、JSON grammar 全部可控
- 支持平台:CPU、NVIDIA(CUDA)、AMD(ROCm/HIP)、Apple Silicon(Metal)、Intel(SYCL),以及任何 Vulkan 兼容的 GPU
想折腾、调试、写脚本、跑 CI,llama.cpp 是对的层次。只想聊天,Ollama 也行。
在 Linux 上安装 llama.cpp
llama.cpp 的仓库 2024-2025 年从 ggerganov/llama.cpp 迁移到了 ggml-org/llama.cpp。老 URL 还能跳,但新提交都在新组织。以后用新的。
方式一 —— 源码编译(最灵活)
# 克隆仓库
git clone https://github.com/ggml-org/llama.cpp
cd llama.cpp
# 用 CMake 编译(仅 CPU)
cmake -B build
cmake --build build --config Release -j$(nproc)
# 二进制文件出现在 build/bin/
ls build/bin/llama-cli build/bin/llama-server想用 GPU 加速,编译前加 backend 标志:
# NVIDIA GPU
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release -j$(nproc)
# AMD GPU(ROCm/HIP)
cmake -B build -DGGML_HIP=ON
cmake --build build --config Release -j$(nproc)
# Vulkan(Intel、AMD、NVIDIA 兜底)
cmake -B build -DGGML_VULKAN=ON
cmake --build build --config Release -j$(nproc)
# Apple Silicon(Metal)
cmake -B build -DGGML_METAL=ON
cmake --build build --config Release -j$(nproc)编完之后,可以装到系统:
sudo cp build/bin/llama-* /usr/local/bin/方式二 —— Homebrew(Linuxbrew)
如果在 Linux 上装了 Homebrew:
brew install llama.cppformula 会跟着 llama.cpp 每次发布自动更新。
方式三 —— Snap(Ubuntu 系列发行版)
# 仅 CPU
sudo snap install llama-cpp
# NVIDIA GPU
sudo snap install llama-cpp +cuda
# AMD GPU
sudo snap install llama-cpp +hip
# Vulkan(Intel、AMD)
sudo snap install llama-cpp +vulkan
# OpenCL(Adreno、Mali)
sudo snap install llama-cpp +opencl
# 自动检测
sudo snap set llama-cpp backend=auto方式四 —— Nix
# 启用了 flake
nix profile install nixpkgs#llama-cpp
# 传统写法
nix-env --file '<nixpkgs>' --install --attr llama-cpp验证安装
llama-cli --version
# 预期输出:llama.cpp version 6000 或更新(2026 年底版本号)如果报 “command not found”,检查 $PATH 里有没有 /usr/local/bin 或者你装到的目录。
硬件需求(2026 现实)
| 模型 | 量化 | 需要内存 | GPU VRAM | 备注 |
|---|---|---|---|---|
| MiniCPM5-1B | Q4_K_M | ~1 GB | ~0.7 GB | 手机、Raspberry Pi 5、任何机器都能跑 |
| Qwen3-0.6B | Q4_K_M | ~1.5 GB | ~0.8 GB | 最小可用的聊天模型 |
| Qwen3-4B | Q4_K_M | ~3 GB | ~2.5 GB | 低配笔记本的甜点档 |
| Qwen3-8B | Q4_K_M | ~6 GB | ~5 GB | 大多数用户的甜点档 |
| Qwen3-14B | Q4_K_M | ~12 GB | ~9 GB | RTX 4060 Ti 16 GB 及以上 |
| Qwen3-32B | Q4_K_M | ~22 GB | ~19 GB | RTX 4090 24 GB |
| Qwen3-30B-A3B(MoE) | Q4_K_M | ~20 GB | ~18 GB | 推理时只用 3B 激活参数 |
| Qwen3-235B-A22B(MoE) | Q4_K_M | ~140 GB | ~130 GB | 只能多卡 |
纯 CPU 推理 对任何 Q4 量化的 ≤ 8B 模型都可行 —— 现代桌面 CPU(Ryzen 7 / Core i7)上期待 5-15 tokens/秒。小模型(MiniCPM5-1B、Qwen3-0.6B、Qwen3-1.7B)在 CPU 上能跑到完整对话速度。
本地跑 Qwen3
第一步 —— 下载 GGUF 版本
Qwen3 在 Hugging Face 上有 GGUF 文件。选一个适配你硬件的大小和量化:
# 例:Qwen3-8B Q4_K_M(磁盘 ~5 GB,8 GB GPU 可跑)
huggingface-cli download Qwen/Qwen3-8B-GGUF
qwen3-8b-q4_k_m.gguf
--local-dir ~/models/qwen3-8b
# 例:Qwen3-4B Q4_K_M(笔记本友好)
huggingface-cli download Qwen/Qwen3-4B-GGUF
qwen3-4b-q4_k_m.gguf
--local-dir ~/models/qwen3-4b你也可以从 Ollama 仓库 拉预转好的文件。模型卡上会列出推荐的量化方案。
第二步 —— 交互式跑模型
llama-cli
-m ~/models/qwen3-8b/qwen3-8b-q4_k_m.gguf
-c 8192
-n 1024
--temp 0.7
--top-p 0.9
--interactive
--color
-p "You are a helpful assistant.n"参数说明:
-m—— GGUF 模型文件路径-c—— 上下文窗口大小(默认 512,聊天太小)-n—— 每次回复最多生成多少 token--temp—— 采样温度(0.0 确定性、1.0 有创造性)--top-p—— nucleus 采样(0.9 是好的默认值)--interactive—— REPL 模式(而非单次)--color—— 提示词和回答高亮-p—— 系统提示词
第三步 —— 或者跑成 server
想要 OpenAI 兼容的 API(给任何调用 ChatGPT API 的工具用 —— 编辑器、脚本、自己的代码):
llama-server
-m ~/models/qwen3-8b/qwen3-8b-q4_k_m.gguf
-c 8192
--host 127.0.0.1
--port 8080然后从任何客户端调用:
curl http://127.0.0.1:8080/v1/chat/completions
-H "Content-Type: application/json"
-d '{
"model": "qwen3-8b",
"messages": [
{"role": "user", "content": "用 50 字解释 llama.cpp"}
]
}'这个端点 OpenAI 兼容,所以任何原本调 OpenAI 的工具(Continue.dev、Cline、Open WebUI 等)只要把 base URL 改成 http://127.0.0.1:8080/v1 就能用。
第四步 —— Qwen3 thinking 模式
Qwen3-2507 及之后支持 thinking 模式 —— 模型在回答前先推理。开启方式:
llama-cli
-m ~/models/qwen3-8b-instruct-q4_k_m.gguf
-c 32768
--temp 0.6
--top-p 0.95
--interactive
-p "You are Qwen3, a helpful assistant. Use <think></think> blocks for reasoning.n"模型会在最终回答之前输出 <think>...</think> 块。thinking 会消耗 token,所以推荐上下文大一点(-c 32768)。
本地跑 MiniCPM5-1B
MiniCPM5-1B 是完美的 第一个本地 LLM —— 4-bit 量化后不到 1 GB,什么机器都能跑,大多数 benchmark 上还压过 Qwen3-2B(虽然只有一半大,OpenBMB 自己公布的数字)。
第一步 —— 下载 GGUF
huggingface-cli download openbmb/MiniCPM5-1B-GGUF
MiniCPM5-1B-Q4_K_M.gguf
--local-dir ~/models/minicpm5-1b(确切文件名以最新 HF 仓库为准 —— 看 openbmb/MiniCPM5-1B-GGUF 页面上的当前文件。)
第二步 —— 跑
llama-cli
-m ~/models/minicpm5-1b/MiniCPM5-1B-Q4_K_M.gguf
-c 4096
-n 512
--temp 0.7
--top-p 0.95
--interactive
-p "You are MiniCPM5-1B, a helpful AI assistant.n"在现代笔记本上,期待 CPU 30-60 tokens/秒。Raspberry Pi 5 上 5-10 tokens/秒 —— 还能读。
第三步 —— MiniCPM5 thinking 模式
和 Qwen3 一样,MiniCPM5-1B 也支持 thinking,通过提示词控制:
# 开启 thinking
llama-cli
-m ~/models/minicpm5-1b/MiniCPM5-1B-Q4_K_M.gguf
--interactive
-p "You are MiniCPM5-1B. /set thinkn"
# 关闭 thinking(更快、更直接)
llama-cli
-m ~/models/minicpm5-1b/MiniCPM5-1B-Q4_K_M.gguf
--interactive
-p "You are MiniCPM5-1B. /set nothinkn"按模型卡推荐:
- Think 模式:
temperature=0.9, top_p=0.95 - No-think 模式:
temperature=0.7, top_p=0.95
第四步 —— 工具调用(用 SGLang)
函数/工具调用,SGLang 是推荐后端:
python -m sglang.launch_server
--model-path openbmb/MiniCPM5-1B
--port 30000
--tool-call-parser minicpm5MiniCPM5 输出 XML 风格的 tool call;SGLang 的 minicpm5 parser 会把它们原生转成 OpenAI 兼容的 tool_calls。
同时跑两个模型
想 Qwen3 和 MiniCPM5-1B 同时可用?跑两个 llama-server 实例在不同端口:
# 终端 1:MiniCPM5 在 8080
llama-server -m ~/models/minicpm5-1b/MiniCPM5-1B-Q4_K_M.gguf
--port 8080 -c 4096
# 终端 2:Qwen3 在 8081
llama-server -m ~/models/qwen3-8b/qwen3-8b-q4_k_m.gguf
--port 8081 -c 8192或者用 Ollama 走最简单的多模型方案:
# 装 Ollama
curl -fsSL https://ollama.com/install.sh | sh
# 拉两个
ollama pull minicpm5:1b
ollama pull qwen3:8b
# 都用同一个 OpenAI 兼容 API 在 :11434
# ollama run minicpm5:1b
# ollama run qwen3:8b常见问题
“Failed to load model: GGML_ASSERT”
通常是 GGUF 文件损坏或架构不对。重新下:
rm ~/models/qwen3-8b/qwen3-8b-q4_k_m.gguf
huggingface-cli download Qwen/Qwen3-8B-GGUF qwen3-8b-q4_k_m.gguf
--local-dir ~/models/qwen3-8b --force-download首 token 延迟大
刚加载的模型首 token 延迟主要看 prompt 评估(prefill)。上下文长的话,只用你需要的那么大:
# 不好:-c 32768 但实际只用 2K 上下文
llama-cli -m model.gguf -c 32768 ...
# 好:上下文匹配实际需求
llama-cli -m model.gguf -c 4096 ...显存不够(CUDA)
换小模型或减小上下文:
# 从 Qwen3-8B Q4 换 Qwen3-4B Q4(显存一半)
huggingface-cli download Qwen/Qwen3-4B-GGUF qwen3-4b-q4_k_m.gguf
--local-dir ~/models/qwen3-4b
# 或者减小上下文
llama-cli -m model.gguf -c 4096 -ngl 35 ...-ngl 35 意思是「把 35 层卸载到 GPU」—— VRAM 不够就调小这个数字。设成 0 就是纯 CPU。
“tokenizer.json not found”
GGUF 文件应该把 tokenizer 内嵌了,但如果你从 Hugging Face 仓库用 transformers 加载,还需要 tokenizer 文件:
huggingface-cli download Qwen/Qwen3-8B-GGUF
--local-dir ~/models/qwen3-8b --include "*.json" "*.txt"GPU 检测不到
先验证 CUDA / ROCm / Metal 可见:
# NVIDIA
nvidia-smi
# AMD
rocm-smi
# Apple Silicon
system_profiler SPDisplaysDataType | grep Metal然后看 llama.cpp 是不是用对了 backend 标志(-DGGML_CUDA=ON 等等)编的 —— 没编对就重编。
性能调优
- 用 Q4_K_M 量化 —— 大小/质量最好的折衷。Q5_K_M 稍好但体积大 ~30%;Q8_0 接近无损但体积翻倍。
-ngl匹配你的 VRAM —— 每多卸载一层到 GPU,CPU 就少算一层。用nvidia-smi看余量。- 批量 prompt 用
-np测吞吐量。 - 用
-fa(flash attention) —— 2026 年默认编译一般都支持。 - Qwen3 thinking 模式 至少设
-c 32768—— 推理 token 算上下文。
写在最后
Qwen3-8B 和 MiniCPM5-1B 是 2026 年我会推荐给 任何入门本地 LLM 的人 的两个模型:
- Qwen3-8B —— 有 8 GB+ NVIDIA GPU(或者 M 系列 Mac),想要接近 GPT-3.5 质量
- MiniCPM5-1B —— 想要一个到处都能跑(手机、Raspberry Pi、没有 GPU 的笔记本)又给出惊喜回答的
两者都是 Apache 2.0,都英中文流利,都能在 llama.cpp 上无自定义 kernel 直接跑。和两年前比,你能下个 10 亿参数的模型只要 0.5 GB、在笔记本 CPU 上 30+ tokens/秒回答问题,这事本身就挺让人感叹的。
Qwen3 更多细节看 官方 GitHub 仓库。MiniCPM5-1B 看 OpenBMB MiniCPM 仓库。
评论