LoslegenKostenlos starten

Eingabe-Embeddings erstellen

Zeit, dein eigenes Transformer-Modell zu bauen – der erste Schritt ist, die Eingabe-Token-IDs zu einbetten!

Du definierst eine Klasse InputEmbeddings mit folgenden Parametern:

  • vocab_size: die Größe des Modell-Vokabulars
  • d_model: die Dimensionalität der Eingabe-Embeddings

Die Bibliotheken torch und math sowie torch.nn als nn wurden bereits für dich importiert. Diese stehen dir in allen Übungen dieses Kurses zur Verfügung.

Diese Übung ist Teil des Kurses

<Kurs>Transformer-Modelle mit PyTorch</Kurs>
Kurs ansehen

Übungsanweisungen

  • Setze die Modelldimensionalität und die Vokabulargröße auf die Argumente d_model bzw. vocab_size.
  • Instanziiere die Embedding-Schicht.
  • Gib die Embeddings multipliziert mit der Quadratwurzel von self.d_model zurück.
  • Instanziiere InputEmbeddings mit vocab_size von 10.000 und d_model von 512 und wende es auf token_ids an.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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)
Code bearbeiten und ausführen