メインコンテンツへスキップ
EXBANK
Draft / 編集レビュー前この用語はAI補助で初稿生成中です。事実確認・編集監修が完了するまで検索エンジンには公開されません。誤りを見つけたらこちらから連絡してください。
用語集一覧へ
— Glossary

Flash Attention 2FA2

読み: フラッシュアテンション ツー
TL;DR — 短い定義

Flash Attention 2 は2023年に発表された Flash Attention の改良版です。並列化粒度を見直し非行列演算のオーバーヘッドを削減し、A100 で従来比約2倍の72%理論性能達成率を実現しました。

詳細解説

Flash Attention 2(フラッシュアテンション ツー、FA2)は、Tri Dao が2023年7月に発表した Flash Attention の改良版で、初代の課題だった「非行列演算(softmax の正規化など)に対する並列化が不十分で GPU の理論性能の25-40%しか引き出せない」問題を解消しました。具体的には、(1) 非行列演算の FLOP 数を削減し softmax を逐次的に再スケーリングする方式に変更、(2) 系列長次元での並列化を追加し、Multi-Head 並列に加えて Q ブロック並列も導入、(3) ブロック内のワープ間タスク分割を最適化、という3点の改良で、A100 80GB で従来比約2倍の高速化を達成し、理論性能の72%(335 TFLOPS / 312 TFLOPS の bfloat16 ピーク超)を引き出しました。Llama 2/Llama 3 の事前学習、Mistral・Qwen・DeepSeek など主要オープン LLM の学習で標準採用されています。Hugging Face Transformers では from_pretrained に attn_implementation="flash_attention_2" を渡すだけで利用でき、推論側でも vLLM・TGI・SGLang などの主要サービングフレームワークが内部で活用します。なおバックワード(勾配計算)も最適化されており、ファインチューニング・LoRA 学習でも恩恵が大きいです。

実装例 / 使い方

  • 01Llama 2/3 の事前学習で利用され A100 上で MFU 50%超を達成しました
  • 02Hugging Face Transformers の attn_implementation="flash_attention_2" で簡単導入できます
  • 03系列長16K以上の長文学習で性能差が顕著に出ます
IMPLEMENT

Flash Attention 2を、実際に活用する

用語の意味は分かった。次は実装。EXBANK の無料診断で、貴社で具体的にどう活用できるかをご提案します。

営業時間 平日10-18時 / 通常24時間以内に返信