Kom igångKom igång gratis

Implementera multi-head attention

Innan du börjar bygga din egen MultiHeadAttention-klass ska du prova att använda klassen för att se hur den transformerar query-, key- och value-matriserna. Kom ihåg att dessa matriser genereras genom att projicera inbäddningarna (embeddings) med hjälp av linjära transformationer med inlärda vikter.

Matriserna query, key och value har redan skapats åt dig, och MultiHeadAttention är redan definierad.

Den här övningen är en del av kursen

Transformermodeller med PyTorch

Visa kurs

Övningsinstruktioner

  • Definiera attention-parametrarna för åtta attention-huvuden och inbäddningar med dimensionaliteten 512.
  • Skapa en instans av klassen MultiHeadAttention med de definierade parametrarna.
  • Skicka matriserna query, key och value genom multihead_attn-mekanismen.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Define attention parameters
d_model = ____
num_heads = ____

# Instantiate a MultiHeadAttention instance
multihead_attn = ____

# Pass the query, key, and value matrices through the mechanism
output = ____
print(output.shape)
Redigera och kör kod