Accueil Blog Mes Projets Lumen

Cet article n'est disponible qu'en français.

Un boîtier d'ordinateur ouvert, ventilateurs visibles, éclairé par la lumière d'un écran de terminal

Faire tourner un modèle de langage sur sa propre machine

Un soir de coupure réseau chez mon opérateur, j’ai voulu relire un bout de code avec l’aide d’un modèle. Pas de réseau, pas de modèle. J’ai passé la soirée à me demander pourquoi une machine qui a seize gigaoctets de mémoire et un GPU correct avait besoin d’un data center à l’autre bout de l’Atlantique pour m’expliquer une expression régulière. La semaine suivante, j’ai installé Ollama.

Ce que ça demande vraiment

L’installation prend moins de temps que la lecture des conditions d’utilisation d’un service en ligne. Une commande, un démon qui tourne en fond, puis un ollama run suivi du nom d’un modèle. Le téléchargement, lui, est long : les poids d’un modèle utile pèsent plusieurs gigaoctets, parce qu’on transporte littéralement les paramètres appris pendant l’entraînement.

Le facteur limitant n’est pas le processeur, c’est la mémoire. Un modèle doit tenir en RAM, ou mieux, dans la mémoire vidéo du GPU. C’est là qu’intervient la quantification : on réduit la précision des poids pour faire rentrer le modèle dans une machine ordinaire. On perd un peu de finesse, on gagne la possibilité de l’exécuter. Sur une carte graphique de joueur, les modèles de taille moyenne répondent à une vitesse de lecture confortable. Les gros modèles, eux, restent hors de portée, et il faut l’accepter sans se raconter d’histoires.

La qualité, sans complaisance

Un modèle local de taille moyenne n’est pas au niveau des services commerciaux les plus récents. Il hésite davantage, invente plus volontiers, perd le fil sur les longs contextes. Pour de la reformulation, du résumé, de la classification, de la génération de squelettes de code, il fait le travail. Pour du raisonnement long sur une base de code entière, je retourne aux outils hébergés, et je le dis sans honte : j’utilise aussi ce que je critique.

Ce qui change, en revanche, c’est le rapport à l’erreur. Quand le modèle tourne chez moi, je peux le relancer cinquante fois, changer la température, tester trois variantes de consigne, sans qu’un compteur tourne quelque part. L’expérimentation redevient gratuite au sens propre. Ça modifie la façon dont on travaille bien plus que je ne l’imaginais.

Ce qui ne sort plus de la maison

Le point le plus concret est administratif, pas technique. Quand j’envoie un extrait de code client à une API distante, je transmets à une entreprise tierce un fragment de propriété intellectuelle qui ne m’appartient pas toujours. Localement, le prompt ne quitte pas le disque. Pas de journalisation côté fournisseur, pas de clause sur l’usage des données à des fins d’amélioration du service, pas de changement unilatéral des conditions six mois plus tard.

Il y a aussi une question de qui possède l’outil. Les poids ouverts que je télécharge ont été entraînés par des entreprises qui ont dépensé des sommes considérables, puis publiés gratuitement pour occuper le terrain face aux modèles fermés. Je bénéficie d’une bataille commerciale entre géants. Ce n’est pas de la générosité, c’est une stratégie, et elle m’arrange pour l’instant. Rien ne garantit que la prochaine génération de poids sera publiée dans les mêmes termes.

Le coût déplacé

Faire tourner un modèle chez soi ne rend pas le calcul gratuit, il le rend visible. Le ventilateur du GPU monte en régime, la pièce chauffe, la facture d’électricité existe. La différence, c’est que ce coût est le mien et qu’il est mesurable, au lieu d’être dilué dans un abonnement mensuel dont je ne connais ni la marge ni l’empreinte.

Ma tour n’a rien d’exceptionnel. Elle a cinq ans, elle a déjà servi à monter des vidéos et à jouer, et elle exécute désormais un modèle de langage entre deux compilations. Le matériel que j’ai déjà payé fait un travail de plus, ce qui est probablement la chose la plus économe que j’aie faite cette année.

Articles liés

Illustration abstraite de pastilles de couleur sur fond prune

Tokens CSS : trois variables, six palettes

Comment tout le système de couleurs du site tient dans trois variables CSS, et pourquoi ça change tout pour le mode sombre.

Lire l'article →
Illustration abstraite du logo aifedespaix sur fond prune

Pourquoi ce site est un monorepo Astro

Comment aifedespaix.com et ses futurs sous-domaines partagent leur code sans se marcher dessus.

Lire l'article →

Sources

Ce que j'ai lu, regardé ou vérifié pour écrire cet article.

  1. Ollama, documentation officielle du projet (installation, gestion des modèles, API locale) ollama.com (ouvre dans un nouvel onglet)
  2. llama.cpp, dépôt du moteur d'inférence C/C++ qui permet l'exécution quantifiée sur CPU et GPU grand public github.com (ouvre dans un nouvel onglet)
  3. Wikipedia (EN), "Large language model" : architecture, taille des modèles et notion de quantification en.wikipedia.org (ouvre dans un nouvel onglet)