导入模型
本文内容均由Ollama官方文档翻译,仅供个人学习,如有差异请以官网文档为准(https://ollama.com)ollama.cadn.net.cn
目录
从 Safetensors 权重中导入微调后的适配器
首先,创建一个 Modelfile,使用指向您用于微调的基础模型的 FROM 命令,以及一个指向包含 Safetensors 适配器目录的 ADAPTER 命令:ollama.cadn.net.cn
FROM <base model name>
ADAPTER /path/to/safetensors/adapter/directory
请确保在 FROM 命令中使用的基座模型与创建适配器时所用的模型一致,否则将导致结果异常。大多数框架采用不同的量化方法,因此建议使用未量化(即非QLoRA)的适配器。如果您的适配器与 Modelfile 位于同一目录下,请使用 ADAPTER . 指定适配器路径。ollama.cadn.net.cn
现在从创建 Modelfile 的目录中运行 ollama create:ollama.cadn.net.cn
ollama create my-model
最后,测试该模型:ollama.cadn.net.cn
ollama run my-model
Ollama 支持导入基于多种不同模型架构的适配器,包括:ollama.cadn.net.cn
- Llama(包括 Llama 2、Llama 3、Llama 3.1 和 Llama 3.2);
- Mistral(包括 Mistral 1、Mistral 2 和 Mixtral);以及
- Gemma(包括 Gemma 1 和 Gemma 2)
你可以使用微调框架或工具来创建适配器,该框架或工具能够输出Safetensors格式的适配器,例如:ollama.cadn.net.cn
从 Safetensors 权重导入模型
首先,使用 FROM 命令创建一个指向包含 Safetensors 权重文件目录的 Modelfile:ollama.cadn.net.cn
FROM /path/to/safetensors/directory
如果您在权重文件所在的同一目录下创建 Modelfile,可以使用命令 FROM .。ollama.cadn.net.cn
现在从您创建 Modelfile 的目录中运行 ollama create 命令:ollama.cadn.net.cn
ollama create my-model
最后,测试该模型:ollama.cadn.net.cn
ollama run my-model
Ollama 支持导入多种不同架构的模型,包括:ollama.cadn.net.cn
- Llama(包括 Llama 2、Llama 3、Llama 3.1 和 Llama 3.2);
- Mistral(包括 Mistral 1、Mistral 2 和 Mixtral);
- Gemma(包括 Gemma 1 和 Gemma 2);以及
- Phi3
这包括导入基础模型,以及任何与基础模型进行了融合的微调模型。ollama.cadn.net.cn
导入基于 GGUF 的模型或适配器
如果您拥有基于GGUF格式的模型或适配器,则可以将其导入Ollama。获取GGUF格式模型或适配器的方式如下:ollama.cadn.net.cn
- 使用
convert_hf_to_gguf.py 将 Safetensors 模型转换为 Llama.cpp 格式;
- 将 Safetensors 适配器与 Llama.cpp 中的
convert_lora_to_gguf.py 进行转换;或
- 从 HuggingFace 等位置下载模型或适配器
要导入 GGUF 模型,请创建一个包含以下内容的 Modelfile:ollama.cadn.net.cn
FROM /path/to/file.gguf
对于 GGUF 适配器,请使用以下命令创建 Modelfile:ollama.cadn.net.cn
FROM <model name>
ADAPTER /path/to/file.gguf
导入 GGUF 适配器时,必须使用与该适配器创建时所用的基模型相同的基模型。您可以使用:ollama.cadn.net.cn
- 来自 Ollama 的模型
- a GGUF 文件
- a Safetensors based model
创建 Modelfile 后,使用 ollama create 命令构建模型。ollama.cadn.net.cn
ollama create my-model
模型量化
模型量化可使模型运行速度更快、内存占用更少,但会降低精度。这使您能够在配置较低的硬件上运行模型。ollama.cadn.net.cn
Ollama 可以使用 -q/--quantize 标志和 ollama create 命令将基于 FP16 和 FP32 的模型量化为不同的量化级别。ollama.cadn.net.cn
首先,创建一个Modelfile,其中包含您希望进行量化处理的FP16或FP32模型。ollama.cadn.net.cn
FROM /path/to/my/gemma/f16/model
使用 ollama create 来创建量化后的模型。ollama.cadn.net.cn
$ ollama create --quantize q4_K_M mymodel
transferring model data
quantizing F16 model to Q4_K_M
creating new layer sha256:735e246cc1abfd06e9cdcf95504d6789a6cd1ad7577108a70d9902fef503c1bd
creating new layer sha256:0853f0ad24e5865173bbf9ffcc7b0f5d56b66fd690ab1009867e45e7d2c4db0f
writing manifest
success
支持的量化方式
K均值量化
q3_K_S
q3_K_M
q3_K_L
q4_K_S
q4_K_M
q5_K_S
q5_K_M
q6_K
在 ollama.com 上分享您的模型
您可以通过将所创建的模型推送到 ollama.com 来与他人共享,以便其他用户试用。ollama.cadn.net.cn
首先,使用您的浏览器访问 Ollama 注册 页面。如果您已有账户,可跳过此步骤。ollama.cadn.net.cn
ollama.cadn.net.cn
Username 字段将作为您模型名称的一部分(例如 jmorganca/mymodel),因此请确保您对所选的用户名感到满意。ollama.cadn.net.cn
您已创建账户并完成登录,请前往 Ollama 密钥设置 页面。ollama.cadn.net.cn
请按照页面上的说明确定您的 Ollama 公钥所在位置。ollama.cadn.net.cn
ollama.cadn.net.cn
点击 Add Ollama Public Key 按钮,然后将您的 Ollama 公钥内容复制并粘贴到文本字段中。ollama.cadn.net.cn
要将模型推送到 ollama.com,请首先确保其名称已按您的用户名正确设置。您可能需要使用 ollama cp 命令复制模型并为其赋予正确的名称。确认模型名称无误后,使用 ollama push 命令将其推送到 ollama.com。ollama.cadn.net.cn
ollama cp mymodel myuser/mymodel
ollama push myuser/mymodel
一旦您的模型已推送,其他用户即可通过以下命令拉取并运行它:ollama.cadn.net.cn
ollama run myuser/mymodel