GPU, ускорители и инфраструктура LLM

RoPE

Определение

RoPE — способ кодировать позиции токенов в самовнимании: он поворачивает пары координат векторов запроса и ключа на зависящий от позиции угол. При неизменных исходных векторах результат их сравнения зависит от разности позиций.

Также ищут: Rotary Position Embedding · rotary positional embedding · вращательное позиционное кодирование

Зачем это знать

RoPE помогает модели учитывать, где токены стоят относительно друг друга. Понимание этого механизма позволяет отличить изменение расчёта позиций от подтверждённой способности модели работать с длинным текстом.

Доказательная часть

Что подтверждено

  1. RoPE кодирует позицию поворотом векторов запроса и ключа: каждая пара координат поворачивается на угол, зависящий от позиции и частоты этой пары.

    Граница применимости: Общая форма RoPE для векторов чётной размерности в RoFormer, §§3.2.1–3.2.2.

  2. При фиксированных исходных q и k их скалярное произведение после позиционных поворотов зависит от разности позиций через относительный поворот.

    Граница применимости: Математический вывод для RoPE; исходные q и k фиксированы. Не утверждает монотонного изменения оценки с расстоянием.

  3. В учебном примере для q=k=(1,0) и условного угла 90° на позицию при позициях запроса 2 и ключа 1 скалярное произведение повёрнутых векторов равно 0; общий сдвиг обеих позиций на 2 сохраняет результат.

    Граница применимости: Учебный расчёт для одной двумерной пары с условным углом; это не частота конкретной модели.

  4. RoPE применяется к запросам Q и ключам K, по скалярным произведениям которых вычисляются оценки внимания; векторы значений V в этой операции не поворачиваются.

    Граница применимости: Формулировка RoFormer и описание RoPE в §2.1 Position Interpolation.

  5. Вычислимость RoPE для позиций за исходным окном обучения сама по себе не доказывает полезность таких позиций: в исследовании Position Interpolation отдельно оценивали расширенные модели на задачах длинного контекста.

    Граница применимости: Вывод о необходимости оценки конкретной модели; результаты Position Interpolation относятся к исследованным RoPE-моделям LLaMA и описанным экспериментам.

  6. В Position Interpolation индекс m заменяют на m×L/L′, где L — исходное окно, а L′ — расширенное. В описанных экспериментах авторы также дообучали модели LLaMA на расширенном окне.

    Граница применимости: Метод и эксперименты Position Interpolation для исследованных RoPE-моделей LLaMA, §§2.3 и 3.

Перед спецификацией

Что проверить

  1. Сверьте способ позиционного кодирования в конкретной модели и реализации.
  2. Проверьте длинные входы на целевых задачах и отдельно зафиксируйте качество, память и задержки.
Открытые основания

Первоисточники

  • Исследование2
  • Первичная публикация
    RoFormer: Enhanced Transformer with Rotary Position Embedding Jianlin Su et al. · arXiv:2104.09864v5, 08 ноября 2023 года; §§3.2.1–3.2.2 · проверено

    §§3.2.1–3.2.2 задают двумерный поворот и обобщение на пары координат; §3.3 описывает свойства механизма.

    Утверждения: 01 · 02 · 03 · 04 · 05

  • Первичная публикация
    Extending Context Window of Large Language Models via Position Interpolation Shouyuan Chen, Sherman Wong, Liangjian Chen, Yuandong Tian · arXiv:2306.15595v2, 28 июня 2023 года; §§2.1–2.3, §3 · проверено

    §2.1 описывает RoPE и зависимость оценки внимания от разности позиций; §§2.2–2.3 и §3 рассматривают экстраполяцию, интерполяцию и оценку расширенных моделей.

    Утверждения: 02 · 03 · 04 · 05 · 06

Карта знаний

Связанные понятия

Из знания — в навык

Курсы по теме

Подтвердите действие