Een encoder-decoder is een ontwerp voor AI-modellen met twee helften. De encoder leest de hele invoer, bijvoorbeeld een Engelse zin, en zet die om in getallen die de betekenis vastleggen. De decoder gebruikt die getallen om de uitvoer te schrijven, zoals de Nederlandse vertaling, woord voor woord. Vertaalsystemen zijn zo gebouwd; de meeste taalmodellen achter chatbots gebruiken alleen de tweede helft.
Waar komt het vandaan?
In 2014 bouwden twee groepen neurale netwerken voor vertaling uit een encoder en een decoder. Cho e.a. noemden het hunne een RNN Encoder-Decoder. Sutskever, Vinyals en Le gebruikten één LSTM om een Engelse zin om te zetten in een vector van vaste grootte en een tweede om daaruit de Franse vertaling te decoderen. Bahdanau, Cho en Bengio zagen die vector van vaste grootte als een knelpunt en lieten de decoder voor elk woord in de bronzin zoeken naar de delen die ertoe doen: een vroege vorm van het attention-mechanisme. In 2016 stapte Google Translate over op GNMT, een encoder-decoder met 8 encoder- en 8 decoderlagen en attention.
Hoe werkt de transformerversie?
De oorspronkelijke transformer (Vaswani e.a., 2017) was een encoder-decoder voor vertaling, met een stapel van zes lagen in elke helft:
- Encoder: elke positie kan aandacht geven aan elke positie in de invoer, zodat de encoder de hele zin in beide richtingen leest.
- Decoder: genereert de uitvoer token voor token en mag alleen kijken naar de tokens die hij al heeft gemaakt. Dat is autoregressieve generatie.
- Cross-attention, in het paper encoder-decoder attention genoemd: de queries van de decoder zoeken keys en values op in de uitvoer van de encoder, zodat elke stap van de uitvoer elk deel van de invoer kan gebruiken.
Wat zijn de drie varianten?
Latere modellen hielden één helft over, of allebei (Hugging Face LLM-cursus):
- Alleen een encoder, zoals BERT (2018): geschikt om een hele tekst te begrijpen, voor classificatie of het vinden van namen in een zin.
- Alleen een decoder, zoals GPT en Llama: geschikt om tekst te genereren. De meeste moderne grote taalmodellen gebruiken dit ontwerp.
- Encoder-decoder, zoals T5 (2019) en BART: geschikt om de ene tekst om te zetten in een andere, zoals bij vertalen of samenvatten.
Wordt de encoder-decoder nog gebruikt?
Ja, en de twee helften hoeven niet gelijk te zijn. In 2020 combineerde Google Translate een transformer-encoder met een snellere RNN-decoder, omdat de meeste kwaliteitswinst uit de encoder kwam (Google Research, juni 2020). In juli 2025 maakte Google van decoder-only Gemma 2-modellen encoder-decoders: T5Gemma. Dat kan een grote encoder koppelen aan een kleine decoder, zoals 9B met 2B, voor taken als samenvatten, waarbij het begrijpen van de invoer het zwaarst weegt. Google meldt resultaten die vergelijkbaar zijn met of beter dan die van de decoder-only originelen. In september 2026 bracht DeepSeek V4.1-Flash uit, een taalmodel met wat DeepSeek een causale encoder-decoderarchitectuur noemt (zie DeepSeek).
Voorbeeld
Stel: een webshop wil zijn productbeschrijvingen in het Duits. Een encoder-decodermodel leest eerst de hele Nederlandse beschrijving. De decoder schrijft daarna de Duitse tekst woord voor woord, en kijkt bij elk woord via cross-attention terug naar het relevante deel van de Nederlandse tekst. Een decoder-only chatbot doet hetzelfde werk door de Nederlandse tekst als deel van zijn prompt te lezen en verder te gaan met de vertaling.
Bronnen
- Vaswani et al.: Attention Is All You Need (2017)arXiv
- Hugging Face LLM Course: Transformer ArchitecturesWeb
- Sutskever, Vinyals and Le: Sequence to Sequence Learning with Neural Networks (2014)arXiv
- Bahdanau, Cho and Bengio: Neural Machine Translation by Jointly Learning to Align and Translate (2014)arXiv
- Google Research: Recent Advances in Google TranslateRSS
- Google Developers Blog: T5Gemma, a new collection of encoder-decoder Gemma modelsRSS
