Chapter 02

模型管理与拉取

掌握 Ollama 模型生命周期管理的完整命令集,理解模型标签与量化等级的含义,学会根据硬件条件和业务场景选择最合适的模型版本。

浏览模型库:ollama.com/library

Ollama 模型库是一个类似 Docker Hub 的在线仓库,收录了来自 Meta、Google、Alibaba、Mistral AI 等机构发布的 200+ 个开源模型。每个模型都有多个"标签"(tag),代表不同的参数量和量化版本。

标签格式解析:model:size-quantization
标准格式为 模型名:参数量-量化等级,例如 llama3.3:70b-instruct-q4_K_M
· :latest — 默认最新推荐版本,通常是中等量化的指令微调版
· :7b / :13b / :70b — 参数量(B = Billion 十亿)
· :q4_K_M / :q8_0 — 量化等级(4 位/8 位精度)
· :instruct / :chat — 经过指令微调,适合对话;缺省 :base 是基础预训练版
参数量(B = Billion)
参数量决定模型"容量"。7B 模型约有 70 亿个参数,70B 模型约有 700 亿个参数。更多参数通常意味着更强能力,但内存需求和推理时间也成比例增加。对大多数场景,7B-14B 是性价比最高的区间——能力足够好,内存需求可接受。
量化等级(Q4/Q5/Q8)
· Q4_K_M(推荐):4 位量化,K-quant Mixed,内存小,质量损失约 1-2%,是平衡最优选
· Q4_K_S:4 位量化 Small,比 M 更小,质量略低
· Q5_K_M:5 位量化,内存比 Q4 大 25%,质量提升明显
· Q8_0:8 位量化,接近原始精度,内存是 Q4 的 2 倍
· fp16:16 位半精度,原始精度,内存最大(不推荐本地使用)
GGUF vs GGML
GGML 是 llama.cpp 早期使用的格式,已被 GGUF 完全取代。GGUF(2023 年 8 月发布)的改进:更好的向后兼容性(新版 llama.cpp 可读旧 GGUF 文件);支持任意元数据键值对;词汇表和特殊 Token 直接嵌入文件;字段对齐更优化,加载更快。Ollama 仅支持 GGUF 格式,所有通过 ollama pull 下载的模型均为 GGUF。

核心命令详解

Ollama CLI 提供了一套完整的模型生命周期管理命令。以下是每个命令的详细用法:

ollama pull — 下载模型

# 基础拉取(默认 :latest 标签)
ollama pull llama3.2

# 指定具体版本标签(推荐,避免版本不确定性)
ollama pull llama3.3:70b
ollama pull qwen2.5:14b-instruct-q5_K_M
ollama pull deepseek-r1:32b

# 中文优化模型推荐
ollama pull qwen2.5:7b    # 7B 适合 8GB 内存
ollama pull qwen2.5:14b   # 14B 适合 16GB 内存
ollama pull qwen2.5:72b   # 72B 适合 64GB 内存或多 GPU

# 代码生成专用
ollama pull codellama:13b
ollama pull qwen2.5-coder:7b   # Qwen 代码版,中文注释支持更好
ollama pull deepseek-coder-v2:16b

# 推理链思维模型(适合数学/逻辑)
ollama pull deepseek-r1:14b

# 下载进度条解读:
# pulling 966de95ca8a6...  ← 模型权重层(最大文件)
# pulling 6e340b9bed58...  ← 分词器词汇表
# pulling 4fa551d4f938...  ← 系统提示词模板
# verifying sha256 digest ← 完整性校验

ollama list — 查看已安装模型

# 列出所有已下载的模型
ollama list

# 输出示例:
# NAME                        ID              SIZE    MODIFIED
# llama3.2:latest             a80c4f17acd5    2.0 GB  3 days ago
# qwen2.5:7b                  845dbda0ea48    4.7 GB  1 hour ago
# deepseek-r1:14b             ea35dfe18182    9.0 GB  2 days ago
# codellama:7b                8fdf8f752f6e    3.8 GB  5 days ago

# 字段说明:
# NAME     — 模型名称和标签
# ID       — 模型唯一标识符(前 12 位 SHA256)
# SIZE     — 磁盘占用
# MODIFIED — 最近访问/修改时间

ollama show — 查看模型详情

# 查看模型完整元数据
ollama show llama3.2

# 输出示例:
# Model
#   arch            llama
#   parameters      3.2B
#   quantization    Q4_K_M
#   context length  131072
#   embedding length 3072
#
# Parameters
#   stop    "<|start_header_id|>"
#   stop    "<|end_header_id|>"
#   stop    "<|eot_id|>"
#
# License
#   META LLAMA 3.2 COMMUNITY LICENSE AGREEMENT

# 只查看 Modelfile
ollama show llama3.2 --modelfile

# 只查看参数配置
ollama show llama3.2 --parameters

# 只查看系统提示词模板
ollama show llama3.2 --system

# 查看聊天模板(Jinja2 格式)
ollama show llama3.2 --template

ollama rm — 删除模型

# 删除单个模型(释放磁盘空间)
ollama rm llama3.2

# 删除特定标签版本
ollama rm qwen2.5:7b

# 批量删除(Shell 脚本)
for model in codellama:7b mistral:7b phi3:mini; do
  ollama rm "$model"
done

# 查看删除后磁盘使用情况
du -sh ~/.ollama/models/

主流模型对比与选型指南

根据实际使用场景选择合适的模型,避免"大而全"的误区:

场景推荐模型内存需求理由
通用中文对话qwen2.5:7b~5 GB阿里开源,中文理解最强
英文写作 / 分析llama3.2:8b~5 GBMeta 旗舰,英文能力顶级
代码生成(Python/JS)qwen2.5-coder:7b~5 GB代码专项训练,支持中文注释
数学 / 逻辑推理deepseek-r1:14b~9 GB推理链思维,过程可见
高质量综合任务llama3.3:70b-q4~40 GB接近 GPT-4 水准
图片理解(多模态)llava:13b~8 GB支持图片输入
快速响应(边缘)phi4:mini~2 GB微软小模型,速度极快
文本嵌入向量nomic-embed-text~270 MB专用嵌入模型,RAG 首选

模型存储路径与磁盘管理

了解 Ollama 的存储结构,便于管理磁盘空间和迁移模型:

# 默认存储路径
# macOS / Linux:
ls -la ~/.ollama/models/

# 目录结构:
# ~/.ollama/
# ├── models/
# │   ├── blobs/           ← 实际模型权重文件(按 SHA256 命名)
# │   │   ├── sha256-966de95ca8a6...  (2.0 GB,llama3.2 权重)
# │   │   └── sha256-6e340b9bed58...  (182 B,词汇表)
# │   └── manifests/       ← 模型清单(JSON,描述文件组成)
# │       └── registry.ollama.ai/library/llama3.2/latest
# └── history              ← CLI 历史记录

# 查看各模型占用磁盘
du -sh ~/.ollama/models/blobs/*

# 自定义存储路径(修改环境变量)
# macOS / Linux
export OLLAMA_MODELS=/data/ollama-models  # 指向大容量磁盘

# Windows(PowerShell)
# $env:OLLAMA_MODELS = "D:\ollama-models"

# 将路径配置持久化到 ~/.bashrc 或 ~/.zshrc
echo 'export OLLAMA_MODELS=/data/ollama-models' >> ~/.zshrc

# 查看总磁盘占用
du -sh ~/.ollama/
# 典型输出:15G /Users/yourname/.ollama/
磁盘空间规划建议 每个 7B 模型约 4-5GB,14B 模型约 9GB,70B 模型约 40GB。如果计划安装 5-10 个模型,建议预留 100GB 空间。SSD 比 HDD 显著提升模型加载速度(冷启动从 30s 缩短到 3s)。可将 OLLAMA_MODELS 指向外置 SSD 以扩展容量。

量化等级性能对比(实测数据)

以 Llama 3.3 70B 在 Apple M2 Max 96GB 上的实测为例,理解量化等级的权衡:

Llama 3.3 70B 量化等级对比(M2 Max 96GB 实测) 量化等级 文件大小 内存占用 速度 (tok/s) 质量损失 ───────────────────────────────────────────────────── Q2_K 26 GB 28 GB 55 tok/s ≈ 5%(明显退化) Q4_K_M 43 GB 45 GB 42 tok/s ≈ 1%(推荐) Q5_K_M 50 GB 53 GB 38 tok/s ≈ 0.5% Q6_K 58 GB 61 GB 35 tok/s ≈ 0.2% Q8_0 74 GB 78 GB 28 tok/s ≈ 0.05%(接近原始) fp16 141 GB 145 GB 15 tok/s 0%(原始精度) 结论: · 硬件受限时:优先 Q4_K_M,兼顾质量和速度 · 追求最优质量且内存充足:Q6_K 或 Q8_0 · 生产关键任务:Q8_0(质量最接近原始) · Q2_K 仅用于极端内存不足场景,质量损失明显
本章小结 模型管理的核心:pull 下载、list 查看、show 详情、rm 删除。选型原则:中文任务选 Qwen 2.5,代码任务选 qwen2.5-coder 或 codellama,推理任务选 deepseek-r1,通用英文选 llama3.x。量化等级首选 Q4_K_M 作为默认值,内存充足时升级到 Q6_K。下一章学习如何通过 Modelfile 打造完全定制化的专属模型。