Расширение контекстного окна языковых моделей с использованием 100 образцов
Extending LLMs' Context Window with 100 Samples
January 13, 2024
Авторы: Yikai Zhang, Junlong Li, Pengfei Liu
cs.AI
Аннотация
Известно, что крупные языковые модели (LLM) обладают ограниченной способностью к экстраполяции за пределы их предварительно обученного контекстного окна, что ограничивает их применение в задачах с длинными входными данными. Недавние исследования были направлены на расширение контекстного окна LLM путем модификации ротационного позиционного кодирования (RoPE), популярного метода кодирования позиций, используемого известными LLM, такими как LLaMA, PaLM и GPT-NeoX. Однако предыдущие работы, такие как Position Interpolation (PI) и YaRN, требуют значительных ресурсов и не содержат сравнительных экспериментов для оценки их применимости. В данной работе мы выявляем необходимость поддержания стабильности энтропии внимания LLM (т.е. информационной энтропии оценок внимания) и предлагаем новое расширение RoPE, которое сочетает в себе настройку базовой частоты RoPE и масштабирование логарифмов внимания, чтобы помочь LLM эффективно адаптироваться к более широкому контекстному окну. Мы подтверждаем превосходство нашего метода как в производительности тонкой настройки, так и в устойчивости при различных размерах контекстного окна на различных задачах, требующих длинного контекста. Примечательно, что наш метод расширяет контекстное окно модели LLaMA-2-7B-Chat до 16 384 токенов, используя всего 100 образцов и 6 шагов обучения, демонстрируя исключительную эффективность. Наконец, мы также исследуем, как состав данных и учебные программы влияют на расширение контекстного окна для конкретных задач, предлагая тонкую настройку LLM на длинных диалогах в качестве хорошей отправной точки. Мы публикуем наш код и данные для тонкой настройки (SFT) по адресу https://github.com/GAIR-NLP/Entropy-ABF.
English
Large Language Models (LLMs) are known to have limited extrapolation ability
beyond their pre-trained context window, constraining their application in
downstream tasks with lengthy inputs. Recent studies have sought to extend
LLMs' context window by modifying rotary position embedding (RoPE), a popular
position encoding method adopted by well-known LLMs such as LLaMA, PaLM, and
GPT-NeoX. However, prior works like Position Interpolation (PI) and YaRN are
resource-intensive and lack comparative experiments to assess their
applicability. In this work, we identify the inherent need for LLMs' attention
entropy (i.e. the information entropy of attention scores) to maintain
stability and introduce a novel extension to RoPE which combines adjusting
RoPE's base frequency and scaling the attention logits to help LLMs efficiently
adapt to a larger context window. We validate the superiority of our method in
both fine-tuning performance and robustness across different context window
sizes on various context-demanding tasks. Notably, our method extends the
context window of LLaMA-2-7B-Chat to 16,384 with only 100 samples and 6
training steps, showcasing extraordinary efficiency. Finally, we also explore
how data compositions and training curricula affect context window extension
for specific downstream tasks, suggesting fine-tuning LLMs with lengthy
conversations as a good starting point. We release our code and SFT data at
https://github.com/GAIR-NLP/Entropy-ABF.