इनपुट embeddings बनाना
अब अपनी खुद की transformer मॉडल बनाना शुरू करने का समय है, और पहला कदम है इनपुट token IDs को embed करना!
आप एक InputEmbeddings क्लास परिभाषित करेंगे, जिसमें निम्न पैरामीटर होंगे:
vocab_size: मॉडल के vocabulary का आकारd_model: इनपुट embeddings की dimensionality
torch और math लाइब्रेरी आपके लिए पहले से इम्पोर्ट की गई हैं, साथ ही torch.nn को nn के रूप में. ये पूरे कोर्स के अभ्यासों में लोड रहेंगी.
यह अभ्यास पाठ्यक्रम का हिस्सा है
PyTorch के साथ Transformer Models
अभ्यास निर्देश
- मॉडल की dimensionality और vocabulary size को क्रमशः
d_modelऔरvocab_sizeआर्ग्यूमेंट्स में सेट करें. - embedding लेयर instantiate करें.
- embeddings को
self.d_modelके square root से गुणा करके रिटर्न करें. InputEmbeddingsकोvocab_size10,000 औरd_model512 के साथ instantiate करें, और इसेtoken_idsपर अप्लाई करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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)