ComenzarEmpieza gratis

Crear embeddings de entrada

¡Es hora de empezar a crear tu propio modelo transformer, y el primer paso es generar los embeddings de los IDs de los tokens de entrada!

Definirás una clase InputEmbeddings con los siguientes parámetros:

  • vocab_size: el tamaño del vocabulario del modelo
  • d_model: la dimensionalidad de los embeddings de entrada

Las librerías torch y math ya se han importado por ti, así como torch.nn como nn. Se utilizarán a lo largo de los ejercicios del curso.

Este ejercicio forma parte del curso

Modelos Transformer con PyTorch

Ver curso

Instrucciones del ejercicio

  • Asigna la dimensionalidad del modelo y el tamaño del vocabulario a los argumentos d_model y vocab_size, respectivamente.
  • Instancia la capa de embedding.
  • Devuelve los embeddings multiplicados por la raíz cuadrada de self.d_model.
  • Instancia InputEmbeddings con vocab_size de 10.000 y d_model de 512, y aplícalo a token_ids.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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 y ejecutar código