始める無料で始める

マルチヘッド・アテンションの実装

独自の MultiHeadAttention クラスを実装する前に、このクラスを実際に使って、クエリ・キー・バリューの各行列がどのように変換されるかを確認します。これらの行列は、学習された重みによる線形変換で入力埋め込みを射影して生成されることを思い出してください。

querykeyvalue の各行列はすでに用意されており、MultiHeadAttention も定義済みです。

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

PyTorchで学ぶTransformerモデル

コースを見る

演習の手順

  • アテンションヘッドを 8 個、入力埋め込みの次元を 512 としてパラメータを定義します。
  • 定義したパラメータを使って MultiHeadAttention クラスのインスタンスを作成します。
  • querykeyvalue の各行列を multihead_attn メカニズムに通します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Define attention parameters
d_model = ____
num_heads = ____

# Instantiate a MultiHeadAttention instance
multihead_attn = ____

# Pass the query, key, and value matrices through the mechanism
output = ____
print(output.shape)
コードを編集して実行