tgoop.com/nn_for_science/2237
Last Update:
Что делает Rotary Positional Encodings (RoPE) такими полезными в трансформерах?
(По мотивам статьи Round and Round we Go)
Позиционные кодировки — одна из ключевых составляющих моделей типа Transformer, ведь они позволяют им понимать порядок токенов в последовательности. Одним из самых продвинутых подходов являются Rotary Positional Encodings (RoPE), которые активно используются в современных языковых моделях. В этом посте мы разберём, как работает RoPE, почему он так полезен и что нового обнаружили учёные в его механике.
1. Основы: Трансформеры и механизм self-attention
Трансформеры — это мощные модели глубокого обучения, предназначенные для обработки последовательных данных, таких как текст. В основе их работы лежит механизм self-attention (самовнимание), который позволяет модели определять, какие части последовательности наиболее важны при обработке каждого токена.
Как это работает математически:
Для каждого токена трансформер создаёт три вектора:
• Query (Запрос, Q): что текущий токен “ищет” в других токенах.
• Key (Ключ, K): что представляет каждый токен.
• Value (Значение, V): информация, которую несёт каждый токен.
Оценка внимания (attention score) между двумя токенами вычисляется как скалярное произведение их векторов Query и Key.
Произведение используется для взвешивания информации токенов (Value) и формирования конечного результата.
2. Зачем нужны позиционные кодировки
Поскольку трансформеры обрабатывают все токены одновременно, им необходимо явно указывать позиционную информацию. Без этого модель не сможет отличить, например, “собака кусает человека” от “человек кусает собаку”. Позиционные кодировки (Positional Encodings, PE) вводят эту информацию, помогая модели понимать порядок слов.
3. Rotary Positional Encodings (RoPE)
RoPE — это продвинутый метод кодирования позиционной информации, который вместо простого добавления вектора позиции к каждому токену вращает векторы Query и Key в зависимости от их позиций в последовательности.
Как работает RoPE:
• Векторы Query и Key разбиваются на двумерные блоки.
• Каждый блок поворачивается на угол, зависящий от позиции токена в последовательности.
Это позволяет учитывать как саму суть токена, так и его положение относительно других токенов.
4. Высокие и низкие частоты в RoPE
В RoPE разные частоты вращения блоков Query и Key определяют, как быстро эти векторы поворачиваются:
• Высокие частоты вызывают быстрое вращение, что делает модель чувствительной к небольшим изменениям позиций токенов.
• Низкие частоты вращаются медленно, и их использование делает модель более стабильной на больших расстояниях между токенами.
Пример:
Предположим, у нас есть два токена: один на позиции 2, другой на позиции 4. RoPE поворачивает их векторы на углы 2*O и 4*O соответственно. При вычислении скалярного произведения модель учитывает не только содержание токенов, но и их относительное положение в последовательности.
5. Разоблачение мифа о затухании внимания с расстоянием
Ранее считалось, что RoPE помогает моделям за счёт того, что оценка внимания (attention score) уменьшается по мере увеличения расстояния между токенами. Однако авторы статьи показали, что это не всегда так. RoPE не обязательно вызывает затухание внимания, но, что более важно, он помогает модели формировать устойчивые паттерны позиционного внимания.
6. Использование низких и высоких частот RoPE
Исследования показали, что модели чаще всего используют низкие частоты RoPE для работы с семантическими отношениями между токенами. В то же время, высокие частоты применяются для создания позиционных attention heads, которые сосредотачиваются на точных позициях, таких как предыдущий или следующий токен.
7. Модификация RoPE: p-RoPE
Авторы статьи предложили улучшенную версию RoPE под названием p-RoPE. Она заключается в удалении самых низких частот, чтобы сделать модель более устойчивой на больших контекстах.
BY AI для Всех

Share with your friend now:
tgoop.com/nn_for_science/2237