📋

Points Clés

  • Z80-μLM est un modèle de langage au niveau des caractères avec des poids quantifiés sur 2 bits.
  • L'ensemble du système tient dans un fichier .COM de 40KB.
  • Il fonctionne sur un processeur Z80 avec 64KB de RAM.
  • Le modèle peut jouer à une version simplifiée du 20 Questions.
  • L'entraînement a utilisé une formation sensible à la quantification avec des estimateurs à passage direct.

Résumé Rapide

Un nouveau projet démontre la viabilité de l'IA conversationnelle sur du matériel hérité. Z80-μLM est un modèle de langage au niveau des caractères spécifiquement conçu pour fonctionner dans les limites strictes d'un processeur Z80 et de 64KB de RAM. Contrairement aux grands modèles de langage modernes qui nécessitent des gigaoctets de mémoire et de puissants GPU, ce modèle intègre l'ensemble de sa pile opérationnelle dans un fichier .COM compact de 40KB. Cela lui permet de s'exécuter sur du matériel réel ou des émulateurs supportant le système d'exploitation CP/M.

Le modèle utilise des poids quantifiés sur 2 bits avec des valeurs limitées à {-2, -1, 0, +1}. Bien qu'il n'ait pas la capacité pour des tâches d'écriture générales, il est capable de jouer à une version simplifiée du 20 Questions et d'engager de brèves conversations à caractère personnel. Cette réussite souligne comment des contraintes extrêmes peuvent stimuler des solutions d'ingénierie innovantes dans le développement de l'IA.

Architecture Technique et Contraintes

Développer un modèle d'IA fonctionnant sur du matériel de la fin des années 1970 a nécessité une refonte complète des techniques d'apprentissage profond modernes. Le développeur a dû faire face au défi de faire tenir la logique d'inférence, les poids du modèle et une interface utilisateur de chat dans un binaire de 40KB. Pour y parvenir, le projet repose sur le hachage de trigrammes, une technique tolérante aux fautes de frappe mais qui sacrifie l'ordre des mots. De plus, le système utilise des calculs en entiers 16 bits plutôt que l'arithmétique en virgule flottante standard dans l'IA contemporaine.

L'architecture a été fortement influencée par la nécessité de s'adapter aux limitations matérielles du Z80. Plus précisément, le développeur a dû tenir compte des limites de l'accumulateur 16 bits du processeur. Le processus d'entraînement a été conçu pour gérer ces contraintes dès le départ, garantissant que le modèle ne nécessitait pas d'ajustements post-entraînement qui pourraient provoquer un effondrement de la quantification.

Méthodologie d'Entraînement 🧠

La clé du succès de Z80-μLM réside dans son approche d'entraînement unique, connue sous le nom de formation sensible à la quantification. Plutôt que d'entraîner un modèle standard et de le compresser plus tard, le développeur a exécuté deux passes avant en parallèle pendant l'entraînement : une utilisant des nombres en virgule flottante standard et une autre utilisant des valeurs quantifiées en entiers. Cela a permis au système d'évaluer le modèle sur la façon dont ses connaissances ont survécu au processus de quantification.

La boucle d'entraînement a activement poussé les poids vers la grille de 2 bits en utilisant des estimateurs à passage direct. Pour prévenir les erreurs, le système a appliqué des pénalités de débordement qui reflétaient les limites de l'accumulateur 16 bits du Z80. Cette méthode a garanti qu'à la fin de l'entraînement, le modèle s'était pleinement adapté aux contraintes de son matériel cible, éliminant le risque d'effondrement de la quantification après coup.

Génération de Données et Capacités

Pour apprendre au modèle comment jouer au jeu du 20 Questions, le développeur avait besoin d'un jeu de données spécifique. Le projet a utilisé l'API Claude pour générer ces données d'entraînement. Quelques dollars ont été dépensés sur l'API pour créer des exemples adaptés au format de jeu simplifié. Ces données permettent au modèle de fonctionner comme un partenaire de conversation dans un contexte limité.

Malgré sa petite taille, Z80-μLM est capable de maintenir l'illusion d'une conversation. Il possède une personnalité distincte et peut engager des échanges laconiques. Cependant, son utilité est strictement définie par ses données d'entraînement ; il ne peut pas généraliser à des tâches comme la composition d'e-mails ou le raisonnement complexe, se concentrant plutôt sur sa niche conversationnelle spécifique.

Conclusion

Z80-μLM représente une intersection fascinante entre l'informatique rétro et les techniques d'IA modernes. En adhérant strictement aux limitations de 64KB de RAM et d'une taille de fichier de 40KB, le projet prouve que des interactions d'IA utiles sont possibles même sur du matériel sévèrement contraint. L'utilisation d'une formation sensible à la quantification et de mathématiques en entiers offre un plan pour les futurs projets visant à exécuter de l'IA sur des systèmes embarqués ou des appareils hérités. Bien qu'il ne remplace pas les assistants modernes, il constitue une réalisation technique significative en code golf et en conception de modèles efficaces.