Alors que les modèles de langage de grande taille (LLM) sont généralement réservés aux serveurs ou aux stations de travail dotées de multiples GPU, un développeur indépendant a réussi à faire fonctionner GLM-5.2, un modèle à 744 milliards de paramètres, sur un simple ordinateur portable équipé de 32 Go de RAM. Le projet, baptisé Colibrì, repose sur une approche ingénieuse de streaming des paramètres depuis le disque dur, permettant d'activer uniquement la partie nécessaire du réseau de neurones à chaque étape.
Une architecture MoE exploitée intelligemment
GLM-5.2 utilise une architecture mixture-of-experts (MoE) : bien que le modèle totalise 744 milliards de paramètres, seuls environ 40 milliards de paramètres sont activés pour chaque token traité. Le développeur a exploité cette particularité pour ne charger en mémoire vive que la partie dite « dense » du modèle – les couches d'attention, les embeddings et les experts partagés – qui représente environ 17 milliards de paramètres. Convertie en précision int4, cette partie occupe seulement 9,9 Go de RAM.
Les 21 504 experts « routés » (répartis sur 75 couches contenant chacune 256 experts, plus la tête MTP) sont quantifiés en int4 et stockés sur le disque, où ils occupent environ 370 Go. À chaque étape de génération, l'inférence charge depuis le disque uniquement les experts nécessaires au token en cours, en utilisant un cache LRU (Least Recently Used) par couche, un cache chaud optionnel, ainsi que le cache système du système d'exploitation comme second niveau de cache.
Un moteur minimaliste
Colibrì se compose d'un unique fichier C (c/glm.c) d'environ 1 300 lignes, accompagnés de quelques en-têtes légers. Le système n'utilise ni bibliothèque BLAS, ni Python, ni GPU. Le développeur précise que le projet a été entièrement conçu et testé sur un ordinateur portable équipé d'un processeur à 12 cœurs et de 25 Go de RAM réellement disponibles (bien que la machine dispose de 32 Go au total, une partie étant réservée au système).
Des performances très limitées mais démonstratives
L'exécution de GLM-5.2 avec Colibrì atteint environ 0,1 token par seconde en première utilisation (cold start), ce qui est extrêmement lent. Le développeur reconnaît que ce débit n'est pas adapté à une utilisation interactive, mais insiste sur l'importance de la démonstration de faisabilité : « Ce qui comptait pour moi, c'était le chemin parcouru pour atteindre cet objectif et, surtout, changer la perspective sur le projet. Je voulais que ça fonctionne à tout prix, même lentement. »
Un appel à la communauté open source
Le code de Colibrì est disponible sur GitHub sous licence libre. Le développeur encourage les contributions : signalement de bugs, partage de benchmarks effectués sur du matériel plus puissant (notamment avec des disques NVMe), ou encore dons de matériel pour permettre des tests plus poussés. L'objectif à terme est d'améliorer le moteur pour tous, en optimisant les caches, en explorant des quantifications int2 ou int3, et en validant les performances sur des configurations matérielles variées.
Ce projet illustre comment des modèles de très grande taille peuvent potentiellement être rendus accessibles sur du matériel grand public, à condition d'accepter des vitesses de génération très faibles. Il ouvre également la voie à des optimisations futures qui pourraient améliorer ces performances.