FlashAttention란?
ふらっしゅあてんしょん
アテンションの計算をタイルに分けてチップ上のメモリで進め、大きな中間の表をHBMに書き出さない高速な実装。結果は通常のアテンションと同じ。
일본어 명칭: FlashAttention
FlashAttention은(는) AI 하드웨어·소프트웨어 스택 등 1개 분야의 연습 문제 1개에 나와요.
분야: AI 하드웨어·소프트웨어 스택
ふらっしゅあてんしょん
アテンションの計算をタイルに分けてチップ上のメモリで進め、大きな中間の表をHBMに書き出さない高速な実装。結果は通常のアテンションと同じ。
일본어 명칭: FlashAttention
FlashAttention은(는) AI 하드웨어·소프트웨어 스택 등 1개 분야의 연습 문제 1개에 나와요.
분야: AI 하드웨어·소프트웨어 스택
정답: A. 계산을 타일로 나누어 칩 위의 메모리에서 진행하고, n×n의 큰 중간 표를 HBM에 쓰지 않음으로써 메모리 읽기/쓰기를 줄인다
단순한 구현에서는 n×n 표를 HBM에 쓰고, 소프트맥스를 위해 다시 읽고, 다시 Value와의 곱을 위해 또 읽으므로 메모리 읽기/쓰기가 성능을 결정해 버립니다. FlashAttention은 Query와 Key·Value를 블록으로 나누어 공유 메모리에 읽어 들이고, 소프트맥스를 조금씩 갱신하면서 계산을 한 번에 진행하여 표를 HBM에 쓰지 않습니다. 계산량은 같아도 메모리 읽기/쓰기가 크게 줄어 빨라집니다.
FlashAttention은 Query와 Key·Value를 블록으로 나누어 공유 메모리에 읽어 들이고, 소프트맥스를 조금씩 갱신하면서 계산을 한 번에 진행하여 표를 HBM에 쓰지 않습니다.
FlashAttention 등 고속 어텐션 구현의 주된 발상으로 올바른 것은 무엇인가?HBM 計算グラフ 勾配チェックポイント 構造化スパース 量子化を考慮した学習 逆伝播 演算強度 演算の融合 知識蒸留 推論