Multi-Head Attention implementieren
Bevor du loslegst und deine eigene MultiHeadAttention-Klasse baust, probierst du erst aus, wie die Klasse die Matrizen für Query, Key und Value transformiert. Denk daran: Diese Matrizen entstehen, indem die Eingabe-Embeddings mithilfe linearer Transformationen mit gelernten Gewichten projiziert werden.
Die Matrizen query, key und value wurden bereits für dich erstellt, und MultiHeadAttention ist ebenfalls schon für dich definiert.
Diese Übung ist Teil des Kurses
<Kurs>Transformer-Modelle mit PyTorch</Kurs>Übungsanweisungen
- Definiere die Attention-Parameter für acht Attention-Heads und Eingabe-Embeddings mit der Dimensionalität
512. - Erzeuge eine Instanz der Klasse
MultiHeadAttentionmit den definierten Parametern. - Leite die Matrizen
query,keyundvaluedurch den Mechanismusmultihead_attn.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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)