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 modelud_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
Pokyny k cvičení
- Nastav dimenzionalitu modelu a velikost slovníku podle argumentů
d_modelavocab_size. - Vytvoř instanci embedding vrstvy.
- Vrať embeddingy vynásobené druhou odmocninou
self.d_model. - Vytvoř instanci
InputEmbeddingss hodnotouvocab_size10 000 ad_model512 a aplikuj ji natoken_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)