RoPE
Определение
RoPE — способ кодировать позиции токенов в самовнимании: он поворачивает пары координат векторов запроса и ключа на зависящий от позиции угол. При неизменных исходных векторах результат их сравнения зависит от разности позиций.
Также ищут: Rotary Position Embedding · rotary positional embedding · вращательное позиционное кодирование
Зачем это знать
RoPE помогает модели учитывать, где токены стоят относительно друг друга. Понимание этого механизма позволяет отличить изменение расчёта позиций от подтверждённой способности модели работать с длинным текстом.
Карта понятия
Что подтверждено
RoPE кодирует позицию поворотом векторов запроса и ключа: каждая пара координат поворачивается на угол, зависящий от позиции и частоты этой пары.
Граница применимости: Общая форма RoPE для векторов чётной размерности в RoFormer, §§3.2.1–3.2.2.
При фиксированных исходных q и k их скалярное произведение после позиционных поворотов зависит от разности позиций через относительный поворот.
Граница применимости: Математический вывод для RoPE; исходные q и k фиксированы. Не утверждает монотонного изменения оценки с расстоянием.
В учебном примере для q=k=(1,0) и условного угла 90° на позицию при позициях запроса 2 и ключа 1 скалярное произведение повёрнутых векторов равно 0; общий сдвиг обеих позиций на 2 сохраняет результат.
Граница применимости: Учебный расчёт для одной двумерной пары с условным углом; это не частота конкретной модели.
RoPE применяется к запросам Q и ключам K, по скалярным произведениям которых вычисляются оценки внимания; векторы значений V в этой операции не поворачиваются.
Граница применимости: Формулировка RoFormer и описание RoPE в §2.1 Position Interpolation.
Вычислимость RoPE для позиций за исходным окном обучения сама по себе не доказывает полезность таких позиций: в исследовании Position Interpolation отдельно оценивали расширенные модели на задачах длинного контекста.
Граница применимости: Вывод о необходимости оценки конкретной модели; результаты Position Interpolation относятся к исследованным RoPE-моделям LLaMA и описанным экспериментам.
В Position Interpolation индекс m заменяют на m×L/L′, где L — исходное окно, а L′ — расширенное. В описанных экспериментах авторы также дообучали модели LLaMA на расширенном окне.
Граница применимости: Метод и эксперименты Position Interpolation для исследованных RoPE-моделей LLaMA, §§2.3 и 3.
Что проверить
- Сверьте способ позиционного кодирования в конкретной модели и реализации.
- Проверьте длинные входы на целевых задачах и отдельно зафиксируйте качество, память и задержки.