Začněte nyníZačněte zdarma

Vytvoření vstupních embeddingů

Začínáme budovat vlastní transformer model – a prvním krokem je embedding vstupních token ID!

Definuješ třídu InputEmbeddings s těmito parametry:

  • vocab_size: velikost slovníku modelu
  • d_model: dimenzionalita vstupních embeddingů

Knihovny torch a math jsou již naimportované, stejně jako torch.nn pod aliasem nn. Tyto knihovny budeš mít k dispozici ve všech cvičeních kurzu.

Toto cvičení je součástí kurzu

Transformer Models with PyTorch

Zobrazit kurz

Pokyny k cvičení

  • Nastav dimenzionalitu modelu a velikost slovníku podle argumentů d_model a vocab_size.
  • Vytvoř instanci embedding vrstvy.
  • Vrať embeddingy vynásobené druhou odmocninou self.d_model.
  • Vytvoř instanci InputEmbeddings s hodnotou vocab_size 10 000 a d_model 512 a aplikuj ji na token_ids.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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)
Upravit a spustit kód