Hoppa till innehållet
AI-grafen
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

Alla källor och licenser