E· Universitettransformerarkitektur· ca 60 min· utvecklande· verifierad 2026-09-20
Attention-varianter: cross, kausal, gles
Kunna skilja self-, cross- och kausal attention och förklara glesa och lokala varianter.
Förkunskaper
Intuition
Efter vem som ger Q, K och V:
- Self-attention: alla tre från samma sekvens.
- Cross-attention: Q från en sekvens, K och V från en annan (decoder ← encoder).
Efter vad som får ses:
- Full (bidirektionell): alla positioner ser alla. Encoders.
- Kausal: position t ser bara ≤ t. Decoders.
- Prefix: full inom en prompt-del, kausal efter den.
Efter hur mycket som beräknas — motivet är att full attention kostar O(T²):
- Lokal/sliding window: se bara w närmaste (Mistral använder 4 096).
- Gles: fasta mönster, t.ex. varannan lokal och varannan global (Longformer, BigBird).
- Linjär: approximera softmax så kostnaden blir O(T) (Performer).
- MQA/GQA: färre K/V-huvuden än Q-huvuden — samma beräkning men mycket mindre KV-cache.
Kod
import torch
T = 8
kausal = torch.tril(torch.ones(T, T, dtype=torch.bool))
print(kausal.int()[:4])
# [[1 0 0 0 0 0 0 0]
# [1 1 0 0 0 0 0 0]
# [1 1 1 0 0 0 0 0]
# [1 1 1 1 0 0 0 0]]
w = 3 # glidande fönster, kausalt
i = torch.arange(T)[:, None]; j = torch.arange(T)[None, :]
lokal = (j <= i) & (j > i - w)
print(lokal.int()[5]) # [0 0 0 1 1 1 0 0] ← ser bara tre bakåt
# kostnad: full vs fönster
for Tn in (1_000, 32_000):
print(Tn, f"full {Tn**2:,}", f"fönster(4096) {min(Tn, 4096) * Tn:,}")
# 1000 full 1,000,000 fönster 1,000,000
# 32000 full 1,024,000,000 fönster 131,072,000 ← 8× billigare
Avvägningen: ett glidande fönster kan bara nå längre bakåt genom att stapla lager (efter L lager är räckvidden L·w). Det räcker ofta, men en modell med bara lokal attention kan missa ett beroende till något som stod 20 000 tokens tidigare. Därför blandar de flesta arkitekturer lokala och globala lager.
Behärskning innebär
- Skiljer self-, cross- och kausal attention
- Förklarar glesa och lokala varianter och varför de behövs
Logga in för att göra övningarna och bygga upp din behärskning.
Källor
- arXiv — Longformer: The Long-Document Transformer — arXiv (öppen åtkomst; licens per artikel)
- arXiv — GQA: Training Generalized Multi-Query Transformer Models — arXiv (öppen åtkomst; licens per artikel)