跳过至正文

目录

从 Safetensors 权重导入微调后的适配器

首先,创建一个 Modelfile,其中 FROM 命令指向您用于微调的基础模型,ADAPTER 命令指向包含 Safetensors 适配器的目录
FROM <base model name>
ADAPTER /path/to/safetensors/adapter/directory
请确保在 FROM 命令中使用与创建适配器时相同的基础模型,否则会得到异常结果。大多数框架使用不同的量化方法,因此最好使用非量化(即非 QLoRA)适配器。如果您的适配器与 Modelfile 位于同一目录,请使用 ADAPTER . 指定适配器路径。 现在,在创建 Modelfile 的目录中运行 ollama create
ollama create my-model
最后,测试模型
ollama run my-model
Ollama 支持导入基于多种不同模型架构的适配器,包括
  • Llama(包括 Llama 2、Llama 3、Llama 3.1 和 Llama 3.2);
  • Mistral(包括 Mistral 1、Mistral 2 和 Mixtral);以及
  • Gemma(包括 Gemma 1 和 Gemma 2)
您可以使用能够输出 Safetensors 格式适配器的微调框架或工具来创建适配器,例如

从 Safetensors 权重导入模型

首先,创建一个 Modelfile,其中的 FROM 命令指向包含 Safetensors 权重的目录
FROM /path/to/safetensors/directory
如果您在权重所在的同一目录中创建 Modelfile,可以使用命令 FROM . 现在,在创建 Modelfile 的目录中运行 ollama create 命令:
ollama create my-model
最后,测试模型
ollama run my-model
Ollama 支持为多种不同架构导入模型,包括
  • Llama(包括 Llama 2、Llama 3、Llama 3.1 和 Llama 3.2);
  • Mistral(包括 Mistral 1、Mistral 2 和 Mixtral);
  • Gemma(包括 Gemma 1 和 Gemma 2);以及
  • Phi3
这包括导入基础模型,以及任何已与基础模型融合 (fused) 的微调模型。

导入基于 GGUF 的模型或适配器

如果您有基于 GGUF 的模型或适配器,可以将其导入 Ollama。您可以通过以下方式获取 GGUF 模型或适配器:
  • 使用 Llama.cpp 的 convert_hf_to_gguf.py 转换 Safetensors 模型;
  • 使用 Llama.cpp 的 convert_lora_to_gguf.py 转换 Safetensors 适配器;或者
  • 从 HuggingFace 等平台下载模型或适配器
要导入 GGUF 模型,请创建一个包含以下内容的 Modelfile
FROM /path/to/file.gguf
对于 GGUF 适配器,请使用以下内容创建 Modelfile
FROM <model name>
ADAPTER /path/to/file.gguf
导入 GGUF 适配器时,务必使用与创建该适配器时相同的基础模型。您可以使用:
  • 来自 Ollama 的模型
  • 一个 GGUF 文件
  • 一个基于 Safetensors 的模型
创建 Modelfile 后,使用 ollama create 命令构建模型。
ollama create my-model

量化模型

对模型进行量化可以使模型运行得更快,内存消耗更少,但精度会有所下降。这使您能够在配置较低的硬件上运行模型。 Ollama 可以使用 ollama create 命令的 -q/--quantize 标志,将基于 FP16 和 FP32 的模型量化为不同的量化级别。 首先,使用您想要量化的基于 FP16 或 FP32 的模型创建一个 Modelfile。
FROM /path/to/my/gemma/f16/model
然后使用 ollama create 创建量化后的模型。
$ 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

支持的量化

  • q8_0

K-means 量化

  • q4_K_S
  • q4_K_M

在 ollama.com 上分享您的模型

您可以将创建的任何模型推送到 ollama.com,以便其他用户可以试用。 首先,使用浏览器访问 Ollama 注册页面。如果您已经拥有帐户,可以跳过此步骤。 注册 Username(用户名)字段将作为模型名称的一部分(例如 jmorganca/mymodel),因此请确保您对所选的用户名满意。 现在您已经创建了帐户并已登录,请转到 Ollama 密钥设置页面。 按照页面上的说明确定您的 Ollama 公钥所在位置。 Ollama 密钥 点击 Add Ollama Public Key 按钮,并将您的 Ollama 公钥内容复制并粘贴到文本字段中。 要将模型推送到 ollama.com,首先要确保模型已根据您的用户名正确命名。您可能需要使用 ollama cp 命令复制模型以赋予其正确的名称。确认模型名称无误后,使用 ollama push 命令将其推送到 ollama.com
ollama cp mymodel myuser/mymodel
ollama push myuser/mymodel
模型推送成功后,其他用户可以使用以下命令拉取并运行它
ollama run myuser/mymodel