Nous introduisons LARA (Latent Adaptive Reasoning Architecture), un framework de recherche pour l'évaluation systématique des améliorations modernes de transformeurs en tant que briques composables indépendantes. Nous implémentons huit techniques publiées — Differential Attention, Multi-Head Latent Attention (MLA), Mixture of Recursions, Recurrent Depth Scaling, Coconut Latent Reasoning, Titans Neural Memory, Depth Cross-Attention et Rotary Position Embeddings (RoPE) — sous un protocole d'entraînement unifié, permettant des ablations contrôlées à budgets iso-paramètres et iso-tokens.
Notre meilleure configuration (MLA + Profondeur Récurrente + Titans + DCA + RoPE) atteint une perplexité de 13,14 avec 124,6M de paramètres entraînés sur seulement 500M tokens du corpus C4, surpassant Pythia-160M entraîné sur 300B tokens en perplexité hors-distribution. Un avantage architectural clé est une compression 16× du cache KV via MLA sans dégradation de perplexité.
Nous caractérisons également l'interaction entre la durée d'entraînement, la composition du corpus et les performances sur les benchmarks en aval : la perplexité et la précision des tâches divergent sous un entraînement prolongé sur un budget de tokens fixe, et le domaine du corpus affecte significativement quels benchmarks en bénéficient. Le code et les poids des modèles sont publiés.
Le paysage des améliorations de transformeurs s'est étendu rapidement, avec des dizaines d'innovations architecturales proposées ces dernières années. Cependant, la plupart sont évaluées isolément dans des conditions d'entraînement variables, rendant les comparaisons directes difficiles. Les praticiens font face à un défi combinatoire : quel sous-ensemble d'améliorations adopter, et se composent-elles de manière additive ?
Nous répondons à cela via LARA, un framework conçu pour l'ablation compositionnelle : chaque amélioration est implémentée comme un drapeau de bascule dans une configuration de modèle partagée, entraînée dans des conditions identiques (jeu de données, optimiseur, taille de batch, planning de taux d'apprentissage). Cette conception nous permet d'attribuer les différences de performance directement aux choix architecturaux plutôt qu'aux artefacts d'entraînement.
LARA étend un transformeur standard de type GPT avec des modules optionnels contrôlés par des drapeaux booléens dans un ModelConfig partagé. Le modèle de référence utilise l'attention multi-têtes standard avec des embeddings positionnels absolus. Chaque brique remplace ou augmente un composant :
MLA décompose la projection clé-valeur en une projection descendante WDKV ∈ ℝd_c × d et des projections montantes WUK, WUV ∈ ℝd × d_c, où d_c ≪ d. À l'inférence, seul le latent compressé c_tKV = WDKV x_t ∈ ℝd_c est mis en cache par token, atteignant un ratio de compression d/d_c. Dans notre configuration, d = 1 024 et d_c = 64, donnant une réduction 16× du cache KV.
DCA augmente chaque bloc transformer ℓ avec un terme de cross-attention à portail :
où e_ℓ ∈ ℝd est un embedding de profondeur appris et g_ℓ est initialisé à −4,6 (sigmoid ≈ 0,01). Cela garantit que la DCA est quasi inactive à l'initialisation et monte organiquement pendant l'entraînement.
| ID | Nom | Briques actives | Notes |
|---|---|---|---|
| A | baseline | Aucune | GPT standard |
| B | diff_attn | DiffAttn | — |
| C | mor | DiffAttn + MoR | — |
| D | coconut | DiffAttn + MoR + Coconut | — |
| E | lara_full | Toutes les briques Phase-1 | — |
| F | lara_v2 | MLA + ProfRéc + Titans | 16× KV |
| G | lara_v2_full | F + Coconut | Différé |
| H | lara_v2_dca ★ | F + DCA | 16× KV |
| I | lara_v2_rope Meilleure | H + RoPE | 16× KV |
Tableau 1. Configurations expérimentales. ★ = contribution DCA.
Matériel. Toutes les expériences s'exécutent sur un GPU NVIDIA L4 (23 Go VRAM) via Lightning.ai.
Protocole d'entraînement. Sauf indication contraire, chaque modèle est entraîné pendant 5 000 itérations avec une taille de batch de 8 et une accumulation de gradient de 16 étapes (batch effectif ≈ 8 000 tokens × 512 ≈ 4M tokens par étape, ≈ 330M tokens au total). Nous utilisons AdamW avec β₁ = 0,9, β₂ = 0,95, weight decay 0,1, et un planning de taux d'apprentissage cosinus de 3×10⁻⁴ à 3×10⁻⁵ avec 500 étapes de réchauffement. Tous les modèles utilisent d = 1 024, n_layer = 6, n_head = 8 et une taille de bloc de 512.
Jeux de données. Les ablations courtes (5 000 iters) utilisent FineWeb-Edu, un sous-ensemble éducatif de haute qualité de CommonCrawl. Les exécutions longues (50 000 iters) comparent FineWeb-Edu et C4 pour étudier les effets du corpus.
Évaluation. La perplexité est mesurée sur un ensemble de validation de 10M tokens hors-distribution. Les benchmarks en aval (HellaSwag, ARC-Easy, LAMBADA) sont évalués en 0-shot via lm-evaluation-harness.
| # | Expérience | Briques | Params | PPL↓ | Tok/s↑ | KV | Iters |
|---|---|---|---|---|---|---|---|
| A | baseline | — | 203M | ~52* | 700 | 1× | 5k |
| B | diff_attn | DiffAttn | 127,5M | 70,56 | 1 231 | 1× | 5k |
| C | mor | DiffAttn+MoR | 127,5M | 74,52 | 433 | 1× | 5k |
| D | coconut | +Coconut | 128,5M | ~90* | 357 | 1× | 5k |
| E | lara_full | Phase-1 complète | 135,9M | ~80* | 334 | 1× | 5k |
| F | lara_v2 | MLA+ProfRéc+Titans | 190M | ~58* | 395 | 16× | 5k |
| H | lara_v2_dca ★ | +DCA | 125,1M | 60,84 | 486 | 16× | 5k |
| I | lara_v2_rope | +RoPE | 124,6M | ~52* | 472 | 16× | 5k |
| I | lara_v2_rope (50k, FW) | +RoPE | 124,6M | 14,66 | 472 | 16× | 50k |
| I | lara_v2_rope (50k, C4) Meilleure | +RoPE | 124,6M | 13,14 | 440 | 16× | 50k |
Tableau 2. Résultats d'ablation à 5 000 et 50 000 itérations.
* = point de contrôle perdu, PPL estimé à partir du val_loss enregistré.
Observations Phase 1. DiffAttn seul (B, PPL 70,56) obtient le meilleur résultat sur une seule brique. L'ajout de MoR (C) augmente légèrement le PPL, suggérant qu'à 5 000 itérations, le surcoût du routage l'emporte sur les bénéfices. Coconut (D) sous-performe à court terme, conformément à sa conception par curriculum nécessitant un entraînement prolongé. La pile complète Phase-1 (E) ne présente pas de synergie additive à iso-itérations, motivant la refonte Phase 2.
Observations Phase 2. Le passage à MLA (compression KV 16×) avec Profondeur Récurrente et Titans (F) atteint ~58 PPL tout en réduisant drastiquement la mémoire du cache KV. DCA (H) améliore le PPL à 60,84 avec un léger gain de débit. RoPE (I) égale le PPL de référence (~52) avec une compression 16×, confirmant que MLA, DCA et RoPE se composent sans interférence.
Entraînement prolongé. L'entraînement de lara_v2_rope sur 50 000 itérations sur FineWeb-Edu atteint PPL 14,66. Le passage au corpus C4 améliore encore le résultat jusqu'à PPL 13,14, surpassant Pythia-160M en perplexité hors-distribution malgré seulement 500M tokens d'entraînement contre 300B pour Pythia.
| Modèle | Corpus (iters) | Params | HellaSwag | ARC-Easy | LAMBADA |
|---|---|---|---|---|---|
| Pythia-160M † | 300B tokens | 160M | 30,18 % | 39,81 % | 32,89 % |
| GPT-2 † | 40B tokens | 117M | 31,08 % | 39,60 % | 32,10 % |
| diff_attn | FW-Edu (5k) | 127,5M | 26,47 % | 35,27 % | 8,21 % |
| mor | FW-Edu (5k) | 127,5M | 26,62 % | 34,89 % | 7,67 % |
| lara_v2_dca ★ | FW-Edu (5k) | 125,1M | 26,30 % | 36,78 % | 9,33 % |
| lara_v2_rope | FW-Edu (5k) | 124,6M | 26,45 % | 34,55 % | 7,63 % |
| lara_v2_rope | FW-Edu (50k) | 124,6M | 25,45 % | 29,67 % | 1,59 % |
| lara_v2_rope | C4 (50k) | 124,6M | 26,34 % | 26,73 % | 4,50 % |
Tableau 3. Scores des benchmarks en 0-shot. † = entraîné sur des budgets de tokens bien supérieurs.
Un résultat notable est que la perplexité et la précision des benchmarks en aval divergent significativement sous un entraînement prolongé sur un budget de tokens fixe. L'exécution FineWeb-Edu à 50k iters atteint PPL 14,66 (une amélioration 3,5× par rapport à 5k) mais perd 5–6 points sur ARC-Easy et 6 points sur LAMBADA par rapport à l'exécution à 5k. L'exécution C4 à 50k iters récupère partiellement LAMBADA (+2,9 points) mais dégrade encore ARC-Easy.
Nous attribuons cela au surapprentissage de la distribution : avec seulement 500M tokens uniques, 50 000 itérations correspondent à environ 30 passages sur les mêmes données. Le modèle mémorise les statistiques de surface de la distribution d'entraînement, améliorant le PPL hors-distribution sur le même domaine tout en perdant la généralisation inter-domaines. Ce résultat est cohérent avec Muennighoff et al. (2023), qui montrent que les données répétées sont néfastes au-delà d'un petit nombre d'époques.
La comparaison des exécutions à 50k sur FineWeb-Edu et C4 révèle des effets spécifiques au corpus :
Cela suggère que l'alignement du domaine du corpus avec la distribution d'évaluation cible est un levier plus puissant que la durée d'entraînement pour les performances sur les benchmarks.
La compression 16× du cache KV de MLA (de d = 1 024 à d_c = 64) est obtenue sans coût de perplexité : lara_v2_rope à 5k iters (~52 PPL, 16× KV) égale la référence (~52 PPL, 1× KV) à nombre de paramètres égal. Cette compression permet des fenêtres de contexte significativement plus longues à mémoire GPU fixe, un avantage pratique crucial pour l'inférence.
DiffAttn (B) atteint le débit le plus élevé (1 231 tok/s) grâce à son efficacité en paramètres. Les modèles Phase 2 (F–I) échangent une partie du débit (440–486 tok/s) contre la compression KV et une meilleure PPL à grande échelle. La porte DCA ajoute un surcoût minimal, cohérent avec son initialisation proche de zéro.
Nous avons présenté LARA, un framework d'ablation composable des améliorations de transformeurs. Nos expériences montrent que la combinaison MLA, Profondeur Récurrente, Titans, DCA et RoPE atteint la meilleure perplexité (13,14 sur C4) parmi toutes les configurations testées, avec une compression 16× du cache KV et 124,6M de paramètres entraînés sur 500M tokens. Nous identifions également une divergence systématique PPL–benchmark sous entraînement à données répétées, et un fort effet de domaine du corpus sur les performances spécifiques aux tâches.
Ces résultats soulignent l'importance d'évaluer les modèles de langage sur plusieurs axes — perplexité, benchmarks et efficacité à l'inférence — et d'utiliser des données d'entraînement diversifiées et non répétées.
Le code de toutes les expériences, les poids des modèles et les scripts d'évaluation sont disponibles publiquement :
github.com/s3basti3nDev/LARACe travail a été conduit avec l'assistance de Claude (claude.ai/code, Anthropic), utilisé comme assistant de codage et de rédaction tout au long du projet. L'ensemble des décisions scientifiques, de la conception expérimentale et des conclusions sont de l'auteur.