El desafío central: RoPE (Rotary Position Embeddings) codifica la posición usando ángulos de rotación. En posiciones más allá de la longitud de entrenamiento, estos ángulos se convierten en extrapolaciones que el modelo nunca ha visto, causando que los patrones de atención se rompan. Las técnicas de extensión modifican cómo las posiciones se mapean a ángulos de rotación para que las secuencias más largas produzcan ángulos dentro del rango entrenado del modelo.
La interpolación NTK-aware (Neural Tangent Kernel) ajusta las frecuencias de RoPE de forma no uniforme: los componentes de alta frecuencia (importantes para patrones locales) se preservan mientras los componentes de baja frecuencia (dependientes de posición) se interpolan. Esto preserva la capacidad del modelo para manejar patrones locales (orden de palabras, sintaxis) mientras extiende su rango para la codificación de posición global. Es un cambio de una línea de código que mejora dramáticamente la extrapolación de longitud.
YaRN (Yet another RoPE extensioN) combina interpolación NTK-aware con una corrección de temperatura de atención y una pequeña cantidad de ajuste fino en datos de longitud extendida (típicamente unos cientos de pasos). Esto produce modelos que manejan 4–8x su longitud de contexto original con degradación mínima de calidad. La mayoría de los modelos de código abierto de contexto largo (como variantes de Llama o Mistral de contexto largo) usan YaRN o técnicas similares. El paso de ajuste fino es crucial — el escalado solo funciona hasta cierto punto, pero el ajuste fino a la longitud objetivo mejora significativamente la calidad.