Transformer-arkitektur och Attention-mekanism: Teknisk analys
Introducerad av Google i 2017 års artikel "Attention Is All You Need" utgör Transformer-arkitekturen ryggraden i modern artificiell intelligens. Alla stora språkmodeller såsom GPT, Claude och Gemini bygger på denna arkitektur.
Före Transformers: Begränsningar hos RNN och LSTM
Före transformer-eran förlitade sig NLP-uppgifter på Recurrent Neural Networks (RNN) och Long Short-Term Memory (LSTM)-nätverk:
Problem med RNN/LSTM:
- Krav på sekventiell behandling → Parallellisering är omöjlig.
- Gradientförsvinnande/-explosion vid långa sekvenser.
- Svårigheter att lära långtgående beroenden.
- Mycket långa träningstider.
Self-Attention-mekanism
Self-attention är en mekanism som beräknar relationen mellan varje element i en sekvens och alla andra element.
Matematisk formulering
Attention(Q, K, V) = softmax(QK^T / √d_k) × V
Parametrar:
- Q (Query): Frågevektorn.
- K (Key): Nyckelvektorn som matchas.
- V (Value): Själva informationsvektorn.
- d_k: Dimensionen för Key-vektorn.
Steg-för-steg-beräkning
- Projektion: Input → Q-, K-, V-matriser
1Q = X × W_Q 2K = X × W_K 3V = X × W_V
- Attention-scores: Punktprodukt mellan Q och K
scores = Q × K^T
- Skalning: Delning med √d_k för gradientstabilitet
scaled_scores = scores / √d_k
- Softmax: Omvandling till en sannolikhetsfördelning
attention_weights = softmax(scaled_scores)
- Viktad summa: Multiplikation med Value
output = attention_weights × V
Multi-Head Attention
Istället för ett enda attention-huvud används flera parallella attention-huvuden:
1MultiHead(Q, K, V) = Concat(head_1, ..., head_h) × W_O 2 3where head_i = Attention(QW_Q^i, KW_K^i, VW_V^i)
Fördelar med Multi-Head Attention
- Inlärning i olika representationssubrymder.
- Fångar olika typer av kontextuella relationer.
- Rikare feature-extraktion.
Typiska konfigurationer:
- GPT-3: 96 attention-huvuden, d_model = 12288.
- GPT-4: Uppskattningsvis 120+ huvuden.
Positional Encoding
Eftersom Transformers bearbetar data parallellt läggs positionsinformation till för att bevara sekventiellt sammanhang:
Sinusoidal Positional Encoding
PE(pos, 2i) = sin(pos / 10000^(2i/d_model)) PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))
Rotary Positional Embedding (RoPE)
En mer avancerad metod som används i moderna modeller:
f(x, pos) = x × e^(i × pos × θ)
Fördelar med RoPE:
- Koder naturligt relativ positionsinformation.
- Bättre extrapoleringsförmåga för längre sekvenser.
- Används i GPT-NeoX, LLaMA och Mistral-modeller.
Feed-Forward Network
Ett MLP-lager som följer efter varje attention-lager:
FFN(x) = GELU(xW_1 + b_1)W_2 + b_2
Typiska dimensioner:
- d_model = 4096.
- d_ff = 4 × d_model = 16384.
Aktiveringsfunktioner
- ReLU: Klassiskt och enkelt.
- GELU: Föredras i GPT-typsmodeller.
- SwiGLU: Används i LLaMA- och PaLM-modeller.
Layer Normalization
Avgörande för träningsstabilitet:
Pre-LN vs Post-LN
Post-LN (Original):
x = x + Attention(LayerNorm(x))
Pre-LN (Modern):
x = LayerNorm(x + Attention(x))
Pre-LN ger mer stabil träning och har blivit industristandard idag.
Encoder- vs Decoder-arkitekturer
Endast Encoder (BERT-stil)
- Bidirektionell attention.
- Används för klassificering, NER och semantisk likhet.
- Masked Language Modeling.
Endast Decoder (GPT-stil)
- Kausal/autoregressiv attention.
- Används för textgenerering och chatt.
- Nästa-token-prognos.
Encoder-Decoder (T5, BART)
- Sequence-to-sequence-uppgifter.
- Översättning och sammanfattning.
Causal Masking
Maskering av framtida tokens i decoder-modeller:
mask = triu(ones(seq_len, seq_len), diagonal=1) masked_scores = scores + mask × (-inf)
Detta säkerställer att modellen bara tittar på tidigare tokens under generering.
KV-Cache Optimization
För att förhindra redundant beräkning under inferens:
1Step 1: Calculate K_1, V_1 → save to cache 2Step 2: Calculate K_2, V_2 → K = [K_1, K_2], V = [V_1, V_2] 3Step n: Calculate only for the new token, retrieve old values from cache
Minnesbesparing: O(n²) → O(n) för bearbetningssteg.
Flash Attention
En minnesoptimerad attention-implementation:
Problem med standard-attention:
- O(n²) minnesanvändning.
- HBM-flaskhals (high bandwidth memory).
Flash Attention-lösning:
- Tiling: Delar upp attention i block.
- Online Softmax: Successiv beräkning.
- I/O Aware: Optimerar GPU:ns minneshierarki.
Resultat: 2–4x hastighetsökning, 5–20% minnesbesparing.
Sparse Attention-varianter
Reducerar attention-komplexitet för långa kontexter:
Local Attention
Fokuserar endast på närliggande tokens.
Dilated Attention
Applicerar attention vid specifika intervall.
Longformer-mönster
Kombinerar Local + Global attention.
Moderna Transformer-varianter
| Model | Feature | Context Length |
|---|---|---|
| GPT-4 | MoE, long context | 128K |
| Claude 3 | Constitutional AI | 200K |
| Gemini 1.5 | Sparse MoE | 1M |
| Mistral | Sliding window | 32K |
Slutsats
Transformer-arkitekturen är den grundläggande byggstenen i modern AI. Dess self-attention-mekanism, parallella bearbetning och förmåga att lära sig långväga beroenden har gjort denna arkitektur revolutionerande.
På Veni AI använder vi transformerbaserade modeller effektivt i våra företagslösningar. Kontakta oss för teknisk rådgivning.
