XYZNOT

Articles · arXiv 2104.09864

RoFormer : Transformer amélioré avec Rotary Position Embedding

RoFormer: Enhanced Transformer with Rotary Position Embedding

Publié le cs.CLcs.AIcs.LG arXivPDF

Lire avec traduction et IA

Résumé en trois lignes

  1. 🎯 Les plongements de position standards sont soit des vecteurs absolus additifs, soit des modifications relatives rompant la compatibilité avec l'auto-attention linéaire.
  2. 🔧 RoPE multiplie les vecteurs de requêtes et de clés par des matrices de rotation orthogonales blocs-diagonales afin que leur produit scalaire ne dépende que de la distance relative entre les tokens.
  3. 📈 Obtient 27,5 BLEU sur WMT 2014 En-De, converge plus rapidement pendant le pré-entraînement et surpasse WoBERT sur CAIL2019-SCM de 1,5 % de précision à une longueur de séquence de 1024.

Résumé

L'encodage de position s'est récemment révélé efficace dans l'architecture Transformer. Il fournit une supervision précieuse pour la modélisation des dépendances entre les éléments situés à différentes positions de la séquence. Dans cet article, nous étudions d'abord diverses méthodes pour intégrer l'information positionnelle dans le processus d'apprentissage des modèles de langue fondés sur le Transformer. Ensuite, nous proposons une nouvelle méthode baptisée Rotary Position Embedding (RoPE) pour exploiter efficacement cette information positionnelle. Plus précisément, le RoPE proposé encode la position absolue à l'aide d'une matrice de rotation tout en intégrant une dépendance explicite vis-à-vis de la position relative dans la formulation de l'auto-attention. Notamment, RoPE offre des propriétés avantageuses, notamment la flexibilité de la longueur de séquence, la décroissance de la dépendance entre tokens avec l'augmentation des distances relatives, et la capacité d'équiper l'auto-attention linéaire d'un encodage de position relative. Enfin, nous évaluons le Transformer amélioré avec un plongement de position rotatif, également appelé RoFormer, sur divers jeux de données d'évaluation de classification de textes longs. Nos expériences montrent qu'il surpasse systématiquement ses alternatives. De plus, nous fournissons une analyse théorique pour expliquer certains résultats expérimentaux. RoFormer est d'ores et déjà intégré dans Huggingface : \url{https://huggingface.co/docs/transformers/model_doc/roformer}.

Résumé original (anglais)

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}.

Guide de lecture

Problème et motivation

L'auto-attention dans les Transformers est par nature invariante par permutation, nécessitant une information explicite de position. Les approches antérieures se divisent globalement en deux catégories : les plongements de position absolue ajoutés directement aux représentations de mots (vecteurs sinusoïdaux fixes ou appris) et les plongements de position relative intégrés dans la matrice d'attention (par ex., Shaw et al., Transformer-XL, T5, DeBERTa). Cependant, les méthodes relatives existantes reposent largement sur des décompositions additives qui modifient les logits d'attention intermédiaires, ce qui les rend incompatibles avec les mécanismes d'auto-attention linéaire à base de noyaux exigeant des représentations factorisables. De plus, les modèles peinent souvent à passer à l'échelle harmonieusement sur des longueurs de séquence variables.

Idées maîtresses

  • Distance relative par rotation vectorielle : Au lieu d'ajouter des vecteurs de position, RoPE applique une matrice de rotation dépendante de la position aux requêtes (queries) et clés (keys) transformées de manière affine. Le produit scalaire entre une requête tournée à l'indice et une clé tournée à l'indice dépend naturellement et uniquement de la distance relative .
  • Orthogonalité et préservation de la norme : L'opérateur de rotation étant orthogonal, il préserve la norme euclidienne des requêtes et des clés, stabilisant ainsi les états cachés.
  • Décroissance à longue distance (Long-term decay) : En suivant une mise à l'échelle des fréquences sinusoïdales, les interactions entre tokens décroissent naturellement à mesure que la distance relative augmente, ce qui correspond à l'intuition linguistique selon laquelle les tokens éloignés ont des dépendances plus faibles.
  • Compatibilité avec l'attention linéaire : L'information de position étant appliquée directement aux vecteurs de tokens avant le calcul des produits scalaires, RoPE peut être combiné avec une attention linéaire à base de noyaux (telle que Performer).

Méthode (avec les équations fondamentales)

L'objectif est de trouver des fonctions et dont le produit scalaire ne dépend que des plongements et de la distance relative :

Dans un sous-espace 2D, traiter les vecteurs réels comme des nombres complexes donne la solution suivante :

Pour une dimension de plongement paire , l'espace est partitionné en sous-espaces 2D avec des fréquences . La transformation générale applique la matrice de rotation blocs-diagonale :

Le score d'attention obtenu entre les positions et vérifie :

Pour calculer cela efficacement sans multiplication par une matrice creuse, RoPE est implémenté via des opérations élément par élément :

Résultats (avec les chiffres clés)

  • Traduction automatique : Sur le jeu WMT 2014 anglais-allemand, RoFormer atteint 27,5 BLEU, surpassant le Transformer-base de référence (27,3 BLEU).
  • Convergence du pré-entraînement : Lors de l'entraînement de BERT-base avec RoPE sur BookCorpus et Wikipedia, RoFormer converge plus vite et atteint une perte de modélisation de langue masquée (MLM) plus faible que le modèle BERT classique.
  • Fine-tuning sur GLUE : RoFormer pré-entraîné améliore significativement les scores en aval sur MRPC (89,5 contre 88,9 F1), STS-B (87,0 contre 85,8 Spearman) et QQP (86,4 contre 71,2 F1), bien qu'il obtienne des scores inférieurs à BERT sur SST-2 (90,7 contre 93,5), QNLI (88,0 contre 90,5) et MNLI-m/mm (80,2/79,8 contre 84,6/83,4).
  • Attention linéaire (Performer) : Sur le jeu de données Enwik8, l'ajout de RoPE à un modèle Performer à 12 couches au niveau des caractères accélère considérablement la convergence et réduit la perte d'entraînement.
  • Correspondance sémantique de textes longs : Sur CAIL2019-SCM, RoFormer-512 obtient une précision de test de 68,29 % (contre 67,77 % pour BERT-512 et 68,10 % pour WoBERT-512). Passer à RoFormer-1024 augmente la précision de test à 69,79 % (soit une amélioration absolue de 1,5 % par rapport à WoBERT-512).

Limites et questions ouvertes

  • L'article souligne l'absence d'explication théorique quant à la raison pour laquelle la formulation rotative en 2D converge plus vite pendant le pré-entraînement comparée aux alternatives additives.
  • Bien que la propriété de décroissance à longue distance soit démontrée mathématiquement, les raisons pour lesquelles RoFormer généralise nettement mieux que les modèles concurrents sur des séquences longues restent une question ouverte.
  • L'évaluation de RoFormer sur un pré-entraînement à grande échelle requiert des ressources de calcul GPU substantielles, ce qui reporte l'étude plus générale du passage à l'échelle à de futurs travaux.

Termes clés

Rotary Position Embedding (RoPE)
Un mécanisme d'encodage de position qui injecte l'information positionnelle en multipliant les représentations de requêtes et de clés par des matrices de rotation orthogonales blocs-diagonales.
RoFormer
Une architecture Transformer munie du Rotary Position Embedding au lieu des encodages de position standards absolus ou relatifs additifs.
Long-term Decay
La propriété mathématique selon laquelle le produit scalaire entre requêtes et clés diminue lorsque la distance positionnelle relative augmente.
Linear Attention
Mécanismes d'attention qui calculent des représentations de caractéristiques par noyau afin de modifier l'ordre des multiplications matricielles et d'obtenir une complexité de calcul linéaire en .
PerFormer
Une architecture Transformer à attention linéaire testée dans l'article pour démontrer que RoPE apporte de manière transparente l'information de position relative à l'attention linéaire.
CAIL2019-SCM
Le benchmark Chinese AI and Law 2019 Similar Case Matching, composé de triplets d'affaires juridiques utilisés pour évaluer la capacité à modéliser des textes longs au-delà de 512 tokens.
WoBERT
Un modèle BERT chinois basé sur les mots, utilisé comme modèle de référence comparatif et comme base de pré-entraînement pour RoFormer sur des corpus en chinois.

Questions

En quoi RoPE diffère-t-il des plongements de position sinusoïdaux classiques ?

Les plongements sinusoïdaux sont ajoutés aux vecteurs de tokens d'entrée avant les projections linéaires, tandis que RoPE est appliqué de manière multiplicative sous la forme d'une rotation directement sur les projections de requêtes et de clés à l'intérieur de la couche d'attention.

Pourquoi RoPE est-il compatible avec l'auto-attention linéaire alors que d'autres encodages relatifs ne le sont pas ?

Les encodages relatifs existants modifient les logits d'attention par paire au sein de l'opération softmax, ce qui brise la factorisation indispensable à l'attention linéaire. RoPE applique une rotation individuelle aux vecteurs de requêtes et de clés sans modifier leur norme, permettant aux noyaux d'attention linéaire de fonctionner normalement.

L'application de RoPE nécessite-t-elle une multiplication par la matrice dense $R^d_{\Theta, m}$ ?

Non. Étant donné que est une matrice bloc-diagonale creuse composée de blocs , elle est calculée de manière optimisée via des multiplications élément par élément et des recombinaisons par paires à l'aide de vecteurs de cosinus et de sinus.

Comment se comporte RoFormer lors du passage à des contextes plus longs ?

Sur le benchmark CAIL2019-SCM, étendre la longueur du contexte de 512 à 1024 tokens fait passer la précision de test de RoFormer de 68,29 % à 69,79 %, démontrant une solide capacité de généralisation sur la longueur.

La présentation de cette page a été rédigée par une IA à partir de l'article et peut contenir des erreurs. Consultez l'article pour les détails.

Lire avec traduction et IA