// ==========================================
// _ojs_bridge.qmd â OJS Global Namespace Bridge
//
// Include ONCE at the top of each chapter index.qmd:
// {{< include ../../assets/_ojs_bridge.qmd >}}
//
// window.aptitek is set by an async `<script type="module">` in the page
// header (_quarto.yml include-in-header). That import may resolve AFTER
// OJS starts executing, causing `aptitek` to be undefined.
//
// Fix: return a Promise from this cell. OJS suspends all downstream cells
// until the promise resolves â the built-in, idiomatic solution for async
// dependencies in Observable JS.
//
// â
Zero-maintenance: adding a new export to index.js barrel is
// instantly available â no edits to this file ever needed.
// â
Race-condition-safe: downstream cells never see undefined.
// â
Anti-double-definition: only ONE OJS name (`aptitek`) is defined.
// ==========================================
aptitek = {
if (window.aptitek) return window.aptitek;
return new Promise(resolve => {
const check = () =>
window.aptitek
? resolve(window.aptitek)
: requestAnimationFrame(check);
check();
});
}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.
đ Lecture technique
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.
đ DĂ©tails thĂ©oriques
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.
đ DĂ©tails techniques
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.
đą Formule TF-IDF
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é.
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.
đ Limites techniques
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.
đ Lecture technique
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.
đ DĂ©tails techniques
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.
đą Objectif GloVe
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.
đ DĂ©tails techniques
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).
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.
đ Lecture technique
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.
đą Architecture biLM
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.
đ DĂ©tails par couche
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.
đ HyperparamĂštres
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.
đ Ătude de cas
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.
đ Limites techniques
Malgré sa dynamicité contextuelle, ELMo souffre de deux limitations structurelles que les Transformers surmontent :
- Traitement séquentiel : Les LSTMs imposent un traitement mot à mot, limitant la parallélisation et les dépendances à trÚs longue distance.
- 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.
đ Lecture technique
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.
đ StratĂ©gies de tokenisation
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.
đ DĂ©tails techniques
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.
đ Goulot matĂ©riel
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.
đ Formulation
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.
đ Lecture technique
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.
đ CritĂšres techniques
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.
đą Formule sinusoĂŻdale
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Ă©.
đ DĂ©tail dâarchitecture
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à .
đ DĂ©tails techniques
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.
đą Formule ALiBi
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.
đ Lecture technique
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.
đą Objectif mathĂ©matique
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.
đą DĂ©rivation 2D
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.
đą Rotation par paires de dimensions
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.
đ DĂ©tails dâimplĂ©mentation
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 :
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.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.
đ Long contexte
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).
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.
đ Lecture technique
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.
đą Projections Q, K, V
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.
đą Formule dâattention
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.
đą Formule multi-tĂȘte
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.
đ Composants de stabilisation
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.
đ DĂ©tails matĂ©riel/compilateur
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) :
- Vectorisation (Arm SVE) : Utilisation automatique dâunitĂ©s vectorielles larges avec gestion intelligente des masques.
- 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. - 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.