Transformer-arkitektur og Attention-mekanisme: Teknisk analyse
Introdusert av Google i 2017-artikkelen "Attention Is All You Need," danner Transformer-arkitekturen ryggraden i moderne kunstig intelligens. Alle store språkmodeller som GPT, Claude og Gemini er bygget på denne arkitekturen.
Før Transformere: Begrensninger i RNN og LSTM
Før transformer-æraen var NLP-oppgaver avhengige av Recurrent Neural Networks (RNN) og Long Short-Term Memory (LSTM)-nettverk:
RNN/LSTM-problemer:
- Krav om sekvensiell prosessering → Parallellisering er umulig.
- Gradient-vanishing/-exploding i lange sekvenser.
- Vanskelig å lære langtrekkende avhengigheter.
- Veldig lange treningstider.
Self-Attention-mekanisme
Self-attention er en mekanisme som beregner forholdet mellom hvert element i en sekvens og alle andre elementer.
Matematisk formulering
Attention(Q, K, V) = softmax(QK^T / √d_k) × V
Parametere:
- Q (Query): Spørrevektoren.
- K (Key): Nøkkelvektoren som skal matches.
- V (Value): Den faktiske informasjonsvektoren.
- d_k: Dimensjonen på Key-vektoren.
Stegvis beregning
- Projeksjon: Input → Q-, K-, V-matriser
1Q = X × W_Q 2K = X × W_K 3V = X × W_V
- Attention-scorer: Punktprodukt av Q og K
scores = Q × K^T
- Skalering: Deling på √d_k for gradientstabilitet
scaled_scores = scores / √d_k
- Softmax: Konvertering til en sannsynlighetsfordeling
attention_weights = softmax(scaled_scores)
- Vektet sum: Multiplisering med Value
output = attention_weights × V
Multi-Head Attention
I stedet for ett enkelt attention-hode brukes flere parallelle attention-hoder:
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)
Fordeler med Multi-Head Attention
- Læring i ulike representasjonsdelrom.
- Fangst av forskjellige typer kontekstuelle relasjoner.
- Rikere funksjonsekstraksjon.
Typiske konfigurasjoner:
- GPT-3: 96 attention-hoder, d_model = 12288.
- GPT-4: Estimert 120+ hoder.
Positional Encoding
Siden Transformere prosesserer data parallelt, legges posisjonsinformasjon til for å bevare sekvenskontekst:
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 avansert metode brukt i moderne modeller:
f(x, pos) = x × e^(i × pos × θ)
Fordeler med RoPE:
- Koder naturlig relativ posisjonsinformasjon.
- Bedre ekstrapoleringsevne for lengre sekvenser.
- Brukes i GPT-NeoX, LLaMA og Mistral-modeller.
Feed-Forward Network
Et MLP-lag som følger hvert attention-lag:
FFN(x) = GELU(xW_1 + b_1)W_2 + b_2
Typiske dimensjoner:
- d_model = 4096.
- d_ff = 4 × d_model = 16384.
Aktiveringsfunksjoner
- ReLU: Klassisk og enkel.
- GELU: Foretrukket i GPT-type modeller.
- SwiGLU: Brukt i LLaMA- og PaLM-modeller.
Layer Normalization
Kritisk for treningsstabilitet:
Pre-LN vs Post-LN
Post-LN (Original):
x = x + Attention(LayerNorm(x))
Pre-LN (Moderne):
x = LayerNorm(x + Attention(x))
Pre-LN gir mer stabil trening og har blitt industristandarden i dag.
Encoder- vs Decoder-arkitekturer
Encoder-only (BERT-stil)
- Bidireksjonal attention.
- Brukt for klassifisering, NER og semantisk likhet.
- Masked Language Modeling.
Decoder-only (GPT-stil)
- Kausal/autoregressiv attention.
- Brukt for tekstgenerering og chat.
- Neste token-prediksjon.
Encoder-Decoder (T5, BART)
- Sekvens-til-sekvens-oppgaver.
- Oversettelse og oppsummering.
Causal Masking
Maskering av fremtidige tokens i decoder-modeller:
mask = triu(ones(seq_len, seq_len), diagonal=1) masked_scores = scores + mask × (-inf)
Dette sikrer at modellen kun ser på tidligere tokens under generering.
KV-Cache-optimalisering
For å forhindre redundant beregning 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
Minnesparing: O(n²) → O(n) for behandlingssteg.
Flash Attention
En minneeffektiv implementasjon av attention:
Problemer med standard attention:
- O(n²) minnebruk.
- HBM (high bandwidth memory) flaskehals.
Flash Attention-løsning:
- Tiling: Deler opp attention i blokker.
- Online Softmax: Inkrementell beregning.
- I/O-bevisst: Optimalisering av GPU-minnehierarkiet.
Resultat: 2–4x hastighetsøkning, 5–20% minnebesparelse.
Varianter av Sparse Attention
Reduserer attention-kompleksitet for lange kontekster:
Lokal attention
Fokuserer kun på nærliggende tokens.
Dilatert attention
Bruker attention på bestemte intervaller.
Longformer-mønster
Kombinerer lokal + global attention.
Moderne 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 |
Konklusjon
Transformer-arkitekturen er den grunnleggende byggesteinen i moderne AI. Dens self-attention-mekanisme, evne til parallell prosessering og kapasitet til å lære langtidsavhengigheter har gjort denne arkitekturen revolusjonerende.
Hos Veni AI utnytter vi transformer-baserte modeller effektivt i våre bedriftsløsninger. Kontakt oss for teknisk rådgivning.
