Crearea încorporărilor de intrare
A venit momentul să începi să construiești propriul tău model transformer — iar primul pas este să încorporezi ID-urile token-urilor de intrare!
Vei defini o clasă InputEmbeddings cu următorii parametri:
vocab_size: dimensiunea vocabularului modeluluid_model: dimensionalitatea încorporărilor de intrare
Bibliotecile torch și math au fost importate pentru tine, împreună cu torch.nn ca nn. Acestea vor fi disponibile pe parcursul tuturor exercițiilor din curs.
Acest exercițiu face parte din cursul
Modele Transformer cu PyTorch
Instrucțiuni pentru exercițiu
- Setează dimensionalitatea modelului și dimensiunea vocabularului folosind argumentele
d_model, respectivvocab_size. - Instanțiază stratul de încorporare.
- Returnează încorporările înmulțite cu rădăcina pătrată a lui
self.d_model. - Instanțiază
InputEmbeddingscuvocab_sizeegal cu 10.000 șid_modelegal cu 512, apoi aplică-o petoken_ids.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)