Le défi central : RoPE (Rotary Position Embeddings) encode la position en utilisant des angles de rotation. Aux positions au-delà de la longueur d'entraînement, ces angles deviennent des extrapolations que le modèle n'a jamais vues, causant l'effondrement des patterns d'attention. Les techniques d'extension modifient la façon dont les positions correspondent aux angles de rotation pour que les séquences plus longues produisent des angles dans la plage d'entraînement du modèle.
L'interpolation NTK (Neural Tangent Kernel) ajuste les fréquences RoPE de manière non uniforme : les composantes haute fréquence (importantes pour les patterns locaux) sont préservées tandis que les composantes basse fréquence (dépendantes de la position) sont interpolées. Cela préserve la capacité du modèle à gérer les patterns locaux (ordre des mots, syntaxe) tout en étendant sa portée pour l'encodage positionnel global. C'est un changement d'une seule ligne de code qui améliore dramatiquement l'extrapolation de longueur.
YaRN (Yet another RoPE extensioN) combine l'interpolation NTK avec une correction de température d'attention et une petite quantité d'ajustement fin sur des données de longueur étendue (typiquement quelques centaines d'étapes). Ça produit des modèles qui gèrent 4 à 8x leur longueur de contexte originale avec une dégradation de qualité minimale. La plupart des modèles open-source à long contexte (comme les variantes long-contexte de Llama ou Mistral) utilisent YaRN ou des techniques similaires. L'étape d'ajustement fin est cruciale — la mise à l'échelle seule fonctionne dans une certaine mesure, mais l'ajustement fin à la longueur cible améliore significativement la qualité.