Contexte et besoin d’information de position

Dans un transformeur, le tokenizer convertit le texte en identifiants de token. Chaque identifiant est projeté dans un vecteur dense par la couche d’embedding. Sans indication de position, deux occurrences du même mot – par exemple le token "fox" dans les phrases « The red fox jumps over the gray fox » et « The gray fox jumps over the red fox » – reçoivent exactement le même vecteur, ce qui empêche le modèle de différencier leurs rôles syntaxiques. L’article rappelle que les vocabulaires réels comptent entre 50 000 et 200 000 entrées, ce qui rend l’ambiguïté fréquente. Le masque causal appliqué dans les modèles autoregressifs introduit un ordre implicite (un token ne voit que les tokens précédents), mais il ne transmet aucune information sur la distance entre deux positions ; ainsi, la différence entre une séparation d’une position et de dix positions reste invisible.

Méthodes d’encodage absolu et relatif

Les premiers LLM, comme GPT‑2, ajoutent un vecteur de position absolue à chaque embedding token avant l’entrée du premier bloc de transformeur. Ce vecteur est généralement une fonction sinusoïdale de l’indice de position, ce qui permet au modèle d’apprendre des relations de distance via des combinaisons linéaires. En revanche, les modèles plus récents – l’exemple MiniMax‑M3 présenté dans l’article – intègrent la position de façon relative à chaque tête d’attention grâce à la technique RoPE (Rotary Positional Embedding). RoPE encode la position directement dans les produits scalaires query·key en faisant tourner les vecteurs selon l’indice de position, ce qui rend le score d’attention dépendant de la distance relative entre deux tokens.

vocab = {
    "The": 0,
    "red": 1,
    "fox": 2,
    "jumps": 3,
    "gray": 4,
    "over": 5,
    "the": 6,
}

Implémentation de RoPE dans les transformeurs modernes

Dans une couche d’attention, chaque vecteur q (query) et k (key) est d’abord multiplié par une matrice de rotation dépendante de la position p. Concrètement, pour chaque dimension paire (i, i+1), on applique la matrice [[cosθ, -sinθ],[sinθ, cosθ]] où θ = p / 10000^{2i/d} (d = dimension du modèle). Le produit q·k devient alors cos(θ_i - θ_j), injectant la différence de position i‑j dans le score d’attention. Cette opération est O(1) en temps et ne nécessite aucun paramètre supplémentaire, ce qui explique son adoption dans les modèles de 2026 qui privilégient l’efficacité mémoire.

Limites et perspectives

Bien que RoPE élimine le besoin d’un vecteur d’embedding supplémentaire, il suppose que les relations de distance sont linéaires et périodiques, ce qui peut être inadapté pour des séquences très longues (> 4 k tokens) où la résolution angulaire devient trop coarse. De plus, l’article signale que certains modèles expérimentent le concept NoPE (absence totale d’encodage positionnel) en s’appuyant uniquement sur le masque causal et sur des architectures de type Transformer‑XL qui mémorisent des états passés. Aucun chiffre de performance n’est fourni, ce qui limite l’évaluation comparative. En l’absence de données chiffrées, il faut conclure que les choix d’encodage restent un compromis entre précision de la distance, coût de calcul et capacité à généraliser sur de longues séquences.