Implementare la multi-head attention
Prima di metterti all'opera e costruire la tua classe MultiHeadAttention, prova a usarla per vedere come trasforma le matrici di query, key e value. Ricorda che queste matrici si ottengono proiettando gli embedding di input tramite trasformazioni lineari con pesi appresi.
Le matrici query, key e value sono già state create per te e MultiHeadAttention è già stata definita.
Questo esercizio fa parte del corso
Modelli Transformer con PyTorch
Istruzioni dell'esercizio
- Definisci i parametri dell'attenzione per otto teste di attenzione e embedding di input con dimensionalità
512. - Crea un'istanza della classe
MultiHeadAttentionusando i parametri definiti. - Fai passare le matrici
query,keyevalueattraverso il meccanismomultihead_attn.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)