00292 Ollama 导入模型


前言

Ollama 导入模型.

Operating System: Ubuntu 22.04.4 LTS

参考文档

  1. Importing a model

从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 (including Llama 2, Llama 3, Llama 3.1, and Llama 3.2);
  • Mistral (including Mistral 1, Mistral 2, and Mixtral); and
  • Gemma (including Gemma 1 and Gemma 2)

你可以使用一个微调框架或工具来创建适配器,这些工具能够以Safetensors格式输出适配器,例如:

从Safetensors权重导入模型

首先,使用FROM命令创建一个Modelfile,该命令指向包含Safetensors权重的目录:

FROM /path/to/safetensors/directory

如果您在与权重相同的目录中创建Modelfile,则可以使用FROM .

现在从您创建Modelfile的目录运行ollama创建命令:

ollama create my-model

最后,测试模型:

ollama run my-model

Ollama支持为几种不同的架构导入模型,包括:

  • Llama (including Llama 2, Llama 3, Llama 3.1, and Llama 3.2);
  • Mistral (including Mistral 1, Mistral 2, and Mixtral);
  • Gemma (including Gemma 1 and Gemma 2); and
  • Phi3

这包括导入基础模型以及与基础模型融合的任何微调模型。

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

如果你有一个基于GGUF的模型或适配器,可以将其导入Ollama。你可以通过以下方式获得GGUF模型或适配器:

  • 使用Llama.cpp中的convert_hf_to_gguf.py将Safetensors模型转换为GGUF模型;
  • 使用Llama.cpp中的convert_lora_to_gguf.py将Safetensors适配器转换为GGUF适配器;
  • 从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标志与ollama create命令结合,将基于FP16和FP32的模型量化为不同的量化级别。

首先,创建一个包含你想要量化的基于FP16或FP32的模型的Modelfile。

FROM /path/to/my/gemma/f16/model

使用ollama创建,然后创建量化模型。

$ 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均值量化

  • q3_K_S
  • q3_K_M
  • q3_K_L
  • q4_K_S
  • q4_K_M
  • q5_K_S
  • q5_K_M
  • q6_K

结语

第二百九十二篇博文写完,开心!!!!

今天,也是充满希望的一天。


文章作者: LuYF-Lemon-love
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuYF-Lemon-love !
  目录