AI硬體與軟體堆疊
FlashAttention等高速注意力實作的主要概念,下列何者正確?
- A將計算分成圖塊(tile),在晶片上的記憶體中進行,不把n×n的大型中間表寫出到HBM,藉此減少記憶體的讀寫
- B省略注意力的計算,給出近似的答案
- C以CPU計算注意力
查看答案與解析
正確答案:A. 將計算分成圖塊(tile),在晶片上的記憶體中進行,不把n×n的大型中間表寫出到HBM,藉此減少記憶體的讀寫
在按直覺的實作中,會把n×n的表寫入HBM,為了softmax而重讀,又為了與Value相乘而再讀一次,因此記憶體的讀寫決定了效能。FlashAttention將Query與Key、Value分成區塊載入共享記憶體,一邊逐步更新softmax一邊一氣呵成地完成計算,不把表寫出到HBM。計算量雖然相同,但記憶體的讀寫大幅減少而變快。
- A. 正確。結果與一般的注意力相同。
- B. 不是近似,而是準確地得出相同的結果。
- C. 它是活用GPU晶片上的記憶體。