Skip to content

Содержание

Импорт дообученного адаптера из весов Safetensors

Сначала создайте Modelfile с командой FROM, указывающей на базовую модель, которую вы использовали для дообучения, и командой ADAPTER, которая указывает на каталог с вашим адаптером Safetensors:

dockerfile
FROM <base model name>
ADAPTER /path/to/safetensors/adapter/directory

Убедитесь, что в команде FROM указана та же базовая модель, которую вы использовали для создания адаптера, иначе вы получите непредсказуемые результаты. Большинство фреймворков используют разные методы квантования, поэтому лучше использовать неквантованные (то есть не QLoRA) адаптеры. Если ваш адаптер находится в том же каталоге, что и Modelfile, используйте ADAPTER . для указания пути к адаптеру.

Теперь запустите ollama create из каталога, в котором был создан Modelfile:

shell
ollama create my-model

Наконец, проверьте работу модели:

shell
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:

dockerfile
FROM /path/to/safetensors/directory

Если вы создаёте Modelfile в том же каталоге, что и веса, вы можете использовать команду FROM ..

Теперь запустите команду ollama create из каталога, в котором вы создали Modelfile:

shell
ollama create my-model

Наконец, проверьте работу модели:

shell
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

Сюда входит импорт базовых моделей, а также любых дообученных моделей, которые были слиты с базовой моделью.

Импорт модели или адаптера на основе GGUF

Если у вас есть модель или адаптер на основе GGUF, вы можете импортировать его в Ollama. Получить модель или адаптер GGUF можно следующими способами:

  • преобразованием модели Safetensors с помощью скрипта convert_hf_to_gguf.py из Llama.cpp;
  • преобразованием адаптера Safetensors с помощью скрипта convert_lora_to_gguf.py из Llama.cpp; или
  • загрузкой модели или адаптера из таких источников, как HuggingFace

Для импорта модели GGUF создайте Modelfile со следующим содержимым:

dockerfile
FROM /path/to/file.gguf

Для адаптера GGUF создайте Modelfile со следующим содержимым:

dockerfile
FROM <model name>
ADAPTER /path/to/file.gguf

При импорте адаптера GGUF важно использовать ту же базовую модель, на которой был создан адаптер. В качестве базовой модели можно использовать:

  • модель из Ollama
  • файл GGUF
  • модель на основе Safetensors

После создания Modelfile используйте команду ollama create для сборки модели.

shell
ollama create my-model

Квантование модели

Квантование модели позволяет запускать модели быстрее и с меньшим потреблением памяти, но с пониженной точностью. Это даёт возможность запускать модель на менее производительном оборудовании.

Ollama может квантовать модели на основе FP16 и FP32 до разных уровней квантования с помощью флага -q/--quantize команды ollama create.

Сначала создайте Modelfile с моделью на основе FP16 или FP32, которую вы хотите квантовать.

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

Затем используйте ollama create для создания квантованной модели.

shell
$ 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-средних

  • 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.

shell
ollama cp mymodel myuser/mymodel
ollama push myuser/mymodel

После отправки модели другие пользователи могут загрузить и запустить её с помощью команды:

shell
ollama run myuser/mymodel