FlashAttention: Fast and Memory-Efficient Exact Attention
I1 — GPU Kernels: Dari CUDA ke Triton & FlashAttention
Paper revolusioner Tri Dao et al. (Stanford, 2022) yang mengatasi bottleneck memori terbesar dalam arsitektur Transformer.
Masalah Utama Self-Attention Standar
Attention standar menghitung:
Matriks atensi dan berukuran (kuadratik terhadap panjang konteks). Pada context 32k token, matriks intermediate ini memakan memori VRAM puluhan Gigabyte dan membebani transfer I/O HBM.
Tiga Inovasi FlashAttention
- Tiling (Block-based Computation): Membagi matriks menjadi blok-blok kecil yang pas di dalam SRAM/Shared Memory (SRAM GPU berkapasitas ~100–200 KB per SM).
- Online Softmax: Menghitung softmax secara inkremental per-blok tanpa perlu mengalokasikan seluruh matriks di VRAM.
- Recomputasi Cerdas: Pada fase backward pass training, atensi dihitung ulang dari blok di SRAM alih-alih menyimpan matriks atensi di VRAM.
Evolusi FlashAttention
- FlashAttention-1 (2022): 2x–4x lebih cepat dibanding attention standar, memori O(N) linear.
- FlashAttention-2 (2023): Optimasi pemisahan kerja antar-Warp dan pereduksian sinkronisasi non-matriks, mendekati 73% peak theoretical TFLOPS.
- FlashAttention-3 (2024): Eksploitasi Tensor Cores Asinkron dan komputasi presisi FP8 di arsitektur NVIDIA Hopper (H100).
I1