Aller au contenu

Extension du contexte à 1 million de jetons

Trois ingrédients : une architecture qui n'a pas besoin d'être modifiée, des données longues qui exigent vraiment de la longue portée, et un curriculum économique.

1. L'encodage positionnel : rien à faire

Le gain structurel de NoPE

Kimi K3 n'utilise aucun encodage positionnel explicite. L'information de position est portée implicitement par le mécanisme de récurrence à décroissance de KDA.

Conséquence, telle qu'énoncée par le rapport : le modèle extrapolates directly to 1M-token contexts without any positional-encoding modification, such as RoPE rescaling or interpolation.

Pour mesurer ce que cela évite, voici ce qu'exige un modèle à RoPE pour passer de 128 K à 1 M :

Étape Coût
Choisir une méthode (YaRN, NTK-aware, interpolation linéaire) Recherche, essais
Recalculer la base de fréquences Sensible, souvent instable
Réentraîner sur des séquences longues pour adapter le modèle Coûteux
Vérifier que les performances à contexte court ne se dégradent pas Souvent, elles se dégradent

Chez Kimi K3, ces quatre étapes n'existent pas. On change simplement la longueur des séquences d'entraînement.

Voir Gated MLA et NoPE.

2. Les données longues : le nettoyage

Les documents et vidéos naturellement longs sont de mauvaise qualité en moyenne. Le rapport liste précisément les pathologies : quasi-doublons, blobs binaires, fichiers tronqués, clips vidéo, journaux générés automatiquement invalides.

Un pipeline dédié combine :

Technique Cible
Déduplication exacte et floue Quasi-doublons
Hachage perceptuel sur les images Doublons vidéo
Filtrage heuristique et par classifieur Qualité générale
Validation structurelle Fichiers tronqués, formats invalides

Sur-échantillonnage : les documents et vidéos réellement longs et cohérents sont rares par rapport au texte court. Ils sont donc sur-représentés, pour que la distribution longue ne soit pas noyée pendant le cooldown.

3. Le problème que la longueur ne résout pas

L'insight central de cette section

Length alone, however, does not confer long-range capability.

Un document de 500 000 jetons dont chaque phrase ne dépend que de la précédente n'entraîne aucune capacité longue portée. Le modèle apprend à prédire localement, et l'attention dégénère en motifs locaux.

Autrement dit : entraîner sur des séquences longues ne suffit pas ; il faut entraîner sur des tâches qui exigent la longue portée.

La solution : la synthèse de données longues

Kimi K3 fabrique des données longues en permutant et concaténant des documents multimodaux et des sous-tâches, de sorte que :

les tâches intégrées ne puissent être résolues qu'en portant attention à des informations dispersées dans l'intégralité du contexte de 1 M.

Intuition

C'est le principe des tests « aiguille dans une botte de foin », transposé en objectif d'entraînement plutôt qu'en simple évaluation. On force le mécanisme d'attention à s'exercer à l'échelle voulue.

Effet revendiqué : cela « entraîne le mécanisme d'attention à l'échelle visée et l'empêche de dégénérer en motifs locaux ».

4. Le curriculum en quatre phases

Phase Contexte Où
1 8 K Pré-entraînement
2 64 K Pré-entraînement
3 256 K Cooldown
4 1 M Cooldown

Le raisonnement économique

Le rapport : concentrer le calcul coûteux des longues séquences dans une petite fraction du budget global garde le curriculum économique, tout en laissant le modèle s'adapter graduellement à des dépendances de plus en plus longues.

Ordre de grandeur : une séquence de 1 M coûte, sur les couches MLA, environ \((1\,000\,000/8\,000)^2 = 15\,625\) fois plus qu'une séquence de 8 K. Même en tenant compte de l'hybridation, il est impensable d'entraîner massivement à cette longueur.

5. Le support infrastructure

Entraîner sur des séquences de 1 M exige de partitionner la séquence entre GPU. Pour les couches KDA, c'est KDA Context Parallelism qui rend l'opération tractable.

Rappel du problème : la règle delta applique un opérateur \(\mathbf{M}_t\) à l'état entrant, si bien que l'effet d'un segment local dépend de ce qui l'a précédé. On ne peut donc pas simplement calculer les états locaux depuis zéro et les sommer, comme le font les méthodes de parallélisme de contexte pour l'attention linéaire additive.

Ce que cela donne à l'usage

Le résultat le plus parlant

Sur BrowseComp, évalué avec la fenêtre complète de 1 M et aucune gestion de contexte, Kimi K3 obtient 90,4 %.

Avec une stratégie de compaction déclenchée à 300 K jetons : 91,2 %.

Autrement dit, le modèle exploite réellement sa fenêtre — la performance ne s'effondre pas quand on cesse de gérer le contexte. C'est loin d'être acquis pour tous les modèles annonçant de longues fenêtres.

Nuance

Ce résultat porte sur un banc. Le rapport ne publie pas de courbe de performance en fonction de la longueur de contexte, ni de test systématique de type « aiguille dans une botte de foin » à 1 M. La capacité longue portée n'est pas mesurée de façon isolée et systématique.

Vérification de compréhension

Pourquoi le hachage perceptuel pour les vidéos plutôt que la déduplication exacte ?

Parce que deux versions d'une même vidéo peuvent différer par l'encodage, la résolution, le débit ou un recadrage, tout en étant identiques perceptuellement. Un hachage exact ne les détecterait pas. Le hachage perceptuel produit des empreintes proches pour des images visuellement proches.

Que se passerait-il si on sautait la phase 256 K pour aller directement de 64 K à 1 M ?

Le rapport ne teste pas ce scénario. L'intuition générale sur les curricula est qu'un saut trop brutal produit une instabilité — le modèle voit des distributions de longueurs très éloignées de ce qu'il connaît. Le facteur 4 entre chaque étape (8→64 est un facteur 8, 64→256 un facteur 4, 256→1M un facteur 4) suggère un choix délibéré de progressivité.

Le contexte de 1 M est-il utilisable en pratique, côté coût ?

Au tarif API : ~3 $ pour un prefill complet hors cache, ~0,30 $ avec cache. C'est abordable pour une session de travail, prohibitif pour un usage massif. C'est exactement pourquoi le cache de préfixe et l'ordonnancement de flotte occupent tant de place dans le rapport.


Chapitre précédent : Recette de pré-entraînement · Chapitre suivant : SFT et modèle de conversation XTML