Implementación de multi-head attention
Antes de ponerte manos a la obra y construir tu propia clase MultiHeadAttention, vas a probar a usarla para ver cómo transforma las matrices de consulta (query), clave (key) y valor (value). Recuerda que estas matrices se generan proyectando las incrustaciones de entrada mediante transformaciones lineales con pesos aprendidos.
Las matrices query, key y value ya se han creado por ti, y MultiHeadAttention ya está definida.
Este ejercicio forma parte del curso
Modelos Transformer con PyTorch
Instrucciones del ejercicio
- Define los parámetros de atención para ocho cabezas de atención y para incrustaciones de entrada con una dimensionalidad de
512. - Crea una instancia de la clase
MultiHeadAttentionusando los parámetros definidos. - Pasa las matrices
query,keyyvaluepor el mecanismomultihead_attn.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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)