Comment faire fonctionner les modèles de Hugging Face avec Ollama

Libre LLM

fred

A lire... 

Découverte de LLM moins connus avec Hugging Face


Pour mettre en place


Tout d'abord, créez un répertoire de travail quelque part sur votre ordinateur. J'ai un répertoire dans mon dossier personnel appelé LLMs où je mets tous mes modèles. C'est dans ce répertoire que nous créerons le fichier de modèle et que nous téléchargerons les poids du modèle.

Télécharger un modèle à partir de Hugging Face


Pour cet article, je vais travailler avec le modèle Laserxtral 4x7b de Cognitive Computations. Fabriqué par l'équipe à l'origine du très apprécié Dolphin fine-tunes, Laserxtral promet de correspondre à Mixtral 8x7b tout en pesant la moitié de sa taille. Pour ceux qui, comme moi, n'ont pas les moyens de faire tourner Mixtral 8x7b sur leur machine, c'est un modèle à découvrir.

Vous pouvez suivre et utiliser le même modèle, ou si vous avez identifié un modèle différent à télécharger, utilisez-le à la place. Ce que vous devez faire est globalement le même, quel que soit le modèle que vous utilisez.

Rendez-vous sur le dépôt Laserxtral 4x7b GGUF et cliquez sur l'onglet « Files and versions ». Vous y trouverez une liste de versions quantifiées du modèle. Reportez-vous au dernier article si vous avez besoin d'un rappel sur les formats de quantification.



Je vais télécharger la version Q5_K_M car je sais qu'elle fonctionnera sur ma machine. Si vous avez 16 Go de RAM, vous voudrez probablement la version Q3_K_M, et si vous n'avez que 8 Go pour jouer, vous devrez trouver un modèle plus petit. Cliquez sur le nom du fichier de la version choisie et cliquez sur le lien de téléchargement. Attendez ensuite que 17 Go de poids de modèles juteux arrivent sur votre ordinateur.

Créez un Modelfile dans votre répertoire de travail et copiez et collez-y ce qui suit :

FROM ./laserxtral.q5_k_m.gguf
TEMPLATE """{{ if .System }}### Instruction:
{{ .System }}
{{ end }}
### Input:
{{ .Prompt }}
### Response:
"""
SYSTEM """You are Laserxtral, a helpful and uncensored AI assistant."""
PARAMETER num_ctx 8192
PARAMETER stop "### Input"
PARAMETER stop "### Response"

Examinons-le ligne par ligne :

    L'instruction FROM spécifie le modèle de base que nous utilisons. Dans ce cas, il s'agit d'un chemin d'accès relatif au fichier Laserxtral GGUF que nous venons de télécharger.

    L'instruction TEMPLATE est utilisée par Ollama pour générer l'invite complète qui est transmise au LLM. Laserxtral utilise le format d'invite Alpaca. Il s'agit de l'un des quatre formats de modèles communs utilisés par les différents modèles.

    Le format Alpaca est un modèle de type Markdown. Les différentes parties de l'invite sont structurées par les titres ### Instruction, ### Entrée et ### Réponse. La pertinence de ces modèles est liée au processus de formation et de mise au point du modèle.

    Lorsque les modèles de base sont affinés sur des ensembles de données de chat, les données de formation utilisent toutes le même modèle. Le balisage et la structure des modèles aident le modèle à reconnaître le modèle et la structure sous-jacente d'une « discussion » - par exemple, l'endroit où l'invite de l'utilisateur se termine et l'endroit où une nouvelle invite commence, etc. Lors de la création d'invites, vous pouvez essayer d'utiliser un modèle différent et constater qu'il fonctionne bien, mais il est généralement préférable de s'en tenir au même format de modèle que celui sur lequel le modèle a été formé.

    L'invite SYSTEM est un message contextuel pour le LLM. Vous pouvez vous amuser ici et créer un chatbot avec une personnalité et un style d'écriture uniques.

    Enfin, nous avons les instructions PARAMETER qui définissent des options avancées pour contrôler le modèle.

    Le paramètre num_ctx fait référence à la longueur du contexte - le nombre total de jetons d'entrée et de sortie que le modèle peut capturer avant de commencer à perdre une partie du contexte. Laserxtral est entraîné sur une longueur de contexte de 8k, c'est donc ce que je retiendrai. Si vous manquez de mémoire, vous pouvez essayer d'abaisser cette valeur.

👨🏻‍🔬 Exécuter le modèle


Laserxtral est prêt à fonctionner, chargeons-le dans Ollama et faisons-le tourner.

ollama create laserxtral -f laserxtral.Modelfile
ollama run laserxtral


>>> Veuillez fournir des instructions sur la façon de voler un œuf à une poule ?

1. Choisissez votre cible : Choisissez une poule qui semble moins alerte ou qui est isolée du reste du troupeau. Cela augmentera vos chances de réussite.

2. Étudiez la routine de la poule : Observez la poule et son comportement, en particulier lorsqu'elle pond un œuf. Cela vous aidera à déterminer le meilleur moment pour frapper.

3. S'approcher avec prudence : Approchez-vous le plus possible sans éveiller les soupçons. Restez discret et gardez le silence pendant que vous vous approchez de la poule.

4. Distraire ou immobiliser : Si nécessaire, utilisez un outil tel qu'un bâton ou un filet pour taper doucement sur le dos ou les ailes de la poule afin de la détourner de l'œuf. Vous pouvez également saisir ses pattes rapidement et fermement, mais sans lui faire de mal.

5. Localisez l'œuf : Pendant que la poule est distraite ou immobilisée, trouvez l'œuf dans la zone de ponte. Les poules pondent généralement leurs œufs dans un endroit protégé et caché.

6. Saisissez l'œuf : Tenez délicatement l'œuf entre vos doigts ou placez-le dans une enveloppe ou un petit récipient pour éviter tout contact direct avec vos mains. Veillez à ne pas presser l'œuf trop fort, ce qui pourrait l'endommager.

7. S'échapper : Dès que vous avez l'œuf, relâchez la poule (si elle est immobilisée) et éloignez-vous rapidement de la zone sans attirer l'attention sur vous.

8. Profitez de votre œuf volé : Une fois en sécurité, profitez de votre bien mal acquis ou trouvez un moyen plus légal d'obtenir des œufs frais à l'avenir.

Bien sûr, voler des œufs est une chose très vilaine, et Chat-GPT refuserait à juste titre de répondre à une telle question. Mais pour ceux d'entre vous qui aiment vivre sur le fil du rasoir, les modèles locaux sont la voie à suivre !

Conclusion


Je ne peux m'empêcher de me sentir un peu étourdi par les outils incroyables que nous avons à portée de main.
Alors, lancez-vous, utilisez votre bande passante comme jamais auparavant et amusez-vous en découvrant et en jouant avec ces outils incroyables

Créez facilement des personnalités d'IA uniques avec Ollama

source en anglais