Creare gli embedding di input
È il momento di iniziare a creare il tuo modello transformer: il primo passo è fare l’embedding degli ID dei token di input!
Definirai una classe InputEmbeddings con i seguenti parametri:
vocab_size: la dimensione del vocabolario del modellod_model: la dimensionalità degli embedding di input
Le librerie torch e math sono già state importate per te, così come torch.nn come nn. Queste saranno caricate in tutti gli esercizi del corso.
Questo esercizio fa parte del corso
Modelli Transformer con PyTorch
Istruzioni dell'esercizio
- Imposta la dimensionalità del modello e la dimensione del vocabolario rispettivamente sugli argomenti
d_modelevocab_size. - Istanzia il livello di embedding.
- Restituisci gli embedding moltiplicati per la radice quadrata di
self.d_model. - Istanzia
InputEmbeddingsconvocab_sizepari a 10.000 ed_modelpari a 512, e applicalo atoken_ids.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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)