7  đŸ”€ Transformers et ReprĂ©sentations du Langage

7.1 Représentations Statistiques du Langage

Pour qu’un modĂšle lise du texte, il faut d’abord transformer les mots en nombres. Les premiĂšres mĂ©thodes font cela trĂšs simplement : elles comptent les mots, un peu comme on rĂ©sume un document par son inventaire.

L’enjeu fondamental du Traitement du Langage Naturel (NLP) rĂ©side dans la conversion du langage humain en une forme numĂ©rique exploitable. Avant l’avĂšnement des plongements neuronaux, cette conversion s’appuyait sur la frĂ©quence d’occurrence des mots — une quantification du sens par le comptage. Ces mĂ©thodes posent les bases conceptuelles essentielles pour comprendre pourquoi les reprĂ©sentations denses sont nĂ©cessaires (Murel and Kavlakoglu 2025; Mayurji 2024).

7.1.1 L’Hypothùse Distributionnelle

Un mot se comprend souvent par ses voisins. Si deux mots apparaissent dans les mĂȘmes types de phrases, ils ont probablement des sens proches.

Toute reprĂ©sentation vectorielle de texte repose sur l’hypothĂšse distributionnelle de Harris (1954), reformulĂ©e par Lenci (2018) : les mots apparaissant dans des contextes similaires partagent des significations apparentĂ©es. Cette hypothĂšse transforme un problĂšme sĂ©mantique (que signifie ce mot ?) en un problĂšme statistique (dans quel contexte ce mot apparaĂźt-il ?). Sa puissance est qu’elle permet d’infĂ©rer la sĂ©mantique sans annotation humaine — la co-occurrence fait office de supervision implicite.

7.1.2 Bag-of-Words

Le Bag-of-Words transforme un texte en sac de mots : il garde ce qui apparaüt, mais oublie l’ordre. C’est utile pour compter vite, mais dangereux dùs que l’ordre change le sens.

Le Bag-of-Words (BoW) est le modĂšle le plus simple : chaque document devient un vecteur de dimension |\mathcal{V}| (taille du vocabulaire), oĂč la coordonnĂ©e i est le nombre d’occurrences du mot w_i dans le document. La reprĂ©sentation est complĂštement agnostique Ă  l’ordre : “le chien a mordu l’homme” et “l’homme a mordu le chien” ont le mĂȘme vecteur BoW (Murel and Kavlakoglu 2025).

Les limites du BoW sont structurelles :

  • Domination des stopwords : Les mots fonctionnels (“le”, “de”, “est”) dominent les frĂ©quences et masquent les mots informatifs (Mayurji 2024).
  • Perte de l’agencement : L’ordre syntaxique, porteur de sens (sujet/objet, nĂ©gation), est totalement ignorĂ©.
  • InsensibilitĂ© Ă  la composition : “not bad” (positif) contient “bad” (nĂ©gatif) — le modĂšle ne peut distinguer les deux.
  • Explosion dimensionnelle : Pour un corpus courant, |\mathcal{V}| \sim 10^5 Ă  10^6, produisant des vecteurs extrĂȘmement creux (sparse).

7.1.3 Pondération TF-IDF

TF-IDF amĂ©liore le comptage brut : un mot compte plus s’il est frĂ©quent dans ce document, mais rare dans les autres. C’est comme repĂ©rer les mots qui signent vraiment l’identitĂ© d’un texte.

Le Term Frequency-Inverse Document Frequency (TF-IDF) raffine le BoW en introduisant une pondération qui équilibre la représentativité locale et le pouvoir discriminant global (Lesieutre and Achour 2026; Chiny 2026) :

\text{TF-IDF}(w, d, \mathcal{D}) = \underbrace{\frac{f(w, d)}{|d|}}_{\text{TF}} \times \underbrace{\log\frac{|\mathcal{D}|}{|\{d' \in \mathcal{D} : w \in d'\}|}}_{\text{IDF}}

  • TF (Term Frequency) : FrĂ©quence normalisĂ©e du mot w dans le document d. Mesure la reprĂ©sentativitĂ© locale.
  • IDF (Inverse Document Frequency) : Logarithme du ratio entre le nombre total de documents et ceux contenant w. Les mots prĂ©sents dans tous les documents (\text{IDF} \approx 0) sont filtrĂ©s ; les mots rares reçoivent un poids Ă©levĂ©.
🔍 Empreinte Documentaire

Un expert lĂ©giste identifie une personne non pas par les traits communs Ă  tous les humains (deux yeux, un nez), mais par les particularitĂ©s distinctives (empreinte digitale, iris). Le TF-IDF applique la mĂȘme logique : les mots ubiquitaires (“le”, “et”) sont invisibles car sans pouvoir distinctif, tandis que les mots rares et spĂ©cifiques (“photosynthĂšse”, “rĂ©tropropagation”) deviennent les “empreintes” d’un document.

7.1.4 Limites Communes et Transition vers les Espaces Denses

BoW et TF-IDF restent des mĂ©thodes de comptage. Elles voient que deux mots sont diffĂ©rents, mais pas forcĂ©ment qu’ils veulent dire presque la mĂȘme chose.

Malgré son efficacité computationnelle, le TF-IDF partage avec le BoW des limitations fondamentales :

  • Synonymie non gĂ©rĂ©e : “voiture” et “automobile” ont des vecteurs entiĂšrement orthogonaux, malgrĂ© leur sĂ©mantique identique.
  • PolysĂ©mie ignorĂ©e : “avocat” (juriste vs fruit) a un seul vecteur, quel que soit le contexte.
  • Creux structurel : Les matrices document-terme sont creuses Ă  99%+ — inefficaces pour les modĂšles d’apprentissage profond.
  • IncapacitĂ© Ă  la gĂ©nĂ©ralisation OOV : Un mot absent du vocabulaire d’entraĂźnement est totalement invisible.

Ces limitations ont prĂ©cipitĂ© la recherche vers les espaces vectoriels denses, oĂč chaque mot est reprĂ©sentĂ© dans un espace continu de dimension rĂ©duite capturant des relations sĂ©mantiques par gĂ©omĂ©trie (Meurisse 2025).

📊 BoW vs TF-IDF

7.2 Plongements Denses

Un embedding place les mots sur une carte : des mots proches par le sens deviennent proches dans l’espace. “chat” et “chien” se retrouvent voisins, tandis que “moteur” part ailleurs.

La rupture technologique des plongements denses (dense embeddings) permet de représenter chaque mot dans un espace continu de dimension réduite (typiquement 100 à 300), contre |\mathcal{V}| \sim 10^5 pour le BoW. La sémantique devient géométrie : deux mots sémantiquement proches sont voisins dans cet espace (Rong 2014; Pennington, Socher, and Manning 2014).

7.2.1 Word2Vec

Word2Vec apprend en jouant à deviner : soit il devine un mot à partir de ses voisins, soit il devine les voisins à partir du mot. À force de jouer, il construit une carte utile du vocabulaire.

Introduit par Mikolov et al. (2013), Word2Vec s’entraĂźne non pas Ă  compter des co-occurrences mais Ă  prĂ©dire : soit le mot cible depuis son contexte (CBOW — Continuous Bag-of-Words), soit les mots du contexte depuis le mot cible (Skip-gram) (Rong 2014).

Architecture CBOW vs Skip-gram :

  • CBOW : La reprĂ©sentation moyenne des mots du contexte \{w_{t-k}, \ldots, w_{t+k}\} prĂ©dit le mot central w_t. Rapide, adaptĂ© aux grandes donnĂ©es.
  • Skip-gram : Le mot central w_t prĂ©dit chaque mot de contexte w_{t+j} pour j \in [-k, k] \setminus \{0\}. Plus performant pour les mots rares.

La Distinction Cruciale : Matrice W et Matrice W’ :

Word2Vec maintient deux matrices de poids : \mathbf{W} \in \mathbb{R}^{|\mathcal{V}| \times d} (vecteurs d’entrĂ©e v_w) et \mathbf{W'} \in \mathbb{R}^{d \times |\mathcal{V}|} (vecteurs de sortie v'_w). La mise Ă  jour de \mathbf{W'} via le Softmax standard est prohibitivement coĂ»teuse (O(|\mathcal{V}|) par gradient). Deux optimisations clĂ©s (Rong 2014) :

  • Negative Sampling : Au lieu de normaliser sur tout le vocabulaire, on tire k “exemples nĂ©gatifs” (mots alĂ©atoires) et on optimise une approximation binaire.
  • Hierarchical Softmax : Encode le vocabulaire dans un arbre de Huffman, rĂ©duisant la complexitĂ© de O(|\mathcal{V}|) Ă  O(\log |\mathcal{V}|).

L’interaction entre v_w et v'_w durant l’entraĂźnement crĂ©e un effet de “traction” ou “poussĂ©e” gĂ©omĂ©trique. C’est cet effet cumulatif qui gĂ©nĂšre les relations sĂ©mantiques arithmĂ©tiques cĂ©lĂšbres :

\mathbf{v}(\text{Roi}) - \mathbf{v}(\text{Homme}) + \mathbf{v}(\text{Femme}) \approx \mathbf{v}(\text{Reine})

7.2.2 Co-occurrences GloVe

GloVe regarde le corpus avec plus de recul : il ne se contente pas d’une fenĂȘtre locale, il cherche les grands motifs de co-occurrence entre les mots.

GloVe (Pennington et al. 2014) adopte une approche complĂ©mentaire en modĂ©lisant explicitement les statistiques globales de co-occurrence (Pennington, Socher, and Manning 2014). PlutĂŽt que de prĂ©dire localement le contexte, GloVe minimise la diffĂ©rence entre le produit scalaire des vecteurs et le logarithme de la frĂ©quence de co-occurrence sur l’ensemble du corpus :

\mathcal{L}_{\text{GloVe}} = \sum_{i,j} f(X_{ij}) \left(v_i^T v_j + b_i + b_j - \log X_{ij}\right)^2

oĂč X_{ij} est le nombre de co-occurrences des mots i et j dans une fenĂȘtre de contexte, et f est une fonction de pondĂ©ration diminuant le poids des co-occurrences trĂšs frĂ©quentes. GloVe capture les associations globales que Word2Vec, entraĂźnĂ© localement, peut manquer.

7.2.3 Granularité FastText

FastText ne regarde pas seulement le mot entier : il regarde aussi ses petits morceaux. Cela lui permet de fabriquer une représentation pour un mot jamais vu, à partir de fragments déjà connus.

Word2Vec et GloVe traitent chaque mot comme une unitĂ© atomique — un mot absent du vocabulaire d’entraĂźnement (Out-Of-Vocabulary, OOV) ne peut pas ĂȘtre reprĂ©sentĂ©. FastText (Bojanowski et al. 2017) rĂ©sout ce problĂšme en dĂ©composant les mots en n-grammes de caractĂšres (Bojanowski et al. 2017) :

Le vecteur du mot w est la somme des vecteurs de ses n-grammes de caractĂšres : \mathbf{v}(w) = \sum_{g \in \mathcal{G}(w)} \mathbf{z}_g

Ainsi, le vecteur de “apprentissage” est construit depuis “<app”, “app”, “ppr”, “pre”, 
, “age>”. Un mot inconnu (“rĂ©apprentissage”) peut ĂȘtre reprĂ©sentĂ© depuis ses fragments connus.

Le Cas du Hangeul Coréen et le ModÚle misK :

Cette granularitĂ© morphologique est vitale pour les langues agglutinantes. En Hangeul corĂ©en, les caractĂšres sont des syllabes composĂ©es de consonnes et voyelles. Une faute de frappe ne dĂ©place pas une lettre — elle brise la structure syllabique, rendant le mot mĂ©connaissable pour un modĂšle basĂ© sur les mots entiers. Le modĂšle misK (Kwon et al. 2020) rĂ©pond Ă  ce dĂ©fi via un CNN avec Channel Attention (Kwon et al. 2020) :

PlutĂŽt que de sommer linĂ©airement les sous-mots comme FastText, misK utilise l’attention pour sĂ©lectionner et accentuer dynamiquement les fragments morphologiques les plus informatifs selon le contexte. Les tests sur des textes corĂ©ens bruitĂ©s montrent que la version fine-tunĂ©e (misK-ft) surpasse les benchmarks Word2Vec et FastText en prĂ©sence d’erreurs structurelles (Kwon et al. 2020).

🌐 Comparatif des Plongements Statiques
ModĂšle Apprentissage Forces Limites
Word2Vec Prédiction locale (contexte) Rapide, relations analogiques OOV, un vecteur/mot
GloVe Co-occurrence globale Statistiques globales OOV, un vecteur/mot
FastText N-grammes de caractÚres OOV résolu, morphologie Un vecteur/mot (statique)

La limite commune Ă  ces trois modĂšles : le vecteur d’un mot est statique — “avocat” a toujours le mĂȘme vecteur, qu’il dĂ©signe le juriste ou le fruit. Cette polysĂ©mie est la motivation fondamentale du passage aux plongements contextuels (ELMo, BERT).

🌐 Visualiseur — Espace des Plongements 2D

7.3 ELMo et les Plongements Contextuels

ELMo corrige une limite importante : un mot n’a pas toujours le mĂȘme sens. Le vecteur de “avocat” doit changer selon qu’on parle d’un tribunal ou d’une salade.

La limitation fondamentale de Word2Vec, GloVe et FastText est leur caractĂšre statique : chaque mot reçoit un vecteur unique, indĂ©pendamment de son contexte phrastique. “avocat” dans “je consulte mon avocat” et “avocat” dans “j’ajoute de l’avocat Ă  ma salade” ont exactement le mĂȘme plongement. ELMo (Embeddings from Language Models, Peters et al. 2018) introduit la dynamicitĂ© contextuelle (Peters et al. 2018).

7.3.1 Architecture biLM

ELMo lit la phrase dans les deux sens : de gauche à droite et de droite à gauche. C’est comme comprendre un mot avec ce qui vient avant et ce qui vient aprùs.

ELMo repose sur un biLM (bidirectional Language Model) profond qui entraĂźne deux LSTMs indĂ©pendants — l’un traitant la sĂ©quence de gauche Ă  droite, l’autre de droite Ă  gauche — pour maximiser conjointement la log-vraisemblance des deux directions (Peters et al. 2018) :

\mathcal{L}_{\text{biLM}} = \sum_{k=1}^{N} \left[\log p(w_k | w_1, \ldots, w_{k-1}; \theta_{\text{fwd}}) + \log p(w_k | w_{k+1}, \ldots, w_N; \theta_{\text{bwd}})\right]

À chaque token, le modĂšle produit L + 1 reprĂ©sentations (une par couche LSTM plus les embeddings de tokens initiaux). Le plongement ELMo final est une combinaison pondĂ©rĂ©e apprise de toutes ces reprĂ©sentations :

\text{ELMo}_k^{\text{task}} = \gamma^{\text{task}} \sum_{j=0}^{L} s_j^{\text{task}} \mathbf{h}_{k,j}^{\text{biLM}}

📈 Couches ELMo

7.3.2 SpĂ©cialisation des Couches par Niveau d’Abstraction

Les couches basses repĂšrent surtout la forme et la grammaire. Les couches hautes comprennent davantage le sens. Selon la tĂąche, on ne veut pas toujours Ă©couter les mĂȘmes couches.

Un rĂ©sultat clĂ© de Peters et al. est la spĂ©cialisation hiĂ©rarchique des couches du biLM (Peters et al. 2018) :

  • Couches infĂ©rieures (proche des tokens) : Encodent principalement la syntaxe — morphologie, Ă©tiquetage grammatical (POS tagging). Ces reprĂ©sentations sont utiles pour la Reconnaissance d’EntitĂ©s NommĂ©es (NER).
  • Couches supĂ©rieures : Encodent principalement la sĂ©mantique contextuelle — dĂ©sambiguĂŻsation du sens des mots (Word Sense Disambiguation, WSD). Ces couches sont plus utiles pour l’analyse de sentiment et la comprĂ©hension de texte.

Ce gradient d’abstraction justifie l’approche de combinaison pondĂ©rĂ©e : selon la tĂąche cible, le modĂšle apprend Ă  pondĂ©rer diffĂ©remment les couches syntaxiques vs sĂ©mantiques.

7.3.3 ParamÚtre Gamma et Biais de Régularisation

ELMo ajoute des rĂ©glages pour doser l’influence de chaque couche. L’idĂ©e est de mĂ©langer les informations sans laisser une seule couche prendre toute la place.

Deux hyperparamùtres critiques gouvernent l’adaptation d’ELMo à une tñche cible (Peters et al. 2018) :

  • \gamma^{\text{task}} : Un scalaire global qui re-normalise l’amplitude des reprĂ©sentations biLM par rapport aux couches spĂ©cifiques Ă  la tĂąche. Essentiel pour harmoniser les distributions entre le biLM prĂ©-entraĂźnĂ© et les couches de fine-tuning.
  • \lambda (rĂ©gularisation L2) : Force les poids de mĂ©lange s_j^{\text{task}} Ă  rester proches de l’uniforme (s_j = \frac{1}{L+1}). Un \lambda trop faible conduit Ă  sur-spĂ©cialiser sur une couche ; trop Ă©levĂ© empĂȘche l’adaptation.

7.3.4 L’Étude QUINE

Un modĂšle prĂ©-entraĂźnĂ© connaĂźt bien la langue gĂ©nĂ©rale, mais pas forcĂ©ment le vocabulaire d’un domaine trĂšs spĂ©cialisĂ©. Pour un petit corpus technique, il faut souvent l’adapter.

Une analyse sur le corpus philosophique QUINE (Zhou et Bloem, 2021) apporte une nuance pédagogique cruciale. Contre-intuitivement, ELMo pré-entraßné sur données générales (E_{\text{pre}}) obtient des performances inférieures à Word2Vec fine-tuné sur ce domaine spécifique pour plusieurs tùches (Zhou and Bloem 2021) :

E_{\text{pré-entraßné}} < E_{\text{Word2Vec fine-tuné}} \quad \text{(petit corpus spécialisé)}

Le modĂšle prĂ©-entraĂźnĂ© “parle” la langue gĂ©nĂ©rale, pas la langue philosophique. Cependant, la combinaison hybride restaure la supĂ©rioritĂ© :

E_{\text{mix}} = \alpha \cdot E_{\text{ELMo}} + (1 - \alpha) \cdot E_{\text{Word2Vec}}

avec un “point d’équilibre” (sweet point) pour \alpha \in [0.3, 0.4] : l’apport sĂ©mantique contextuel d’ELMo et la prĂ©cision lexicale de Word2Vec sur petit domaine se complĂštent de façon optimale (Zhou and Bloem 2021).

Leçon : Un modĂšle prĂ©-entraĂźnĂ© sur des donnĂ©es gĂ©nĂ©rales n’est pas une solution universelle pour les petits corpus spĂ©cialisĂ©s sans Ă©tape d’adaptation. C’est le principe fondateur du fine-tuning, dĂ©veloppĂ© au chapitre 8.

7.3.5 Limites et Transition vers les Transformers

ELMo comprend mieux le contexte que Word2Vec, mais il lit encore les sĂ©quences pas Ă  pas. Les Transformers vont accĂ©lĂ©rer et enrichir cette lecture grĂące Ă  l’attention.

Malgré sa dynamicité contextuelle, ELMo souffre de deux limitations structurelles que les Transformers surmontent :

  1. Traitement séquentiel : Les LSTMs imposent un traitement mot à mot, limitant la parallélisation et les dépendances à trÚs longue distance.
  2. BidirectionnalitĂ© indĂ©pendante : Les deux directions (gauche-droite, droite-gauche) sont entraĂźnĂ©es sĂ©parĂ©ment et combinĂ©es linĂ©airement — ce n’est pas une vraie comprĂ©hension bidirectionnelle simultanĂ©e. BERT rĂ©soudra ce problĂšme via le masquage (MLM).

7.4 Pipeline des Transformers

Avant qu’un Transformer puisse raisonner sur du texte, il faut transformer la phrase en une suite de petits morceaux numĂ©riques. Le pipeline fait ce travail : dĂ©couper, convertir en vecteurs, puis ajouter l’ordre.

Avant d’entrer dans le mĂ©canisme d’attention, le texte brut subit un pipeline de prĂ©paration critique qui conditionne toute la chaĂźne de traitement. Ce pipeline n’est pas un dĂ©tail technique anodin : c’est souvent le vĂ©ritable goulot d’étranglement des performances, tant en termes de qualitĂ© des reprĂ©sentations que d’efficacitĂ© computationnelle (Rijn 2026; Hugging Face nd).

7.4.1 Tokenisation du Texte

La tokenisation dĂ©coupe le texte en piĂšces manipulables. Un mot rare peut ĂȘtre coupĂ© en sous-mots, comme “anti” + “constitution” + “nellement”, pour Ă©viter de bloquer sur un mot jamais vu.

La tokenisation convertit une séquence de caractÚres bruts en une séquence de tokens discrets ayant chacun un identifiant entier dans le vocabulaire \mathcal{V}. Trois stratégies principales coexistent, chacune résolvant différemment le compromis OOV/taille de vocabulaire.

BPE (Byte-Pair Encoding) :

BPE construit le vocabulaire itĂ©rativement en fusionnant la paire de symboles la plus frĂ©quente. Partant du caractĂšre, il crĂ©e progressivement des sous-mots frĂ©quents. GPT-2 et RoBERTa utilisent BPE. Un mot inconnu est toujours dĂ©composable en sous-mots vus Ă  l’entraĂźnement — le problĂšme OOV est Ă©liminĂ© au niveau caractĂšre (Hugging Face nd; Kudo 2018).

WordPiece :

Variante de BPE utilisĂ©e par BERT, WordPiece fusionne les paires maximisant la probabilitĂ© des donnĂ©es — pas simplement la frĂ©quence. Les sous-mots non-initiaux sont prĂ©fixĂ©s de “##” pour distinguer les continuations des dĂ©buts de mot (Hadis nd).

SentencePiece :

OpÚre directement sur les caractÚres Unicode sans pré-tokenisation par espaces, permettant un traitement uniforme du japonais, du chinois, et des langues sans espaces. Utilisé par T5 et LLaMA. La segmentation est apprise par BPE ou unigram LM (Kudo 2018).

Algorithme ModĂšle Avantage
BPE GPT-2, RoBERTa Simple, fréquences brutes
WordPiece BERT Optimisation probabiliste
SentencePiece T5, LLaMA Multilingue, sans pré-tokenisation

đŸ”€ Tokenizer BPE

7.4.2 Des Indices aux Vecteurs

Une fois les tokens numĂ©rotĂ©s, le modĂšle remplace chaque numĂ©ro par un vecteur dense. C’est comme remplacer un code-barres par une fiche descriptive numĂ©rique.

Chaque token t_i \in \{1, \ldots, |\mathcal{V}|\} est mappĂ© vers un vecteur dense \mathbf{e}_i \in \mathbb{R}^{d_{\text{model}}} via une table d’embeddings (matrice \mathbf{E} \in \mathbb{R}^{|\mathcal{V}| \times d_{\text{model}}}). Cette opĂ©ration est un lookup : \mathbf{e}_i = \mathbf{E}[t_i, :] (ApX Machine Learning nd; Nedjimi 2025).

En pratique, pour traiter un batch de sĂ©quences de longueurs variables, on utilise des structures comme EmbeddingBag qui agrĂšge plusieurs vecteurs en un seul. Des vecteurs d’indices (idxs) et des pointeurs de segments (ptrs) indiquent les frontiĂšres entre sĂ©quences dans le batch, permettant un traitement efficace des sĂ©quences de longueurs hĂ©tĂ©rogĂšnes.

7.4.3 Défis Matériels des Lookups

Chercher des embeddings peut ĂȘtre lent : le modĂšle saute partout dans une grande table mĂ©moire. MĂȘme si le calcul semble simple, l’accĂšs aux donnĂ©es devient le vrai bouchon.

Les opĂ©rations de lookup d’embeddings constituent un goulot d’étranglement matĂ©riel majeur sur les architectures GPU standard (Siracusa et al. 2025) :

  • AccĂšs mĂ©moire irrĂ©guliers : Les GPUs optimisent pour les accĂšs mĂ©moire coalesced (contigus). Les lookups d’embeddings sont par nature alĂ©atoires — pour un batch de 32 sĂ©quences, on tire 32×512 indices alĂ©atoires dans une table pouvant faire plusieurs gigas.

  • Faible intensitĂ© opĂ©rationnelle : Un vecteur d’embedding de dimension 768 ne reprĂ©sente que 768 multiplications — insuffisant pour masquer la latence mĂ©moire du H100. Le ratio calcul/mĂ©moire est catastrophiquement bas (bound mĂ©moire, pas compute).

  • DĂ©couplage traversĂ©e/exĂ©cution : Les architectures CPU/GPU traditionnelles couplent l’accĂšs mĂ©moire et le calcul dans le mĂȘme pipeline, crĂ©ant des bulles de stall quand les accĂšs sont irrĂ©guliers.

Le compilateur Ember rĂ©sout ce problĂšme via une architecture DAE (Decoupled Access-Execute) avec un TMU (Tensor Marshaling Unit) dĂ©diĂ© aux lookups — voir la section sur l’optimisation architecturale.

7.4.4 Ajout de l’Encodage Positionnel

Le Transformer regarde les tokens en parallĂšle, donc il faut lui dire oĂč chaque morceau se trouve dans la phrase. L’encodage positionnel ajoute cette information d’ordre.

Le Transformer traite tous les tokens en parallĂšle — contrairement aux RNNs, il ne perçoit naturellement aucune notion d’ordre. L’encodage positionnel est additionnĂ© aux embeddings de tokens pour injecter cette information d’ordre :

\mathbf{x}_i = \mathbf{e}_i + \mathbf{p}_i

oĂč \mathbf{p}_i est la reprĂ©sentation de la position i. Le choix de \mathbf{p}_i — sinusoĂŻdal fixe, appris, ou rotatif (RoPE) — a des consĂ©quences profondes sur la capacitĂ© du modĂšle Ă  gĂ©nĂ©raliser Ă  des sĂ©quences plus longues que celles vues Ă  l’entraĂźnement. Cette question est l’objet des deux sections suivantes.

7.5 Restaurer l’Ordre

Un Transformer lit tous les mots en mĂȘme temps. C’est rapide, mais il perd naturellement l’ordre ; l’encodage positionnel lui donne une boussole pour savoir qui vient avant qui.

Le mĂ©canisme d’attention est par construction invariant par permutation : si l’on rĂ©ordonne les tokens d’une sĂ©quence, les scores d’attention changent mais la logique de calcul reste identique. Sans information positionnelle, “le chat mange la souris” et “la souris mange le chat” sont traitĂ©es de façon Ă©quivalente. L’encodage positionnel est le correctif architectural Ă  cette cĂ©citĂ© ordonnancielle (Kazemnejad 2019; ExplainingAI nd).

7.5.1 CritĂšres d’un Encodage IdĂ©al

Un bon encodage de position doit donner une signature différente à chaque place, tout en aidant le modÚle à comprendre les distances entre les mots.

Selon Kazemnejad (2019), un encodage positionnel optimal doit satisfaire quatre propriétés (Kazemnejad 2019) :

Critùre Description Violation → Problùme
Unicité Chaque position a une signature distincte Collisions sémantiques entre positions
Distance cohĂ©rente La distance entre encodages dĂ©pend de l’écart relatif, pas de la position absolue Le modĂšle ne peut apprendre les distances relatives
GĂ©nĂ©ralisation Fonctionne pour des sĂ©quences plus longues que celles vues Ă  l’entraĂźnement Échec sur contextes longs
DĂ©terminisme Encodage fixe, sans paramĂštre alĂ©atoire InstabilitĂ© Ă  l’infĂ©rence

🌊 Matrice Positionnelle

7.5.2 Encodage SinusoĂŻdal

L’encodage sinusoïdal ressemble à une horloge à plusieurs aiguilles : certaines tournent vite pour les petites distances, d’autres lentement pour les grandes positions.

Vaswani et al. (Attention Is All You Need, 2017) proposent un encodage fixe basĂ© sur des fonctions sinusoĂŻdales Ă  frĂ©quences gĂ©omĂ©triques (Kazemnejad 2019; Azazi 2025) :

\text{PE}(t, 2k) = \sin\!\left(\frac{t}{10000^{2k/d}}\right), \qquad \text{PE}(t, 2k+1) = \cos\!\left(\frac{t}{10000^{2k/d}}\right)

pour t la position et k = 0, 1, \ldots, d/2 - 1.

Intuition des fréquences géométriques :

Chaque paire de dimensions (2k, 2k+1) oscille à une fréquence \omega_k = 10000^{-2k/d} :

  • Les premiĂšres dimensions (k \approx 0) oscillent rapidement — elles encodent la paritĂ© et les distances trĂšs courtes (comme l’aiguille des secondes).
  • Les derniĂšres dimensions (k \approx d/2) oscillent trĂšs lentement — elles encodent la structure globale de la sĂ©quence (comme l’aiguille des heures).

L’encodage entier fonctionne comme une horloge multi-Ă©chelle : la position t est le vecteur de l’état de toutes les aiguilles simultanĂ©ment.

Propriété de Translation Linéaire :

L’élĂ©gance fondamentale de cet encodage est que \text{PE}(t + \phi) est une transformation linĂ©aire de \text{PE}(t) : il existe une matrice de rotation \mathbf{M}_\phi telle que (Kazemnejad 2019; Fleetwood 2024) :

\begin{pmatrix} \text{PE}(t+\phi, 2k) \\ \text{PE}(t+\phi, 2k+1) \end{pmatrix} = \begin{pmatrix} \cos(\omega_k\phi) & \sin(\omega_k\phi) \\ -\sin(\omega_k\phi) & \cos(\omega_k\phi) \end{pmatrix} \begin{pmatrix} \text{PE}(t, 2k) \\ \text{PE}(t, 2k+1) \end{pmatrix}

Cette propriĂ©tĂ© permet au mĂ©canisme d’attention d’apprendre Ă  repĂ©rer des distances relatives fixes simplement en apprenant une rotation appropriĂ©e dans ses matrices de clĂ©s/requĂȘtes.

Somme vs Concaténation :

Ajouter la position au vecteur du mot garde une taille fixe. C’est plus Ă©conomique que coller un second vecteur Ă  cĂŽtĂ©.

Le choix de sommer l’encodage aux embeddings (plutĂŽt que de concatĂ©ner) est une dĂ©cision d’efficacitĂ© : la dimension du modĂšle reste constante (d_{\text{model}}), sans surcoĂ»t. Le modĂšle apprend Ă  isoler l’information positionnelle dans certaines dimensions de l’espace (Kazemnejad 2019).

7.5.3 Positions Apprises

Certains modÚles apprennent une table de positions, comme une liste de places numérotées. Cela marche bien dans la longueur prévue, mais pas au-delà.

BERT et les premiers GPT remplacent l’encodage sinusoĂŻdal fixe par des embeddings de position appris : une table \mathbf{P} \in \mathbb{R}^{T_{\max} \times d} dont les lignes sont optimisĂ©es par rĂ©tropropagation comme n’importe quel autre paramĂštre (Happy 2026).

Avantage : La flexibilitĂ© d’apprentissage permet au modĂšle d’adopter la structure positionnelle optimale pour la tĂąche.

Limite critique : Ces embeddings souffrent d’une incapacitĂ© Ă  l’extrapolation. Un modĂšle BERT entraĂźnĂ© sur 512 tokens n’a jamais vu la position 513 — le paramĂštre correspondant n’existe pas et l’infĂ©rence Ă©choue. Le modĂšle est strictement limitĂ© Ă  T_{\max} tokens.

7.5.4 ALiBi pour Longueur Variable

ALiBi ne donne pas une fiche à chaque position. Il ajoute plutÎt une pénalité avec la distance : plus deux tokens sont éloignés, moins ils sont favorisés au départ.

Pour rĂ©soudre l’incapacitĂ© Ă  l’extrapolation, ALiBi (Press et al. 2021) adopte une approche radicalement diffĂ©rente : au lieu d’encoder la position dans les embeddings, elle ajoute directement un biais linĂ©aire Ă  chaque score d’attention en fonction de la distance (Press, Smith, and Lewis 2021; Sarkar 2025) :

a_{ij} = \frac{\mathbf{q}_i \cdot \mathbf{k}_j}{\sqrt{d}} - m \cdot |i - j|

oĂč m est une pente fixe dĂ©pendante de la tĂȘte d’attention. Les tokens distants reçoivent un biais nĂ©gatif croissant, induisant une dĂ©croissance naturelle de l’attention avec la distance. Ce biais n’implique aucun paramĂštre appris, et la formule s’applique Ă  toute longueur — ALiBi extrapole naturellement au-delĂ  de T_{\max} d’entraĂźnement (SambaNova 2023).

Cependant, ALiBi impose une hypothĂšse forte : les tokens distants sont a priori moins pertinents. Pour les tĂąches nĂ©cessitant une attention soutenue Ă  longue portĂ©e (code, raisonnement mathĂ©matique), cette hypothĂšse n’est pas toujours vĂ©rifiĂ©e — ce qui motive RoPE.

7.6 Géométrie Rotationnelle RoPE

RoPE encode la position en faisant tourner les vecteurs. Deux mots proches ne sont pas seulement placĂ©s Ă  des endroits diffĂ©rents : leur Ă©cart devient un angle que l’attention peut lire directement.

RoPE (Rotary Position Embedding, Su et al. 2021) reprĂ©sente l’état de l’art des encodages positionnels pour les LLMs modernes (LLaMA, Llama 2, Mistral, Gemma). Son Ă©lĂ©gance rĂ©side dans l’injection de l’information de position relative directement dans le produit scalaire d’attention, via une rotation dans l’espace des nombres complexes (June 2023; Krasser 2022).

7.6.1 L’Objectif Fonctionnel

L’objectif de RoPE est simple : l’attention doit surtout connaĂźtre la distance entre deux tokens, pas seulement leurs numĂ©ros absolus dans la phrase.

Soit f(\mathbf{q}, m) la transformation de la requĂȘte \mathbf{q} Ă  la position m, et f(\mathbf{k}, n) la transformation de la clĂ© \mathbf{k} Ă  la position n. RoPE cherche Ă  construire f telle que le produit scalaire \langle f(\mathbf{q}, m), f(\mathbf{k}, n) \rangle soit une fonction de \mathbf{q}, \mathbf{k}, et de la distance relative m - n uniquement (June 2023; Krasser 2022) :

\langle f(\mathbf{q}, m), f(\mathbf{k}, n) \rangle = g(\mathbf{q}, \mathbf{k}, m - n)

Cette propriĂ©tĂ© garantit que l’attention capturĂ©e entre deux tokens dĂ©pend de leur Ă©cart relatif, pas de leurs positions absolues — ce qui amĂ©liore la gĂ©nĂ©ralisation Ă  diffĂ©rentes longueurs de sĂ©quence.

🔄 Rotation RoPE

7.6.2 Dérivation en Dimension 2

En deux dimensions, RoPE ressemble Ă  une aiguille qui tourne sur un cadran. La position du token dĂ©termine l’angle de rotation.

En dimension d = 2, représentons \mathbf{q} = (q_0, q_1) comme un nombre complexe q = q_0 + iq_1. La transformation RoPE est simplement une multiplication par une phase complexe (June 2023) :

f(q, m) = q \cdot e^{im\theta}

Le produit scalaire (partie réelle du produit de f(\mathbf{q}, m) et du conjugué de f(\mathbf{k}, n)) devient :

\text{Re}[f(q, m) \cdot \overline{f(k, n)}] = \text{Re}[q \cdot \bar{k} \cdot e^{i(m-n)\theta}]

Le terme e^{i(m-n)\theta} dĂ©montre que l’information de position est purement relative — seul l’écart m - n apparaĂźt dans le produit scalaire, jamais les positions absolues m ou n sĂ©parĂ©ment.

7.6.3 Généralisation aux Hautes Dimensions

En grande dimension, le modĂšle utilise plusieurs petites horloges en parallĂšle. Certaines tournent vite pour les dĂ©tails proches, d’autres lentement pour les longues distances.

Pour un vecteur de dimension d, RoPE dĂ©compose l’espace en d/2 paires de dimensions indĂ©pendantes. Chaque paire (2i-1, 2i) est traitĂ©e comme un plan 2D oĂč s’applique une rotation d’angle m\theta_i, avec des frĂ©quences dĂ©croissantes (June 2023; Kazemnejad et al. 2023) :

\theta_i = 10000^{-2i/d}

Sous forme matricielle, la transformation de la requĂȘte \mathbf{q} Ă  la position m est :

\mathbf{R}(m) \mathbf{q} = \begin{pmatrix} \cos(m\theta_1) & -\sin(m\theta_1) & & \\ \sin(m\theta_1) & \cos(m\theta_1) & & \\ & & \ddots & \\ & & & \cos(m\theta_{d/2}) & -\sin(m\theta_{d/2}) \\ & & & \sin(m\theta_{d/2}) & \cos(m\theta_{d/2}) \end{pmatrix} \mathbf{q}

La matrice \mathbf{R}(m) est orthogonale et creuse — elle prĂ©serve la norme des vecteurs (les rotations ne changent pas la magnitude) et peut ĂȘtre calculĂ©e efficacement.

7.6.4 Optimisation par Complexes

Dans LLaMA, RoPE est calculĂ© de maniĂšre efficace en exploitant les nombres complexes. L’idĂ©e mathĂ©matique reste la mĂȘme, mais l’implĂ©mentation Ă©vite des calculs inutiles.

L’implĂ©mentation de RoPE dans LLaMA est un exemple de co-design mathĂ©matique/logiciel (Touvron et al. 2023; Prabhakaran 2025). PlutĂŽt que des multiplications de matrices 2D pour chaque paire, on exploite la correspondance avec les nombres complexes :

  1. precompute_freqs_cis : PrĂ©calcule pour chaque position m et frĂ©quence \theta_i la valeur e^{im\theta_i} sous forme polaire complexe (cosinus + i×sinus). Ce prĂ©calcul est fait une fois et rĂ©utilisĂ© pour toutes les couches.

  2. apply_rotary_emb : RéinterprÚte les paires de dimensions réelles (q_{2i-1}, q_{2i}) comme des nombres complexes q_{2i-1} + i \cdot q_{2i}, puis applique la rotation par multiplication complexe élément par élément :

(\text{Re}[q \cdot e^{im\theta}], \, \text{Im}[q \cdot e^{im\theta}])

Cette multiplication complexe est 2× plus efficace que la multiplication matricielle 2D correspondante, et exploite les instructions SIMD modernes qui traitent naturellement des paires de flottants.

7.6.5 Extrapolation de Contexte et LongRoPE

RoPE peut fonctionner au-delĂ  des longueurs vues Ă  l’entraĂźnement, mais il faut souvent rĂ©ajuster ses frĂ©quences. LongRoPE Ă©tire ces horloges pour gĂ©rer des contextes beaucoup plus longs.

Un avantage majeur de RoPE sur les embeddings appris est sa capacitĂ© d’extrapolation : la dĂ©finition de la rotation est valide pour tout m, mĂȘme les positions non vues Ă  l’entraĂźnement (Ding et al. 2024; AI Paper Slop nd). En pratique, cependant, des frĂ©quences d’interpolation ou de rĂ©-Ă©chelonnage sont nĂ©cessaires pour dĂ©passer significativement T_{\max}.

LongRoPE (Ding et al. 2024) Ă©tend les modĂšles Llama au-delĂ  de 2 millions de tokens en ajustant non-uniformĂ©ment les frĂ©quences de rotation selon la dimension : les dimensions basses (haute frĂ©quence) sont Ă©tirĂ©es diffĂ©remment des dimensions hautes (basse frĂ©quence), permettant une extrapolation fine-granulaire sans dĂ©gradation des performances sur courtes sĂ©quences (Ding et al. 2024).

🔄 RĂ©sumĂ© Comparatif des Encodages Positionnels
Méthode Type Extrapolation ParamÚtres ModÚles
SinusoĂŻdal Absolu, fixe Partielle 0 Transformer original
Appris Absolu, appris Non T_{\max} \times d BERT, GPT-2
ALiBi Relatif, fixe Oui (linéaire) 0 MPT, BLOOM
RoPE Relatif, fixe Oui (si rééchelonné) 0 LLaMA, Mistral, Gemma

RoPE offre le meilleur compromis : pas de paramÚtres supplémentaires, information relative pure dans le produit scalaire, et extrapolation possible via ré-échelonnage des fréquences.

7.7 Anatomie du Bloc Attention

L’attention permet à chaque mot de demander : “quels autres mots m’aident à comprendre mon rîle dans cette phrase ?” C’est le cƓur du Transformer.

Le bloc d’attention est l’unitĂ© de calcul fondamentale du Transformer. Contrairement aux convolutions qui capturent les corrĂ©lations locales, l’attention permet Ă  chaque token d’interagir directement avec tous les autres tokens de la sĂ©quence — quel que soit leur Ă©loignement. C’est ce mĂ©canisme de connectivitĂ© globale qui distingue fondamentalement les Transformers des RNNs et CNNs (June 2023; KĂ€mĂ€rĂ€inen nd).

đŸ§± Architecture Globale d’un Bloc Transformer (Encodeur)

đŸ•žïž Flux de Calcul de l’Attention (Q, K, V)

7.7.1 La Triade Q, K, V

Q, K et V ressemblent Ă  un systĂšme de recherche : la Query pose une question, la Key indique ce que chaque token peut offrir, et la Value contient l’information Ă  rĂ©cupĂ©rer.

Pour chaque token i dans la sĂ©quence, l’attention compute trois vecteurs dĂ©rivĂ©s par projection linĂ©aire de l’embedding \mathbf{x}_i \in \mathbb{R}^{d_{\text{model}}} (June 2023) :

\mathbf{q}_i = \mathbf{W}_Q \mathbf{x}_i, \quad \mathbf{k}_i = \mathbf{W}_K \mathbf{x}_i, \quad \mathbf{v}_i = \mathbf{W}_V \mathbf{x}_i (voir le Glossaire)

  • \mathbf{x}_i \in \mathbb{R}^{d_{\text{model}}} : le vecteur d’embedding du i-Ăšme token de la sĂ©quence.
  • \mathbf{W}_Q, \mathbf{W}_K, \mathbf{W}_V : les matrices de projection linĂ©aire apprises pour les requĂȘtes, clĂ©s et valeurs.
  • Query \mathbf{q}_i : La “requĂȘte” du token i — ce qu’il cherche dans le contexte.
  • Key \mathbf{k}_j : La “signature” du token j — ce qu’il offre comme information.
  • Value \mathbf{v}_j : Le contenu informationnel du token j.

7.7.2 Le Scaled Dot-Product Attention

L’attention compare les requĂȘtes et les clĂ©s : plus elles se ressemblent, plus le token correspondant est Ă©coutĂ©. Ensuite, le modĂšle fait une moyenne pondĂ©rĂ©e des valeurs utiles.

Le score d’attention entre token i (position de requĂȘte) et token j (position de clĂ©) est le produit scalaire normalisĂ© (KĂ€mĂ€rĂ€inen nd) :

a_{ij} = \frac{\mathbf{q}_i \cdot \mathbf{k}_j}{\sqrt{d_k}}

La normalisation par \sqrt{d_k} (dimension des clĂ©s) est cruciale : sans elle, les produits scalaires croissent en O(d_k) en magnitude, poussant le Softmax dans ses zones de saturation Ă  gradient quasi-nul. AprĂšs softmax, on obtient les poids d’attention \alpha_{ij} = \text{softmax}(a_{ij}), et la sortie est l’agrĂ©gation pondĂ©rĂ©e des valeurs :

\text{Attention}(\mathbf{Q}, \mathbf{K}, \mathbf{V}) = \text{softmax}\!\left(\frac{\mathbf{Q}\mathbf{K}^T}{\sqrt{d_k}}\right) \mathbf{V} (voir le Glossaire)

  • \mathbf{Q}, \mathbf{K}, \mathbf{V} : matrices regroupant les vecteurs requĂȘtes, clĂ©s et valeurs de toute la sĂ©quence.
  • \mathbf{K}^T : transposĂ©e de la matrice des clĂ©s (indiquant la transposition par l’exposant T).
  • \text{softmax}(\cdot) : fonction d’activation normalisant les scores en probabilitĂ©s (les poids d’attention).
  • \sqrt{d_k} : facteur d’échelle, racine carrĂ©e de la dimension des clĂ©s.

🔍 Carte d’Attention

7.7.3 Sous-Espaces ParallĂšles

Une seule tĂȘte d’attention ne suffit pas toujours. Plusieurs tĂȘtes permettent au modĂšle de regarder la phrase sous plusieurs angles : grammaire, rĂ©fĂ©rence, thĂšme, relation longue distance.

PlutĂŽt qu’une seule attention globale, l’architecture Transformer utilise H tĂȘtes d’attention parallĂšles, chacune opĂ©rant dans un sous-espace de dimension d_k = d_{\text{model}} / H (KĂ€mĂ€rĂ€inen nd) :

\text{MultiHead}(\mathbf{Q}, \mathbf{K}, \mathbf{V}) = \text{Concat}(\text{head}_1, \ldots, \text{head}_H) \mathbf{W}_O (voir le Glossaire)

  • H : nombre de tĂȘtes d’attention indĂ©pendantes travaillant en parallĂšle.
  • \text{Concat}(\cdot) : opĂ©ration de concatĂ©nation des sorties de toutes les tĂȘtes.
  • \mathbf{W}_O : matrice de projection de sortie recombinante.

Chaque tĂȘte apprend Ă  se focaliser sur un type diffĂ©rent de dĂ©pendance : certaines tĂȘtes capturent la syntaxe (sujet-verbe), d’autres la corĂ©fĂ©rence (pronom-antĂ©cĂ©dent), d’autres encore les relations sĂ©mantiques thĂ©matiques. La concatĂ©nation des sorties puis la projection \mathbf{W}_O recombinent ces reprĂ©sentations parallĂšles.

7.7.4 Stabilisation du Bloc

Un bloc Transformer ne contient pas seulement l’attention. Il ajoute aussi des raccourcis, de la normalisation et un petit rĂ©seau MLP pour stabiliser et enrichir les reprĂ©sentations.

Autour du bloc d’attention, trois composants stabilisent le flux d’information dans les rĂ©seaux profonds (KĂ€mĂ€rĂ€inen nd) :

Connexions Résiduelles :

\mathbf{x}' = \mathbf{x} + \text{Attention}(\mathbf{x})

Les connexions de saut (skip connections) prĂ©servent l’identitĂ© du signal original, empĂȘchant la dĂ©gradation du gradient dans les rĂ©seaux profonds (problĂšme de vanishing gradient vu au chapitre 2). En termes de reprĂ©sentation, elles garantissent que chaque couche ajoute de l’information plutĂŽt que de la transformer entiĂšrement.

Normalisation :

Deux variantes coexistent : LayerNorm (BERT, GPT-2) normalise sur les dimensions du modÚle ; RMSNorm (LLaMA) normalise uniquement par la racine quadratique de la moyenne des carrés, sans centrage. RMSNorm est 15-20% plus rapide tout en préservant la stabilité.

MLP (Feed-Forward Network) :

AprĂšs l’attention (qui capture les relations entre tokens), un MLP effectue un raffinement des caractĂ©ristiques dans l’espace latent de chaque token indĂ©pendamment. La structure standard est une expansion-contraction :

\text{FFN}(\mathbf{x}) = \text{GELU}(\mathbf{x}\mathbf{W}_1 + \mathbf{b}_1)\mathbf{W}_2 + \mathbf{b}_2 (voir le Glossaire)

  • \text{GELU}(\cdot) : fonction d’activation non linĂ©aire.
  • \mathbf{W}_1, \mathbf{b}_1 : poids et biais de la premiĂšre couche linĂ©aire (expansion de dimension).
  • \mathbf{W}_2, \mathbf{b}_2 : poids et biais de la seconde couche linĂ©aire (contraction de dimension).

avec d_{\text{ff}} = 4 d_{\text{model}} typiquement. Le MLP est responsable de 2/3 des paramĂštres du Transformer — c’est lĂ  que rĂ©side la “mĂ©moire factuelle” du modĂšle.

7.7.5 Optimisation Matérielle

À grande Ă©chelle, comprendre l’attention ne suffit pas : il faut aussi l’exĂ©cuter vite. Certaines optimisations sĂ©parent la lecture des embeddings et le calcul pour Ă©viter que le matĂ©riel attende la mĂ©moire.

La prĂ©cision mathĂ©matique de l’attention ne suffit pas — l’efficacitĂ© d’exĂ©cution conditionne la scalabilitĂ©. Sur les architectures GPU standard, les opĂ©rations de lookup d’embeddings (dĂ©crites en section prĂ©cĂ©dente) constituent un goulot d’étranglement que le compilateur Ember rĂ©sout via l’architecture DAE (Decoupled Access-Execute) (Siracusa et al. 2025) :

Le TMU (Tensor Marshaling Unit) :

Une unitĂ© physiquement sĂ©parĂ©e du cƓur de calcul, dĂ©diĂ©e exclusivement Ă  la traversĂ©e des structures de donnĂ©es et au regroupement (marshaling) des embeddings. Pendant que le TMU prĂ©pare les vecteurs, le cƓur de calcul exĂ©cute l’attention sur les donnĂ©es dĂ©jĂ  streamĂ©es.

Optimisations du Compilateur Ember :

Ember utilise une représentation intermédiaire SLC IR (Structured Lookup-Compute) pour trois optimisations clés (Siracusa et al. 2025) :

  1. Vectorisation (Arm SVE) : Utilisation automatique d’unitĂ©s vectorielles larges avec gestion intelligente des masques.
  2. Buffering d’Embedding : Un jeton ee (end-of-embedding) signale la fin d’un vecteur, permettant au CPU de gĂ©nĂ©rer les positions positionnelles localement sans dĂ©pendre du TMU.
  3. Alignement de Queue : Padding des scalaires pour maintenir l’alignement des lignes de cache et Ă©viter les chargements vectoriels dĂ©salignĂ©s.

RĂ©sultat : Un gain moyen de 5,8× sur les opĂ©rations d’embedding, avec une efficacitĂ© Ă©nergĂ©tique 4× supĂ©rieure aux GPUs traditionnels sur ces opĂ©rations spĂ©cifiques (Siracusa et al. 2025). Ce co-design matĂ©riel-logiciel transforme une opĂ©ration limitĂ©e par la latence mĂ©moire en un flux continu haute performance.