Les développeurs qui exécutent de grands modèles en local ont attendu trois ans et demi : llama.cpp a enfin publié la version 1.0.0 le 13 novembre. C'est la première version majeure officielle de ce moteur d'inférence en C/C++, et la première fois qu'il adopte le versionnage sémantique depuis mars 2023, époque où il utilisait de simples numéros de commit comme numéros de version. La bibliothèque de tenseurs associée, ggml, est sortie en 1.0.0 en même temps, et les deux projets promettent désormais que les changements incompatibles de l'API C publique n'apparaîtront que dans les versions majeures.
Ce qui a vraiment changé dans la 1.0.0
Le changement principal est un nettoyage. La version 1.0.0 supprime 35 fonctions publiques obsolètes, ainsi que d'anciennes options comme le réglage de préchauffage et le seuil de défragmentation, tout en promouvant l'API de décodage spéculatif NextN d'un en-tête d'extension vers l'en-tête principal llama.h, ce qui la place sous la protection du nouvel engagement de versionnage. Parmi les nouveautés figurent des caches KV au format FP8 OCP, un cache d'experts en mémoire hôte pour les modèles à mélange d'experts, et le chargement de données PLE ou engram externes depuis des fragments GGUF séparés. Selon le projet, llama.cpp prend désormais en charge plus de 150 variantes d'architectures de modèles ainsi que toutes les méthodes courantes de décodage spéculatif.
Qui est concerné par cette mise à jour
L'impact direct concerne les outils construits sur llama.cpp, au premier rang desquels les applications d'IA locales comme Ollama et LM Studio : elles peuvent enfin s'appuyer sur une API publique stable au lieu de retenir leur souffle à chaque nouveau numéro de commit. Pour les utilisateurs ordinaires qui se contentent d'applications prêtes à l'emploi, le numéro de version ne change rien de visible ; l'avantage est que les mises à jour futures deviennent plus prévisibles et les problèmes de compatibilité plus rares. Un avertissement s'impose toutefois : la 1.0.0 est elle-même une version de nettoyage, et toute application utilisant une API supprimée doit mettre à jour son code avant de migrer — il ne suffit pas de remplacer le binaire. Le seuil du déploiement local est en train de bouger, comme le montre l'exemple récent d'Edge0, qui a fait tenir un modèle de 145 milliards de paramètres dans un ordinateur portable.
Stable ne veut pas dire figé pour toujours
La promesse du versionnage sémantique est précise : les versions majeures correspondent aux changements incompatibles de l'API C publique, les versions mineures ajoutent des fonctionnalités sans rompre la compatibilité, et les versions correctives ne corrigent que des bogues. Mais elle porte sur l'API C publique, pas sur les sorties des modèles, les performances ou chaque option de ligne de commande. Le projet énumère aussi des canaux de distribution complets : les artefacts précompilés couvrent Linux, macOS, Windows, Android et iOS, avec Docker, Debian, Homebrew, conda-forge, MacPorts et Winget en complément. L'écosystème de l'IA locale est passé de « ça tourne » à « l'interface s'accompagne d'une promesse » — c'est là que réside la véritable portée de la 1.0.0.