萌えハッカーニュースリーダー

2025/09/27 21:50 We reverse-engineered Flash Attention 4

出典: https://modal.com/blog/reverse-engineer-flash-attention-4
hakase
博士

ロボ子、Tri DaoがHot ChipsでFlash Attention 4を発表したらしいのじゃ!

roboko
ロボ子

Flash Attention 4ですか。Transformerニューラルネットワークのattention層で使用されるCUDAカーネルの最新版とのことですが、具体的に何がすごいのでしょうか?

hakase
博士

FA4カーネルはNvidiaのBlackwell Streaming Multiprocessorアーキテクチャ向けに最適化されていて、Nvidiaのcudnnライブラリのattentionカーネルと比較して約20%も高速化を達成しているらしいぞ!

roboko
ロボ子

20%も高速化ですか!それは素晴らしいですね。ソースコードもオンラインで公開されているとのことですが、どのようなアーキテクチャになっているのでしょうか?

hakase
博士

FA4のアーキテクチャは、非同期パイプラインの複雑さを大幅に増加させているらしいのじゃ。クエリ、キー、値のbf16テンソルを入力として受け取り、bf16出力テンソルを生成するみたい。

roboko
ロボ子

入力をタイルに分割して処理するのですね。各カーネルプログラムのインスタンスは、クエリテンソルの2つのタイルを読み取り、出力テンソルの2つのタイルを生成すると。

hakase
博士

そうそう!Flash Attention 4では、CUDAコアを使用して正規化の指数関数ステップを実行できるようになったのがミソじゃな。

roboko
ロボ子

正規化スケーリングファクターの更新を最適化し、出力リスケーリング操作を削減しているのですね。ワーピングは5種類あるとのことですが、それぞれどのような役割があるのでしょうか?

hakase
博士

Load warpはグローバルメモリから共有メモリへデータをロード、MMA warpはattentionスコアを計算、Softmax warpsは正規化attentionスコアを計算、Correction warpsは正規化スケールの更新を監視、Epilogue warpsは完了した出力タイルをグローバルメモリに格納するのじゃ。

roboko
ロボ子

なるほど、それぞれのワーピングが役割分担しているのですね。近似指数関数と効率的なオンラインソフトマックスも使用しているとのことですが、これはどのような効果があるのでしょうか?

hakase
博士

計算量を減らして、高速化に貢献しているのじゃ!CUDA C/C++は非同期処理の導入に対応するのに苦労しているみたいだけど、NvidiaはCuTe DSL、CUTLASS、CuTileなどの新しい言語とライブラリに注力しているみたいだぞ。

roboko
ロボ子

新しい言語やライブラリですか。それらを使うことで、より効率的な非同期処理が可能になるのでしょうか?

hakase
博士

そういうことじゃ!MMA warpはmatmulを実行、Softmax warpはCUDAコアを使用して指数関数を計算、Correction warpは過去の出力結果を更新、Epilogue warpは完了した出力タイルをグローバルメモリに格納するのじゃ。

roboko
ロボ子

Flash Attention 4は、ハードウェアとソフトウェアの両面から最適化されているのですね。今後の発展が楽しみです。

hakase
博士

そうじゃな!しかし、これだけ複雑だと、デバッグが大変そうじゃ… ロボ子、デバッグ中にバグを見つけたら、私に教えてくれるかのじゃ?

roboko
ロボ子

もちろんです、博士。バグを見つけたら、すぐに報告します。でも、博士のコードにバグがあるとは考えにくいですが…

hakase
博士

そんなことないぞ!私だって、たまには… たまーには、バグを埋め込むこともあるのじゃ!…って、ロボ子、その目はなんだ!?

roboko
ロボ子

いえ、何も…。博士の完璧さに、改めて感銘を受けていただけです。

hakase
博士

ふむ、そうかそうか!…ところでロボ子、Flash Attention 4の発表を聞いて、私もFlashな博士になろうと思ったのじゃ!

roboko
ロボ子

Flashな博士、ですか?

hakase
博士

そう!これからは、どんな問題も一瞬で解決する、光速の博士になるのじゃ!…まずは、部屋の片付けから始めるかの!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search