Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
pratique:informatique:ia_ollama [04/10/2024 13:40] Zatalyzpratique:informatique:ia_ollama [31/08/2025 11:46] (Version actuelle) – retours des modèles Zatalyz
Ligne 1: Ligne 1:
-====== jouer avec l'IA localement ======+====== Jouer avec l'IA localement ======
 Ouais, c'est mal, ça crame des forêts, etc. J'ai honte.  Ouais, c'est mal, ça crame des forêts, etc. J'ai honte. 
  
-Installer localement ce genre d'outile permet de faire tourner un modèle de langage à la maison. Donc on crame "sa" forêt. Ou on peut le mettre sur un serveur alimenté en solaire. Ça ne règle pas tous les problèmes éthiques que posent ce genre d'outil, loin de là, mais je veux jouer avec, donc : zut.+Installer localement ce genre d'outil permet de faire tourner un modèle de langage à la maison. Donc on crame "sa" forêt. Ou on peut le mettre sur un serveur alimenté en solaire. Ça ne règle pas tous les problèmes éthiques que posent ce genre d'outil, loin de là, mais je veux jouer avec, donc : zut.
  
 Il y a plusieurs trucs :  Il y a plusieurs trucs : 
  
   * https://github.com/ollama/ollama/blob/main/docs/linux.md   * https://github.com/ollama/ollama/blob/main/docs/linux.md
 +    * Ollama est un peu l'outil par défaut pour tester. Pour une interface "graphique", Hollama offre une sorte de page web locale. 
   * https://github.com/mudler/LocalAI   * https://github.com/mudler/LocalAI
   * Autres ?   * Autres ?
 +
 +Ma machine, clairement vite limitée pour ces tests :
 +  * 16Go de RAM
 +  * GPU : NVIDIA GeForce GTX 970
 +  * CPU : AMD Ryzen 5 1600
  
 ===== Ollama ===== ===== Ollama =====
Ligne 16: Ligne 22:
   ollama start   ollama start
  
-On fera un service si on le laisse tourner (cf doc).+On peut faire un service si on le laisse tourner (cf doc officielle).
  
-Ensuite dans un autre terminal on va télécharger un modèle. La [[https://github.com/ollama/ollama?tab=readme-ov-file#model-library|liste est sur la doc]], mais je la remet ici triée par le "poids" du modèle. +==== Télécharger des modèles ==== 
 +=== Liste des modèles (courte) === 
 +La [[https://github.com/ollama/ollama?tab=readme-ov-file#model-library|liste est sur la doc]], mais je la remet ici triée par le "poids" du modèle. 
 ^ Modèles ^ Paramètres (en B) ^ Taille^ Commande ^  ^ Modèles ^ Paramètres (en B) ^ Taille^ Commande ^ 
 | Moondream 2  | 1,4 | 829MB  | ollama run moondream |  | Moondream 2  | 1,4 | 829MB  | ollama run moondream | 
Ligne 36: Ligne 44:
 | Llama 3.1  | 70 | 40GB  | ollama run llama3.1:70b |  | Llama 3.1  | 70 | 40GB  | ollama run llama3.1:70b | 
 | Llama 3.1  | 405 | 231GB  | ollama run llama3.1:405b |  | Llama 3.1  | 405 | 231GB  | ollama run llama3.1:405b | 
 +
 Parce que "Vous devez disposer d'au moins 8 Go de RAM disponible pour exécuter les modèles 7B, 16 Go pour exécuter les modèles 13B et 32 Go pour exécuter les modèles 33B.". Donc suivant la machine, faut éviter de voir trop gros... Parce que "Vous devez disposer d'au moins 8 Go de RAM disponible pour exécuter les modèles 7B, 16 Go pour exécuter les modèles 13B et 32 Go pour exécuter les modèles 33B.". Donc suivant la machine, faut éviter de voir trop gros...
 +
 +Il y a aussi moyen de récupérer des modèles ailleurs, mais il faut alors savoir ce qu'on cherche. 
 +
 +Pour les aspects "chat créatif", l'opinion ici et là est que Gemma 3 (même en 4B) et Mistral 7B sont assez bons. Phi-3 est plus léger et polyvalent mais moins riche sur ces aspects. 
 +
 +CodeLlama est plus spécifiquement orienté assistance au code. 
 +
 +Il y a aussi les modèles Deepseek. J'ai testé le 1.5B et il est très inventif en langue française, dans le genre absurde... 
 +
 +Un peu de vocabulaire :
 +  * Uncensored désigne les modèles où il n'y a pas de filtres sur la violence et le porn. Et sans doute des sujets creepy. 
 +  * Sur certains modèles, on a des terminaisons comme « Q6_K_L », « Q6_K_S », etc.
 +    * Q + chiffre indique le nombre de bits utilisés pour la quantification (Q6 = 6 bits par poids). Plus le chiffre est élevé, plus la précision est grande, mais cela demande aussi plus de ressources pour le faire tourner. 
 +    * K pour le mode de quantification « K » qui permet différentes granularités à l’intérieur du modèle, améliorant le rapport taille/qualité.
 +      * S(mall) : compresse davantage le modèle (plus rapide, prend moins de place, mais un peu moins précis).
 +      * M(edium) : équilibre taille et qualité.
 +      * L(arge) : plus de précision pour de meilleurs résultats, mais plus lourd.
 +    * Dans mon cas, Q4_K_M semblerait pertinent (à tester). 
 +
 +
 +=== En direct ===
 +Dans un autre terminal, on peut donner des commandes à Ollama, dont celle permettant de télécharger des modèles depuis leur plateforme. 
 +
 +va télécharger un modèle. 
  
 Donc c'est parti pour  Donc c'est parti pour 
Ligne 42: Ligne 75:
  
 <WRAP center round info 60%> <WRAP center round info 60%>
-Ça ne charge pas derrière une ligne adsl... Avec la fibre par contre ça va bien.+Ça ne charge pas toujours derrière une ligne adsl... Avec la fibre par contre ça va bien.
 </WRAP> </WRAP>
  
 +=== Téléchargé ailleurs ===
 +Si on ne veut pas installer Ollama "ailleurs", et juste récupérer des modèles sur une clé usb dans un coin avec une bonne connexion, il faut viser les format GGUF. 
 +
 +On copie les GGUF dans ''~/.ollama/models/'', puis on va donner quelques variables dans un fichier texte (exemple sur phi-3). Renseigner la température rendrait les réponses moins aléatoires.
 +<code txt ~/.ollama/models/phi3-modelfile>
 +FROM ~/.ollama/models/phi-3.Q4_K_M.gguf
 +PARAMETER temperature 0.7
 +PARAMETER num_ctx 2048
 +</code>
 +
 +On ajoute ensuite le modèle dans Ollama : 
 +  ollama create phi3 -f phi3-modelfile
 +
 +Si on utilise le même nom de modèle (phi3 ici), cela le met à jour.
 ==== Dossiers d'Ollama ==== ==== Dossiers d'Ollama ====
 <code>/usr/local/bin/ollama <code>/usr/local/bin/ollama
Ligne 52: Ligne 99:
  
 Les modèles sont stockés dans ''/home/MOI/.ollama/models''. Les modèles sont stockés dans ''/home/MOI/.ollama/models''.
 +
 +==== Commandes de base ====
 +
 +Lance le serveur manuellement :
 +  ollama serve
 +
 +Lister le modèles chargés localement :
 +  ollama list
 +
 +Supprimer un modèle (les sha du blob) :
 +  ollama rm nom_du_modele
 +
 +===== Retour sur les modèles =====
 +Étant donné mon ordi, je suis limitée aux modèles 7B, ce qui est "peu". Peut-on avoir de bons résultats avec ça en français ? ça dépend vraiment des attentes. 
 +  * C'est lent.
 +  * Plusieurs modèles baragouinent un français très inventif. Les résultats sont sans doute meilleurs en anglais, mais en français, c'est pas français justement.
 +  * La qualité des réponses n'est pas si mauvaise en agent conversationnel, dans les modèles qui répondent.
 +
 +''Mistral-7B-Instruct-v0.3-Q4_K_M'' et ''Nous-Hermes-2-Mistral-7B-DPO.Q4_K_M'' font des réponses dans un français correct (le dernier me fait quelques mélanges à l'occasion quand même), et offrent une réponse avec une certaine cohérence. Les autres sont à jeter...
 +
 +Pour le code, je n'ai pas encore testé, mais vu le niveau sur des demandes de recettes de cuisine ou de chansons (potables mais pas au top), je crains un peu ce que ça donnerait sur l'écriture de fonctions ; ça suffit sans doute pour trouver quelques hooks.
  
 {{tag>Informatique}} {{tag>Informatique}}
pratique/informatique/ia_ollama.1728042059.txt.gz · Dernière modification : 04/10/2024 13:40 de Zatalyz