Skip to content

Table of Contents

Importowanie dostosowanego adaptera z wagami Safetensors

Najpierw utwórz plik Modelfile z poleceniem FROM, które wskazuje na model bazowy użyty do dostosowywania, oraz poleceniem ADAPTER, które wskazuje na katalog z adapterem Safetensors:

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

Upewnij się, że używasz tego samego modelu bazowego w poleceniu FROM, co ten, którego użyłeś do utworzenia adaptera, w przeciwnym razie otrzymasz nieprzewidywalne wyniki. Większość frameworków używa różnych metod kwantyzacji, więc najlepiej używać adapterów niekwantyzowanych (czyli nie-QLoRA). Jeśli adapter znajduje się w tym samym katalogu co plik Modelfile, użyj ADAPTER ., aby określić ścieżkę do adaptera.

Teraz uruchom polecenie ollama create z katalogu, w którym został utworzony plik Modelfile:

shell
ollama create my-model

Na koniec przetestuj model:

shell
ollama run my-model

Ollama obsługuje importowanie adapterów opartych na kilku różnych architekturach modeli, w tym:

  • Llama (w tym Llama 2, Llama 3, Llama 3.1 i Llama 3.2);
  • Mistral (w tym Mistral 1, Mistral 2 i Mixtral); oraz
  • Gemma (w tym Gemma 1 i Gemma 2)

Adapter możesz utworzyć za pomocą frameworku lub narzędzia do dostosowywania modeli, które może generować adaptery w formacie Safetensors, na przykład:

Importowanie modelu z wagami Safetensors

Najpierw utwórz plik Modelfile z poleceniem FROM, które wskazuje na katalog zawierający wagi modelu w formacie Safetensors:

dockerfile
FROM /path/to/safetensors/directory

Jeśli utworzysz plik Modelfile w tym samym katalogu co wagi, możesz użyć polecenia FROM ..

Teraz uruchom polecenie ollama create z katalogu, w którym utworzyłeś plik Modelfile:

shell
ollama create my-model

Na koniec przetestuj model:

shell
ollama run my-model

Ollama obsługuje importowanie modeli dla kilku różnych architektur, w tym:

  • Llama (w tym Llama 2, Llama 3, Llama 3.1 i Llama 3.2);
  • Mistral (w tym Mistral 1, Mistral 2 i Mixtral);
  • Gemma (w tym Gemma 1 i Gemma 2); oraz
  • Phi3

Obejmuje to importowanie modeli bazowych oraz wszystkich dostosowanych modeli, które zostały scalone z modelem bazowym.

Importowanie modelu lub adaptera opartego na GGUF

Jeśli masz model lub adapter oparty na GGUF, możesz go zaimportować do Ollamy. Model lub adapter GGUF można uzyskać w następujący sposób:

  • konwertując model Safetensors za pomocą skryptu convert_hf_to_gguf.py z projektu Llama.cpp;
  • konwertując adapter Safetensors za pomocą skryptu convert_lora_to_gguf.py z projektu Llama.cpp; lub
  • pobierając model lub adapter z zasobów takich jak HuggingFace

Aby zaimportować model GGUF, utwórz plik Modelfile zawierający:

dockerfile
FROM /path/to/file.gguf

W przypadku adaptera GGUF utwórz plik Modelfile z następującą zawartością:

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

Podczas importowania adaptera GGUF ważne jest, aby użyć tego samego modelu bazowego, na którym adapter został utworzony. Możesz użyć:

  • modelu z Ollamy
  • pliku GGUF
  • modelu opartego na Safetensors

Po utworzeniu pliku Modelfile użyj polecenia ollama create, aby zbudować model.

shell
ollama create my-model

Kwantyzacja modelu

Kwantyzacja modelu pozwala na szybsze działanie modeli przy mniejszym zużyciu pamięci, ale kosztem obniżonej dokładności. Umożliwia to uruchamianie modeli na mniej wydajnym sprzęcie.

Ollama może kwantyzować modele oparte na FP16 i FP32 do różnych poziomów kwantyzacji za pomocą flagi -q/--quantize w poleceniu ollama create.

Najpierw utwórz plik Modelfile z modelem opartym na FP16 lub FP32, który chcesz skwantyzować.

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

Następnie użyj polecenia ollama create, aby utworzyć skwantyzowany model.

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

Obsługiwane kwantyzacje

  • q8_0

Kwantyzacje K-średnich

  • q4_K_S
  • q4_K_M

Udostępnianie swojego modelu na ollama.com

Możesz udostępnić dowolny utworzony przez siebie model, wypychając go na stronę ollama.com, aby inni użytkownicy mogli go wypróbować.

Najpierw przejdź w przeglądarce do strony Ollama Sign-Up. Jeśli już masz konto, możesz pominąć ten krok.

Rejestracja

Pole Username będzie używane jako część nazwy Twojego modelu (np. jmorganca/mymodel), więc upewnij się, że wybrana nazwa użytkownika Ci odpowiada.

Po utworzeniu konta i zalogowaniu się przejdź do strony Ollama Keys Settings.

Klucze Ollamy

Postępuj zgodnie z instrukcjami na stronie, aby sprawdzić, gdzie znajduje się Twój klucz publiczny Ollamy.

Kliknij przycisk Add Ollama Public Key i skopiuj oraz wklej zawartość swojego klucza publicznego Ollamy do pola tekstowego.

Aby wypchnąć model na ollama.com, najpierw upewnij się, że ma on poprawną nazwę zawierającą Twoją nazwę użytkownika. Być może będziesz musiał użyć polecenia ollama cp, aby skopiować model i nadać mu poprawną nazwę. Gdy nazwa modelu Ci odpowiada, użyj polecenia ollama push, aby wypchnąć go na ollama.com.

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

Po wypchnięciu modelu inni użytkownicy mogą go pobrać i uruchomić za pomocą polecenia:

shell
ollama run myuser/mymodel