Zacznij terazZacznij za darmo

Implementacja wielogłowicowej atencji

Zanim zaczniesz budować własną klasę MultiHeadAttention, najpierw sprawdź, jak działa gotowa implementacja – przekonaj się, w jaki sposób przekształca ona macierze zapytań (query), kluczy (key) i wartości (value). Pamiętaj, że macierze te powstają przez rzutowanie osadzeń wejściowych za pomocą transformacji liniowych z wyuczonymi wagami.

Macierze query, key i value zostały już dla ciebie przygotowane, a klasa MultiHeadAttention jest już zdefiniowana.

To ćwiczenie jest częścią kursu

Modele Transformer w PyTorch

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj parametry atencji dla ośmiu głowic uwagi oraz osadzeń wejściowych o wymiarowości 512.
  • Utwórz instancję klasy MultiHeadAttention, korzystając ze zdefiniowanych parametrów.
  • Przepuść macierze query, key i value przez mechanizm multihead_attn.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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)
Edytuj i uruchom kod