Ollama 快速入门:模型参数(Model Parameter)

我的电脑显存最近越来越捉襟见肘,所以自己就想看能不能通过对ollama的优化节省出来一部分显存。本文主要以llama3:8b为例,通过设置决定模型加载进gpu的层数来优化推理效率。

交互模式指定

ollama run llama3
>>> /set parameter num_gpu 3
Set parameter 'num_gpu' to '3'

查看日志 server.log 文件可以看到加载模型GPU的层数从32层变为了3层。

设置前:

设置后:

修改模型配置文件

这个方法主要是通过修改现有模型的配置文件,得到新的 modelfile ,从而使用 modelfile 来创建一个数据集何参数相同的模型。

配置模型文件

查看 llama3:8b 模型配置文件:

ollama show llama3 --modelfile

配置文件信息如下:

# Modelfile generated by "ollama show"
# To build a new Modelfile based on this, replace FROM with:
# FROM llama3:latest

FROM E:\Ollama\models\blobs\sha256-6a0746a1ec1aef3e7ec53868f220ff6e389f6f8ef87a01d77c96807de94ca2aa
TEMPLATE "{{ if .System }}<|start_header_id|>system<|end_header_id|>

{{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>

{{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>

{{ .Response }}<|eot_id|>"
PARAMETER stop <|start_header_id|>
PARAMETER stop <|end_header_id|>
PARAMETER stop <|eot_id|>
PARAMETER num_keep 24

修改配置文件

创建模型配置文件 mymodel.modefile ,将获取的配置文件加入参数 PARAMETER num_gpu 5 ,该参数表名指定加载进gpu的模型层数。

# Modelfile generated by "ollama show"
# To build a new Modelfile based on this, replace FROM with:
FROM llama3:8b

# 添加参数
PARAMETER num_gpu 5

TEMPLATE "{{ if .System }}<|start_header_id|>system<|end_header_id|>

{{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>

{{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>

{{ .Response }}<|eot_id|>"
PARAMETER num_keep 24
PARAMETER stop <|start_header_id|>
PARAMETER stop <|end_header_id|>
PARAMETER stop <|eot_id|>

创建模型

利用新建的模型配置文件创建模型命令为:

ollama create mymodel -f mymodel.modefile

创建成功后可利用ollama list查看创建的模型:

查看修改结果

ollama run mymodel 运行模型,然后查看日志server.log文件可以看到加载模型GPU的层数变为了5层。

作者:Jeebiz  创建时间:2024-07-21 12:01
最后编辑:Jeebiz  更新时间:2024-08-29 20:41