IniziaInizia gratis

Creare gli embedding di input

È il momento di iniziare a creare il tuo modello transformer: il primo passo è fare l’embedding degli ID dei token di input!

Definirai una classe InputEmbeddings con i seguenti parametri:

  • vocab_size: la dimensione del vocabolario del modello
  • d_model: la dimensionalità degli embedding di input

Le librerie torch e math sono già state importate per te, così come torch.nn come nn. Queste saranno caricate in tutti gli esercizi del corso.

Questo esercizio fa parte del corso

Modelli Transformer con PyTorch

Visualizza il corso

Istruzioni dell'esercizio

  • Imposta la dimensionalità del modello e la dimensione del vocabolario rispettivamente sugli argomenti d_model e vocab_size.
  • Istanzia il livello di embedding.
  • Restituisci gli embedding moltiplicati per la radice quadrata di self.d_model.
  • Istanzia InputEmbeddings con vocab_size pari a 10.000 e d_model pari a 512, e applicalo a token_ids.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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)
Modifica ed esegui il codice