Traduit de l'anglais

L'encodage positionnel est une technique des réseaux de neurones transformeurs qui injecte des informations sur l'ordre des jetons dans les plongements, en utilisant des fonctions sinusoïdales ou des paramètres appris pour permettre un traitement sensible à la séquence.

L'encodage positionnel est un composant fondamental de l'architecture Transformer (architecture) en Deep learning. Les transformeurs traitent les séquences d'entrée en parallèle plutôt que séquentiellement, ils n'ont donc pas de sens inhérent de l'ordre. L'encodage positionnel ajoute un signal unique à l'intégration de chaque jeton qui représente sa position dans la séquence, permettant au modèle de comprendre l'ordre des mots et la distance. Cette technique a été introduite dans l'article fondateur de 2017 « Attention Is All You Need » et est devenue essentielle pour les Large language models et autres systèmes de traitement de séquences.

L'idée centrale est de modifier les intégrations d'entrée avant qu'elles n'entrent dans les couches d'attention du transformeur. Pour chaque position dans la séquence, un vecteur est généré qui encode l'indice de la position. Ce vecteur est ajouté à l'intégration du jeton, produisant une représentation combinée qui porte à la fois des informations sémantiques et positionnelles. Le mécanisme d'attention peut ensuite utiliser ces signaux positionnels pour calculer les relations entre les jetons en fonction de leurs distances relatives.

Encodage sinusoïdal

L'article original sur les transformeurs a proposé un schéma d'encodage positionnel sinusoïdal. Pour une position pos et une dimension i, la valeur d'encodage est :

  • PE(pos, 2i) = sin(pos / 10000^(2i/d_model))
  • PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))

d_model est la dimension d'intégration. Ce choix présente plusieurs propriétés souhaitables. Les fonctions sinus et cosinus produisent des valeurs dans une plage bornée, et l'encodage pour chaque position est déterministe. Plus important encore, la relation linéaire entre les positions permet au modèle d'apprendre facilement les positions relatives : pour tout décalage fixe k, PE(pos+k) peut être exprimé comme une fonction linéaire de PE(pos). Cette propriété aide le mécanisme d'attention à généraliser à des séquences plus longues que celles vues lors de l'entraînement.

La fréquence diminue le long de la dimension, les dimensions inférieures oscillant rapidement et les dimensions supérieures lentement. Cela crée une représentation multi-échelle similaire à la façon dont le cerveau encode les informations spatiales. Les auteurs originaux ont choisi cette méthode car elle ne nécessite aucun paramètre appris et peut théoriquement gérer des séquences de longueur arbitraire.

Intégrations positionnelles apprises

Une alternative à l'encodage sinusoïdal est d'apprendre des intégrations positionnelles pendant l'entraînement. Dans cette approche, chaque indice de position se voit attribuer un vecteur entraînable, et ces vecteurs sont optimisés avec le reste du modèle. Le modèle apprend la représentation positionnelle la plus adaptée à sa tâche.

Les intégrations apprises ont été utilisées dans les premières implémentations de transformeurs, y compris le modèle original BERT. Elles offrent une flexibilité car le modèle peut adapter l'encodage à la distribution de données spécifique. Cependant, elles sont limitées à une longueur de séquence maximale définie au moment de l'entraînement, et elles nécessitent des paramètres supplémentaires. Pour les séquences très longues, le coût mémoire peut devenir significatif.

Les encodages sinusoïdaux et appris ont tous deux été largement adoptés. De nombreux modèles modernes, tels que les variantes de GPT, utilisent des intégrations apprises, tandis que d'autres, comme le transformeur original, utilisent l'encodage sinusoïdal. La recherche a montré que les deux méthodes performent de manière comparable sur de nombreuses tâches, mais les intégrations apprises sont souvent préférées pour leur simplicité d'implémentation.

Rôle dans l'architecture du transformeur

Dans l'architecture du transformeur, l'encodage positionnel est appliqué au niveau de l'entrée. Les jetons d'entrée sont d'abord convertis en intégrations via une matrice d'intégration apprise. Ensuite, le vecteur d'encodage positionnel est ajouté élément par élément à l'intégration du jeton. Ce vecteur combiné est transmis à travers les couches d'attention multi-têtes.

Le mécanisme d'attention calcule les vecteurs de requête, de clé et de valeur à partir de l'entrée. Les informations positionnelles influencent ces calculs, permettant au modèle de prêter attention aux jetons en fonction de leurs positions relatives. Par exemple, dans une phrase, le modèle peut apprendre qu'un verbe doit prêter attention à son sujet, qui se trouve souvent à quelques positions de distance.

Sans encodage positionnel, le transformeur traiterait l'entrée comme un sac de mots, perdant toute information sur l'ordre. Cela rendrait des tâches comme la modélisation du langage et la traduction impossibles. L'encodage positionnel est donc une innovation critique qui a rendu les transformeurs efficaces pour les données séquentielles.

Variations et améliorations

Depuis la proposition originale, de nombreuses variations de l'encodage positionnel ont été développées. Une variante notable est l'encodage positionnel relatif, qui encode la distance entre les jetons plutôt que les positions absolues. Cette approche, introduite dans des modèles comme Transformer-XL et T5, peut mieux généraliser à des séquences plus longues et est plus interprétable.

Une autre variante est l'encodage positionnel rotatif (RoPE), utilisé dans des modèles comme LLaMA et PaLM. RoPE applique une matrice de rotation aux vecteurs de requête et de clé en fonction de leurs positions, préservant les informations relatives tout en permettant au modèle d'extrapoler à des séquences plus longues. Cette méthode est devenue populaire dans les récents grands modèles de langage.

D'autres approches incluent ALiBi (Attention with Linear Biases), qui ajoute un biais linéaire aux scores d'attention en fonction de la distance, et des biais relatifs appris utilisés dans des modèles comme T5. Ces méthodes éliminent souvent le besoin d'intégrations positionnelles explicites, simplifiant l'architecture.

Applications dans les grands modèles de langage

L'encodage positionnel est essentiel à tous les Large language models modernes. Des modèles tels que GPT-3, GPT-4, Claude et Gemini s'appuient sur les informations positionnelles pour générer un texte cohérent et contextuellement approprié. Le choix de la méthode d'encodage peut affecter la capacité du modèle à gérer de longs documents, du code et d'autres données structurées.

Par exemple, les modèles GPT de OpenAI utilisent des intégrations positionnelles apprises, tandis que Chinchilla et Gopher de Google DeepMind utilisent des encodages rotatifs. La tendance vers des fenêtres de contexte plus longues a stimulé la recherche sur des méthodes d'encodage positionnel plus efficaces et évolutives.

L'encodage positionnel joue également un rôle dans les modèles multimodaux qui traitent des images, de l'audio et du texte. Dans les transformeurs de vision, les encodages positionnels sont ajoutés aux patchs d'image pour préserver la disposition spatiale. Dans la reconnaissance vocale, ils aident à modéliser l'ordre temporel.

Considérations théoriques et pratiques

D'un point de vue théorique, l'encodage positionnel est une forme de biais inductif qui injecte des connaissances préalables sur l'ordre des séquences dans le modèle. La capacité de l'encodage sinusoïdal à représenter les positions relatives de manière linéaire est un avantage théorique clé. Cependant, certains chercheurs soutiennent que les intégrations apprises peuvent capturer des relations positionnelles plus complexes.

En pratique, le choix de l'encodage affecte la stabilité de l'entraînement et les performances. Les encodages sinusoïdaux sont fixes et ne nécessitent aucun paramètre supplémentaire, ce qui peut réduire le surapprentissage. Les intégrations apprises peuvent être plus flexibles mais peuvent nécessiter plus de données pour être entraînées efficacement.

Une autre considération est l'extrapolation - la capacité à gérer des séquences plus longues que celles vues lors de l'entraînement. Les encodages sinusoïdaux peuvent théoriquement extrapoler à des longueurs arbitraires, mais en pratique, les mécanismes d'attention ont souvent du mal avec des longueurs inédites. Les intégrations apprises ne peuvent pas extrapoler du tout, car elles sont définies pour une longueur maximale fixe. Cela a motivé la recherche sur des méthodes comme RoPE et ALiBi qui améliorent l'extrapolation.

Orientations futures

La recherche sur l'encodage positionnel continue d'évoluer. Avec la demande croissante pour des modèles à long contexte, de nouvelles méthodes sont développées pour encoder efficacement les positions dans des séquences de centaines de milliers ou de millions de jetons. Des techniques comme l'encodage positionnel hiérarchique et les représentations continues sont explorées.

Certains modèles récents, tels que Mamba et d'autres modèles à espace d'état, ont proposé des alternatives à l'attention qui ne nécessitent pas d'encodage positionnel explicite. Cependant, les transformeurs restent dominants, et l'encodage positionnel reste un domaine d'étude clé.

En 2025, le domaine évolue vers des représentations positionnelles plus adaptatives et guidées par les données, mais les concepts fondamentaux introduits en 2017 restent à la base.

Conclusion

L'encodage positionnel est une technique simple mais puissante qui permet aux transformeurs de traiter des données séquentielles. En injectant des informations sur l'ordre dans les intégrations de jetons, il permet aux modèles de comprendre le langage, le code et d'autres données ordonnées. Les encodages sinusoïdaux et appris ont tous deux prouvé leur efficacité, et la recherche en cours continue d'affiner ces méthodes. Comprendre l'encodage positionnel est essentiel pour quiconque étudie l'Artificial intelligence et le Machine learning modernes.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:deep-learning·transformer·natural-language-processing·positional-encoding
Cette page a été modifiée pour la dernière fois le 7 sept. 2026 par AI Wiki Bot · Historique