Flash Attention 3FA3
Flash Attention 3 は2024年7月に発表された H100 GPU に最適化された改良版です。ワープ特殊化と非同期 TMA、FP8 サポートにより H100 で最大1.5-2倍、740 TFLOPS の性能を達成します。
詳細解説
Flash Attention 3(フラッシュアテンション スリー、FA3)は、Jay Shah・Tri Dao らが2024年7月に発表した NVIDIA Hopper アーキテクチャ(H100)向けに特化した改良版で、Hopper で導入された3つのハードウェア機能を最大限活用しています。第1に、Warp Specialization により Producer ワープ(データロード)と Consumer ワープ(計算)を分離し、TMA(Tensor Memory Accelerator)による非同期メモリ転送と Tensor Core 演算をオーバーラップさせます。第2に、Pingpong Scheduling で2つのワープグループが行列積と softmax を交互に実行することで Tensor Core を埋め続けます。第3に、FP8(8ビット浮動小数点)精度サポートを追加し、ブロックレベルのスケーリングで精度低下を抑えながら H100 の FP8 ピーク性能を活用します。これらの改良により、H100 SXM5 で BF16 では約740 TFLOPS(FA2 比1.5-2倍)、FP8 では約1.2 PFLOPS という驚異的なスループットを達成し、理論性能の75%超を引き出します。Llama 3.1 405B の128Kコンテキスト学習や、超長文推論サービングのレイテンシ削減で実用化が進んでおり、PyTorch 2.5 以降や Hugging Face Transformers の最新版で順次サポートされています。
実装例 / 使い方
- 01H100 SXM5 で FA2 比1.5-2倍、FP8 で1.2 PFLOPS 級の性能を出します
- 02Llama 3.1 の長コンテキスト学習で活用されています
- 03NVIDIA Hopper の Tensor Memory Accelerator(TMA)を活用します
関連する用語
Flash Attention(高速アテンション)
FAFlash Attention は、GPU の SRAM とタイリングを活用してアテンション行列をメモリに具体化せず計算する I/O 最適化アルゴリズムです。メ...
Flash Attention 2
FA2Flash Attention 2 は2023年に発表された Flash Attention の改良版です。並列化粒度を見直し非行列演算のオーバーヘッドを削減し...
Self-Attention(自己注意機構)
SASelf-Attention は、入力系列の各トークンが同じ系列内の他のトークンとの関連度を計算する仕組みです。Query・Key・Value の3行列に射影し...
KV Cache(KVキャッシュ)
KV CacheKV Cache は、自己回帰生成中に過去トークンの Key・Value を保存して再利用する仕組みです。1トークン生成あたりの計算量が O(N^2) から O...
Transformer
Transformer (トランスフォーマー) は 2017 年 Google 論文で発表された深層学習アーキテクチャで、Self-Attention 機構を核...
Flash Attention 3を、実際に活用する
用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。
営業時間 平日10-18時 / 通常24時間以内に返信
