“Pourquoi faire simple lorsqu’on peut faire compliqué.” Par curiosité je suppose. L’envie de savoir comment fonctionnent les choses. Par naïveté. Les mécanismes sont simples à décrire, c’est que la manipulation doit être aisée. Par défi. Si je peux le faire, je peux proposer d’autres usages.
C’est avec cet état d’esprit que j’étais lorsque j’ai reçu mon ordinateur. Mon objectif était de faire tourner des intelligences artificielles en local. Il me serait plus simple de payer un abonnement. Mais dans ce cas je serais limité à ce que propose l’éditeur. Mais passons à l’expérimentation.
Ollama
Ce nom ne vous dit rien. Pourtant, ce projet voulu par Méta, l’entreprise de Zuckie, est parfait pour débuter. Un programme à installer. Sous linux c’est une ligne de commande.
curl -fsSL https://ollama.com/install.sh | sh
Ensuite, avec des commandes très simple on peut charger
ollama pull <nom-du-modèle>
Et exécuter le modèle pour ensuite dialoguer avec l’intelligence artificielle.
ollama run <nom-du-modèle>
Sous WIndows, c’est encore plus simple. Après avoir téléchargé et installé l’application, l’interface se lance. Mais je ne suis pas fan du système d’exploitation de Microsoft. La télémétrie est trop indiscrète. La politique de licence est mesquine dans la liste des services entre la version Famille et la version Pro. Il me faudra en faire un article.
J’ai donc installé une distribution de Linux.
Ubuntu ou Debian
Pour un premier essai, je voulais faire simple. J’ai donc choisi Ubuntu. Tout s’est installé parfaitement. Ollama était optimisé pour ma carte graphique. Les IA répondaient très rapidement. Tout était parfait. Ou presque. Dès que je voulais installer des services supplémentaires j’avais des erreurs.
Ubuntu est une branche de Debian. Et cette dernière distribution, je l’utilise sur certains serveurs. C’est bien le comportement voulu pour simplifier l’usage par Canonical, les développeurs d’Ubuntu, qui bloque certains services. Et pour un développeur, c’est rageant de perdre son temps sur un détail.
Alors je remplace Ubuntu par la dernière version de Debian, Trixie. Je retrouve l’environnement connu. Je n’ai plus de problème pour l’ajout de services. Et tout se réinstalle sans problème. Jusqu’au drame.
Nvidia 50×0
Je ne comprends pas pourquoi mais l’écran refuse de s’allumer. En mode sans échec, je comprends que la carte graphique, l’artiste de mon ordinateur, refuse de peindre. Problème de pilotes. Oui, mais d’où vient le problème exactement ? Et comment le résoudre ?
Après avoir réinstallé le système d’exploitation et répété les manipulations jusqu’au plantage, je comprends que le coupable est Ollama. Ou plutôt son script d’installation. Les ingénieurs de chez Facebook cherchent à optimiser leur logiciel au mieux. En détectant ma configuration, ils se disent qu’il faut installer les derniers pilotes de la carte graphique.
Excellente idée puisque cela permet d’avoir des IA qui répondent très vite en local. Mais malheureusement, Nvidia n’a pas publié de pilotes pour la dernière version de Debian. Le modèle fonctionne un peu puis tout se crashe, définitivement.
La solution est simple : la conteneurisation. Ollama tournera dans un conteneur. Dans la bonne version du système d’exploitation, avec les optimisations de la carte graphique, le risque sera limité au conteneur, donc très facile à remplacer.
Bonus
Dans tout çà, j’ai quand même testé quelques modèles. Pour l’instant, je n’ai pas trouvé de modèle aussi performant que Gemini Fast 3. Mais ce dernier tourne sur les serveurs de Google.
J’ai testé deux modèles de Meta. Ollama a été écrit à l’origine pour faciliter l’utilisation des modèles de Zuckie. Le premier, Llama 3.2 est très rapide à répondre et connaît quelques histoires drôles. Cela reste limité. Le second, Code Llama, est catastrophique. Même en lui décrivant le besoin d’un programme, il m’a proposé des scripts minimalistes.
Rien que sûr Ollama, il existe des centaines de modèles à utiliser. Je n’en demande pas tant. Un collègue qui peut me débloquer lorsqu’il me manque une connaissance sur une technologie, c’est ce qu’il me faut pour développer un projet. Mixtral 8x7b semble un bon candidat même s’il n’est pas aussi convivial que Gemini.
