Polydesk-logotype
Polydesk.ai — Header

Relative Position Encoding (Encodage Positionnel Relatif)

L’encodage positionnel relatif est une famille de techniques qui injectent dans le mécanisme d’attention des Transformers l’information sur la distance entre paires de tokens (position relative) plutôt que sur la position de chaque token dans la séquence (position absolue), améliorant la généralisation à des longueurs de séquence non vues pendant l’entraînement.

Encodage Positionnel Relatif en bref
Concept clé
Encoder « à quelle distance » plutôt que « à quelle position »
Fondateurs
Shaw et al. (NAACL 2018) : premier encodage relatif explicite pour le self-attention
Implémentations majeures
Shaw-18 (embeddings relatifs), T5 (biais appris), Transformer-XL (Dai et al., 2019)
Descendants modernes
RoPE (rotation), ALiBi (biais linéaire), DeBERTa (attention découplée)
Avantage principal
Invariance par translation : la relation « sujet à 3 positions du verbe » est la même partout dans la séquence
Statut
Concept fondamental, aujourd’hui incarné principalement par RoPE

Position absolue vs position relative

Les limites de la position absolue

Les encodages sinusoïdaux et les encodages appris assignent à chaque position dans la séquence un vecteur unique. Le token à la position 5 reçoit un vecteur P₅, le token à la position 105 reçoit P₁₀₅, et ainsi de suite. Le modèle doit apprendre que « position 5 qui s’attent à position 2 » capture une relation sujet-verbe, mais aussi que « position 105 qui s’attent à position 102 » capture exactement la même relation. Autrement dit, le modèle doit apprendre le même pattern pour chaque paire de positions absolues, ce qui est inefficace.

Ce problème s’aggrave avec la longueur de séquence. Un modèle entraîné sur des séquences de 512 tokens n’a jamais vu « position 500 qui s’attent à position 497 ». Même si la relation (distance de 3) est identique à « position 5 qui s’attent à position 2 », le modèle ne peut pas nécessairement la reconnaître, car les vecteurs positionnels absolus correspondants sont différents.

L’intuition relative : « à quelle distance ? »

L’encodage positionnel relatif recentre l’attention sur la distance entre tokens plutôt que sur leur position individuelle. Au lieu d’encoder « le token est à la position 5 », on encode « le token est à 3 positions du token que j’examine ». Cette reformulation offre deux avantages fondamentaux.

Invariance par translation. La relation « à distance 3 » est identique que les tokens soient aux positions 2 et 5, ou aux positions 102 et 105. Le modèle n’apprend chaque relation qu’une seule fois, et elle se généralise automatiquement à toute position dans la séquence.

Meilleure extrapolation. Si le modèle a appris à gérer les distances de 0 à 512, il peut souvent gérer des distances de 513 ou 600 de manière raisonnable, car la structure relationnelle est continue. Les encodages absolus, en revanche, n’ont aucun vecteur pour les positions au-delà de la longueur d’entraînement.

Les grandes approches d’encodage relatif

Shaw et al. (NAACL 2018) : l’approche fondatrice

Le papier « Self-Attention with Relative Position Representations » de Shaw et al. est le premier à introduire explicitement l’encodage relatif dans le self-attention du Transformer. L’idée est d’ajouter des embeddings relatifs apprenables aux clés (K) et aux valeurs (V) lors du calcul d’attention.

Pour chaque paire de positions (i, j), un embedding relatif R_{i-j} est ajouté au calcul. L’ensemble des distances est clipé à une fenêtre [-K, K], ce qui signifie que toutes les distances au-delà de K sont traitées de manière identique. Ce clipping est un hyperparamètre important : trop petit, le modèle perd les distinctions de distance fine ; trop grand, les embeddings éloignés manquent de signal d’entraînement.

Les résultats sur la traduction automatique montrent des gains de +0,5 BLEU (anglais-français, configuration base) par rapport au Transformer standard. Un résultat notable : ajouter des encodages sinusoïdaux en plus des relatifs n’apporte aucun bénéfice, ce qui suggère que les encodages relatifs capturent déjà toute l’information positionnelle nécessaire.

Le surcoût computationnel est modéré (5-10% de temps d’entraînement supplémentaire selon les auteurs), mais l’ajout d’une matrice N² de biais par couche d’attention augmente la consommation mémoire, ce qui a motivé la recherche d’approches plus efficaces.

Transformer-XL (Dai et al., 2019) : reformulation efficace

Transformer-XL raffine l’approche de Shaw en décomposant le score d’attention en quatre termes distincts : (a) la corrélation contenu-contenu (identique à l’attention standard), (b) la corrélation contenu-position relative, (c) un biais de contenu global, et (d) un biais positionnel global.

Les termes (c) et (d) remplacent les projections positionnelles de la query par des vecteurs apprenables globaux (u et v), partagés entre toutes les positions. Cela réduit le nombre de paramètres et permet une implémentation plus efficace que l’approche naïve. Les embeddings relatifs R_{i-j} utilisent des sinusoïdes (comme dans le Transformer original) plutôt que des vecteurs appris, ce qui permet la généralisation à des distances non vues.

Transformer-XL introduit également le mécanisme de récurrence par segments, qui combine l’encodage relatif avec un cache de segments précédents. C’est une des premières architectures à supporter des contextes effectifs très longs (au-delà de la longueur de segment d’entraînement). Cependant, le mécanisme de récurrence rend le modèle plus lent que l’attention standard, environ 2x selon les auteurs.

T5 Relative Bias (Raffel et al., 2020)

T5 simplifie l’encodage relatif en le réduisant à un biais scalaire appris. Pour chaque distance relative (i-j), un scalaire b = f(i-j) est recherché dans une table de lookup. Ce biais est ajouté au produit scalaire Q·K avant le softmax.

La table de lookup utilise un bucketing logarithmique : les petites distances ont chacune leur propre entrée (haute résolution locale), tandis que les grandes distances sont regroupées en buckets de plus en plus larges. Les distances au-delà d’un seuil sont mappées au même paramètre, permettant une certaine généralisation aux longueurs non vues.

Le biais T5 est simple, efficace, et offre de bonnes performances de généralisation de longueur. Des études comparatives montrent que le biais relatif T5 surpasse souvent ALiBi et les sinusoïdes sur les tâches de raisonnement et de composition nécessitant une extrapolation de longueur, ce qui en fait un encodage de référence pour les architectures encoder-decoder.

DeBERTa : attention découplée (2021)

DeBERTa propose l’idée de « disentangled attention » où les interactions contenu-contenu et contenu-position sont calculées avec des matrices de projection séparées. Cela permet au modèle d’apprendre des patterns d’attention positionnels indépendamment des patterns sémantiques, offrant une flexibilité accrue. DeBERTa utilise également un encodage positionnel absolu dans les couches finales du réseau (pas les couches d’attention) pour capturer l’information de position globale quand elle est nécessaire.

Les descendants modernes : RoPE et ALiBi

RoPE (Rotary Position Embedding, 2021) et ALiBi (Attention with Linear Biases, 2021) sont les deux descendants les plus influents de la lignée des encodages relatifs. Les deux injectent l’information positionnelle au niveau de l’attention (pas des embeddings d’entrée), et les deux encodent la distance relative plutôt que la position absolue. Mais ils le font de manière très différente.

RoPE encode la position en appliquant une rotation aux vecteurs Q et K. Le produit scalaire entre deux vecteurs rotés ne dépend que de leur distance relative (pas de leurs positions absolues). RoPE offre une expressivité riche grâce à son spectre multi-fréquences, mais nécessite des techniques de scaling (YaRN, LongRoPE2) pour extrapoler au-delà de la longueur d’entraînement. C’est le standard actuel de l’industrie LLM.

ALiBi encode la position en ajoutant un biais négatif proportionnel à la distance directement aux scores d’attention. C’est la forme la plus simple d’encodage relatif possible : un unique scalaire par paire, sans paramètre apprenable. ALiBi excelle en extrapolation native mais est limité en expressivité par son biais linéaire fixe.

Méthode Type Injection Paramètres Extrapolation Modèles notables
Sinusoïdes Absolu Embedding d’entrée Zéro Faible Transformer original
Appris Absolu Embedding d’entrée N × d Nulle GPT-2, BERT
Shaw-18 Relatif Attention (K, V) 2K × d par couche Modérée (clipping) Premiers modèles relatifs
Transformer-XL Relatif Attention (score) Sinusoïdes + u, v globaux Bonne Transformer-XL
T5 Bias Relatif Attention (score) Table de buckets appris Bonne (bucketing log) T5, mT5
RoPE Relatif (implicite) Attention (Q, K) Zéro Bonne (avec scaling) Llama, Mistral, Qwen
ALiBi Relatif Attention (score) Zéro Excellente BLOOM, MPT

Fondements théoriques

Expressivité relative vs absolue

Les travaux théoriques (Yao et al., 2018) démontrent que les encodages relatifs peuvent être aussi expressifs que les encodages absolus pour les tâches qui dépendent de la structure relative. Plus précisément, un Transformer avec encodage relatif et un nombre suffisant de couches et de têtes est un approximateur universel pour les fonctions de séquence qui dépendent des distances entre tokens.

Cependant, cette équivalence théorique ne s’applique pas à toutes les tâches. Certaines tâches nécessitent une connaissance de la position absolue (par exemple, « quel est le premier mot ? »). C’est pourquoi DeBERTa combine encodage relatif dans les couches d’attention avec un encodage absolu dans les couches finales. Les modèles decoder-only modernes (type LLM) utilisent le masque causal, qui fournit une forme implicite d’information de position absolue (le dernier token est toujours celui qui a le masque le plus large).

Le cas surprenant de NoPE

Des recherches récentes montrent un résultat contre-intuitif : les Transformers decoder-only sans aucun encodage positionnel (NoPE) performent de manière compétitive sur certaines tâches. Le masque causal seul fournit suffisamment d’information positionnelle implicite pour que le modèle puisse distinguer les positions. Sur certaines tâches d’extrapolation de longueur, NoPE surpasse même ALiBi et les sinusoïdes.

Ce résultat suggère que pour les modèles autorégressifs, la position est partiellement redondante avec le masque causal. Les encodages positionnels apportent un biais inductif utile (biais de récence, relations de distance), mais ne sont pas strictement nécessaires dans tous les cas.

Le rôle de l’encodage relatif aujourd’hui

L’encodage positionnel relatif n’est plus une « option » parmi d’autres : c’est le paradigme dominant. La quasi-totalité des LLM modernes utilisent une forme d’encodage relatif, principalement RoPE. Les encodages absolus purs (sinusoïdes, appris) sont considérés comme obsolètes pour les nouveaux modèles de langage.

Le concept s’est étendu au-delà du texte 1D. Les encodages relatifs 2D et 3D sont utilisés dans les Vision Transformers (ViT), les modèles vidéo-langage (VRoPE), et les architectures multimodales. L’idée fondamentale de Shaw et al., encoder la distance plutôt que la position, a prouvé sa généralité et sa robustesse dans un large spectre d’applications.

Les directions de recherche actuelles incluent les encodages relatifs conditionnés par le contenu (CARoPE), les encodages par ondelettes pour une meilleure multi-échelle, et l’unification des encodages relatifs à travers les Transformers et les State Space Models (Mamba) dans les architectures hybrides.

Considérations pratiques

Comment choisir son encodage positionnel

Pour un nouveau LLM decoder-only : RoPE est le choix par défaut, sans discussion. L’écosystème (support FlashAttention, scaling YaRN, intégration dans tous les frameworks) est inégalé. Combiné avec GQA, c’est l’architecture standard de l’industrie.

Pour un modèle encoder-decoder (T5-like, traduction) : le biais relatif T5 reste un excellent choix. Son bucketing logarithmique offre une bonne résolution locale et une extrapolation raisonnable. Si vous avez besoin de contextes très longs, envisagez d’utiliser RoPE dans la partie decoder.

Pour un modèle encoder bidirectionnel (BERT-like, classification) : DeBERTa a démontré les gains de l’attention découplée avec encodage relatif. Pour des modèles plus petits ou des contraintes de latence, les encodages appris restent compétitifs car les séquences d’encodeurs sont généralement plus courtes.

Pour l’extrapolation sans fine-tuning : ALiBi reste la solution la plus robuste si vous devez absolument inférer sur des séquences bien plus longues que l’entraînement sans aucune adaptation. Cependant, Dynamic NTK (scaling de RoPE sans fine-tuning) offre une alternative viable pour des facteurs d’extension modérés (2-4x).

Compatibilité avec le KV cache

Un aspect pratique important des encodages relatifs est leur compatibilité avec le KV cache. Avec RoPE, les rotations sont appliquées aux Q et K avant le calcul d’attention. Les K rotés sont stockés dans le cache et ne nécessitent aucune modification quand de nouveaux tokens sont ajoutés. C’est un avantage pratique majeur pour l’inférence autorégressif.

Avec ALiBi, le biais est ajouté aux scores d’attention, pas aux K/V. Le cache contient des K et V « nus » (sans information positionnelle), et le biais est recalculé à chaque étape en fonction de la distance entre le nouveau token et chaque position cachée. Cela fonctionne bien mais signifie que l’information positionnelle n’est pas « gravée » dans le cache.

Avec le biais T5, les biais sont des scalaires appris stockés dans une table. Ils sont ajoutés aux scores d’attention de manière similaire à ALiBi, avec la même compatibilité KV cache. La table de buckets est fixe après l’entraînement et ne nécessite aucun recalcul.

Ces considérations de compatibilité KV cache sont l’une des raisons pour lesquelles les encodages qui modifient directement les K (Shaw et al., Transformer-XL) ont été moins adoptés en production : ils compliquent la gestion du cache car les K doivent intégrer l’information positionnelle relative, ce qui change en fonction de la position de la query courante.

Interaction avec le décodage spéculatif

L’encodage positionnel relatif interagit avec le décodage spéculatif de manière transparente. Quand le draft model propose K tokens candidats et que le target model les vérifie, les positions de ces tokens sont connues à l’avance (elles suivent séquentiellement la position courante). Les rotations RoPE ou les biais ALiBi sont calculés normalement pour ces positions. En cas de rejet et rollback, les K/V cachés aux positions rejetées sont simplement tronqués, sans complication liée à l’encodage positionnel.


Questions fréquentes sur l’encodage positionnel relatif

Quelle est la différence entre un encodage positionnel absolu et relatif ?

Un encodage absolu assigne un vecteur fixe à chaque position (ex. : position 5 → vecteur P₅). Un encodage relatif encode la distance entre paires de tokens (ex. : « à 3 positions de distance »). L’avantage du relatif est l’invariance par translation : la relation « distance 3 » est identique partout dans la séquence, ce qui améliore la généralisation aux longueurs non vues. Les encodages relatifs modernes (RoPE, ALiBi) sont devenus le standard pour les LLM.

Pourquoi RoPE est-il considéré comme un encodage relatif alors qu’il encode une position absolue ?

RoPE encode la position absolue de chaque token via une rotation, mais le produit scalaire entre deux vecteurs rotés (utilisé dans le calcul d’attention) ne dépend que de la distance relative entre les positions, pas des positions absolues individuelles. C’est une unification élégante : la mécanique est absolue (chaque token est roté individuellement), mais l’effet sur l’attention est relatif (seule la distance compte dans le score). C’est pourquoi on le qualifie souvent d’encodage « relatif implicite ».

Quel encodage relatif est le meilleur pour les LLM ?

RoPE est le standard actuel, utilisé par Llama, Mistral, Qwen, DeepSeek, et d’autres. Son spectre multi-fréquences offre la meilleure expressivité parmi les encodages sans paramètres. Les techniques de scaling (YaRN) résolvent son problème d’extrapolation. Le biais T5 est excellent pour les modèles encoder-decoder. ALiBi reste pertinent pour les cas nécessitant une extrapolation plug-and-play sans fine-tuning.

L’encodage relatif ajoute-t-il du coût de calcul ?

Cela dépend de la méthode. Les premières approches (Shaw et al.) ajoutent 5-10% de temps d’entraînement et de la mémoire pour les embeddings relatifs. Le biais T5 ajoute un surcoût modéré pour la table de lookup. RoPE et ALiBi ont un surcoût quasi-nul : RoPE applique une rotation pré-calculée aux Q et K, et ALiBi ajoute une matrice statique aux scores d’attention. C’est pourquoi ces deux méthodes ont été adoptées massivement, contrairement aux approches plus lourdes.

Peut-on utiliser un encodage relatif pour des données 2D ou 3D ?

Oui. RoPE se généralise naturellement en 2D (images, via RoPE-2D : rotations séparées pour les axes x et y) et en 3D (vidéo, via RoPE-3D ou VRoPE : ajout de l’axe temporel). Le biais relatif T5 peut être adapté en utilisant des buckets de distance 2D. Les Vision Transformers utilisent couramment des formes d’encodage relatif pour capturer les relations spatiales entre les patches d’image. L’encodage relatif multidimensionnel est un domaine de recherche actif, avec des applications en vidéo, multimodal, et séries temporelles irrégulières.

Polydesk.ai — Footer