ÎncepețiÎncepe gratuit

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 modelului
  • d_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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Setează dimensionalitatea modelului și dimensiunea vocabularului folosind argumentele d_model, respectiv vocab_size.
  • Instanțiază stratul de încorporare.
  • Returnează încorporările înmulțite cu rădăcina pătrată a lui self.d_model.
  • Instanțiază InputEmbeddings cu vocab_size egal cu 10.000 și d_model egal cu 512, apoi aplică-o pe token_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)
Editează și rulează codul