Re Reference AI

アーキテクチャ

Multi-Head Attentionとは

MHA / マルチヘッドアテンション

Attentionを複数のヘッドに分けて並列に計算し、異なる観点の関係を同時に捉えて結合する仕組み

Transformer深層学習

最終更新:

概要

Multi-Head Attentionは、Attentionの計算を複数の「ヘッド」に分けて並列に実行し、その結果を連結して線形変換する仕組み。Transformerの中核となる構成要素。 各ヘッドは入力をそれぞれ別の重みでQuery・Key・Valueに射影し、低い次元の空間でScaled Dot-Product Attentionを計算する。ヘッドごとに異なる射影を学習するため、構文的な関係、近い位置への注目、意味的な対応関係など、異なる種類の関係を別々のヘッドが捉えられる。ヘッド数を増やしても各ヘッドの次元を小さくするため、全体の計算量は単一ヘッドのAttentionと同程度に収まる。 推論時にはヘッドごとにKeyとValueをKVキャッシュに保持する必要がある。メモリ使用量を減らす派生として、KeyとValueをヘッド間で共有するMulti-Query AttentionやGrouped-Query Attention、低ランクに圧縮するMulti-Head Latent Attentionが提案されている。

歴史

2017年にVaswaniらが論文「Attention Is All You Need」でTransformerの構成要素として提案した。

利点

  • 複数の種類の関係を異なるヘッドで同時に捉えられる
  • ヘッドごとの計算を並列に実行できる

欠点

  • 推論時にヘッドごとのKey・ValueをKVキャッシュに保持するため、長い入力ではメモリ使用量が大きい
  • 系列長に対して計算量が二乗で増える性質は単一ヘッドのAttentionと変わらない

関連する用語

AttentionSelf-AttentionTransformerGQAMQAFeed-Forward NetworkLLMKVキャッシュニューラルネットワークRNNCNNLSTM

参考文献