НачатьНачать бесплатно

Реализация многоголового внимания

Прежде чем приступить к написанию собственного класса MultiHeadAttention, попробуйте воспользоваться готовым классом и посмотрите, как он преобразует матрицы запросов, ключей и значений. Напомним, что эти матрицы формируются путём проецирования входных эмбеддингов (векторных представлений) с помощью линейных преобразований с обучаемыми весами.

Матрицы query, key и value уже созданы, а класс MultiHeadAttention определён заранее.

Это упражнение является частью курса

Трансформерные модели с 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)
Редактировать и запускать код