Выбор ответа Senior Как устроены LLM обновлено

RoPE: что кодирует позиция

Вопрос

Как RoPE (rotary position embedding) передаёт модели информацию о позиции?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Поворачивает query и key на угол по позиции, и их произведение зависит от расстояния. RoPE применяет к парам координат q и k поворот на угол, пропорциональный позиции.

Варианты ответа

  1. Прибавляет к эмбеддингу токена обучаемый вектор абсолютной позиции, как в BERT и ранних GPT
  2. Добавляет в текст специальные токены с номерами позиций после каждого слова
  3. Поворачивает query и key на угол по позиции, и их произведение зависит от расстоянияправильный ответ
  4. Сортирует токены по позиции перед подачей в слой внимания и запоминает перестановку

Разбор

RoPE применяет к парам координат q и k поворот на угол, пропорциональный позиции. После поворота скалярное произведение q и k зависит от разности позиций: модель видит относительное расстояние. Обучаемые абсолютные позиции использовали BERT и ранние GPT. Специальных токенов-номеров нет. Сортировка не нужна: порядок и так задан.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме