什麼是FlashAttention

將注意力的運算分成圖磚,在晶片上的記憶體中進行,而不把龐大的中間表寫出到 HBM 的高速實作。結果與一般的注意力相同。

日文名稱: FlashAttention

「FlashAttention」出現在1領域的1道練習題中(AI硬體與軟體堆疊等)。

這個名詞所屬的領域: AI硬體與軟體堆疊

練習FlashAttention的題目

FlashAttention等高速注意力實作的主要概念,下列何者正確?

  1. A將計算分成圖塊(tile),在晶片上的記憶體中進行,不把n×n的大型中間表寫出到HBM,藉此減少記憶體的讀寫
  2. B省略注意力的計算,給出近似的答案
  3. C以CPU計算注意力
查看答案與解析

正確答案:A. 將計算分成圖塊(tile),在晶片上的記憶體中進行,不把n×n的大型中間表寫出到HBM,藉此減少記憶體的讀寫

在按直覺的實作中,會把n×n的表寫入HBM,為了softmax而重讀,又為了與Value相乘而再讀一次,因此記憶體的讀寫決定了效能。FlashAttention將Query與Key、Value分成區塊載入共享記憶體,一邊逐步更新softmax一邊一氣呵成地完成計算,不把表寫出到HBM。計算量雖然相同,但記憶體的讀寫大幅減少而變快。

解析中的「FlashAttention」

出現「FlashAttention」的題目(1題)

  1. FlashAttention等高速注意力實作的主要概念,下列何者正確?

相關名詞

HBM(高頻寬記憶體) 共享記憶體(GPU shared memory) 反向傳播(Backpropagation) 全歸約(All-reduce) 批次大小(Batch size) 注意力機制(Attention mechanism) 知識蒸餾(Knowledge distillation) 計算圖(Computational graph) 訓練後量化(Post-training quantization) 剪枝(Pruning)

前往名詞解釋列表