Реалізація multi-head attention
Перш ніж занурюватися й будувати власний клас MultiHeadAttention, спробуйте скористатися цим класом, щоб побачити, як він перетворює матриці query, key і value. Нагадаємо, що ці матриці отримують проєкцією вхідних вкладень (embeddings — векторних представлень) за допомогою лінійних перетворень із навчуваними вагами.
Матриці query, key і value вже створено для вас, а MultiHeadAttention уже визначено.
Ця вправа є частиною курсу
Моделі Transformer з PyTorch
Інструкції до вправи
- Визначте параметри для восьми голів уваги та вхідних вкладень розмірності
512. - Створіть екземпляр класу
MultiHeadAttention, використовуючи визначені параметри. - Пропустіть матриці
query,keyіvalueчерез механізмmultihead_attn.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)