Mis à nu jusqu’au silicium : la quête radicale d’un GPT sans dépendances
Un codeur ambitieux ose exécuter un modèle d’IA générative directement depuis le noyau de son système d’exploitation maison, rejetant toute bibliothèque externe.
Dans un monde où l’intelligence artificielle rime souvent avec bases de code tentaculaires, dépendances infinies et fermes de GPU vibrant sous la chaleur du progrès, un développeur pose la question : jusqu’où peut-on aller dans l’épuration ? Ethan Zhang, un codeur intrépide amateur d’extrêmes, s’est lancé dans une expérience audacieuse : construire un modèle génératif pré-entraîné (GPT) qui s’exécute directement depuis le noyau de son propre système d’exploitation, dépouillé de toute pièce non essentielle.
L’ampleur de l’IA grand public peut donner le vertige : pensez à GPT-4 d’OpenAI, avec des millions investis dans le matériel et des piles logicielles allant des bibliothèques Python au silicium sur mesure. Mais Zhang, inspiré par MicroGPT d’Andrej Karpathy - une implémentation minimaliste de GPT - a voulu voir jusqu’où il pouvait déconstruire l’édifice de l’IA moderne. Première étape : vider MooseOS, le système d’exploitation en C qu’il avait construit pour apprendre. Exit l’interface graphique, le système de fichiers et la plupart des pilotes matériels. Ne restait qu’un noyau épuré, taillé pour une seule tâche ciblée.
Privé de système de fichiers, Zhang s’est retrouvé face à une énigme : comment injecter les données d’entraînement dans l’IA ? Sa solution : intégrer les données directement dans le noyau sous forme d’en-tête, tout en mémoire. Le jeu de données est modeste - seulement 32 000 mots, bien loin des milliards des modèles commerciaux. Pourtant, cela suffit au modèle pour apprendre et générer de nouveaux noms plausibles, dans l’esprit de MicroGPT.
Si le projet peut sembler utopique, il constitue une preuve de concept puissante : l’apprentissage automatique complexe n’a pas forcément besoin de s’appuyer sur des piles logicielles tentaculaires. En écrivant tout en C et en exécutant le code directement sur du matériel (virtuel), le KernelGPT de Zhang démontre à la fois la flexibilité et la fragilité de l’IA à l’état brut. Pas de Numpy, pas d’interpréteur Python, pas de filet de sécurité - juste du métal nu et du code.
Jusqu’à présent, KernelGPT n’a fonctionné que dans le cocon sécurisé de QEMU, un émulateur de machine populaire, des problèmes matériels ayant empêché une démonstration sur matériel réel. Mais les implications sont fascinantes. Les modèles d’IA du futur pourraient-ils se débarrasser de leurs dépendances encombrantes et tourner sur des systèmes sur-mesure ultra-optimisés ? Ou bien cet exercice rappelle-t-il à quel point l’IA moderne repose sur un échafaudage invisible ?
À une époque obsédée par la démesure, l’expérience d’Ethan Zhang rappelle avec force que l’innovation consiste parfois à retirer plutôt qu’à ajouter. Alors que l’IA continue de s’étendre sur des plateformes toujours plus puissantes, KernelGPT témoigne du pouvoir - et du danger - du minimalisme radical.
WIKICROOK
- Noyau : Le noyau est le cœur d’un système d’exploitation, gérant les ressources matérielles et logicielles pour garantir un fonctionnement efficace et sécurisé du système.
- Dépendance : Une dépendance est un code ou logiciel externe dont dépend un projet ; si elle est compromise, elle peut introduire des vulnérabilités dans tous les projets qui en dépendent.
- Génératif pré : Le génératif pré est la phase initiale d’entraînement des modèles d’IA, leur permettant de comprendre les schémas de données et de s’adapter à des tâches de cybersécurité.
- QEMU : QEMU est un émulateur de machine open source permettant d’exécuter des machines virtuelles, souvent utilisé en cybersécurité pour tester logiciels et firmwares en toute sécurité.
- En-tête (en programmation) : Un en-tête en programmation est un fichier ou une section de code contenant des déclarations et définitions, généralement inclus au début d’un programme.