챕터별 상세
Attention 연산의 기본 과정
표준적인 Attention 연산은 중간 결과물인 Attention Score 행렬을 메모리에 저장해야 하므로 시퀀스 길이에 비례해 메모리 점유율이 급증한다.
GPU 메모리 구조와 I/O 병목
메모리 대역폭 제한(Memory-bound) 문제는 현대 GPU 연산에서 연산 능력 자체보다 더 큰 성능 저하 요인이 된다.
Flash Attention의 핵심 아이디어: Tiling
Tiling은 커널 퓨전(Kernel Fusion)의 일종으로 여러 연산을 하나의 GPU 커널로 합쳐 메모리 접근을 줄이는 기법이다.
Online Softmax를 통한 블록 단위 계산
Online Softmax는 수학적으로 표준 Softmax와 동일한 결과를 내면서도 메모리 효율성을 확보하는 핵심 알고리즘이다.
Flash Attention의 전체 알고리즘 구조
이중 루프 구조는 GPU의 병렬 처리 특성을 활용하면서도 메모리 계층 구조를 최적으로 이용하도록 설계되었다.
용어 해설
- 고대역폭 메모리(HBM)
- — GPU의 주 메모리로 사용되며 용량이 크지만 연산 장치와의 데이터 전송 속도가 SRAM에 비해 상대적으로 느린 메모리 계층이다. 딥러닝 연산에서 대량의 데이터를 저장하는 용도로 쓰이지만 빈번한 접근 시 병목 현상의 원인이 된다.
- 정적 랜덤 액세스 메모리(SRAM)
- — GPU 내부 연산 코어와 매우 가까이 위치한 고속 메모리로 용량은 작지만 데이터 읽기/쓰기 속도가 매우 빠르다. 실제 연산이 수행되는 공간이며 Flash Attention은 이 공간을 최대한 활용하여 성능을 높인다.
- 타일링(Tiling)
- — 큰 행렬 연산을 GPU의 빠른 메모리(SRAM) 크기에 맞춰 작은 블록 단위로 나누어 처리하는 기법이다. 메모리 계층 간의 데이터 이동 횟수를 줄여 전체적인 연산 효율을 극대화하는 데 사용된다.
- 온라인 소프트맥스(Online Softmax)
- — 전체 시퀀스 데이터를 한꺼번에 보지 않고도 부분적인 통계량(최댓값, 합계)을 순차적으로 업데이트하며 정확한 Softmax 값을 계산하는 알고리즘이다. 메모리 사용량을 줄이면서도 수학적으로 동일한 결과를 보장한다.
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.



