概要
マルチクエリ アテンション (MQA) は、すべてのアテンション ヘッド間で 1 セットのキーと値を共有する、トランスフォーマ アテンションのメモリを節約する工夫です。モデルがシャッフルする必要があるメモリを縮小することにより、テキスト生成が劇的に高速化されます。
マルチクエリ アテンションは、テキストと音声を大規模に読み取り、生成、分類、変換するために使用される言語 AI スタックの一部です。
ディープダイブ
標準的なマルチヘッド アテンションでは、すべてのヘッドに独自のクエリ、キー、および値の投影が与えられます。生成中、過去のすべてのトークンのキーと値をキャッシュし、各ステップで再ロードする必要があります。メモリからの読み取りは計算自体よりも遅いため、この KV キャッシュが主なボトルネックになります。 2019 年に Noam Shazeer によって提案されたマルチクエリ アテンションは、ヘッドごとに個別のクエリ プロジェクションを保持しますが、キーと値を単一の共有ヘッドに集約します。これにより、KV キャッシュがヘッドの数に等しい係数で縮小され、場合によっては 8 分の 1 から 64 分の 1 に縮小されます。その結果、自己回帰デコードが大幅に高速化され、メモリ使用量が軽くなり、品質の低下はわずかです。中間点であるグループ化クエリ アテンションは、トレードオフのバランスをとります。
技術的な洞察
MQA では、クエリの重みによって H 個の個別のクエリ ベクトルが生成されますが、単一のキー プロジェクションと単一の値のプロジェクションがすべてのヘッドで共有されます。各ヘッドは、同じキーと値に対する独自のクエリを使用してアテンションを計算します。キャッシュされた K テンソルと V テンソルはヘッドの数に応じてスケールしなくなるため、デコード中のメモリ帯域幅は急激に低下します。最新のアクセラレータでは、計算ではなく帯域幅が生成速度を左右します。
マルチクエリアテンションをマスターする
マルチクエリ アテンション (MQA) は、すべてのアテンション ヘッド間で 1 セットのキーと値を共有する、トランスフォーマ アテンションのメモリを節約する工夫です。モデルがシャッフルする必要があるメモリを縮小することにより、テキスト生成が劇的に高速化されます。マルチクエリ アテンションは、テキストと音声を大規模に読み取り、生成、分類、変換するために使用される言語 AI スタックの一部です。深い理解を得るには、マルチクエリ アテンションを単一の機能ではなくオペレーティング モデルとして扱います。望ましい結果を定義し、前提条件を明確にし、システムが確実に実行できることと、依然として専門家の判断が必要なことを区別します。
実際には、マルチクエリ アテンションを使用する強力なチームは、プロンプト、取得、レビューのループを 1 つの統合された通信システムとして設計します。明示的な成功基準を文書化し、現実的なデータとワークフローに対してテストし、一度限りのベンチマークの成功ではなく、観察された失敗パターンに基づいて反復します。ここで、理論的な理解が、製品、ポリシー、運用全体にわたる永続的な機能に変わります。
言語ワークフローは、一貫性を犠牲にすることなく、より高速に移行できます。同時に、幻覚の事実がレポート、サポート フロー、または研究成果に静かに入力される可能性があります。最も回復力のあるアプローチは、実験のスピードとガバナンスの規律を組み合わせることであり、パイロットを実行し、証拠を取得し、意思決定ログを公開し、モデルの動作、ユーザーの期待、規制要件の進化に応じて安全対策を継続的に更新します。
戦略的影響
言語ワークフローは、一貫性を犠牲にすることなく、より高速に移行できます。
言語ワークフローは、一貫性を犠牲にすることなく、より高速に移行できます。高品質の導入では、これが測定可能な運用ルール、所有権の境界、定期的なレビューの儀式に変換されるため、チームは曖昧さを拡大するのではなく、自信を拡大することができます。
言語やコミュニケーション スタイルを超えてアクセスが拡張されます。
言語やコミュニケーション スタイルを超えてアクセスが拡張されます。高品質の導入では、これが測定可能な運用ルール、所有権の境界、定期的なレビューの儀式に変換されるため、チームは曖昧さを拡大するのではなく、自信を拡大することができます。
自動化が繰り返しを処理する間、チームは判断により多くの時間を費やすことができます。
自動化が繰り返しを処理する間、チームは判断により多くの時間を費やすことができます。高品質の導入では、これが測定可能な運用ルール、所有権の境界、定期的なレビューの儀式に変換されるため、チームは曖昧さを拡大するのではなく、自信を拡大することができます。
現実世界の実装
生のコンピューティングではなく KV キャッシュがスループットを制限するチャット アシスタントでのトークンごとの生成を高速化します。
Google の PaLM。マルチクエリ アテンションを使用して効率的な大規模推論を可能にします。
リクエストごとの KV キャッシュ メモリを縮小することで、1 つの GPU で多数の同時ユーザーにサービスを提供します。
Llama 2 70B および Llama 3 のグループ化クエリ アテンション。MQA の速度とフル アテンションの品質のバランスをとる直系の子孫です。
実装パターン
実際のマルチクエリアテンション
生のコンピューティングではなく KV キャッシュがスループットを制限するチャット アシスタントでのトークンごとの生成を高速化します。
生のコンピューティングではなく KV キャッシュがスループットを制限するチャット アシスタントでのトークンごとの生成を高速化します。チームは通常、品質のしきい値を事前に定義し、エッジ ケースに対する人間によるエスカレーション パスを維持し、生産性の向上とエラー コストの両方を長期的に追跡すると、より良い結果が得られます。
実際のマルチクエリアテンション
Google の PaLM。マルチクエリ アテンションを使用して効率的な大規模推論を可能にします。
Google の PaLM は、マルチクエリ アテンションを使用して効率的な大規模推論を可能にしました。チームは通常、品質のしきい値を事前に定義し、エッジ ケースに対する人的エスカレーション パスを維持し、生産性の向上とエラー コストの両方を長期的に追跡すると、より良い結果が得られます。
実際のマルチクエリアテンション
リクエストごとの KV キャッシュ メモリを縮小することで、1 つの GPU で多数の同時ユーザーにサービスを提供します。
リクエストごとの KV キャッシュ メモリを縮小することで、1 つの GPU で多くの同時ユーザーにサービスを提供します。チームは通常、品質のしきい値を事前に定義し、エッジ ケースに対する人的エスカレーション パスを確保し、生産性の向上とエラー コストの両方を長期的に追跡すると、より良い結果が得られます。
実際のマルチクエリアテンション
Llama 2 70B および Llama 3 のグループ化クエリ アテンション。MQA の速度とフル アテンションの品質のバランスをとる直系の子孫です。
Llama 2 70B および Llama 3 のグループ化クエリ アテンション。MQA の速度とフル アテンションの品質のバランスをとる直系の子孫です。 チームは通常、品質のしきい値を事前に定義し、エッジ ケースに対する人的エスカレーション パスを確保し、生産性の向上とエラー コストの両方を長期的に追跡すると、より良い結果が得られます。
リスクとガードレール
幻覚のような事実が、レポート、サポート フロー、または研究結果に静かに組み込まれる可能性があります。
迅速な対応により、同様のリクエスト間で一貫性のない結果が生じる可能性があります。
アクセス制御が弱いと、機密テキスト データが漏洩する可能性があります。
実装ロードマップ
展開する前に、出力形式、トーン、品質基準を定義します。
展開する前に、出力形式、トーン、品質基準を定義します。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。
正確さが重要な場合は常に、信頼できる情報源を使って地上対応を行ってください。
正確さが重要な場合は常に、信頼できる情報源を使って地上対応を行ってください。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。
一か八かの成果物については人間によるレビュー チェックポイントを維持します。
一か八かの成果物については人間によるレビュー チェックポイントを維持します。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。
失敗パターンを追跡し、プロンプトやワークフローを定期的に再トレーニングします。
失敗パターンを追跡し、プロンプトやワークフローを定期的に再トレーニングします。各ステップを証拠ゲートとして扱います。基準が満たされない場合は、ロールアウトを一時停止し、ギャップを埋めてから、使用を拡大します。