Multi-head attention implementeren
Voordat je aan de slag gaat met het bouwen van je eigen MultiHeadAttention-klasse, ga je de klasse eerst gebruiken om te zien hoe deze de query-, key- en value-matrices transformeert. Onthoud dat deze matrices worden gegenereerd door de input-embeddings te projecteren met lineaire transformaties met geleerde gewichten.
De query-, key- en value-matrices zijn al voor je aangemaakt en MultiHeadAttention is al voor je gedefinieerd.
Deze oefening maakt deel uit van de cursus
Transformermodels met PyTorch
Oefeninstructies
- Definieer de attention-parameters voor acht attention-heads en input-embeddings met een dimensionaliteit van
512. - Maak een instantie van de
MultiHeadAttention-klasse met de gedefinieerde parameters. - Haal de
query-,key- envalue-matrices door hetmultihead_attn-mechanisme.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)