本课模式:四步走——部署一个本地模型 → 看 KV cache 显存账 → 做一次量化 → 评估量化损失。做完你的模型就能真正被用起来。
📋 本课你将完成
- 用 Ollama 或 MLX 部署过一个本地模型并调过温度
- 用计算器算清过一次部署的显存需求
- 理解量化原理并做过一次量化前后对比
- 能说出 GGUF / AWQ / MLX 量化各适合什么场景
- 理解本地推理 vs 云 API 的成本差异
步骤 1
部署一个本地模型(15 分钟)
未完成🎯 这一步的目标:用 Ollama 把模型跑起来——最简单的一条命令部署。
ollama --version▶ 预期输出(点开对照)
ollama version 0.x.x
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 课的计算器。
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 量化把模型压小——本地部署的关键技术。
brew install llama.cpp▶ 预期输出(点开对照)
(或 git clone https://github.com/ggerganov/llama.cpp && cd llama.cpp && make)
# 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_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 已经是完整权重,直接可用。
📝 自测清单(全勾才算过)
- 用 Ollama 或 MLX 部署过一个本地模型并调过温度
- 用计算器算清过一次部署的显存需求
- 理解量化原理并做过一次量化前后对比
- 能说出 GGUF / AWQ / MLX 量化各适合什么场景
- 理解本地推理 vs 云 API 的成本差异
全勾 → 节点 11 / 14 完成。未勾 → 回看对应步骤,别急着往前走。