LongAlign: Una Ricetta per l'Allineamento di Contesti Lunghi nei Modelli Linguistici di Grande Scala
LongAlign: A Recipe for Long Context Alignment of Large Language Models
January 31, 2024
Autori: Yushi Bai, Xin Lv, Jiajie Zhang, Yuze He, Ji Qi, Lei Hou, Jie Tang, Yuxiao Dong, Juanzi Li
cs.AI
Abstract
Estendere i modelli linguistici di grandi dimensioni per gestire efficacemente contesti lunghi richiede un fine-tuning su istruzioni con sequenze di input di lunghezza simile. Per affrontare questa sfida, presentiamo LongAlign -- una ricetta che comprende i dati di istruzione, l'addestramento e la valutazione per l'allineamento di contesti lunghi. In primo luogo, costruiamo un dataset di istruzioni lunghe utilizzando Self-Instruct. Per garantire la diversità dei dati, copriamo un'ampia gamma di task provenienti da varie fonti di contesti lunghi. In secondo luogo, adottiamo strategie di impacchettamento e ordinamento dei batch per accelerare il fine-tuning supervisionato su dati con distribuzioni di lunghezza variabile. Inoltre, sviluppiamo un metodo di ponderazione della perdita per bilanciare il contributo alla perdita tra diverse sequenze durante l'addestramento con impacchettamento. In terzo luogo, introduciamo il benchmark LongBench-Chat per valutare le capacità di seguire istruzioni su query di lunghezza compresa tra 10k e 100k. Gli esperimenti dimostrano che LongAlign supera le ricette esistenti per i modelli linguistici di grandi dimensioni nei task di contesto lungo fino al 30\%, mantenendo al contempo la loro competenza nella gestione di task brevi e generici. Il codice, i dati e i modelli allineati per contesti lunghi sono open-source all'indirizzo 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.