CommencerCommencer gratuitement

Créer les embeddings d’entrée

Il est temps de commencer à créer votre propre modèle transformer, et la première étape consiste à intégrer les identifiants de tokens en entrée !

Vous allez définir une classe InputEmbeddings avec les paramètres suivants :

  • vocab_size : la taille du vocabulaire du modèle
  • d_model : la dimension des embeddings d’entrée

Les bibliothèques torch et math ont été importées pour vous, ainsi que torch.nn sous le nom nn. Elles seront utilisées tout au long des exercices du cours.

Cet exercice fait partie du cours

Modèles Transformer avec PyTorch

Afficher le cours

Instructions

  • Affectez la dimension du modèle et la taille du vocabulaire aux arguments d_model et vocab_size, respectivement.
  • Instanciez la couche d’embedding.
  • Retournez les embeddings multipliés par la racine carrée de self.d_model.
  • Instanciez InputEmbeddings avec un vocab_size de 10 000 et un d_model de 512, puis appliquez-le à token_ids.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

class InputEmbeddings(nn.Module):
    def __init__(self, vocab_size: int, d_model: int) -> None:
        super().__init__()
        # Set the model dimensionality and vocabulary size
        self.d_model = ____
        self.vocab_size = ____
        # Instantiate the embedding layer
        self.embedding = ____

    def forward(self, x):
        # Return the embeddings multiplied by the square root of d_model
        return ____

# Instantiate InputEmbeddings and apply it to token_ids
embedding_layer = ____
output = ____
print(output.shape)
Modifier et exécuter le code