CommencezCommencez gratuitement

Créer les intégrations d'entrée

C'est le moment de commencer à bâtir votre propre modèle de transformer, et la première étape consiste à intégrer les identifiants de jetons 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 dimensionnalité des intégrations 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 chargées dans l'ensemble des exercices du cours.

Cette activité fait partie du cours

Modèles Transformer avec PyTorch

Voir le cours

Instructions de l’exercice

  • Affectez la dimension du modèle et la taille du vocabulaire aux arguments d_model et vocab_size, respectivement.
  • Instanciez la couche d'intégration.
  • Retournez les intégrations multipliées 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 ce code d’exemple.

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