LongRoPE : Extension de la fenêtre contextuelle des LLM au-delà de 2 millions de tokensLongRoPE: Extending LLM Context Window Beyond 2 Million Tokens
Une grande fenêtre contextuelle est une caractéristique souhaitable dans les grands modèles de langage (LLM). Cependant, en raison des coûts élevés de fine-tuning, de la rareté des textes longs et des valeurs catastrophiques introduites par les nouvelles positions de tokens, les fenêtres contextuelles étendues actuelles sont limitées à environ 128k tokens. Cet article présente LongRoPE qui, pour la première fois, étend la fenêtre contextuelle des LLM pré-entraînés à un impressionnant 2048k tokens, avec seulement jusqu'à 1k étapes de fine-tuning sur des longueurs d'entraînement de 256k, tout en maintenant les performances sur la fenêtre contextuelle courte d'origine. Cela est réalisé grâce à trois innovations clés : (i) nous identifions et exploitons deux formes de non-uniformités dans l'interpolation positionnelle via une recherche efficace, fournissant une meilleure initialisation pour le fine-tuning et permettant une extension de 8x dans des scénarios sans fine-tuning ; (ii) nous introduisons une stratégie d'extension progressive qui commence par fine-tuner un LLM de longueur 256k, puis effectue une deuxième interpolation positionnelle sur le LLM étendu fine-tuné pour atteindre une fenêtre contextuelle de 2048k ; (iii) nous réajustons LongRoPE sur une longueur de 8k pour restaurer les performances sur la fenêtre contextuelle courte. Des expériences approfondies sur LLaMA2 et Mistral à travers diverses tâches démontrent l'efficacité de notre méthode. Les modèles étendus via LongRoPE conservent l'architecture originale avec des modifications mineures de l'embedding positionnel, et peuvent réutiliser la plupart des optimisations préexistantes.