导入模型
目录
从 Safetensors 权重导入微调的适配器
首先,创建一个Modelfile
替换为FROM
命令指向您用于微调的基本模型,并且ADAPTER
命令,该命令指向带有 Safetensors 适配器的目录:
FROM <base model name>
ADAPTER /path/to/safetensors/adapter/directory
确保在FROM
命令,否则将得到不稳定的结果。大多数框架使用不同的量化方法,因此最好使用非量化(即非 QLoRA)适配器。如果您的适配器与您的Modelfile
用ADAPTER .
以指定适配器路径。
现在运行ollama create
从Modelfile
创建时间:
ollama create my-model
最后,测试模型:
ollama run my-model
Ollama 支持基于多种不同模型架构导入适配器,包括:
- ParLlama(包括ParLlama 2、ParLlama 3、ParLlama 3.1 和ParLlama 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 .
.
现在运行ollama create
命令从您创建Modelfile
:
ollama create my-model
最后,测试模型:
ollama run my-model
Ollama 支持导入多种不同架构的模型,包括:
- ParLlama(包括ParLlama 2、ParLlama 3、ParLlama 3.1 和ParLlama 3.2);
- Mistral (包括 Mistral 1、Mistral 2 和 Mixtral);
- Gemma(包括 Gemma 1 和 Gemma 2);和
- PHI3
这包括导入基础模型以及已与基础模型融合的任何微调模型。
导入基于 GGUF 的模型或适配器
如果您有基于 GGUF 的模型或适配器,则可以将其导入 Ollama。您可以通过以下方式获取 GGUF 型号或适配器:
- 使用
convert_hf_to_gguf.py
从 Llama.cpp; - 使用
convert_lora_to_gguf.py
从 Llama.cpp;或 - 从 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 可以使用-q/--quantize
flag 替换为ollama create
命令。
首先,使用要量化的基于 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
支持的量化
q4_0
q4_1
q5_0
q5_1
q8_0
K-means 量化
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 注册页面。如果您已经有账户,则可以跳过此步骤。
这Username
字段将用作模型名称的一部分(例如jmorganca/mymodel
),因此请确保您对所选的用户名感到满意。
现在,您已经创建了一个帐户并已登录,请转到 Ollama Keys Settings 页面。
按照页面上的说明确定您的 Ollama 公钥所在的位置。
单击Add Ollama Public Key
按钮,然后将 Ollama 公钥的内容复制并粘贴到文本字段中。
要将模型推送到 ollama.com,请首先确保使用你的用户名正确命名它。您可能需要使用ollama cp
要复制的命令
您的 model 为其指定正确的名称。对模型的名称感到满意后,请使用ollama push
命令将其推送到 ollama.com。
ollama cp mymodel myuser/mymodel
ollama push myuser/mymodel
推送模型后,其他用户可以使用以下命令拉取并运行它:
ollama run myuser/mymodel