RoPE — метод позиционного кодирования, при котором позиция токена задаётся вращением его эмбеддинга в пространстве признаков.
Определение
Rotary embeddings (RoPE) — это схема позиционного кодирования, в которой позиция токена выражается как вращение его эмбеддинга в многомерном пространстве. Вместо добавления позиционных векторов RoPE применяет линейные преобразования с фиксированными частотами, создавая ротации, которые напрямую влияют на работу self-attention.
Метод улучшает способность моделей обрабатывать длинные контексты и корректно учитывать относительные зависимости между токенами.
Как работает
В RoPE каждое измерение эмбеддинга связывается с собственной частотой вращения. Позиция токена превращается в угол поворота, который применяется к парам компонент эмбеддинга. Основные механизмы:
- представление векторов как комплексных чисел — пары измерений интерпретируются как комплексная плоскость;
- ротация — позиция токена определяет угол поворота;
- относительная зависимость — self-attention получает информацию о разнице позиций напрямую через структуру ротаций;
- масштабируемость — частоты устроены так, что старшие компоненты изменяются медленнее, что помогает удерживать структуру на больших расстояниях.
Важная особенность RoPE: позиционная информация встроена не в сами эмбеддинги токенов, а в механизм внимания. Это создаёт естественное относительное позиционирование: модель учитывает расстояние между токенами, а не просто их абсолютные координаты.
Где применяется
- Трансформеры с длинным контекстом.
- Мультимодальные модели текста и изображений.
- Архитектуры, требующие устойчивости к длинным зависимостям.
- Модели с относительными позиционными зависимостями.
- LLM, использующие масштабируемое внимание.
- Системы обработки последовательностей большой длины.
Практические примеры использования
В больших языковых моделях RoPE позволяет стабильно увеличивать длину контекста: токены, находящиеся далеко друг от друга, сохраняют различимые относительные отношения в пространстве внимания.
При дообучении моделей для длинных документов RoPE снижает деградацию внимания, которая возникает при использовании классических синусно-косинусных кодировок.
В мультимодальных архитектурах (например, текст+картинка) RoPE позволяет согласовать разные типы последовательностей, обеспечивая одинаковую структуру позиционных зависимостей.
В трансформерах, ориентированных на временные ряды, ротационная схема помогает сохранять информацию о расстояниях между временными шагами.
Преимущества и ограничения
- Плюс: естественная поддержка относительных позиций.
- Плюс: улучшенная работа на длинных контекстах.
- Плюс: простота интеграции в структуру внимания.
- Плюс: хорошие свойства интерполяции и масштабирования.
- Минус: высокая чувствительность к выбору частот.
- Минус: при экстремально длинных контекстах требуется rescaling.
- Минус: несовместимость с некоторыми форматами линейного внимания.
- Минус: усложняет перенос моделей между разными позиционными схемами.
Связанные термины
- Positional encoding
- ALiBi
- Relative positional encoding
- Self-attention
- Long-context architectures
- Transformer architecture
- Token embeddings