Girdi gömmeleri oluşturma
Kendi transformer modelini oluşturmaya başlama zamanı ve ilk adım, girdi token kimliklerini gömmek!
Aşağıdaki parametrelerle bir InputEmbeddings sınıfı tanımlayacaksın:
vocab_size: model sözlüğünün boyutud_model: girdi gömmelerinin boyutsallığı
torch ve math kütüphaneleri ile torch.nn'in nn olarak içe aktarımı senin için yapıldı. Bunlar kurs boyunca egzersizlerde yüklü olacak.
Bu egzersiz
PyTorch ile Transformer Modelleri
kursunun bir parçasıdırEgzersiz talimatları
- Model boyutunu ve sözlük boyutunu sırasıyla
d_modelvevocab_sizeargümanlarına ata. - Gömme katmanını örnekle.
- Gömeleri
self.d_model'in karekökü ile çarpılmış olarak döndür. InputEmbeddings'ivocab_size10.000 ved_model512 olacak şekilde oluştur vetoken_idsüzerine uygula.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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)