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 还能跳,但新提交都在新组织。以后用新的。

方式一 —— 源码编译(最灵活)

Bash
# 克隆仓库
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 标志:

Bash
# 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)

编完之后,可以装到系统:

Bash
sudo cp build/bin/llama-* /usr/local/bin/

方式二 —— Homebrew(Linuxbrew)

如果在 Linux 上装了 Homebrew:

Bash
brew install llama.cpp

formula 会跟着 llama.cpp 每次发布自动更新。

方式三 —— Snap(Ubuntu 系列发行版)

Bash
# 仅 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

Bash
# 启用了 flake
nix profile install nixpkgs#llama-cpp

# 传统写法
nix-env --file '<nixpkgs>' --install --attr llama-cpp

验证安装

Bash
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 文件。选一个适配你硬件的大小和量化:

Bash
# 例: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 仓库 拉预转好的文件。模型卡上会列出推荐的量化方案。

第二步 —— 交互式跑模型

Bash
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 的工具用 —— 编辑器、脚本、自己的代码):

Bash
llama-server 
    -m ~/models/qwen3-8b/qwen3-8b-q4_k_m.gguf 
    -c 8192 
    --host 127.0.0.1 
    --port 8080

然后从任何客户端调用:

Bash
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 模式 —— 模型在回答前先推理。开启方式:

Bash
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

Bash
huggingface-cli download openbmb/MiniCPM5-1B-GGUF 
    MiniCPM5-1B-Q4_K_M.gguf 
    --local-dir ~/models/minicpm5-1b

(确切文件名以最新 HF 仓库为准 —— 看 openbmb/MiniCPM5-1B-GGUF 页面上的当前文件。)

第二步 —— 跑

Bash
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,通过提示词控制:

Bash
# 开启 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 是推荐后端:

Bash
python -m sglang.launch_server 
    --model-path openbmb/MiniCPM5-1B 
    --port 30000 
    --tool-call-parser minicpm5

MiniCPM5 输出 XML 风格的 tool call;SGLang 的 minicpm5 parser 会把它们原生转成 OpenAI 兼容的 tool_calls

同时跑两个模型

想 Qwen3 和 MiniCPM5-1B 同时可用?跑两个 llama-server 实例在不同端口:

Bash
# 终端 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 走最简单的多模型方案:

Bash
# 装 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 文件损坏或架构不对。重新下:

Bash
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)。上下文长的话,只用你需要的那么大:

Bash
# 不好:-c 32768 但实际只用 2K 上下文
llama-cli -m model.gguf -c 32768 ...

# 好:上下文匹配实际需求
llama-cli -m model.gguf -c 4096 ...

显存不够(CUDA)

换小模型或减小上下文:

Bash
# 从 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 文件:

Bash
huggingface-cli download Qwen/Qwen3-8B-GGUF 
    --local-dir ~/models/qwen3-8b --include "*.json" "*.txt"

GPU 检测不到

先验证 CUDA / ROCm / Metal 可见:

Bash
# NVIDIA
nvidia-smi

# AMD
rocm-smi

# Apple Silicon
system_profiler SPDisplaysDataType | grep Metal

然后看 llama.cpp 是不是用对了 backend 标志(-DGGML_CUDA=ON 等等)编的 —— 没编对就重编。

性能调优

  1. 用 Q4_K_M 量化 —— 大小/质量最好的折衷。Q5_K_M 稍好但体积大 ~30%;Q8_0 接近无损但体积翻倍。
  2. -ngl 匹配你的 VRAM —— 每多卸载一层到 GPU,CPU 就少算一层。用 nvidia-smi 看余量。
  3. 批量 prompt-np 测吞吐量。
  4. -fa(flash attention) —— 2026 年默认编译一般都支持。
  5. 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 仓库

来源

最后修改: 2026年7月14日

作者

评论

发表评论

您的邮箱地址不会被公开。