始める無料で始める

入力埋め込みを作成する

いよいよ独自のTransformerモデル作成を始めます。最初のステップは、入力のトークンIDを埋め込むことです!

次のパラメータを持つ InputEmbeddings クラスを定義します。

  • vocab_size: モデルの語彙サイズ
  • d_model: 入力埋め込みの次元数

torchmath ライブラリ、そして torch.nnnn としてすでにインポートしてあります。これらはコース全体の演習で使用します。

この演習はコースの一部です

PyTorchで学ぶTransformerモデル

コースを見る

演習の手順

  • モデルの次元数と語彙サイズを、それぞれ d_modelvocab_size の引数に設定します。
  • 埋め込み層をインスタンス化します。
  • 返り値として、埋め込みに self.d_model の平方根を掛けたものを返します。
  • vocab_size を 10,000、d_model を 512 として InputEmbeddings をインスタンス化し、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)
コードを編集して実行