言語AIガイド

フラッシュアテンション

FlashAttendant は、標準のトランスフォーマーとまったく同じアテンションを計算するメモリ効率の高いアルゴリズムですが、低速な GPU メモリに巨大なアテンション マトリックスを書き込む必要はありません。

2分の読書最終更新日

概要

It made long-context training and inference dramatically faster and cheaper.

ディープダイブ

標準アテンションは、トークンのペアごとにスコアを計算し、N 行 N 列の行列を生成します。 4,000 トークンのシーケンスの場合、スコアは 1,600 万になり、行列は GPU の高帯域幅メモリ (HBM) に書き込まれ、そこから読み取られる必要があります。本当のボトルネックは計算ではなくメモリ トラフィックです。 Tri Dao らによって 2022 年に導入された FlashAttend は、行列が完全には実現されないように計算を再構築します。 GPU の小型で超高速のオンチップ SRAM に収まるタイルでシーケンスを処理し、処理が進むにつれてソフトマックスを段階的に計算します。結果は数学的には標準的なアテンションと同じですが、使用するメモリがはるかに少なく、実行速度が数倍速くなり、より長いコンテキスト ウィンドウが可能になります。

技術的な洞察

秘訣は、タイリングと組み合わせた「オンライン ソフトマックス」です。 FlashAttention は、クエリ、キー、および値の小さなブロックを SRAM にロードし、部分アテンション出力を計算し、新しいブロックが到着すると実行合計を再スケーリングします。これにより、すべてのスコアを一度に確認することなくソフトマックス正規化が正しい状態に保たれます。 HBM には完全な N 行 N 列の行列が格納されないため、メモリは 2 次ではなく線形に拡張され、カーネルは単一の GPU 操作に融合されて、遅いメモリの読み取りと書き込みが最小限に抑えられます。

戦略的影響

速度とスケール

言語ワークフローは、一貫性を犠牲にすることなく、より高速に移行できます。

アクセスと到達範囲

言語やコミュニケーション スタイルを超えてアクセスが拡張されます。

より明確な判決

自動化が繰り返しを処理する間、チームは判断により多くの時間を費やすことができます。

Flash の未来注意

FlashAttendant はデフォルトのビルディング ブロックになりました。 FlashAttendant-2 は GPU ワーク パーティショニングを改善し、FlashAttendant-3 は非同期や低精度 FP8 などの新しい Hopper ハードウェア機能を活用します。チップとの継続的な共同設計、長いドキュメント向けの推論サーバーへのより深い統合、まばらなウィンドウまたはスライディング ウィンドウの注意に合わせて調整されたバリアントが期待されます。コンテキスト ウィンドウが数百万のトークンに向かって進む中、このような IO 対応カーネルは、トレーニングとサービスのコストを管理しやすく保つために引き続き不可欠です。

現実世界の実装

Llama や GPT スタイルのシステムなどの大規模な言語モデルをより速く、より低い GPU コストでトレーニングします。

メモリ不足になることなく書籍やコードベース全体を取り込むロングコンテキストのチャット アシスタントを提供します。

一度に数万のトークンを処理するドキュメント要約パイプラインの高速化

画像パッチの長いシーケンスにより注意力が高くなるビジョンおよびマルチモーダル トランスフォーマーに電力を供給

リスクとガードレール

幻覚のような事実が、レポート、サポート フロー、または研究結果に静かに組み込まれる可能性があります。

迅速な対応により、同様のリクエスト間で一貫性のない結果が生じる可能性があります。

アクセス制御が弱いと、機密テキスト データが漏洩する可能性があります。

実装ロードマップ

1

展開する前に、出力形式、トーン、品質基準を定義します。

2

正確さが重要な場合は常に、信頼できる情報源を使って地上対応を行ってください。

3

一か八かの成果物については人間によるレビュー チェックポイントを維持します。

4

失敗パターンを追跡し、プロンプトやワークフローを定期的に再トレーニングします。

探検を続けましょう

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the FlashAttention quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

クイズを開始する

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

次のガイド

ロータリー位置の埋め込み

よくある質問

What is FlashAttention?

FlashAttendant は、標準のトランスフォーマーとまったく同じアテンションを計算するメモリ効率の高いアルゴリズムですが、低速な GPU メモリに巨大なアテンション マトリックスを書き込む必要はありません。これにより、長いコンテキストのトレーニングと推論が劇的に高速かつ安価になりました。

標準アテンションにおける主なボトルネックとなる FlashAttend ターゲットは何ですか?

標準的な注意はメモリに依存します。演算自体ではなく、巨大な N 行 N 列の行列を高帯域幅メモリとの間で往復することが時間を支配します。

Flashアテンションの出力は標準のアテンションとどのように比較されますか?

FlashAttention は、まったく同じアテンション値を計算します。完全な行列の実現を避けるために計算を再編成するだけです。

FlashAttention はタイル内のデータを処理することでどの GPU メモリを活用しますか?

FlashAttention は、小さなタイルを GPU の高速オンチップ SRAM にロードし、負荷の高い作業をコンピューティング ユニットの近くに保ちます。

すべてのスコアを一度に確認せずに FlashAttend でソフトマックスを計算できるのはどのような手法ですか?

オンライン ソフトマックスは実行中の最大値と合計を維持し、新しいタイルが到着すると部分的な結果を再スケーリングするので、最終的な正規化が正しくなります。

FlashAttention-3 は具体的に何を利用しましたか?

FlashAttendant-3 は最新の Hopper GPU と共同設計されており、非同期実行と低精度 FP8 を使用してさらなる高速化を実現しています。