본문으로 건너뛰기
Vizuara조회 1

FlashAttention이 거대한 어텐션 행렬을 메모리에 저장하지 않고 계산하는 원리.

FlashAttention은 타일링과 온라인 소프트맥스를 통해 메모리 병목을 제거하고 어텐션 연산 효율을 극대화한다.

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

FlashAttention은 LLM의 어텐션 연산 시 발생하는 거대한 스코어 행렬을 메모리에 저장하지 않고 계산하는 최적화 기법이다. GPU의 느린 HBM과 빠른 SRAM 사이의 데이터 이동 병목을 해결하기 위해 타일링과 온라인 소프트맥스 기법을 사용한다. 이를 통해 정확도를 유지하면서도 메모리 트래픽을 획기적으로 줄여 연산 속도를 높이고 긴 컨텍스트 처리를 가능하게 한다.

챕터별 상세

00:00

어텐션 행렬의 메모리 문제

어텐션 스코어 행렬은 긴 프롬프트 처리 시 수십억 개의 숫자를 생성한다. FlashAttention은 이 거대한 행렬을 메모리에 기록하지 않고도 정확한 어텐션 값을 계산한다.
00:17

GPU 메모리 구조와 병목

GPU는 느리지만 용량이 큰 HBM과 작지만 매우 빠른 SRAM이라는 두 가지 메모리를 가진다. SRAM은 HBM보다 수천 배 빠르게 접근 가능하며, 연산 자체보다 HBM과 SRAM 사이의 데이터 이동(트래픽)이 병목을 유발한다.

HBM은 High Bandwidth Memory의 약자로 GPU의 메인 메모리 역할을 한다.

00:40

표준 어텐션의 비효율성

표준 어텐션은 전체 스코어 그리드를 계산하고 HBM에 썼다가 다시 읽는 과정을 반복한다. 이 과정에서 메모리 접근이 4번 발생하여 연산 속도가 저하된다.
00:51

타일링을 통한 최적화

FlashAttention은 타일링 기법을 적용한다. 쿼리와 키의 작은 블록을 SRAM으로 불러와 스코어를 계산하고 즉시 사용한 뒤 버림으로써 메모리 이동을 최소화한다.
01:13

온라인 소프트맥스 적용

소프트맥스는 전체 행 데이터를 필요로 하지만, 온라인 소프트맥스를 통해 해결한다. 실행 중인 최댓값과 합계를 유지하며 새로운 타일이 도착할 때마다 과거 값을 재조정한다.
01:24

결과 및 성능 향상

FlashAttention은 수십억 개의 숫자를 저장하지 않고도 나이브한 방식과 동일한 정확도를 보장한다. 메모리 트래픽을 획기적으로 줄여 2~4배 빠른 연산과 긴 컨텍스트 처리를 가능하게 한다.

용어 해설

고대역폭 메모리(HBM)
GPU에 탑재된 대용량 메인 메모리이다. 용량은 크지만 SRAM에 비해 접근 속도가 느려 데이터 이동 시 병목 현상의 주원인이 된다.
정적 램(SRAM)
GPU 칩 내부에 위치한 초고속 메모리이다. 용량은 매우 작지만 HBM보다 수천 배 빠르게 접근할 수 있어 연산 효율을 높이는 데 사용된다.
타일링(Tiling)
데이터를 작은 블록(타일) 단위로 나누어 처리하는 기법이다. 전체 데이터를 한 번에 메모리에 올리지 않고 필요한 부분만 SRAM에 로드하여 메모리 트래픽을 줄인다.
온라인 소프트맥스(Online Softmax)
전체 행 데이터를 한꺼번에 보지 않고도 소프트맥스를 계산하는 방식이다. 실행 중인 최댓값과 합계를 갱신하며 데이터를 처리하여 메모리 저장 공간을 절약한다.
AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 08.수집 2026. 08. 08.출처 타입 YOUTUBE

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.