Présentation de TokenTown

TokenTown est une ville isométrique où chaque quartier représente une étape d'un modèle de langage transformer. Un convoi transporte un état caché le long des routes : il est découpé en jetons au quai, transformé en vecteur à la fonderie, étiqueté avec sa position, puis conduit autour de l'anneau de couche (attention, résiduel, feed-forward, résiduel) une fois par couche, avant que le stade ne le transforme en distribution de probabilité et que l'échantillonneur n'en sélectionne un.

Fonctionnement de TokenTown

TokenTown simule réellement, dans votre navigateur, les étapes suivantes : la division du texte en jetons, la recherche d'embeddings, l'encodage positionnel sinusoidal, la normalisation de couche, l'attention multi-tête avec masquage causal sur un cache KV réel, l'addition résiduelle, une alimentation avant feed-forward GELU ; et l'échantillonnage avec température et top-p. Les barres sur le camion représentent les vecteurs réels. Les poutres au-dessus de l'entrepôt représentent les poids softmax réels.

Implémentation et limitations

TokenTown est une représentation simplifiée : 12 dimensions au lieu de milliers, 2 têtes d'attention au lieu de dizaines, 2-12 couches au lieu de 80, et un vocabulaire de quelques centaines de mots au lieu de 100 000+. Les poids sont aléatoires et rien n'a été entraîné, donc un modèle à poids aléatoires émettrait du bruit. Pour garder la sortie lisible, les logits finals combinent la projection de l'état caché réel avec un a priori bigramme construit à partir d'un petit corpus fixe.

Interaction avec TokenTown

La première fois que le convoi atteint un quartier, il s'arrête suffisamment longtemps pour lire l'explication de ce quartier, entre 9 et 26 secondes selon la quantité de texte. Une barre de progression sous le panneau de texte indique le temps restant avant la fin de l'arrêt. Une fois que tous les quartiers ont été expliqués, la ville fonctionne à un rythme observable au lieu d'un rythme lisible, et les couches répétées accélèrent car elles sont la même route avec des poids différents. La touche espace maintient tout arrêt indéfiniment, S fait avancer une étape à la fois, et le curseur de vitesse ajuste tout, y compris les arrêts de lecture, de 0,4× à 8×.