Encoder-Only (Transformer)
L’architecture encoder-only est une variante du Transformer qui n’utilise que la partie encodeur, avec une attention bidirectionnelle permettant à chaque token de « voir » l’intégralité de la séquence. C’est l’architecture de BERT, RoBERTa, ModernBERT et de la majorité des modèles d’embeddings textuels.
- Catégorie
- Architecture de réseau de neurones / Variante de Transformer
- Aussi appelé
- Modèle auto-encodeur, bidirectional transformer, encoder model
- Attention
- Bidirectionnelle (chaque token voit toute la séquence)
- Objectif d’entraînement
- Masked Language Modeling (MLM) : prédiction des tokens masqués
- Modèles emblématiques
- BERT, RoBERTa, ModernBERT, ALBERT, DeBERTa, ELECTRA, DistilBERT
- Usage principal
- Embeddings, classification, NER, reranking, RAG
- Opposés
- Decoder-only (GPT, Claude), Encoder-decoder (T5)
Le principe : comprendre plutôt que générer
L’encoder-only se distingue fondamentalement des deux autres architectures Transformer par sa mission : il est conçu pour comprendre le texte, pas pour en générer. Là où le decoder-only (GPT, Claude) prédit le prochain token de manière autoréressive, l’encoder-only produit des représentations vectorielles riches de l’entrée, utilisables pour la classification, la recherche sémantique, l’extraction d’entités et bien d’autres tâches de compréhension.
La clé technique est l’attention bidirectionnelle : chaque token voit simultanément tous les tokens qui le précèdent et qui le suivent dans la séquence. Quand BERT traite la phrase « la banque de la rivière », le token « banque » peut regarder « rivière » pour comprendre qu’il s’agit d’un bord de cours d’eau, pas d’un établissement financier. Un modèle decoder-only en mode causal ne pourrait voir que les tokens précédents (« la ») et manquerait ce contexte crucial.
Anatomie d’un modèle encoder-only
Un bloc encoder-only contient deux sous-couches, entourées de connexions résiduelles et de normalisations :
1. Auto-attention bidirectionnelle. Identique à l’attention du Transformer original, sans masque causal. Chaque token produit des queries, keys et values, et calcule des scores d’attention avec tous les autres tokens de la séquence. L’attention est effectuée en parallèle sur plusieurs têtes (multi-head attention).
2. Réseau feed-forward (FFN). Un petit réseau de neurones appliqué individuellement à chaque vecteur de token. Dans BERT original : projection vers 4× la dimension cachée, activation GeLU, reprojection. Dans ModernBERT : activation GeGLU (plus performante).
Ce qui est absent (par rapport aux autres architectures) : pas de masque causal (contrairement au decoder-only), pas de cross-attention (contrairement au décodeur dans un encoder-decoder). C’est l’architecture la plus simple des trois variantes de Transformer.
BERT : l’architecture de référence
BERT (Bidirectional Encoder Representations from Transformers), publié par Google en octobre 2018, a défini l’architecture encoder-only moderne. Il existe en deux tailles :
| Variante | Couches | Têtes d’attention | Dimension cachée | Paramètres |
|---|---|---|---|---|
| BERT-Base | 12 | 12 | 768 | 110M |
| BERT-Large | 24 | 16 | 1 024 | 340M |
BERT utilise des embeddings de position absolus, un tokenizer WordPiece (vocabulaire de 30 000 tokens) et une fenêtre de contexte limitée à 512 tokens. Ces limitations ont motivé le développement de successeurs plus modernes.
L’entraînement d’un encoder-only
Masked Language Modeling (MLM)
L’objectif principal de pré-entraînement d’un encoder-only est le Masked Language Modeling. Le principe : 15 % des tokens de la séquence d’entrée sont masqués aléatoirement (remplacés par un token spécial [MASK]), et le modèle doit prédire les tokens originaux à partir du contexte bidirectionnel environnant.
Ce protocole de masquage comporte une subtilité importante. Parmi les 15 % de tokens sélectionnés, 80 % sont effectivement remplacés par [MASK], 10 % sont remplacés par un token aléatoire, et 10 % restent inchangés. Cette variété empêche le modèle de ne s’attendre qu’aux positions [MASK] et l’oblige à maintenir une bonne représentation de tous les tokens.
Next Sentence Prediction (NSP)
BERT ajoutait un second objectif : prédire si deux segments de texte se suivent dans le document original. Cette tâche s’est révélée peu utile, voire nuisible. RoBERTa (2019) a montré que supprimer le NSP et entraîner uniquement avec le MLM sur des séquences plus longues améliore les performances. ALBERT a remplacé le NSP par une tâche de prédiction d’ordre des phrases (SOP), plus exigeante et plus utile.
La famille des encoder-only
| Modèle | Année | Innovation clé | Taille |
|---|---|---|---|
| BERT | 2018 | MLM + NSP, attention bidirectionnelle, premier encoder-only à grande échelle | 110M / 340M |
| RoBERTa | 2019 | Suppression du NSP, plus de données, entraînement plus long, masquage dynamique | 125M / 355M |
| ALBERT | 2019 | Partage de paramètres entre couches, factorisation des embeddings (18× plus petit) | 12M – 235M |
| DistilBERT | 2019 | Distillation de BERT : 40 % plus petit, 97 % des performances, 60 % plus rapide | 66M |
| ELECTRA | 2020 | Entraînement adversarial : un petit générateur crée des substitutions, le modèle les détecte | 14M – 335M |
| DeBERTa | 2020 | Attention désentrelacée (position et contenu séparés), premier à surpasser l’humain sur SuperGLUE | 134M – 1,5B |
| ModernBERT | 2024 | RoPE, attention alternée global/local, GeGLU, Flash Attention, 8K tokens, 2T tokens d’entraînement | 139M / 395M |
ModernBERT : le renouveau de l’encoder-only
En décembre 2024, une équipe d’Answer.AI, LightOn AI et NVIDIA (incluant Jeremy Howard) a publié ModernBERT, décrit comme « le remplacement de BERT que nous attendions ». ModernBERT applique six années d’innovations du monde decoder-only à l’architecture encoder-only :
RoPE remplace les embeddings de position absolus de BERT, permettant une extrapolation à des séquences plus longues. La fenêtre de contexte passe de 512 à 8 192 tokens, une multiplication par 16.
Attention alternée : toutes les 3 couches, une attention globale (tous les tokens voient tout). Les autres couches utilisent une attention locale à fenêtre glissante de 128 tokens. Ce schéma réduit drastiquement le coût computationnel sur les longues séquences tout en maintenant la qualité.
GeGLU remplace l’activation GeLU dans les couches FFN, offrant de meilleures performances à taille comparable. Pre-LayerNorm stabilise l’entraînement des réseaux profonds. Flash Attention (versions 2 et 3) accélère le calcul d’attention. Unpadding élimine le calcul inutile sur les tokens de padding, offrant 10-20 % de throughput supplémentaire.
Entraînement massif. ModernBERT a été entraîné sur plus de 2 000 milliards de tokens (vs. 3,3 milliards pour BERT original), incluant du texte anglais, du code et des mathématiques. L’entraînement utilise le sequence packing (concaténation de séquences courtes pour remplir les batches) et un processus en trois phases pour optimiser la convergence.
Cas d’usage : où l’encoder-only excelle
Embeddings textuels et recherche sémantique
C’est le cas d’usage roi de l’encoder-only en 2026. Les modèles d’embeddings comme BGE, E5, GTE et Sentence-Transformers sont presque tous basés sur des encoders (BERT, RoBERTa, ModernBERT). Ils convertissent le texte en vecteurs denses utilisables pour la recherche sémantique, le clustering et la recommandation.
Dans un pipeline RAG (Retrieval-Augmented Generation), l’encoder-only joue un rôle crucial : il encode les documents et les requêtes en vecteurs, permettant la recherche de similarité dans une base de données vectorielle. Les documents pertinents sont ensuite passés à un LLM decoder-only pour générer la réponse. L’encoder-only et le decoder-only ne sont pas en compétition ici : ils sont complémentaires.
Classification de texte
La classification (sentiment, intention, catégorie, spam) reste un domaine où l’encoder-only surpasse le decoder-only à taille comparable. Un BERT-Base de 110M paramètres fine-tuné pour la classification de sentiment bat souvent un LLM de plusieurs milliards de paramètres utilisé en zero-shot pour la même tâche, tout en étant des ordres de grandeur plus rapide et moins cher.
Le protocole est simple : on prend la représentation du token [CLS] (le premier token de la séquence), on ajoute une couche de classification (un simple perceptron), et on fine-tune sur les données labélisées. C’est rapide, efficient et bien compris.
Extraction d’entités nommées (NER)
L’encoder-only est le choix naturel pour le NER (Named Entity Recognition) : identifier et catégoriser les entités (personnes, organisations, lieux, dates) dans un texte. L’attention bidirectionnelle permet au modèle de distinguer « Paris » (ville) de « Paris » (prénom) grâce au contexte complet de la phrase. GliNER, un framework de NER zero-shot, utilise ModernBERT comme backbone.
Reranking pour la recherche
Le reranking consiste à réordonner une liste de résultats de recherche par pertinence. Les cross-encoders (modèles qui prennent en entrée la paire requête + document et produisent un score de pertinence) sont typiquement des encoder-only. Le modèle gte-reranker-modernbert-base d’Alibaba illustre cette application. Le reranking par cross-encoder est plus précis que la recherche par bi-encoder seul, car le modèle voit la requête et le document simultanément.
Encoder-only vs. decoder-only : quand utiliser quoi
| Tâche | Meilleur choix | Pourquoi |
|---|---|---|
| Embeddings / recherche sémantique | Encoder-only | Représentations bidirectionnelles plus riches, modèles compacts (100-400M) |
| Classification / sentiment | Encoder-only | Plus rapide, moins cher, plus précis à taille comparable |
| NER / extraction | Encoder-only | Attention bidirectionnelle = meilleure compréhension contextuelle |
| Reranking | Encoder-only | Cross-encoder naturel pour scorer des paires |
| Génération de texte | Decoder-only | Attention causale + génération autoréressive = architecture native pour la génération |
| Dialogue / chatbot | Decoder-only | Gestion naturelle des échanges multi-tours |
| Raisonnement complexe | Decoder-only | Chain-of-thought, scaling des capacités émergentes |
| RAG complet | Les deux | Encoder-only pour retrieval, decoder-only pour génération |
Convertir un decoder-only en encoder
Face à la domination des decoder-only, des chercheurs ont exploré la conversion de LLM decoder-only en encoders bidirectionnels :
LLM2Vec est une méthode qui convertit un modèle decoder-only causal en encodeur bidirectionnel en trois étapes : activation de l’attention bidirectionnelle (suppression du masque causal), entraînement MLM pour adapter le modèle à la bidirectionnalité, puis fine-tuning contrastif pour les tâches d’embeddings. Le résultat est un encoder tiré d’un LLM pré-entraîné, potentiellement plus puissant grâce aux données et au compute investis dans le LLM d’origine.
MAGNET propose une approche similaire pour créer des encoders fondationnels à partir de decoder-only. Ces travaux montrent que la frontière entre encoder et decoder n’est pas aussi rigide qu’elle paraît : les connaissances apprises par un LLM decoder-only peuvent être réutilisées pour des tâches d’encoder-only.
L’impact historique de BERT
L’arrivée de BERT en octobre 2018 a provoqué un séisme dans le NLP. Avant BERT, les modèles de langue produisaient des embeddings « context-free » : le mot « banque » avait le même vecteur quelle que soit la phrase. Word2Vec, GloVe et FastText étaient les standards. ELMo (2018) avait introduit des embeddings contextuels via des LSTM bidirectionnels, mais BERT a poussé cette idée bien plus loin grâce au Transformer.
BERT a établi un nouveau paradigme en deux phases qui domine encore aujourd’hui : pré-entraînement sur corpus massif non labélisé (apprentissage des représentations) puis fine-tuning sur tâche spécifique avec peu de données labélisées (adaptation). Ce paradigme « pretrain + finetune » est la base de toute l’ère des modèles fondationnels, aussi bien pour les encoder-only que pour les decoder-only.
À sa sortie, BERT a battu les records sur 11 benchmarks NLP simultanément. Il a poussé le score GLUE à 80,5 % (amélioration de 7,7 points), amélioré la précision MultiNLI de 4,6 points, et le F1 sur SQuAD v1.1 de 1,5 point. DeBERTa (2020) est devenu le premier modèle à surpasser les performances humaines sur SuperGLUE, confirmant la puissance de l’architecture encoder-only pour les tâches de compréhension.
Les embeddings en production en 2026
L’écosystème des modèles d’embeddings basés sur des encoder-only est vaste et mature. Voici les familles les plus utilisées en production :
BGE (BAAI General Embedding). Famille de modèles développée par le Beijing Academy of AI. BGE-Base-v1.5 (BERT-based, 110M paramètres) offre 84,7 % de précision en retrieval avec un temps d’embedding de ~80 ms pour 1K tokens. Nécessite des préfixes de requête pour des performances optimales.
E5 (EmbEddings from bidirEctional Encoder rEpresentations). Basé sur RoBERTa, entraîné avec un objectif text-to-text contrastif. E5-Base-v2 offre un excellent compromis qualité/latence sans nécessiter de préfixes spéciaux, simplifiant l’intégration dans les pipelines.
GTE (General Text Embeddings, Alibaba). La version gte-modernbert-base exploite ModernBERT comme backbone et atteint des performances compétitives sur MTEB. Alibaba propose aussi un reranker basé sur ModernBERT.
Sentence-Transformers. Le framework de référence (Sentence-Transformers) pour le fine-tuning d’encoders en modèles d’embeddings de phrases. Compatible avec BERT, RoBERTa, ModernBERT et d’autres backbones.
MiniLM. Pour les applications à latence critique, MiniLM-L6-v2 (22M paramètres, 14,7 ms pour 1K tokens) offre une vitesse exceptionnelle avec une précision de retrieval 5-8 % inférieure aux modèles plus grands. C’est le choix pour les chatbots temps réel et les API à haut volume.
Limites de l’encoder-only
Pas de capacité générative. Un encoder-only ne peut pas générer de texte de manière autoréressive. Il produit des représentations, pas des mots. Pour toute tâche nécessitant une sortie textuelle (résumé, traduction, dialogue), un decoder-only ou un encoder-decoder est nécessaire.
Scaling limité. Les encoder-only sont restés relativement petits (100M à 1,5B paramètres) tandis que les decoder-only atteignent des centaines de milliards. L’investissement de la communauté s’est concentré sur le scaling des decoder-only. ModernBERT-Large ne fait que 395M paramètres, là où LLaMA 3.1 atteint 405 milliards.
Fenêtre de contexte limitée. BERT était limité à 512 tokens. ModernBERT monte à 8 192 tokens, ce qui est un progrès majeur mais reste loin des 128K à 1M tokens des LLM decoder-only modernes. Pour les documents très longs, des stratégies de chunking restent nécessaires.
Pas de capacités zero-shot générales. Un encoder-only pré-entraîné avec MLM n’a pas les capacités zero-shot émergentes des grands LLM. Il excelle après fine-tuning sur une tâche spécifique, mais ne peut pas « comprendre » une instruction arbitraire comme le fait un LLM instruction-tuné.
Verdict
L’encoder-only est l’architecture la plus sous-estimée de l’ère LLM. Éclipsé médiatiquement par les chatbots et les modèles génératifs, il reste pourtant omniprésent en production : les modèles encoder-only représentent toujours la majorité des téléchargements sur Hugging Face. Chaque pipeline RAG utilise un encoder pour le retrieval. Chaque moteur de recherche sémantique repose sur des embeddings d’encoder-only. Chaque système de classification en production tourne sur un BERT ou un dérivé.
ModernBERT a relancé l’innovation dans cet espace, prouvant que les encoder-only méritent les mêmes améliorations architecturales que les decoder-only. Avec un contexte de 8K tokens, Flash Attention, RoPE et 2T tokens d’entraînement, ModernBERT redéfinit ce que peut faire un modèle de 400M paramètres. Pour les tâches de compréhension (embeddings, classification, NER, reranking), l’encoder-only n’est pas un choix de second rang : c’est le choix optimal.
Questions fréquentes sur l’architecture encoder-only
BERT est-il encore pertinent en 2026 ?
Le BERT original (2018) est dépassé techniquement : contexte limité à 512 tokens, embeddings de position absolus, pas de Flash Attention. Cependant, ses successeurs directs (ModernBERT, DeBERTa v3, NeoBERT) sont très pertinents. L’architecture encoder-only elle-même est plus pertinente que jamais grâce au RAG, à la recherche sémantique et au reranking. Si vous démarrez un nouveau projet, utilisez ModernBERT plutôt que BERT original.
Pourquoi ne pas utiliser un LLM pour les embeddings ?
C’est possible (des modèles comme E5-Mistral utilisent des decoder-only pour les embeddings), mais un encoder-only dédié est généralement préférable. Un ModernBERT de 395M paramètres produit des embeddings de qualité compétitive avec un LLM de plusieurs milliards, tout en étant 10-100× plus rapide et moins cher à servir. Pour un pipeline RAG à haut volume, cette différence de coût et de latence est déterminante.
Quelle est la différence entre un bi-encoder et un cross-encoder ?
Les deux sont des encoder-only, mais utilisés différemment. Un bi-encoder encode la requête et le document séparément, puis compare les vecteurs par similarité cosine. C’est rapide (les documents peuvent être pré-encodés) mais moins précis. Un cross-encoder prend la paire (requête, document) en entrée et produit un score de pertinence. C’est plus précis (le modèle voit les deux simultanément) mais plus lent (chaque paire doit être traitée). En production, on utilise souvent un bi-encoder pour le retrieval initial puis un cross-encoder pour le reranking.
ModernBERT remplace-t-il vraiment BERT ?
Pour les nouveaux projets, oui. ModernBERT surpasse BERT-Base et BERT-Large sur quasiment tous les benchmarks (GLUE, MTEB), avec une fenêtre de contexte 16× plus grande et une inférence plus rapide grâce à Flash Attention et au unpadding. Les modèles existants fine-tunés sur BERT n’ont pas besoin de migrer immédiatement, mais tout nouveau fine-tuning devrait utiliser ModernBERT comme base.
Un encoder-only peut-il être MoE ?
En théorie, oui : on pourrait remplacer les couches FFN d’un encoder-only par des couches MoE. En pratique, cela n’a pas été exploré à grande échelle car les encoder-only restent petits (≤1,5B paramètres) et le MoE apporte peu de bénéfices à cette échelle. L’exception notable est le Switch Transformer de Google, qui est un encoder-decoder MoE basé sur T5, mais son encodeur utilise effectivement des couches MoE. Si les encoder-only devaient scaler significativement, le MoE deviendrait pertinent.