Статьи · arXiv 2104.09864
RoFormer: улучшенный Transformer с ротационным позиционным эмбеддингом
RoFormer: Enhanced Transformer with Rotary Position Embedding
Опубликовано cs.CLcs.AIcs.LG arXivPDF
Кратко в трёх строках
- 🎯 Стандартные позиционные эмбеддинги представляют собой либо аддитивные абсолютные векторы, либо относительные модификации, нарушающие совместимость с линейным self-attention.
- 🔧 RoPE умножает векторы query и key на ортогональные блочно-диагональные матрицы вращения, благодаря чему их скалярное произведение зависит исключительно от относительного расстояния между токенами.
- 📈 Достигает 27.5 BLEU на WMT 2014 En-De, быстрее сходится при предобучении и превосходит WoBERT на CAIL2019-SCM на 1.5% accuracy при длине последовательности 1024.
Аннотация
Позиционное кодирование доказало свою эффективность в архитектуре Transformer, обеспечивая ценный сигнал для моделирования зависимостей между элементами последовательности на разных позициях. В данной статье мы сначала исследуем различные методы интеграции позиционной информации в процесс обучения языковых моделей на базе Transformer. Затем мы предлагаем новый метод под названием Rotary Position Embedding (RoPE) для эффективного использования позиционной информации. В частности, предложенный метод RoPE кодирует абсолютную позицию с помощью матрицы вращения и одновременно с этим закладывает явную зависимость от относительной позиции в формулировку механизма self-attention. Примечательно, что RoPE обеспечивает ряд полезных свойств, включая гибкость по отношению к длине последовательности, затухание зависимости между токенами с ростом относительного расстояния, а также возможность интеграции кодирования относительных позиций в линейный self-attention. Наконец, мы оцениваем улучшенный Transformer с ротационным позиционным эмбеддингом, получивший название RoFormer, на различных бенчмарках классификации длинных текстов. Наши эксперименты показывают, что он устойчиво превосходит существующие альтернативы. Кроме того, мы приводим теоретический анализ для объяснения ряда экспериментальных результатов. RoFormer уже интегрирован в Huggingface: \url{https://huggingface.co/docs/transformers/model_doc/roformer}.
Оригинальная аннотация (англ.)
Position encoding recently has shown effective in the transformer architecture. It enables valuable supervision for dependency modeling between elements at different positions of the sequence. In this paper, we first investigate various methods to integrate positional information into the learning process of transformer-based language models. Then, we propose a novel method named Rotary Position Embedding(RoPE) to effectively leverage the positional information. Specifically, the proposed RoPE encodes the absolute position with a rotation matrix and meanwhile incorporates the explicit relative position dependency in self-attention formulation. Notably, RoPE enables valuable properties, including the flexibility of sequence length, decaying inter-token dependency with increasing relative distances, and the capability of equipping the linear self-attention with relative position encoding. Finally, we evaluate the enhanced transformer with rotary position embedding, also called RoFormer, on various long text classification benchmark datasets. Our experiments show that it consistently overcomes its alternatives. Furthermore, we provide a theoretical analysis to explain some experimental results. RoFormer is already integrated into Huggingface: \url{https://huggingface.co/docs/transformers/model_doc/roformer}.
Разбор статьи
Проблема и мотивация
Механизм self-attention в архитектуре Transformer по своей природе инвариантен к перестановкам, поэтому ему необходима явная позиционная информация. Предыдущие подходы в целом делятся на два лагеря: абсолютные позиционные эмбеддинги, добавляемые непосредственно к представлениям слов (обучаемые или фиксированные синусоидальные векторы), и относительные позиционные эмбеддинги, внедряемые в матрицу внимания (например, Shaw et al., Transformer-XL, T5, DeBERTa). Однако существующие относительные методы в основном полагаются на аддитивные разложения, модифицирующие промежуточные логиты внимания, что делает их несовместимыми с ядерными механизмами линейного self-attention, требующими факторизуемых представлений. Кроме того, моделям часто трудно плавно масштабироваться на переменные длины последовательностей.
Ключевые идеи
- Относительное расстояние через вращение векторов: Вместо сложения векторов позиций RoPE применяет зависящую от позиции матрицу вращения к аффинно преобразованным запросам (queries) и ключам (keys). Скалярное произведение между повернутым вектором query на позиции и повернутым вектором key на позиции естественным образом зависит только от относительного расстояния .
- Ортогональность и сохранение нормы: Поскольку оператор вращения ортогонален, он сохраняет евклидову норму векторов queries и keys, стабилизируя скрытые состояния.
- Долговременное затухание (Long-term Decay): Благодаря синусоидальному масштабированию частот взаимодействие токенов естественным образом затухает по мере увеличения относительного расстояния, что согласуется с лингвистической интуицией о более слабой зависимости между удаленными токенами.
- Совместимость с линейным вниманием: Поскольку позиционная информация применяется непосредственно к векторам токенов перед вычислением скалярных произведений, RoPE можно комбинировать с ядерными механизмами линейного внимания (такими как Performer).
Метод (с ключевыми уравнениями)
Цель состоит в нахождении таких функций и , чье скалярное произведение зависит только от эмбеддингов и относительного расстояния:
В двумерном подпространстве интерпретация вещественных векторов как комплексных чисел дает следующее решение:
Для четной размерности эмбеддинга пространство разбивается на двумерных подпространств с частотами . Общее преобразование применяет блочно-диагональную матрицу вращения :
Полученный балл внимания (attention score) между позициями и удовлетворяет равенству:
Для эффективного вычисления без использования разреженного матричного умножения RoPE реализуется через поэлементные операции:
Результаты (с важнейшими цифрами)
- Машинный перевод: На датасете WMT 2014 English-German модель RoFormer достигает 27.5 BLEU, опережая базовый Transformer-base (27.3 BLEU).
- Сходимость предобучения: При обучении BERT-base с RoPE на BookCorpus и Wikipedia RoFormer сходится быстрее и достигает более низкого значения потерь MLM (masked language modeling), чем стандартный BERT.
- Тонкая настройка на GLUE: Предобученный RoFormer существенно улучшает результаты в downstream-задачах на MRPC (89.5 против 88.9 F1), STS-B (87.0 против 85.8 Spearman) и QQP (86.4 против 71.2 F1), хотя уступает BERT на SST-2 (90.7 против 93.5), QNLI (88.0 против 90.5) и MNLI-m/mm (80.2/79.8 против 84.6/83.4).
- Линейное внимание (Performer): На датасете Enwik8 добавление RoPE к 12-слойному посимвольному Performer заметно ускоряет сходимость и снижает потери при обучении.
- Семантическое сопоставление длинных текстов: На CAIL2019-SCM RoFormer-512 достигает тестовой точности 68.29% (против 67.77% у BERT-512 и 68.10% у WoBERT-512). Увеличение контекста до RoFormer-1024 повышает точность на тесте до 69.79% (абсолютный прирост на 1.5% по сравнению с WoBERT-512).
Ограничения и открытые вопросы
- В работе отмечается отсутствие строгого теоретического объяснения того, почему 2D-ротационная формулировка сходится быстрее во время предобучения по сравнению с аддитивными аналогами.
- Хотя свойство долговременного затухания доказано математически, вопрос о том, за счет чего именно RoFormer заметно лучше обобщается на длинные последовательности по сравнению с аналогами, остается открытым.
- Оценка RoFormer в рамках крупномасштабного предобучения требует существенных вычислительных ресурсов на GPU, поэтому исследование свойств масштабирования в более широких масштабах оставлено для будущих работ.
Ключевые термины
- Rotary Position Embedding (RoPE)
- Механизм позиционного кодирования, внедряющий позиционную информацию путем умножения представлений query и key на ортогональные блочно-диагональные матрицы вращения.
- RoFormer
- Архитектура Transformer, оснащенная Rotary Position Embedding вместо стандартных абсолютных или аддитивных относительных позиционных кодирований.
- Long-term Decay
- Математическое свойство, при котором скалярное произведение векторов query и key уменьшается по мере роста относительного позиционного расстояния .
- Linear Attention
- Механизмы внимания, вычисляющие ядерные карты признаков для изменения порядка матричного умножения и достижения линейной вычислительной сложности .
- PerFormer
- Архитектура Transformer с линейным вниманием, протестированная в статье для демонстрации того, что RoPE без проблем наделяет линейное внимание информацией об относительных позициях.
- CAIL2019-SCM
- Бенчмарк сопоставления схожих дел Chinese AI and Law 2019, состоящий из триплетов судебных прецедентов и используемый для оценки качества моделирования длинных текстов свыше 512 токенов.
- WoBERT
- Китайская модель BERT на уровне слов, использованная в качестве сравнительного бейзлайна и фундамента для предобучения RoFormer на китайских корпусах.
Вопросы
Чем RoPE отличается от стандартных синусоидальных позиционных эмбеддингов?
Синусоидальные эмбеддинги складываются с входными векторами токенов до применения линейных проекций, тогда как RoPE применяется мультипликативно в виде вращения непосредственно к проекциям query и key внутри слоя внимания.
Почему RoPE совместим с линейным self-attention, в то время как другие относительные кодирования несовместимы?
Существующие относительные кодирования модифицируют попарные логиты внимания внутри операции softmax, нарушая факторизацию, необходимую для линейного внимания. RoPE вращает векторы query и key по отдельности без изменения их норм, что позволяет ядрам линейного внимания работать в штатном режиме.
Требует ли применение RoPE плотного матричного умножения на $R^d_{\Theta, m}$?
Нет. Поскольку является разреженной блочно-диагональной матрицей, состоящей из блоков , на практике вычисления выполняются как поэлементное умножение и попарная рекомбинация с использованием векторов косинусов и синусов.
Как RoFormer ведет себя при масштабировании на более длинные контексты?
На бенчмарке CAIL2019-SCM увеличение длины контекста с 512 до 1024 токенов повысило точность RoFormer на тесте с 68.29% до 69.79%, продемонстрировав отличную способность к обобщению на переменные длины.
Обзор на этой странице написан ИИ по тексту статьи и может содержать ошибки. Подробности смотрите в самой статье.