模型版本管理

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_08-bit最大最好
q6_k6-bit较大很好
q4_k_m4-bit中等良好
q4_04-bit中等良好
q2_k2-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 版本是什么?

latest 标签指向模型的最新稳定版本,具体是哪个版本会随时间变化。

如何知道 latest 是哪个版本?

ollama show llama3.2:latest

不同版本可以同时运行吗?

不可以,同一时间只能运行一个模型实例。但可以快速切换。

版本之间共享文件吗?

是的,相同的基础模型层会被共享,节省存储空间。

练习

  1. 查看某个模型的所有可用版本
  2. 下载同一模型的两个不同版本
  3. 比较不同版本的响应质量
  4. 创建一个模型备份
  5. 尝试不同量化级别的模型