LongAlign : Une recette pour l'alignement de contextes longs dans les grands modèles de langage
LongAlign: A Recipe for Long Context Alignment of Large Language Models
January 31, 2024
Auteurs: Yushi Bai, Xin Lv, Jiajie Zhang, Yuze He, Ji Qi, Lei Hou, Jie Tang, Yuxiao Dong, Juanzi Li
cs.AI
Résumé
L'extension des grands modèles de langage pour gérer efficacement des contextes longs nécessite un ajustement fin par instruction sur des séquences d'entrée de longueur similaire. Pour répondre à ce besoin, nous présentons LongAlign -- une méthode englobant les données d'instruction, l'entraînement et l'évaluation pour l'alignement des contextes longs. Premièrement, nous construisons un ensemble de données d'instruction longue en utilisant Self-Instruct. Pour garantir la diversité des données, celui-ci couvre un large éventail de tâches provenant de diverses sources de contextes longs. Deuxièmement, nous adoptons des stratégies de regroupement et de tri par lots pour accélérer l'ajustement supervisé sur des données présentant des distributions de longueur variées. De plus, nous développons une méthode de pondération des pertes pour équilibrer la contribution à la perte entre différentes séquences lors de l'entraînement par regroupement. Troisièmement, nous introduisons le benchmark LongBench-Chat pour évaluer les capacités de suivi d'instructions sur des requêtes de 10k à 100k de longueur. Les expériences montrent que LongAlign surpasse les méthodes existantes pour les LLM dans les tâches de contexte long jusqu'à 30\%, tout en maintenant leur compétence dans la gestion de tâches courtes et génériques. Le code, les données et les modèles alignés sur les contextes longs sont open-source à l'adresse https://github.com/THUDM/LongAlign.
English
Extending large language models to effectively handle long contexts requires
instruction fine-tuning on input sequences of similar length. To address this,
we present LongAlign -- a recipe of the instruction data, training, and
evaluation for long context alignment. First, we construct a long
instruction-following dataset using Self-Instruct. To ensure the data
diversity, it covers a broad range of tasks from various long context sources.
Second, we adopt the packing and sorted batching strategies to speed up
supervised fine-tuning on data with varied length distributions. Additionally,
we develop a loss weighting method to balance the contribution to the loss
across different sequences during packing training. Third, we introduce the
LongBench-Chat benchmark for evaluating instruction-following capabilities on
queries of 10k-100k in length. Experiments show that LongAlign outperforms
existing recipes for LLMs in long context tasks by up to 30\%, while also
maintaining their proficiency in handling short, generic tasks. The code, data,
and long-aligned models are open-sourced at https://github.com/THUDM/LongAlign.