Transformer-architectuur
De Transformer-architectuur is een neurale netwerkarchitectuur die in 2017 werd gepresenteerd door onderzoekers van Google in het artikel «Attention Is All You Need»[1]. Het zorgde voor een revolutie op het gebied van natuurlijke taalverwerking (NLP) en vormt de basis voor de meeste moderne grote taalmodellen (LLM), zoals BERT, GPT en Gemini. De belangrijkste innovatie van de Transformer is het mechanisme van zelfaandacht (self‑attention), waarmee het model het belang van verschillende delen van de invoer kan afwegen en reeksen parallel kan verwerken, zonder gebruik te maken van de recurrentie die kenmerkend is voor RNN en LSTM.
Historische context en achtergrond
Vóór 2017 waren recurrente neurale netwerken (RNN) en hun verbeterde variant — netwerken met lange kortetermijngeheugen (LSTM) — de dominante architecturen voor de verwerking van sequentiële gegevens, zoals tekst.
Problemen van RNN/LSTM die door de Transformer worden aangepakt
- Beperkingen van sequentiële verwerking: RNN en LSTM verwerken gegevens token voor token, wat intra-sequentiële parallellisering uitsluit en het trainen op grote hoeveelheden gegevens vertraagt.
- Het probleem van verdwijnende en exploderende gradiënten: In lange reeksen kunnen gradiënten die over vele stappen terug worden gepropageerd, ofwel wegvallen ofwel exploderen, waardoor het leren van langetermijnafhankelijkheden wordt bemoeilijkt.
- Langetermijnafhankelijkheden: Informatie uit het begin van een reeks kan verloren gaan aan het einde ervan.
De Transformer-aanpak is een volledige afwijzing van recurrentie ten gunste van het aandachtsmechanisme. Het zorgt voor een constante padlengte van afhankelijkheden tussen willekeurige posities (), wat het modelleren van verafgelegen afhankelijkheden vergemakkelijkt, hoewel de basisimplementatie van self‑attention een kwadratische rekenkundige complexiteit heeft ten opzichte van de reekslengte ()[1][2]. Het probleem van verdwijnende/exploderende gradiënten «verdwijnt» niet, maar wordt verzacht door residuele verbindingen, LayerNorm en de trainingsmodus; moderne implementaties maken vaak gebruik van de variant Pre‑LayerNorm (Pre‑LN) als stabieler tijdens het trainen[3].
Architectuur en belangrijkste componenten
De originele Transformer-architectuur bestaat uit twee hoofdonderdelen: de encoder en de decoder. Beide componenten zijn stapels van identieke lagen ( in het originele artikel)[1].
- Structuur van de encoderlaag: (1) multi-head self‑attention (MHA), (2) positiegewijs FFN; elke sublaag is omgeven door een residuele verbinding en LayerNorm[1].
- Structuur van de decoderlaag: (1) gemaskeerde self‑attention (causaal masker verbiedt toegang tot toekomstige posities), (2) cross‑attention naar de uitvoer van de encoder, (3) FFN — ook met residualen en LayerNorm[1].
Aandachtsmechanisme en Self‑Attention
Het aandachtsmechanisme berekent een gewogen sommatie van waardevectoren (Value), waarbij de gewichten worden bepaald door de mate van compatibiliteit van de sleutels (Key) met de zoekopdrachten (Query). De Transformer maakt gebruik van geschaald scalair productaandacht (Scaled Dot‑Product Attention):
Waar de dimensie is van de sleutels/zoekopdrachten; deling door voorkomt verzadiging van softmax[1]. Wanneer , en worden gegenereerd door dezelfde reeks, wordt het mechanisme self‑attention genoemd.
Multi‑Head Attention (meerhoofdige aandacht)
In plaats van één set matrices worden parallelle «hoofden» gebruikt, die elk projecteren naar deelruimten met een kleinere dimensie, onafhankelijk aandacht berekenen, waarna de resultaten worden samengevoegd en geprojecteerd[1]:
Varianten voor snellere inferentie:
- MQA (Multi‑Query Attention): alle hoofden delen één sleutel/waarde → het volume en het verkeer van de KV‑cache bij decodering worden aanzienlijk verminderd[4].
- GQA (Grouped‑Query Attention): een compromis tussen MHA en MQA — meerdere groepen hoofden delen K/V; de kwaliteit ligt dicht bij MHA bij de snelheid van MQA[5].
Positionele codering (Positional Encoding)
Omdat self‑attention invariant is ten opzichte van de volgorde van tokens, worden positionele coderingen toegevoegd aan de invoer-embeddings.
- Originele sinusvormige coderingen (PE) uit[1]:
- Moderne relatieve/roterende varianten:
Positiegewijze FFN, residualen en normalisatie
Elke encoder- en decoderlaag bevat, naast aandacht, een positiegewijs FFN:
Rond elke sublaag worden residuele verbindingen (residual connections) en Layer Normalization gebruikt: . In het origineel werd de variant Post‑LN toegepast[1]; moderne LLM gebruiken vaak Pre‑LN voor betere trainingsstabiliteit en minder afhankelijkheid van langdurige warm‑up[3].
Evolutie en moderne varianten
Vroege methoden die gebaseerd waren op recurrente neurale netwerken (RNN) en hun geavanceerde varianten, zoals LSTM, verwerkten tekst sequentieel, één token per keer. Hoewel deze aanpak intuïtief overeenkwam met de structuur van taal, creëerde het een aanzienlijke beperking: het bemoeilijkte parallelle berekeningen en maakte het moeilijker om afhankelijkheden te detecteren tussen elementen die ver van elkaar verwijderd waren in de tekst. In 2017 presenteerde een groep onderzoekers van Google een artikel getiteld «Attention Is All You Need». Daarin beschreven zij een nieuwe architectuur — de «Transformer». Dit model was de eerste dat volledig afzag van het gebruik van recurrente neurale netwerken en deze verving door een «aandachts»mechanisme (attention). De belangrijkste vernieuwing was dat het aandachtsmechanisme de Transformer in staat stelde het belang van elk woord in de invoerreeks te beoordelen bij het genereren van het bijbehorende woord in de uitvoer. Daarbij kon het model alle woorden tegelijkertijd verwerken. Dit vermogen tot parallelle verwerking maakte het mogelijk om veel grotere modellen te trainen op enorme hoeveelheden data. Het resultaat waren moderne grote taalmodellen (LLM).
De Transformer-architectuur diende als basis voor talrijke modellen, die grofweg in drie klassen worden ingedeeld.
1. Alleen-encoder modellen (Encoder‑only)
- Voorbeeld: BERT (en RoBERTa, ALBERT)[8].
- Principe: voortraining via de taak van gemaskeerd taalmodellering (MLM) met bidirectionele context.
- Toepassing: begripstaken (classificatie, NER enz.).
2. Alleen-decoder modellen (Decoder‑only)
- Voorbeeld: de GPT-serie (GPT‑1/2/3)[9][10], LLaMA[11], Claude.
- Principe: causaal taalmodellering (CLM) — voorspelling van het volgende token; het causale masker wordt toegepast op de aandacht[1].
- Toepassing: tekstgeneratie, dialogen, code.
3. Encoder‑decoder modellen (Encoder‑decoder)
- Voorbeeld: de originele Transformer, T5, BART[1][12].
- Principe: de encoder bouwt een representatie van de invoer op, de decoder genereert de uitvoer en maakt gebruik van cross‑attention naar de kenmerken van de encoder[1].
- Toepassing: seq2seq-taken (vertaling, samenvatting enz.).
4. Multimodale en alternatieve architecturen
- Vision Transformer (ViT) — aanpassing voor afbeeldingen (opdeling in patches)[13]; Swin Transformer — hiërarchisch model met shifted windows[14].
- Alternatieven voor lange reeksen:
Trainingstechnieken en optimalisatie
De effectiviteit van de Transformer hangt nauw samen met de trainingstechniek en de infrastructuur.
- Strategieën voor voortraining: CLM en MLM; ook contrastieve en denoising-doelstellingen (ELECTRA, T5)[12].
- Technieken voor fine-tuning:
- Volledig fine-tunen van alle parameters.
- Parameterefficiënt fine-tunen (PEFT): LoRA introduceert laagrangadapters bij bevroren basisgewichten[18].
- Gedragsafstemming: RLHF — Reinforcement Learning op basis van menselijke feedback[19].
- Systeemoptimalisaties voor inferentie: PagedAttention/vLLM verhogen de serverdoorvoer door middel van gepagineerd beheer van de KV‑cache; bijzonder nuttig bij lange reeksen en grote batches[20].
Verwijzingen
- The Illustrated Transformer — visuele uitleg van de Transformer-architectuur
Literatuur
- Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention Is All You Need. NeurIPS. arXiv:1706.03762.
- Devlin, J., Chang, M.‑W., Lee, K., Toutanova, K. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018). Improving Language Understanding by Generative Pre‑Training. OpenAI Technical Report.
- Brown, T. B., Mann, B., Ryder, N., et al. (2020). Language Models Are Few‑Shot Learners. NeurIPS. arXiv:2005.14165.
- Raffel, C., Shazeer, N., Roberts, A., et al. (2019). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. arXiv:1910.10683.
- Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (2020). An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. arXiv:2010.11929.
- Liu, Z., Lin, Y., Cao, Y., et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. arXiv:2103.14030.
- Tay, Y., Dehghani, M., Bahri, D., Metzler, D. (2020). Efficient Transformers: A Survey. arXiv:2009.06732.
- Xiong, R., Yang, Y., He, D., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML. arXiv:2002.04745.
- Su, J., Lu, Y., Pan, S., et al. (2021). RoFormer: Rotary Position Embedding. arXiv:2104.09864.
- Press, O., Smith, N. A., Lewis, M. (2021). Train Short, Test Long: Attention with Linear Biases (ALiBi). arXiv:2108.12409.
- Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need (MQA). arXiv:1911.02150.
- Ainslie, J., Lee‑Thorp, J., de Jong, M., et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. EMNLP. arXiv:2305.13245.
- Kwon, W., Li, Z., Zhuang, S., et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention (vLLM). arXiv:2309.06180.
- Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971.
- Gu, A., Dao, T. (2023). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
- Peng, B., et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv:2305.13048.
- Lieber, O., Lenz, B., Bata, H., et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. arXiv:2403.19887.
- Hu, E. J., Shen, Y., Wallis, P., et al. (2021). LoRA: Low‑Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. OpenReview.
Noten
- ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 Vaswani, A., Shazeer, N., Parmar, N., et al. (2017). Attention Is All You Need. NeurIPS. arXiv:1706.03762.
- ↑ Tay, Y., Dehghani, M., Bahri, D., Metzler, D. (2020). Efficient Transformers: A Survey. arXiv:2009.06732.
- ↑ 3.0 3.1 Xiong, R., Yang, Y., He, D., et al. (2020). On Layer Normalization in the Transformer Architecture. ICML. arXiv:2002.04745.
- ↑ Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. arXiv:1911.02150.
- ↑ Ainslie, J., Lee‑Thorp, J., de Jong, M., et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. EMNLP. arXiv:2305.13245.
- ↑ Su, J., Lu, Y., Pan, S., et al. (2021). RoFormer: Rotary Position Embedding. arXiv:2104.09864.
- ↑ Press, O., Smith, N. A., Lewis, M. (2021). Train Short, Test Long: Attention with Linear Biases (ALiBi). arXiv:2108.12409.
- ↑ Devlin, J., Chang, M.‑W., Lee, K., Toutanova, K. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805.
- ↑ Radford, A., Narasimhan, K., Salimans, T., Sutskever, I. (2018). Improving Language Understanding by Generative Pre‑Training. OpenAI.
- ↑ Brown, T. B., Mann, B., Ryder, N., et al. (2020). Language Models Are Few‑Shot Learners. NeurIPS. arXiv:2005.14165.
- ↑ Touvron, H., Lavril, T., Izacard, G., et al. (2023). LLaMA: Open and Efficient Foundation Language Models. arXiv:2302.13971.
- ↑ 12.0 12.1 Raffel, C., Shazeer, N., Roberts, A., et al. (2019). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. JMLR. arXiv:1910.10683.
- ↑ Dosovitskiy, A., Beyer, L., Kolesnikov, A., et al. (2020). An Image is Worth 16×16 Words: Transformers for Image Recognition at Scale. ICLR. arXiv:2010.11929.
- ↑ Liu, Z., Lin, Y., Cao, Y., et al. (2021). Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. ICCV. arXiv:2103.14030.
- ↑ Gu, A., Dao, T. (2023). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. arXiv:2312.00752.
- ↑ Peng, B., et al. (2023). RWKV: Reinventing RNNs for the Transformer Era. arXiv:2305.13048.
- ↑ Lieber, O., Lenz, B., Bata, H., et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. arXiv:2403.19887.
- ↑ Hu, E. J., Shen, Y., Wallis, P., et al. (2021). LoRA: Low‑Rank Adaptation of Large Language Models. arXiv:2106.09685.
- ↑ Ouyang, L., Wu, J., Jiang, X., et al. (2022). Training language models to follow instructions with human feedback. OpenReview.
- ↑ Kwon, W., Li, Z., Zhuang, S., et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention. arXiv:2309.06180.