FlashAttention-3 (ID)
FlashAttention-3 — adalah algoritma untuk mengoptimalkan mekanisme attention dalam neural network berbasis transformer, yang dikembangkan untuk memaksimalkan penggunaan kemampuan perangkat keras GPU arsitektur NVIDIA Hopper (H100)[1]. Algoritma ini diperkenalkan pada tahun 2024 oleh sekelompok peneliti dari perusahaan Colfax Research, Meta, NVIDIA, Georgia Tech, Universitas Princeton, dan Together AI. Karya ini diterima di konferensi NeurIPS 2024 dan mendapat predikat spotlight[2].
FlashAttention-3 merupakan iterasi ketiga dalam keluarga algoritma, mengikuti FlashAttention (2022) dan FlashAttention-2 (2023). Tujuan utamanya adalah mempercepat secara signifikan proses pelatihan dan inferensi large language model (LLM), sekaligus mempertahankan akurasi komputasi.
Pendahuluan dan Latar Belakang
Masalah Mekanisme Attention
Komponen kunci dari transformer adalah mekanisme self-attention, namun kompleksitas komputasi dan konsumsi memorinya tumbuh secara kuadratik (O(n²)) seiring bertambahnya panjang urutan masukan (n)[1]. Hal ini menciptakan "bottleneck" yang serius, karena GPU modern dioptimalkan untuk perkalian matriks yang cepat, tetapi komputasi fungsi eksponensial (misalnya dalam Softmax) berlangsung jauh lebih lambat. Selain itu, pada implementasi naif, memori GPU harus menyimpan tensor attention perantara yang besar, sehingga membatasi skalabilitas model.
FlashAttention dan FlashAttention-2
Untuk mengatasi masalah ini, pada tahun 2022 diusulkan FlashAttention, yang mengurangi jumlah akses ke memori global yang lambat (HBM) melalui dua teknik:
- Pemrosesan blok (tiling): Komputasi dibagi menjadi blok (tile) yang diproses di memori on-chip yang cepat (SRAM).
- Penggabungan operasi: Semua operasi (perkalian matriks, Softmax) dieksekusi dalam satu kernel GPU tanpa menulis hasil perantara ke memori global.
Hal ini memungkinkan pengurangan kompleksitas memori dari kuadratik menjadi linier dan mempercepat komputasi sebesar 2–4 kali.
Pada tahun 2023 diperkenalkan versi yang ditingkatkan — FlashAttention-2, yang mengoptimalkan paralelisme komputasi. Pada GPU arsitektur NVIDIA Ampere (A100), versi ini mencapai ~70% dari puncak kinerja teoretis[3]. Namun pada arsitektur yang lebih baru, yaitu NVIDIA Hopper (H100), efisiensinya ternyata jauh lebih rendah — sekitar 35%[1]. Hal ini disebabkan oleh fakta bahwa algoritma tidak memanfaatkan kemampuan perangkat keras baru dari Hopper, yang kemudian mendorong terciptanya FlashAttention-3.
Kemampuan Perangkat Keras Baru GPU Hopper (H100)
Arsitektur NVIDIA Hopper menghadirkan sejumlah fitur baru yang dimanfaatkan FlashAttention-3 untuk mencapai kinerja maksimal[4]:
- WGMMA (Warpgroup Matrix Multiply-Accumulate): Jenis instruksi baru untuk tensor core yang melakukan perkalian matriks dengan peningkatan kinerja hampir dua kali lipat dibandingkan arsitektur Ampere.
- TMA (Tensor Memory Accelerator): Modul perangkat keras yang mempercepat transfer data antara memori global (HBM) dan memori bersama (shared memory). TMA secara otomatis melakukan kalkulasi alamat, sehingga meringankan beban pada core komputasi.
- Format FP8: Dukungan perangkat keras untuk format data floating-point 8-bit yang menggandakan kinerja teoretis dibandingkan FP16, namun membawa risiko penurunan akurasi akibat rentang dinamis yang terbatas.
Inovasi Teknis FlashAttention-3
Algoritma ini mengimplementasikan tiga metode optimasi utama yang dirancang khusus untuk arsitektur Hopper[4]:
1. Eksekusi Asinkron dan Spesialisasi Warp
FlashAttention-3 menggunakan prinsip warp-specialization, di mana kelompok thread (warps) yang berbeda pada GPU mengkhususkan diri pada tugas yang berbeda:
- Producer warps: Memuat data dari memori global menggunakan TMA.
- Consumer warps: Melakukan perkalian matriks pada tensor core.
Berkat asinkronitas perangkat keras Hopper, operasi-operasi ini bertumpang tindih secara waktu. Sementara satu kelompok warp melakukan komputasi, kelompok lain secara paralel memuat data untuk blok berikutnya. Pendekatan pipeline ini, yang diorganisasikan berdasarkan prinsip "ping-pong" (ping-pong scheduling), memungkinkan penyembunyian latensi dari operasi yang lambat (misalnya Softmax) dan memaksimalkan pemanfaatan seluruh modul fungsional GPU.
2. Minimasi Operasi Memori
Algoritma ini mempertahankan filosofi tiling dari versi sebelumnya, namun secara aktif menggunakan TMA untuk pemuatan asinkron blok data berikutnya secara paralel dengan komputasi saat ini. Transfer data dari HBM yang lambat ke SRAM yang cepat pada dasarnya dilakukan "di balik layar" komputasi utama, sehingga GPU lebih sedikit menganggur menunggu data.
3. Presisi Rendah (FP8) dengan Pengurangan Kesalahan Kuantisasi
Peralihan ke FP8 menggandakan kecepatan, tetapi dapat menyebabkan penurunan akurasi yang signifikan akibat kuantisasi. Untuk mengatasi hal ini, para pengembang mengimplementasikan metode incoherent processing[4]. Intinya adalah sebagai berikut:
- Sebelum komputasi attention, vektor fitur (query Q dan key K) dikalikan dengan matriks ortogonal acak (misalnya, matriks Hadamard).
- Transformasi ini "menyebarkan" nilai dengan modulus yang sangat besar (outlier) ke seluruh koordinat, meratakan distribusinya.
- Setelah itu, kuantisasi ke FP8 dilakukan, yang kini berlangsung dengan kesalahan yang lebih kecil.
- Karena transformasi bersifat ortogonal, transformasi ini tidak mendistorsi hasil akhir attention (QKᵀ), karena efek dari matriks tersebut saling meniadakan saat perkalian.
Teknik ini memungkinkan pengurangan kesalahan komputasi attention dalam FP8 sekitar 2,6 kali dibandingkan penerapan FP8 standar tanpa transformasi[4].
Kinerja dan Signifikansi
Penerapan teknik-teknik yang disebutkan memungkinkan FlashAttention-3 mencapai keunggulan signifikan dibandingkan versi sebelumnya pada GPU H100:
- Percepatan 1,5–2 kali dibandingkan FlashAttention-2.
- Utilisasi GPU yang tinggi: Mencapai ~75–85% dari maksimum kinerja teoretis H100.
- Throughput:
- Hingga 740–840 TFLOPS untuk presisi setengah (FP16/BF16).
- Hingga 1,2–1,3 PFLOPS (petaflops) saat menggunakan presisi 8-bit (FP8)[2].
Efisiensi tinggi FlashAttention-3 secara langsung memengaruhi pengembangan dan penerapan LLM:
- Pengurangan waktu pelatihan: Percepatan attention sebesar 75–100% secara signifikan mengurangi waktu pelatihan model, yang dapat berlangsung berminggu-minggu atau berbulan-bulan.
- Perluasan jendela konteks: Model dapat secara efektif memproses urutan yang lebih panjang (ratusan ribu token), yang penting untuk analisis dokumen besar atau kode[1].
- Penggunaan sumber daya yang efisien: Memungkinkan pencapaian kinerja yang sama dengan lebih sedikit GPU, atau mendapatkan kecepatan yang lebih tinggi pada perangkat keras yang sama, sehingga mengurangi biaya penerapan model.
Ketersediaan dan Integrasi
Para penulis mempublikasikan kode sumber FlashAttention-3 di bawah lisensi terbuka di GitHub[4]. Integrasi ke dalam framework deep learning terkemuka, seperti PyTorch dan pustaka Hugging Face Transformers, diharapkan dapat menjadikan teknologi ini dapat diakses oleh berbagai kalangan pengembang dan peneliti. Versi-versi sebelumnya telah menjadi standar de-facto di industri, dan FlashAttention-3 kemungkinan akan melanjutkan tren ini.
Tautan
- Repositori resmi FlashAttention di GitHub
- Blog Together AI dengan pengumuman FlashAttention-3
Daftar Pustaka
- Shah, J. et al. (2024). FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision. arXiv:2407.08608.
- Dao, T. (2023). FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning. arXiv:2307.08691.
- Dao, T. et al. (2022). FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness. arXiv:2205.14135.
- Kwon, W. et al. (2023). Efficient Memory Management for Large Language Model Serving with PagedAttention. arXiv:2309.06180.
- Ye, Z. et al. (2025). FlashInfer: Efficient and Customizable Attention Engine for LLM Inference Serving. arXiv:2501.01005.
- Chen, Y. et al. (2023). FlashDecoding++: Faster Large Language Model Inference on GPUs. arXiv:2311.01282.
- Liu, Y. et al. (2024). FastAttention: Extending FlashAttention-2 to NPUs and Low-Resource GPUs. OpenReview: 76NYyOrnfk.
- Dege, P. et al. (2025). FlashMLA-ETAP: Efficient Transpose Attention Pipeline for Accelerating MLA Inference on NVIDIA H20 GPUs. arXiv:2506.01969.
- Wang, G. et al. (2024). FlashMask: Efficient and Rich Mask Extension of FlashAttention. arXiv:2410.01359.
- Abbott, V.; Zardini, G. (2025). FlashAttention on a Napkin: A Diagrammatic Approach to Deep Learning IO-Awareness. arXiv:2412.03317.
Catatan
- ↑ 1.0 1.1 1.2 1.3 «FlashAttention-3 unleashes the power of H100 GPUs for LLMs». VentureBeat. [1]
- ↑ 2.0 2.1 Шах, Джей, и др. «FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision». OpenReview. [2]
- ↑ Шах, Джей, и др. «FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision». arXiv:2407.08608v2 [cs.LG], 15 июля 2024 г. [3]
- ↑ 4.0 4.1 4.2 4.3 4.4 Шах, Джей, и др. «FlashAttention-3: Fast and Accurate Attention with Asynchrony and Low-precision». Together AI Blog. [4]