Andrei David, utilisateur de X (anciennement Twitter), vient d'installer et d'exécuter un modèle d'IA basé sur llama2.c d'Andrej Karpathy sur une console Xbox 360 vieille de près de 20 ans. Malgré son âge, David a utilisé un chargeur de démarrage pour charger le modèle sur l'ancienne console et exécuter une invite « Sleep Joe a dit ». Selon le message, la tentative réussie d'EXO Lab d'exécuter Llama sur un PC Windows 98 a inspiré David à expérimenter.
Bien que l'AI LLM utilisé par la Xbox 360 soit basé sur le même que celui du PC Windows 98 Pentium II d'EXO Lab, David a déclaré qu'il devait optimiser le code pour l'architecture PowerPC de la console et les fonctionnalités uniques (à l'époque) de gestion de la mémoire. La différence la plus significative est que PowerPC est une entreprise big-endian qui stocke en premier la valeur la plus importante.
Dans le même temps, le processeur Intel Pentium II utilisé pour l'implantation d'EXO Lab est petit-boutiste, ce qui donne la priorité au stockage de la plus petite valeur en premier. Ainsi, pour garantir que le modèle fonctionnerait correctement, il a dû mettre en œuvre un système d'échange d'octets et s'assurer que toutes les données créées et stockées avaient un alignement de mémoire approprié sur 128 octets, comme l'exige le sous-système de mémoire de la Xbox 360.
LLM fonctionnant sur Xbox 360 avec processeur Xenon (PowerPC 3,2 GHz avec 3 cœurs) et 512 Mo de RAM unifiée. Basé sur @karpathy's🩷llama2.c, porté pour fonctionner sur la puissante console de Microsoft à partir de 2005. Implémentation Pure C optimisée pour l'architecture PowerPC et la gestion de la mémoire Xbox. Inspiré par… pic.twitter.com/e9oMLaWIyi10 janvier 2025
Un autre défi auquel David a été confronté était l'utilisation de la mémoire unifiée par la console. Bien que cela soit courant aujourd'hui pour les consoles et les APU modernes, il s'agissait d'une nouvelle frontière lors du lancement de la Xbox 360, obligeant les développeurs de jeux à s'assurer que leurs titres utiliseraient au mieux le matériel de la console. Ainsi, même s'il disposait de 512 Mo de RAM, Andrei devait s'assurer que le modèle de 60 Mo correspondrait à la quantité d'espace que le système allouerait au CPU ou au GPU puisqu'ils partageaient le même pool de RAM.
Cependant, grâce à une gestion minutieuse de la mémoire et à un ajustement du fonctionnement du PowerPC, il a permis à l'ancienne console Xbox 360 d'exécuter le LLM. Il s'agit d'une nouvelle étape vers l'objectif d'EXO Lab de donner accès à l'IA à la personne moyenne, sans la limiter aux méga-entreprises qui dépensent des milliards de dollars en équipements haut de gamme et consomment des mégawatts d'énergie.
Exécuter un modèle d'IA basé sur Llama 2 sur un appareil vieux de plusieurs décennies est déjà un exploit fantastique, mais un utilisateur a commenté que 512 Mo de RAM unifiée devraient être plus que suffisants pour exécuter le SmolLM de Hugging Face ou le modèle Qwen2.5 4 bits 0,5B. . Andrei David a répondu : « Défi accepté ! :)', nous sommes donc impatients de voir des modèles d'IA plus puissants fonctionner sur une Xbox 360 à l'avenir.