Ollama 使用标签(tag)系统来管理模型版本,本章介绍Ollama 模型的版本管理机制,包括标签系统、版本切换和版本回退,如何有效管理模型版本。
模型名:标签
例如:
llama3.2:latest
llama3.2:3b
llama3.2:3b-q4_0
| 类型 | 示例 | 说明 |
|---|---|---|
| 默认标签 | latest | 最新稳定版本 |
| 参数规模 | 1b, 3b, 7b, 8b | 模型参数数量 |
| 量化级别 | q4_0, q4_k_m, q8_0 | 模型压缩程度 |
| 功能标签 | instruct, chat | 模型优化方向 |
| 日期标签 | 2024-01-15 | 特定日期版本 |
访问模型页面查看所有可用版本:
https://ollama.com/library/<模型名>/tags
例如:https://ollama.com/library/llama3.2/tags
下载模型时会显示版本信息:
ollama pull llama3.2
# 下载 1B 参数版本
ollama pull llama3.2:1b
# 下载 3B 参数版本
ollama pull llama3.2:3b
# 下载特定量化版本
ollama pull llama3.2:3b-q4_k_m
# 运行特定版本
ollama run llama3.2:3b
# 不指定标签默认使用 latest
ollama run llama3.2
ollama list
输出:
NAME ID SIZE MODIFIED
llama3.2:latest a80c4f17acd5 2.0 GB 2 hours ago
llama3.2:1b b91c4f17acd5 1.3 GB 1 day ago
llama3.2:3b c12d4f17acd5 2.0 GB 3 days ago
可以同时安装多个版本:
# 安装多个版本
ollama pull llama3.2:1b
ollama pull llama3.2:3b
ollama pull llama3.2:latest
# 查看已安装版本
ollama list | grep llama3.2
# 使用 1B 版本
ollama run llama3.2:1b
# 使用 3B 版本
ollama run llama3.2:3b
# 使用最新版本
ollama run llama3.2
更新前先备份:
# 备份当前版本
ollama cp llama3.2:latest llama3.2:backup
# 更新到新版本
ollama pull llama3.2:latest
# 如果新版本有问题,使用备份版本
ollama run llama3.2:backup
# 或者重新下载旧版本
ollama pull llama3.2:旧版本标签
量化是一种压缩技术,用更少的位数存储模型参数:
| 量化级别 | 精度 | 体积 | 质量 |
|---|---|---|---|
| q8_0 | 8-bit | 最大 | 最好 |
| q6_k | 6-bit | 较大 | 很好 |
| q4_k_m | 4-bit | 中等 | 良好 |
| q4_0 | 4-bit | 中等 | 良好 |
| q2_k | 2-bit | 最小 | 较差 |
| 场景 | 推荐量化 |
|---|---|
| 追求质量 | q8_0 或 q6_k |
| 平衡质量和速度 | q4_k_m |
| 资源受限 | q4_0 或 q2_k |
# 下载特定量化版本
ollama pull llama3.2:3b-q4_k_m
# 运行
ollama run llama3.2:3b-q4_k_m
# 固定版本,不使用 latest
ollama pull llama3.2:3b-q4_k_m
# 记录使用的版本
ollama show llama3.2:3b-q4_k_m > model-info.txt
# 可以使用 latest 获取最新功能
ollama pull llama3.2:latest
# 但保留稳定版本作为对比
ollama pull llama3.2:3b
创建自定义模型时使用有意义的标签:
# 好的命名
ollama create my-code-assistant:v1.0 -f Modelfile
ollama create my-code-assistant:v1.1 -f Modelfile
# 不好的命名
ollama create my-code-assistant:new -f Modelfile
ollama create my-code-assistant:test -f Modelfile
# 运行版本 A
ollama run llama3.2:1b "解释量子计算"
# 运行版本 B
ollama run llama3.2:3b "解释量子计算"
# 对比输出质量
简单的响应速度测试:
time ollama run llama3.2:1b "写一首诗" > /dev/null
time ollama run llama3.2:3b "写一首诗" > /dev/null
latest 标签指向模型的最新稳定版本,具体是哪个版本会随时间变化。
ollama show llama3.2:latest
不可以,同一时间只能运行一个模型实例。但可以快速切换。
是的,相同的基础模型层会被共享,节省存储空间。