ComeçarComece de graça

Criando embeddings de entrada

Hora de começar a criar seu próprio modelo transformer, e o primeiro passo é transformar os IDs dos tokens de entrada em embeddings!

Você vai definir uma classe InputEmbeddings com os seguintes parâmetros:

  • vocab_size: o tamanho do vocabulário do modelo
  • d_model: a dimensionalidade dos embeddings de entrada

As bibliotecas torch e math já foram importadas para você, assim como torch.nn como nn. Elas serão usadas ao longo dos exercícios do curso.

Este exercício faz parte do curso

Modelos Transformer com PyTorch

Ver curso

Instruções do exercício

  • Defina a dimensionalidade do modelo e o tamanho do vocabulário a partir dos argumentos d_model e vocab_size, respectivamente.
  • Instancie a camada de embedding.
  • Retorne os embeddings multiplicados pela raiz quadrada de self.d_model.
  • Instancie InputEmbeddings com vocab_size de 10.000 e d_model de 512, e aplique-a a token_ids.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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)
Editar e executar o código