HeadlinesBriefing HeadlinesBriefing.com

WorldTUI : un modèle de 360 M qui fait semblant d'être un

Hacker News •
×

Un développeur a affiné un modèle de langage de 360 M de paramètres pour qu'il agisse comme un terminal. Il n'y a ni shell ni système de fichiers derrière. Au lieu de cela, chaque frappe de touche est envoyée au modèle, qui prédit comment l'écran va changer. Selon l'auteur, il peut créer des fichiers, lancer vim et tmux, jouer au snake, et se souvient généralement de ce qui a été saisi quelques commandes plus tôt. Les plus grandes améliorations sont venues de l'apprentissage au modèle à corriger ses propres erreurs et du décodage des lignes de l'écran en parallèle. La démo fonctionne dans un navigateur et pèse environ 208 Mo. Les utilisateurs peuvent taper « pythoon » pour constater qu'il ne s'agit pas d'un vrai shell.

Le projet s'inspire de Genie 3, qui laissait entrevoir un avenir où les applications sont apprises plutôt que programmées. L'auteur a ramené cette idée d'un monde de jeu à un terminal. Un terminal est une grille de caractères plutôt qu'une grille de pixels, et les données d'entraînement peuvent être générées en exécutant de vrais shells. Le modèle est basé sur Qwen2.5-Coder-0.5B et a été affiné sur des sessions de terminal enregistrées à partir de vrais programmes exécutés dans Docker.

Les modèles de langage classiques ajoutent les jetons un par un, ce qui ne convient pas à un terminal, où une seule frappe peut agir indépendamment et où la sortie n'arrive pas toujours en bas de l'écran. Le modèle prédit donc les modifications apportées à une grille de caractères. Chaque session commence par un instantané de la taille de l'écran, de son contenu et de la position du curseur. Les frappes sont envoyées sous forme d'octets bruts, comme le recevrait un vrai terminal, et le modèle répond en indiquant les lignes à réécrire et la nouvelle position du curseur. Le temps est aussi une entrée : un jeton WAIT permet au snake de continuer à avancer sans appui sur une touche.

Pour éviter de regénérer chaque ligne lorsque l'écran défile, l'auteur a ajouté une opération COPY qui déplace les lignes de l'écran précédent, économisant des milliers de jetons par frappe. La démo est conçue pour un navigateur de bureau prenant en charge WebGPU et un clavier physique ; Chrome ou Edge sont recommandés.

Source: Hacker News · Résumé par HeadlinesBriefing