XYZNOT

Artículos · arXiv 2104.09864

RoFormer: Enhanced Transformer with Rotary Position Embedding

Publicado cs.CLcs.AIcs.LG arXivPDF

Leer con traducción e IA

Resumen en tres líneas

  1. 🎯 Los position embeddings estándar son vectores absolutos aditivos o modificaciones relativas que rompen la compatibilidad con la self-attention lineal.
  2. 🔧 RoPE multiplica los vectores query y key por matrices de rotación ortogonales y diagonales por bloques, de modo que su producto interno depende únicamente de la distancia relativa entre tokens.
  3. 📈 Alcanza 27.5 BLEU en WMT 2014 En-De, converge más rápido durante el preentrenamiento y supera a WoBERT en CAIL2019-SCM por 1.5% de exactitud con longitud de secuencia de 1024.

Resumen

La codificación de posición ha demostrado recientemente ser eficaz en la arquitectura transformer. Proporciona una valiosa supervisión para el modelado de dependencias entre elementos situados en diferentes posiciones de la secuencia. En este artículo, investigamos primero varios métodos para integrar la información posicional en el proceso de aprendizaje de los modelos de lenguaje basados en transformers. A continuación, proponemos un método novedoso denominado Rotary Position Embedding (RoPE) para aprovechar eficazmente dicha información posicional. En concreto, el RoPE propuesto codifica la posición absoluta con una matriz de rotación y, al mismo tiempo, incorpora la dependencia explícita de posición relativa en la formulación de self-attention. Notablemente, RoPE aporta valiosas propiedades, como la flexibilidad en la longitud de las secuencias, el decaimiento de la dependencia entre tokens al aumentar las distancias relativas y la capacidad de dotar a la self-attention lineal de una codificación de posición relativa. Por último, evaluamos el transformer mejorado con rotary position embedding, denominado también RoFormer, en varios benchmarks de clasificación de textos largos. Nuestros experimentos demuestran que supera sistemáticamente a sus alternativas. Además, proporcionamos un análisis teórico para explicar algunos de los resultados experimentales. RoFormer ya está integrado en Huggingface: \url{https://huggingface.co/docs/transformers/model_doc/roformer}.

Resumen original (inglés)

Position encoding recently has shown effective in the transformer architecture. It enables valuable supervision for dependency modeling between elements at different positions of the sequence. In this paper, we first investigate various methods to integrate positional information into the learning process of transformer-based language models. Then, we propose a novel method named Rotary Position Embedding(RoPE) to effectively leverage the positional information. Specifically, the proposed RoPE encodes the absolute position with a rotation matrix and meanwhile incorporates the explicit relative position dependency in self-attention formulation. Notably, RoPE enables valuable properties, including the flexibility of sequence length, decaying inter-token dependency with increasing relative distances, and the capability of equipping the linear self-attention with relative position encoding. Finally, we evaluate the enhanced transformer with rotary position embedding, also called RoFormer, on various long text classification benchmark datasets. Our experiments show that it consistently overcomes its alternatives. Furthermore, we provide a theoretical analysis to explain some experimental results. RoFormer is already integrated into Huggingface: \url{https://huggingface.co/docs/transformers/model_doc/roformer}.

Guía de lectura

Problema y motivación

La self-attention en los Transformers es inherentemente invariante a las permutaciones, por lo que requiere información posicional explícita. Los enfoques previos se dividen a grandes rasgos en dos categorías: embeddings de posición absoluta sumados directamente a las representaciones de las palabras (vectores sinusoidales fijos o aprendidos) y embeddings de posición relativa integrados en la matriz de atención (p. ej., Shaw et al., Transformer-XL, T5, DeBERTa). Sin embargo, los métodos relativos existentes se basan en gran medida en descomposiciones aditivas que modifican los logits intermedios de atención, lo que los hace incompatibles con los mecanismos de self-attention lineal basados en kernels que requieren representaciones factorizables. Además, los modelos a menudo tienen dificultades para escalar de forma natural a través de longitudes de secuencia variables.

Ideas clave

  • Distancia relativa mediante rotación vectorial: En lugar de sumar vectores de posición, RoPE aplica una matriz de rotación dependiente de la posición a las queries y keys transformadas afínmente. El producto interno entre una query rotada en el índice y una key rotada en el índice depende de forma natural únicamente de la distancia relativa .
  • Ortogonalidad y preservación de la norma: Dado que el operador de rotación es ortogonal, preserva la norma euclídea de las queries y keys, estabilizando los estados ocultos.
  • Decaimiento a largo plazo (long-term decay): Siguiendo un escalado de frecuencias sinusoidales, las interacciones entre tokens decaen de forma natural a medida que aumenta la distancia relativa, adaptándose a la intuición lingüística de que los tokens lejanos tienen dependencias más débiles.
  • Compatibilidad con atención lineal: Debido a que la información posicional se aplica directamente a los vectores de los tokens antes de calcular los productos escalares, RoPE se puede combinar con mecanismos de atención lineal basados en kernels (como Performer).

Método (con las ecuaciones clave)

El objetivo es encontrar funciones y cuyo producto interno dependa únicamente de los embeddings y de la distancia relativa:

En un subespacio 2D, tratar los vectores reales como números complejos produce la solución:

Para una dimensión de embedding par , el espacio se divide en subespacios bidimensionales con frecuencias . La transformación general aplica la matriz de rotación diagonal por bloques :

La puntuación de atención resultante entre las posiciones y satisface:

Para computar esto eficientemente sin multiplicaciones de matrices dispersas, RoPE se implementa mediante operaciones elemento a elemento:

Resultados (con las cifras más importantes)

  • Traducción automática: En WMT 2014 Inglés-Alemán, RoFormer alcanza 27.5 BLEU, superando a la línea base Transformer-base (27.3 BLEU).
  • Convergencia del preentrenamiento: Al entrenar BERT-base con RoPE en BookCorpus y Wikipedia, RoFormer converge más rápido y logra una menor pérdida en modelado de lenguaje enmascarado (MLM) que el BERT convencional.
  • Ajuste fino (fine-tuning) en GLUE: El modelo RoFormer preentrenado mejora significativamente las puntuaciones en tareas posteriores en MRPC (89.5 frente a 88.9 F1), STS-B (87.0 frente a 85.8 Spearman) y QQP (86.4 frente a 71.2 F1), aunque obtiene resultados inferiores a BERT en SST-2 (90.7 frente a 93.5), QNLI (88.0 frente a 90.5) y MNLI-m/mm (80.2/79.8 frente a 84.6/83.4).
  • Atención lineal (Performer): En el conjunto de datos Enwik8, añadir RoPE a un Performer a nivel de caracteres de 12 capas acelera notablemente la convergencia y reduce la pérdida de entrenamiento.
  • Emparejamiento semántico de textos largos: En CAIL2019-SCM, RoFormer-512 obtiene un 68.29% de exactitud de prueba (frente al 67.77% de BERT-512 y 68.10% de WoBERT-512). Al escalar a RoFormer-1024, la exactitud de prueba aumenta a 69.79% (una mejora absoluta del 1.5% respecto a WoBERT-512).

Limitaciones y preguntas abiertas

  • El artículo señala la falta de una explicación teórica de por qué la formulación rotatoria 2D converge más rápido durante el preentrenamiento en comparación con las alternativas aditivas.
  • Aunque la propiedad de decaimiento a largo plazo se demuestra matemáticamente, el motivo por el cual RoFormer generaliza notablemente mejor que modelos comparables en secuencias largas sigue siendo una pregunta abierta.
  • Evaluar RoFormer en un preentrenamiento a gran escala requiere un cómputo considerable de GPU, dejando las propiedades de escalabilidad más amplias para trabajos futuros.

Términos clave

Rotary Position Embedding (RoPE)
Mecanismo de codificación posicional que inyecta información de posición multiplicando las representaciones de query y key por matrices de rotación ortogonales y diagonales por bloques.
RoFormer
Arquitectura Transformer equipada con Rotary Position Embedding en lugar de codificaciones de posición estándar absolutas o relativas aditivas.
Long-term Decay
Propiedad matemática por la cual el producto interno entre queries y keys disminuye a medida que aumenta la distancia posicional relativa .
Linear Attention
Mecanismos de atención que calculan mapas de características basados en kernels para alterar el orden de multiplicación de matrices y lograr una complejidad computacional lineal .
PerFormer
Arquitectura Transformer con atención lineal evaluada en el artículo para demostrar que RoPE dota de forma transparente a la atención lineal de información de posición relativa.
CAIL2019-SCM
Benchmark de emparejamiento de casos similares (Similar Case Matching) de Chinese AI and Law 2019, que consta de tripletas de casos legales utilizadas para evaluar la capacidad de modelado de textos largos de más de 512 tokens.
WoBERT
Modelo BERT en chino basado en palabras utilizado como línea base comparativa y base de preentrenamiento para RoFormer en corpus en chino.

Preguntas

¿En qué se diferencia RoPE de los embeddings de posición sinusoidales estándar?

Los embeddings sinusoidales se suman a los vectores de tokens de entrada antes de las proyecciones lineales, mientras que RoPE se aplica multiplicativamente como una rotación directa sobre las proyecciones de query y key dentro de la capa de atención.

¿Por qué RoPE es compatible con la self-attention lineal mientras que otras codificaciones relativas no lo son?

Las codificaciones relativas existentes modifican los logits de atención por pares dentro de las operaciones de softmax, lo que rompe la factorización requerida por la atención lineal. RoPE rota los vectores de query y key de forma individual sin cambiar sus normas, permitiendo que los kernels de atención lineal operen con normalidad.

¿Requiere la aplicación de RoPE una multiplicación densa de matrices por $R^d_{\Theta, m}$?

No. Dado que es una matriz diagonal por bloques dispersa compuesta por bloques de , se implementa computacionalmente mediante multiplicaciones elemento a elemento y recombinaciones por pares usando vectores de cosenos y senos.

¿Cómo se comporta RoFormer al escalar a contextos más largos?

En el benchmark CAIL2019-SCM, al ampliar la longitud del contexto de 512 a 1024, la exactitud de prueba de RoFormer pasa del 68.29% al 69.79%, demostrando una sólida capacidad de generalización en longitud.

La explicación de esta página la escribió una IA a partir del artículo y puede contener errores. Consulte el artículo para los detalles.

Leer con traducción e IA