Skip to content

Table des matières

Importation d'un adaptateur fine-tuné depuis des poids Safetensors

Tout d'abord, créez un Modelfile avec une commande FROM pointant vers le modèle de base que vous avez utilisé pour le fine-tuning, et une commande ADAPTER qui pointe vers le répertoire contenant votre adaptateur Safetensors :

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

Assurez-vous d'utiliser le même modèle de base dans la commande FROM que celui que vous avez utilisé pour créer l'adaptateur, sinon vous obtiendrez des résultats erratiques. La plupart des frameworks utilisent différentes méthodes de quantification, il est donc préférable d'utiliser des adaptateurs non quantifiés (c'est-à-dire non QLoRA). Si votre adaptateur se trouve dans le même répertoire que votre Modelfile, utilisez ADAPTER . pour spécifier le chemin de l'adaptateur.

Exécutez maintenant ollama create depuis le répertoire où le Modelfile a été créé :

shell
ollama create my-model

Enfin, testez le modèle :

shell
ollama run my-model

Ollama prend en charge l'importation d'adaptateurs basés sur plusieurs architectures de modèle différentes, notamment :

  • Llama (y compris Llama 2, Llama 3, Llama 3.1 et Llama 3.2) ;
  • Mistral (y compris Mistral 1, Mistral 2 et Mixtral) ; et
  • Gemma (y compris Gemma 1 et Gemma 2)

Vous pouvez créer l'adaptateur à l'aide d'un framework ou d'un outil de fine-tuning capable de générer des adaptateurs au format Safetensors, tels que :

Importation d'un modèle depuis des poids Safetensors

Tout d'abord, créez un Modelfile avec une commande FROM qui pointe vers le répertoire contenant vos poids Safetensors :

dockerfile
FROM /path/to/safetensors/directory

Si vous créez le Modelfile dans le même répertoire que les poids, vous pouvez utiliser la commande FROM ..

Exécutez maintenant la commande ollama create depuis le répertoire où vous avez créé le Modelfile :

shell
ollama create my-model

Enfin, testez le modèle :

shell
ollama run my-model

Ollama prend en charge l'importation de modèles pour plusieurs architectures différentes, notamment :

  • Llama (y compris Llama 2, Llama 3, Llama 3.1 et Llama 3.2) ;
  • Mistral (y compris Mistral 1, Mistral 2 et Mixtral) ;
  • Gemma (y compris Gemma 1 et Gemma 2) ; et
  • Phi3

Cela inclut l'importation de modèles de base ainsi que de tout modèle fine-tuné qui a été fusionné avec un modèle de base.

Importation d'un modèle ou d'un adaptateur basé sur GGUF

Si vous disposez d'un modèle ou d'un adaptateur basé sur GGUF, il est possible de l'importer dans Ollama. Vous pouvez obtenir un modèle ou un adaptateur GGUF en :

  • convertissant un modèle Safetensors à l'aide du script convert_hf_to_gguf.py de Llama.cpp ;
  • convertissant un adaptateur Safetensors à l'aide du script convert_lora_to_gguf.py de Llama.cpp ; ou
  • téléchargeant un modèle ou un adaptateur depuis une plateforme telle que HuggingFace

Pour importer un modèle GGUF, créez un Modelfile contenant :

dockerfile
FROM /path/to/file.gguf

Pour un adaptateur GGUF, créez le Modelfile avec :

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

Lors de l'importation d'un adaptateur GGUF, il est important d'utiliser le même modèle de base que celui utilisé pour créer l'adaptateur. Vous pouvez utiliser :

  • un modèle provenant d'Ollama
  • un fichier GGUF
  • un modèle basé sur Safetensors

Une fois que vous avez créé votre Modelfile, utilisez la commande ollama create pour construire le modèle.

shell
ollama create my-model

Quantification d'un modèle

La quantification d'un modèle vous permet d'exécuter des modèles plus rapidement et avec une consommation de mémoire réduite, mais au détriment de la précision. Cela vous permet d'exécuter un modèle sur du matériel moins performant.

Ollama peut quantifier des modèles basés sur FP16 et FP32 vers différents niveaux de quantification à l'aide de l'indicateur -q/--quantize avec la commande ollama create.

Tout d'abord, créez un Modelfile avec le modèle basé sur FP16 ou FP32 que vous souhaitez quantifier.

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

Utilisez ollama create pour ensuite créer le modèle quantifié.

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

Quantifications prises en charge

  • q8_0

Quantifications K-means

  • q4_K_S
  • q4_K_M

Partage de votre modèle sur ollama.com

Vous pouvez partager tout modèle que vous avez créé en le poussant vers ollama.com pour que d'autres utilisateurs puissent l'essayer.

Tout d'abord, utilisez votre navigateur pour accéder à la page Inscription Ollama. Si vous avez déjà un compte, vous pouvez passer cette étape.

Inscription

Le champ Username sera utilisé comme partie du nom de votre modèle (par exemple jmorganca/mymodel), assurez-vous donc que le nom d'utilisateur que vous avez choisi vous convient.

Maintenant que vous avez créé un compte et que vous êtes connecté, accédez à la page Paramètres des clés Ollama.

Suivez les instructions sur la page pour déterminer l'emplacement de votre clé publique Ollama.

Clés Ollama

Cliquez sur le bouton Add Ollama Public Key, puis copiez et collez le contenu de votre clé publique Ollama dans le champ de texte.

Pour pousser un modèle vers ollama.com, assurez-vous d'abord qu'il est correctement nommé avec votre nom d'utilisateur. Vous devrez peut-être utiliser la commande ollama cp pour copier votre modèle et lui donner le nom correct. Une fois que vous êtes satisfait du nom de votre modèle, utilisez la commande ollama push pour le pousser vers ollama.com.

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

Une fois que votre modèle a été poussé, d'autres utilisateurs peuvent le télécharger et l'exécuter en utilisant la commande :

shell
ollama run myuser/mymodel