【フラッシュアテンション】

Flash Attention とは?

公開:
💡 GPUを「賢く」使ってAIの計算を電光石火に
📌 このページのポイント
Flash Attention:GPUメモリ効率の比較 通常のアテンション GPU HBM(低速・大容量) 全アテンション行列を保存 GPU SRAM(高速・小容量) 少量の計算バッファ 何度も往復 メモリアクセスが多い = 遅い Flash Attention GPU HBM(低速・大容量) 入力のみ読み込む(少量) GPU SRAM(高速・小容量) ブロック単位で計算 (タイリング + 再計算) 一度読むだけ 最大8倍高速・メモリ大幅削減 結果は通常のアテンションと数値的に完全一致
Flash AttentionはSRAMを最大活用してHBMアクセスを最小化する
ひよこ ひよこ
ペンギン先生、Flash Attentionって普通のアテンションと何が違うの?
ペンギン先生 ペンギン先生
普通のアテンション計算はトークン数が増えると必要なメモリが2乗で膨らんでしまうんだ。1024トークンが2048になると、メモリは4倍になる計算だよ。
ひよこ ひよこ
4倍!それだと長い文章は扱えなくなっちゃうんだね。
ペンギン先生 ペンギン先生
そうなんだ。Flash AttentionはGPUの「速いけど小さいメモリ(SRAM)」を賢く使って、計算を小さな塊に分けて処理するんだ。低速な大きいメモリ(VRAM)へのアクセスを最小限に抑えることで劇的に速くなるよ。
ひよこ ひよこ
計算結果は同じになるの?近似計算とかじゃないの?
ペンギン先生 ペンギン先生
完全に同じ結果が出るんだ。これがポイントで、近似じゃなく数値的に等価な計算を、より少ないメモリアクセスで実現してるんだよ。
ひよこ ひよこ
なんでそんな工夫ができるの?
ペンギン先生 ペンギン先生
タイリング(ブロック分割)とリコンピュートという2つの技術がポイントだよ。計算途中の大きな行列をいちいちVRAMに保存せず、必要なとき再計算する方が速いというGPU特性を利用してるんだ。
ひよこ ひよこ
実際のモデルにも使われてるの?
ペンギン先生 ペンギン先生
GPT-4・LlamaClaudeGeminiなど、現代の主要なLLMはほぼ全部Flash Attentionを採用してるよ。学習速度が最大8倍速くなるから、AI開発のコストを大きく下げた重要な技術なんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Flash Attention」って出てきたら「GPUメモリを賢く使うアテンション高速化技術」と思えばだいたいOK!
📖 おまけ:英語の意味
「Flash Attention」 = フラッシュ(高速)アテンション計算
💬 コンピュータのフラッシュメモリとは別で、「電光石火の速さ」のアテンション計算という意味だよ
← 用語集にもどる