Transformer-arkitektur
Transformer-arkitektur — en arkitektur för neurala nätverk som presenterades 2017 av forskare vid Google i artikeln «Attention Is All You Need»[1]. Den revolutionerade området för naturlig språkbehandling (NLP) och blev grunden för de flesta moderna stora språkmodeller (LLM), såsom BERT, GPT och Gemini. Den viktigaste innovationen i Transformer är mekanismen self‑attention, som gör det möjligt för modellen att vikta vikten av olika delar av indata och bearbeta sekvenser parallellt, utan den rekurrens som är typisk för RNN och LSTM.
Historisk kontext och förutsättningar
Före 2017 dominerade rekurrenta neurala nätverk (RNN) och deras förbättrade variant — nätverk med lång korttidsminne (LSTM) — som arkitekturer för bearbetning av sekventiella data, såsom text.
Problem med RNN/LSTM som Transformer adresserar
- Begränsningar med sekventiell bearbetning: RNN och LSTM bearbetar data token för token, vilket utesluter inomsekventiell parallellism och saktar ned träning på stora datamängder.
- Problemet med försvinnande och exploderande gradienter: I långa sekvenser kan gradienter som propageras bakåt genom många steg antingen avta eller växa, vilket försvårar inlärning av långsiktiga beroenden.
- Långsiktiga beroenden: Information från början av en sekvens kan gå förlorad mot dess slut.
Transformers tillvägagångssätt är ett fullständigt övergivande av rekurrens till förmån för uppmärksamhetsmekanismen. Det säkerställer en konstant beroendeavstånd mellan godtyckliga positioner (), vilket underlättar modellering av långdistansberoenden, även om grundimplementationen av self‑attention har kvadratisk beräkningskomplexitet med avseende på sekvenslängden ()[1][2]. Problemet med avtagande/exploderande gradienter «försvinner» inte, utan mildras tack vare residualkopplingar, LayerNorm och träningsregimen; i moderna implementationer används ofta varianten Pre‑LayerNorm (Pre‑LN) som mer stabil under träning[3].
Arkitektur och nyckelkomponenter
Den ursprungliga Transformer-arkitekturen består av två huvuddelar: enkodaren och dekodaren. Båda komponenterna är staplar av identiska lager ( i originalartikeln)[1].
- Enkodarlagrets struktur: (1) multi-head self‑attention (MHA), (2) positionsvis FFN; varje underlager omges av en residualkoppling och LayerNorm[1].
- Dekodarlagrets struktur: (1) maskerat self‑attention (kausal mask förbjuder åtkomst till framtida positioner), (2) cross‑attention mot enkodarens utgångar, (3) FFN — också med residualer och LayerNorm[1].
Uppmärksamhetsmekanismen och Self‑Attention
Uppmärksamhetsmekanismen beräknar en viktad summering av värdvektorer (Value), där vikterna bestäms av graden av kompatibilitet mellan nycklar (Key) och frågor (Query). I Transformer används skalerat skalärproduktuppmärksamhet (Scaled Dot‑Product Attention):
Där är dimensionen för nycklar/frågor; divisionen med förhindrar softmax-mättnad[1]. När , och härstammar från samma sekvens kallas mekanismen self‑attention.
Multi‑Head Attention (flerhovsuppmärksamhet)
Istället för en enda uppsättning matriser används parallella «huvuden», där vart och ett projicerar till underrum med lägre dimension, beräknar uppmärksamhet oberoende, varefter resultaten konkateneras och projiceras[1]:
Varianter för snabbare inferens:
- MQA (Multi‑Query Attention): alla huvuden delar en nyckel/ett värde → minskar avsevärt storleken och trafiken i KV‑cache vid avkodning[4].
- GQA (Grouped‑Query Attention): en kompromiss mellan MHA och MQA — flera grupper av huvuden delar K/V; kvaliteten är nära MHA vid MQA:s hastighet[5].
Positionskodning (Positional Encoding)
Eftersom self‑attention är invariant mot tokenordning läggs positionskodningar till inmatningsembeddings.
- Ursprungliga sinusformade kodningar (PE) från[1]:
- Moderna relativa/rotations-varianter:
Positionsvisa FFN, residualer och normalisering
Varje enkodar- och dekodarskikt innehåller, utöver uppmärksamhet, en positionsvis FFN:
Runt varje underlager används residualkopplingar (residual connections) och Layer Normalization: . I originalet användes varianten Post‑LN[1]; i moderna LLM används ofta Pre‑LN för bättre träningsstabilitet och mindre beroende av lång warm‑up[3].
Utveckling och moderna varianter
Tidiga metoder baserade på rekurrenta neurala nätverk (RNN) och deras avancerade varianter, såsom LSTM, bearbetade text sekventiellt, ett token i taget. Även om detta tillvägagångssätt intuitivt motsvarade språkets struktur, skapade det en betydande begränsning: det försvårade parallella beräkningar och komplicerade identifieringen av beroenden mellan element som befann sig långt från varandra i texten. År 2017 presenterade en grupp forskare från Google en artikel med titeln «Attention Is All You Need». I den beskrev de en ny arkitektur — «Transformer». Denna modell övergav för första gången helt användningen av rekurrenta neurala nätverk och ersatte dem med en «uppmärksamhets»-mekanism (attention). Det viktigaste nyskapandet var att uppmärksamhetsmekanismen gjorde det möjligt för Transformer att bedöma vikten av varje ord i inmatningssekvensen för att generera motsvarande ord i utmatningen. Samtidigt kunde modellen bearbeta alla ord samtidigt. Denna förmåga till parallell bearbetning möjliggjorde träning av betydligt större modeller på enorma datamängder. Som ett resultat uppstod moderna stora språkmodeller (LLM).
Transformer-arkitekturen utgjorde grunden för ett flertal modeller, som grovt kan delas in i tre klasser.
1. Enkodar-only-modeller (Encoder‑only)
- Exempel: BERT (samt RoBERTa, ALBERT)[8].
- Princip: förträning med uppgiften maskerad språkmodellering (MLM) med dubbelriktat sammanhang.
- Tillämpning: förståelseuppgifter (klassificering, NER m.m.).
2. Dekodar-only-modeller (Decoder‑only)
- Exempel: GPT-serien (GPT‑1/2/3)[9][10], LLaMA[11], Claude.
- Princip: kausal språkmodellering (CLM) — förutsägelse av nästa token; en kausal mask appliceras på uppmärksamheten[1].
- Tillämpning: textgenerering, dialoger, kod.
3. Enkodar-dekodar-modeller (Encoder‑decoder)
- Exempel: den ursprungliga Transformer, T5, BART[1][12].
- Princip: enkodaren bygger en representation av indata, dekodaren genererar utdata och använder cross‑attention mot enkodarens egenskaper[1].
- Tillämpning: seq2seq-uppgifter (översättning, sammanfattning m.m.).
4. Multimodala och alternativa arkitekturer
- Vision Transformer (ViT) — anpassning för bilder (uppdelning i patchar)[13]; Swin Transformer — en hierarkisk modell med shifted windows[14].
- Alternativ för långa sekvenser:
Träningstekniker och optimering
Transformers effektivitet är nära kopplad till träningstekniken och infrastrukturen.
- Förträningsstrategier: CLM och MLM; även kontrastiva och brusreducerande mål (ELECTRA, T5)[12].
- Tekniker för fine‑tuning:
- Fullständig fine‑tuning av alla parametrar.
- Parametereffektiv fine‑tuning (PEFT): LoRA introducerar lågrangsadaptrar med frusna grundvikter[18].
- Beteendeanpassning: RLHF — Reinforcement Learning från mänsklig återkoppling[19].
- Systemoptimeringar för inferens: PagedAttention/vLLM ökar serveringsthroughput genom sidhantering av KV‑cache; särskilt fördelaktigt vid långa sekvenser och stora batchar[20].
Länkar
- The Illustrated Transformer — visuell förklaring av Transformer-arkitekturen
Litteratur
- 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.
Noter
- ↑ 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.