LongAlign: Рецепт для выравнивания длинного контекста в больших языковых моделях
LongAlign: A Recipe for Long Context Alignment of Large Language Models
January 31, 2024
Авторы: Yushi Bai, Xin Lv, Jiajie Zhang, Yuze He, Ji Qi, Lei Hou, Jie Tang, Yuxiao Dong, Juanzi Li
cs.AI
Аннотация
Расширение возможностей крупных языковых моделей для эффективной обработки длинных контекстов требует тонкой настройки на инструкциях с использованием входных последовательностей аналогичной длины. Для решения этой задачи мы представляем LongAlign — методологию, включающую создание данных для инструкций, обучение и оценку для согласования длинных контекстов. Во-первых, мы создаем набор данных для выполнения инструкций с длинными контекстами с использованием метода Self-Instruct. Чтобы обеспечить разнообразие данных, он охватывает широкий спектр задач из различных источников с длинными контекстами. Во-вторых, мы применяем стратегии упаковки и сортировки пакетов для ускорения контролируемой тонкой настройки на данных с различными распределениями длин. Дополнительно мы разрабатываем метод взвешивания потерь для балансировки вклада в потери для различных последовательностей во время обучения с упаковкой. В-третьих, мы представляем бенчмарк LongBench-Chat для оценки способности выполнения инструкций на запросах длиной от 10k до 100k. Эксперименты показывают, что LongAlign превосходит существующие методологии для языковых моделей в задачах с длинными контекстами на величину до 30%, сохраняя при этом их эффективность в обработке коротких, общих задач. Код, данные и модели, согласованные для длинных контекстов, доступны по адресу 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.