AI 学院 · LLM大模型线 · 节点 11 / 14

推理与部署:亲手部署 + 量化一个模型

训练完不是结束——把模型跑起来、跑得快、跑得便宜,才是「自己的模型」真正可用。这一课你亲手部署一个本地模型、做一次量化、算清显存账。全程约 50 分钟。

状态 手把手 · 必修前置 07 预训练实操预计 50 分钟
本课模式:四步走——部署一个本地模型 → 看 KV cache 显存账 → 做一次量化 → 评估量化损失。做完你的模型就能真正被用起来。

📋 本课你将完成

步骤 1

部署一个本地模型(15 分钟)

未完成

🎯 这一步的目标:用 Ollama 把模型跑起来——最简单的一条命令部署。

确认 Ollama 已装(第 02 课装过)
ollama --version
▶ 预期输出(点开对照)
ollama version 0.x.x
拉取 3B 模型(比 0.6B 聪明不少)
ollama pull qwen3:3b
▶ 预期输出(点开对照)
pulling manifest ⠋
pulling 2.0GB... 100% ████████████████
success
运行并测试
ollama run qwen3:3b
火星的一天是多久?
▶ 预期输出(点开对照)
(3B 的回答明显比 0.6B 完整、准确——这就是规模的实感)
查看显存占用(推理时)
ollama ps
▶ 预期输出(点开对照)
NAME       ID       SIZE  PROCESSOR
qwen3:3b   xxx      2.1GB  100% CPU/GPU
✅ 检查点:3B 模型部署成功,ollama ps 能看到它。
步骤 2

算清部署的显存账(10 分钟)

未完成

🎯 这一步的目标:理解「权重 + KV cache」双成本——用第 05 课的计算器。

算 7B 模型部署账
python3 -c 'params = 7e9; bytes_w = 2  # FP16', 'weights_gb = params * bytes_w / 1e9', 'print(f"权重: {weights_gb:.1f} GB (FP16) → 4bit 量化后 {weights_gb/4:.1f} GB" )'
▶ 预期输出(点开对照)
权重: 14.0 GB (FP16) → 4bit 量化后 3.5 GB
理解双成本
▶ 预期输出(点开对照)
部署显存 = 权重(固定)+ KV cache(随上下文/并发增长,见 05 课计算器)
所以:量化省权重的显存,GQA/MLA 省 KV 的显存——两件事都要做
✅ 检查点:你能算出任意模型的权重显存,并解释量化省的是什么。
步骤 3

做一次量化(15 分钟)

未完成

🎯 这一步的目标:用 GGUF 量化把模型压小——本地部署的关键技术。

安装 llama.cpp 工具
brew install llama.cpp
▶ 预期输出(点开对照)
(或 git clone https://github.com/ggerganov/llama.cpp && cd llama.cpp && make)
用 Ollama 直接体验量化版本
# Ollama 自带量化模型标签
ollama pull qwen3:3b-q4_0
ollama run qwen3:3b-q4_0
▶ 预期输出(点开对照)
(q4_0 = 4-bit 量化。同样的 3B,量化版占用减半)
对比量化前后(同一问题)
ollama run qwen3:3b "火星的一天是多久?"
ollama run qwen3:3b-q4_0 "火星的一天是多久?"
▶ 预期输出(点开对照)
(对比两个回答质量——通常差异很小,这就是量化值得做的原因)
✅ 检查点:你对比过量化前后回答,并判断差异是否可接受。
步骤 4

选部署路线(10 分钟)

未完成

🎯 这一步的目标:根据场景选工具:Ollama / vLLM / MLX。

读选型对照
▶ 预期输出(点开对照)
Ollama:单机日常使用,一条命令,零配置(本课用)
vLLM:GPU 服务化、高吞吐、PagedAttention 省显存——租卡跑 7B+ 时用
MLX:Apple Silicon 原生,还能直接跑你 fuse 的模型(第 08 课)
用 MLX 跑你微调过的模型
mlx_lm.generate --model ./lumen-mini-v01 --prompt "火星的一天是多久?"
▶ 预期输出(点开对照)
(你亲手微调的模型,现在能被真正用起来了——这是全课程的成就感时刻)
✅ 检查点:你能说出三种工具各适合什么场景,并用 MLX 跑过自己的模型。
🧪 交互实验 · 部署成本计算器

算清「跑一个模型每月多少钱」——本地 vs 云 API 的真实成本对比。

1000

本地推理边际成本 ≈ 0(电费除外);云 API 按 token 计费。用量大时本地部署几乎总是更便宜——这就是「训练租卡、推理本地」的逻辑。

❓ 老师答疑(卡住了先看这里)

❓ 量化会损失多少质量?
4-bit 量化通常损失很小(大模型尤其不明显),小模型稍明显。判断标准不是感觉,是评估:量化前后各跑一遍评估集(第 10 课),看通过率差多少。
❓ 为什么 Ollama 里有 q4_0 这种标签?
GGUF 格式的量化级别命名:q4_0/q4_K_M/q5_K_M/q8_0……K_M 系列质量更好。数字越小越省显存,质量损失越大。选型 = 显存与质量的权衡。
❓ KV cache 和量化冲突吗?
不冲突,解决不同问题:量化压缩权重,GQA/MLA 压缩KV cache。两者都要做——尤其长上下文场景。
❓ 我微调的 LoRA 模型能直接部署吗?
要先 fuse(第 08 课)合并成完整模型,再转 GGUF/MLX 格式部署。fuse 后的 lumen-mini-v01 已经是完整权重,直接可用。

📝 自测清单(全勾才算过)

全勾 → 节点 11 / 14 完成。未勾 → 回看对应步骤,别急着往前走。

📚 推荐资料