Membuat input embedding
Saatnya mulai membangun model transformer Anda sendiri, dan langkah pertama adalah melakukan embedding pada ID token masukan!
Anda akan mendefinisikan kelas InputEmbeddings dengan parameter berikut:
vocab_size: ukuran kosakata modeld_model: dimensi embedding masukan
Pustaka torch dan math telah diimpor untuk Anda, begitu juga torch.nn sebagai nn. Pustaka ini akan digunakan sepanjang latihan kursus.
Latihan ini adalah bagian dari kursus
Model Transformer dengan PyTorch
Petunjuk latihan
- Setel dimensi model dan ukuran kosakata ke argumen
d_modeldanvocab_sizemasing-masing. - Buat instance layer embedding.
- Kembalikan embedding yang dikalikan dengan akar kuadrat dari
self.d_model. - Buat instance
InputEmbeddingsdenganvocab_size10.000 dand_model512, lalu terapkan padatoken_ids.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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)