llama.cpp : le moteur qui fait tourner un modèle sur un simple processeur

Résumé

Écrit en C pur, sans une seule dépendance, il a fixé le format de fichier qui a rendu les modèles quantifiés assez petits pour un portable ordinaire, et plusieurs outils de bureau connus reposent discrètement sur lui.

Recommander
Nom
llama.cpp
Version
0.4.1
Tarif
Gratuit
Open source
Open source
Système
WindowsmacOSLinux
Mis à jour
2026-10-06 09:29

Remontez assez loin l'histoire des modèles locaux et presque tous les noms mènent au même projet. En mars 2023, un développeur a porté un modèle ouvert tout juste paru sur du matériel grand public, en C et C++ purs, et ce qui n'était qu'un portage est devenu le socle de tout le domaine : entretenu aujourd'hui par une petite organisation, plus de 128 000 marques d'intérêt, et la même lignée de code d'inférence tourne discrètement sous les boutons de plusieurs logiciels de bureau connus. La version stable actuelle, vient de paraître, le 14 septembre 2026 et fournit toujours des paquets prêts pour les trois systèmes de bureau.

La vue web que le service local apporte avec lui

Sa contribution la plus connue est le format de fichier GGUF. Avant lui, les poids bruts d'un modèle ouvert atteignaient des dizaines de gigaoctets et mettaient le matériel grand public hors jeu ; GGUF emballe poids, découpage des mots et métadonnées dans un seul fichier, et avec la famille de niveaux de quantification appelée k-quants - Q4_K_M et ses voisins - la mémoire occupée par un modèle baisse d'environ 60 à 75 pour cent, avec une perte de qualité très faible. Un modèle de sept milliards de paramètres tombe alors à quelques GB et tient dans la mémoire d'un portable ordinaire, et les milliers de fichiers quantifiés qui circulent ont poussé autour de ce format. Autrement dit : la facilité actuelle, télécharger un fichier et faire tourner un modèle, repose sur des règles écrites par ce projet.

Le calcul sur le processeur n'y a jamais été un expédient mais un citoyen de première classe. Le moteur est profondément optimisé pour les jeux d'instructions vectorielles du x86-64 et pour les extensions équivalentes de la famille de puces économes, et dans les mesures de la communauté un modèle quantifié de sept à huit milliards de paramètres atteint 10 à 30 unités par seconde sur le processeur d'un portable moderne sans carte dédiée - de quoi tenir une conversation ordinaire. Pour la vieille tour sans carte, le portable de bureau à graphique intégrée ou le serveur domestique où glisser une carte dérange, c'est souvent la seule chose qui porte encore les modèles de cette année. D'où l'expression de dernière assurance : quand tout le reste recule devant le matériel, celle-ci tient généralement un tour de plus.

Les machines dotées d'une carte y gagnent aussi, et avec souplesse. Des couches entières d'un modèle peuvent être poussées sur la carte pendant que le reste demeure sur le processeur, si bien qu'un appareil à court de mémoire graphique arbitre couche par couche entre vitesse et capacité ; derrière cela se trouvent des noyaux dédiés aux cartes d'un fabricant, une prise en charge de premier ordre des puces maison et des chemins de calcul portables pour les deux autres. Le projet livre également llama-server, qui démarre un service local parlant le format de requête des grands hébergeurs et apportant sa propre page web ; les clients qui acceptent un point d'accès personnalisé le visent directement, et des mécanismes comme le traitement par lots continu s'activent en mode service.

La session en ligne de commande, échange avec image compris

Quatre sortes de gens échouent ici. L'amateur qui veut voir les boutons ; le développeur qui préfère glisser un moteur dans son produit plutôt que livrer une fenêtre de conversation ; le propriétaire d'une machine sans carte dédiée, pour qui tout le reste est fermé ; et celui qui administre un petit serveur domestique et ne veut rien d'autre qu'un point d'accès sur le réseau. Aucun ne cherche une interface léchée, et tous sont mieux servis par un châssis que par une voiture.

Son orientation mérite des mots clairs. Il n'y a pas d'interface graphique officielle ; la ligne de commande est la seule entrée bénie, et chaque valeur - longueur du contexte, nombre de couches déportées, nombre de fils, niveau de quantification - doit être énoncée ou acceptée par défaut. Ce que l'on y gagne, c'est le contrôle et la possibilité d'être embarqué : voici un moteur sans dépendances, non un produit fini, alors les développeurs le glissent dans leurs propres applications, les administrateurs le font tourner sans écran comme service, et les passionnés le câblent dans leurs automatisations. La licence est assez permissive pour que l'usage commercial et la reprise du code ne rencontrent aucun obstacle. Si les outils plus commodes sont des voitures livrées prêtes à rouler, celui-ci est le châssis nu, capot ouvert - pas pour tout le monde, mais pour qui accepte de mettre les mains dedans, c'est lui qui fixe jusqu'où va un déploiement local.

llama.cppTéléchargement
Systèmes pris en charge : Windows macOS Linux