masked self-attention

En mekanisme i transformer-modeller hvor hvert element i en sekvens kun kan se tidligere elementer (og sig selv) via attention, typisk ved at anvende en maske over fremtidige positioner.

Kort fortalt

Maskeret self-attention forhindrer en model i at 'snyde' ved at kigge fremad i sekvensen, så den genereres autoregressivt ét token ad gangen.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    En variant af self-attention hvor en maske forhindrer hvert token i at tage hensyn til efterfølgende tokens i sekvensen, således at opmærksomheden kun rettes mod tidligere eller samme token.

    • I GPT-modellen anvendes masked self-attention i hvert decoder-lag for at opretholde autoregressive egenskaber.Radford et al., 2019
    • Maskeret self-attention implementeres ved at tilføje en trekantet maske til attention-scorerne før softmax.Vaswani et al., 2017

Hvornår bruges det

Masked self-attention anvendes i decoder-delen af transformer-modeller (f.eks. GPT) under autoregressiv generering. Masken sætter attention-vægte fra fremtidige token-positioner til minus uendelig, så de ignoreres i softmax. Dette sikrer, at output på tidspunkt t kun afhænger af input op til tidspunkt t.

Formel

Attention(Q,K,V) = softmax(QK^T/√d + M)V, where M is a mask matrix with M_ij = -∞ for i<j (future positions) and 0 otherwise.

Kodeeksempel

import torch
import torch.nn.functional as F

def masked_self_attention(Q, K, V, mask=None):
    d_k = Q.size(-1)
    scores = torch.matmul(Q, K.transpose(-2, -1)) / torch.sqrt(torch.tensor(d_k, dtype=torch.float))
    if mask is not None:
        scores = scores.masked_fill(mask == 0, float('-inf'))
    weights = F.softmax(scores, dim=-1)
    return torch.matmul(weights, V)

En simpel implementering af maskeret self-attention. Hvis en boolsk maske angives (f.eks. en trekantet maske), sættes score for forbudte positioner til -inf.

Oprindelse

Konceptet stammer fra transformer-arkitekturen (Vaswani et al., 2017), hvor maskering bruges til at forhindre information leakage under træning med teacher forcing.

Kilder

2
  • Attention Is All You Need (Vaswani et al., 2017)
  • Language Models are Unsupervised Multitask Learners (Radford et al., 2019)