マルチクエリアテンションとは
マルチクエリアテンションとは、複数の質問役(ヘッド)が共通の参照メモを使うことで、大規模言語モデル(LLM)の文章生成を速くするアテンションの方式です。英語ではMulti-Query Attention、略してMQAと呼ばれます。何人もの相談員が、それぞれ質問しながら同じ一冊の台帳を見るようなイメージ。読み込む情報を減らして、出力を軽くします。
なぜ生成が速くなるのか
通常のアテンションでは、頭(ヘッド)ごとにキーとバリューという参照情報を別々に持ちます。AIが文章を作るときは一語ずつ順番に生成するため、その都度この大きな参照情報を読み直すのが、速度の足かせになっていました。MQAは、すべての質問役がキーとバリューを1組だけ共有する設計です。読み直すデータが減るので生成が速くなり、品質の低下はわずかに収まると報告されています。2019年に提案された、ChatGPT登場より前からある工夫でした。
多人数が同時に使う場面で効く
この方式が効くのは、社内チャットのように大勢が同時にアクセスする場面でしょう。一度にさばける量、つまりスループット(単位時間あたりに処理できる仕事量)が上がり、待ち時間を抑えられます。LLMを選ぶときは、ベンチマークの点数だけでなく、使う人数と応答の速さも合わせて見たいところ。なお、後継のGQA(グループ化クエリアテンション)は、MQAの軽さと従来方式の品質の中間を狙う改良版で、近年のモデルに広く採用されています。
Topic論文の副題は、あの有名タイトルのもじり
MQAを提案した論文の副題は「One Write-Head is All You Need(書き込み用の頭はひとつで十分)」。これは、現在のAIの土台となったTransformerの論文「Attention Is All You Need」(2017年)をもじった言葉遊びです。書いたのはNoam Shazeer氏で、じつはその有名論文の共著者でもあります。自分の代表作のタイトルを、続編で軽くいじってみせたわけです。
マルチクエリアテンションに関するよくある質問
- Multi-Query Attentionはメモリの節約にもなりますか?
- はい。参照情報を1組にまとめるぶん保持するデータが減り、メモリの節約につながります。限られたGPUでより多くのやり取りをさばきたい場面で、速度と容量の両面で効いてきます。
- MQAは利用者が設定するものですか?
- いいえ。これはモデルの内部設計に組み込まれる仕組みで、利用者が画面で切り替えるものではありません。応答の速さや同時利用の安定性を支える裏側の工夫だと考えてください。
- 速くなる代わりに品質は下がりますか?
- わずかには影響する場合があります。参照情報を共有するぶん表現力は減りますが、論文では品質の低下は小さいと報告されています。速度と品質のどちらを優先するかで方式が選ばれます。