1. Learn
  2. /
  3. Courses
  4. /
  5. Modèles Transformer avec PyTorch

Connected

Exercise

Ajout de méthodes à la classe MultiHeadAttention

Dans cet exercice, vous allez compléter le reste de la classe MultiHeadAttention à partir de zéro en définissant quatre méthodes :

  • .split_heads() : fractionner et transformer les plongements d'entrée entre les têtes d'attention
  • .compute_attention() : calculer l'attention produit scalaire pondérée (scaled dot-product) multipliée par la matrice des valeurs
  • .combine_heads() : reconvertir les pondérations d'attention dans le même gabarit que les plongements d'entrée, x
  • .forward() : appeler les autres méthodes pour faire passer les plongements d'entrée à travers chaque étape

torch.nn a été importé sous le nom nn, torch.nn.functional est accessible sous F, et torch est également disponible.

Instructions 1/4

undefined XP
    1
    2
    3
    4
  • Répartissez les plongements d'entrée, x, entre les têtes d'attention en les remodelant à (batch_size, seq_length, self.num_heads, self.head_dim).