Zubnet AIApprendreWiki › Encodage positionnel
Fondamentaux

Encodage positionnel

Aussi appelé : Embedding positionnel, RoPE, ALiBi
Un mécanisme qui indique à un modèle Transformer l'ordre des tokens dans une séquence. Contrairement aux RNN qui traitent les tokens séquentiellement (donc la position est implicite), les Transformers traitent tous les tokens en parallèle et n'ont pas de sens inhérent de l'ordre. Les encodages positionnels injectent l'information de position pour que le modèle sache que « le chien mord l'homme » et « l'homme mord le chien » sont différents.

Pourquoi c'est important

Sans information positionnelle, un Transformer traite une phrase comme un sac de mots — l'ordre des mots est perdu. Le choix de l'encodage positionnel détermine aussi la capacité du modèle à gérer des séquences plus longues que celles vues pendant l'entraînement, ce qui est pourquoi des techniques comme RoPE et ALiBi sont critiques pour les modèles à long contexte.

En profondeur

Le Transformer original (2017) utilisait des fonctions sinusoïdales fixes à différentes fréquences pour chaque position et dimension. Celles-ci avaient une belle propriété théorique : le modèle pouvait apprendre à porter attention aux positions relatives parce que les patterns sinusoïdaux créent des décalages cohérents. Mais les embeddings positionnels appris (un vecteur entraînable pour chaque position) sont rapidement devenus le choix par défaut parce qu'ils performaient légèrement mieux, bien qu'étant limités à la longueur maximale d'entraînement.

RoPE : le standard moderne

Les Rotary Position Embeddings (RoPE, Su et al., 2021) encodent la position en effectuant une rotation des vecteurs de requête et de clé dans le mécanisme d'attention. L'angle de rotation dépend de la position, de sorte que le produit scalaire entre deux tokens encode naturellement leur distance relative. RoPE est utilisé par LLaMA, Mistral, Qwen et la plupart des LLM modernes. Son avantage clé : il permet l'extrapolation en longueur — les modèles peuvent gérer des séquences quelque peu plus longues que celles vues pendant l'entraînement, surtout quand combiné avec des techniques comme YaRN ou le scaling NTK-aware.

ALiBi et au-delà

ALiBi (Attention with Linear Biases) prend une approche plus simple : au lieu de modifier les embeddings, il ajoute une pénalité linéaire aux scores d'attention basée sur la distance entre les tokens. Les tokens plus éloignés sont plus pénalisés. Cela ne nécessite aucun paramètre appris et extrapole bien aux séquences plus longues. Certaines architectures combinent les approches ou utilisent des biais de position relatifs. La tendance va vers des méthodes qui généralisent au-delà de la longueur d'entraînement, puisque les fenêtres de contexte ne cessent de grandir.

Concepts connexes

← Tous les termes
← Embedding Encodeur-Décodeur →
ESC