Principe du Recurrent Looped Transformer
Le Recurrent Looped Transformer (RLT) associe un encodeur causal à un décodeur récurrent dont l’état caché final ainsi que le cache d’attention glissante (sliding‑window attention, SWA) sont propagés d’un token à l’autre. Après t tokens, le chemin récurrent parcourt tL_D blocs du décodeur, où L_D désigne le nombre de couches du décodeur. Cette construction crée une profondeur temporelle « infinie » : la séquence peut s’allonger sans que le nombre de blocs exécutés par token ne change, contrairement à une architecture classique où chaque token implique un coût linéaire en longueur.
Architecture détaillée
L’encodeur possède 48 couches, chacune générant une mémoire globale de clés‑valeurs (global KV memory). Le décodeur, également composé de 48 couches, partage les poids d’attention et de réseau feed‑forward (FFN) avec l’encodeur, ce qui permet la réutilisation des paramètres à chaque étape. Un token entraîne l’exécution de 96 blocs logiques (48 blocs d’encodeur + 48 blocs de décodeur), mais les blocs de cross‑attention du décodeur ne consomment pas le même nombre de FLOPs que les blocs de self‑attention, introduisant une hétérogénéité de charge.
Le cache SWA conserve le token actuel et jusqu’à W‑1 entrées historiques, où W est la taille de la fenêtre. Ainsi, chaque mise à jour du décodeur ne nécessite que les W dernières clés‑valeurs, limitant la mémoire active tout en maintenant un accès aux informations récentes. Le système batchise les tokens connus de l’encodeur en mode causal, tandis que le décodeur continue d’avancer séquentiellement, garantissant la cohérence temporelle du chemin récurrent.
Analyse des performances et limites
Le gain théorique réside dans le fait que le coût par token reste fixe (96 blocs) alors que la profondeur effective augmente proportionnellement à t. En pratique, la réalisation de gains de raisonnement ou d’efficacité matérielle dépend de la capacité du matériel à réutiliser les poids et le cache sans surcharge de bande passante. Le modèle nécessite un BPTT complet pour obtenir des gradients exacts, incluant les chemins à travers les sorties récurrentes, le KV du décodeur et la mémoire de l’encodeur. Tout détachement de ces composantes modifie le calcul du gradient, ce qui complique les stratégies d’entraînement à grande échelle.
Un autre point critique est la mise à jour des caches lors de la politique actuelle de génération (current‑policy replay). Les paramètres mis à jour invalident les caches précédents, imposant une reconstruction complète de l’historique sous les nouveaux poids pour garantir la correspondance entre les probabilités de log‑probabilité enregistrées et la distribution de l’échantillonneur. Cette contrainte peut entraîner un surcoût computationnel important lors de l’entraînement en boucle fermée (RL).
En résumé, le RLT propose une architecture capable d’étendre indéfiniment la profondeur temporelle tout en maintenant un coût constant par token, mais la validation empirique de ses avantages en raisonnement, en efficacité matérielle et en mise à l’échelle RL reste à démontrer.