AI硬體與軟體堆疊

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。計算量雖然相同,但記憶體的讀寫大幅減少而變快。

  • A. 正確。結果與一般的注意力相同。
  • B. 不是近似,而是準確地得出相同的結果。
  • C. 它是活用GPU晶片上的記憶體。
練習這個領域 前往領域頁面

AI硬體與軟體堆疊的其他題目

  1. AI計算中使用的「運算融合(運算子融合)」,其主要目的為下列何者?
  2. 將矩陣相乘的結果加上偏差、再通過ReLU的處理,從3個各別的kernel融合為1個。主要減少的是下列何者?
  3. XLA、TVM、PyTorch的編譯功能這類AI編譯器所進行的主要處理,下列何者正確?
  4. AI框架或編譯器中使用的「計算圖」,下列說明何者正確?
  5. 關於ONNX,下列說明何者正確?