1. 수학적/연산적 장점
- 병렬화 가능 - RNN 은 순서대로 토큰을 처리해야 해서 GPU 병렬화가 안 됨, Attention 은 QK^T 연산으로 한 번에 시퀀스 전체 계산
- 동적 수용 범위 Dynamic receptive field - CNN 은 커널 크기 제한, RNN 은 가까운 시점 위주, Attention 은 softmax 로 모든 위치끼리 직접 연결 - 문맥 길이가 길어져도 멀리 있는 토큰을 참조 가능
- 정보 흐름의 단축 경로 - RNN 의 경우 1 - 100 토근의 연결에서 99번 state 를 거쳐야 하지만, Attention 은 한 번의 QK^T 로 직접 연결, gradient vanishing/exploding 문제 완화
2. 표현력 Expressivity
- 가중치 기반 관계 학습 - Attention 의 가중치 alpha_ij 는 i 번째 단어가 j 번째 단어를 얼마나 참조하는지라는 의미있는 해석을 가짐, 즉, 데이터의 구조적 의존성을 잘 드러냄
- Multi-Head Attention - 하나의 Attention 만 두면 한 가지 관계만 집중, 여러 head 의 경우 병렬적으로 다양한 관계 추적 가능
3. 범용성 Modality Agnostic
- Vision Transformer (ViT) - 이미지 패치를 시퀀스로 보고 Attention 적용
- Audio/Video - 시퀀스 단위로 쪼개 Attention 적용
- Diffusion 모델에서도 UNet 안에 Cross-Attention 넣어 조건부 이미지 생성
결국 Attention 은 순서 있는 벡터 집합 -> 문맥적 벡터 집합으로 변환하는 범용 함수, 다양한 데이터 적용 가능
4. 실전 성능과 스케일링 범칙
- Scaling Law 친화적 - Transformer 는 모델 크기와 데이터 크기를 키우면 성능이 꾸준히 올라감
- 단순 강력 - MHA + FFN + Residual + Norm 의 반복, 구조가 단순하면서 성능이 좋아, 대규모 학습에 유리
더보기
Attention - 입력 간의 가중치 기반 관계 추출 연산
1. 입력을 세 가지 공간으로 사영
- 원래 입력 x (토큰 벡터들, shape : B T d ) 를 선형변환해서
- Query Q = XW_Q
- Key K = XW_K
- Value V = XW_V
- 각각 dimension d - d_k, d_v 로 매핑됨
2. Query-Key 유사도로 가중치 계산
- 점수 행렬
- scores = QK^T / root(d_k) - (Query 와 Key 내적 - 얼마나 강하게 참조할지 의미)
- softmax 적용
- alpha = softmax(scores) - 행마다 확률 분포 : 각 토큰이 다른 토큰에 주는 주의 비율
3. value 의 가중합으로 새로운 표현 생성
Attention(Q, K, V) = alpha V
즉, Query 기준으로 Key-Value 를 찾아 필요한 정보만 모아온 새로운 벡터를 만듦
즉, Attention 은 (Q, K) 로 만든 가중치 -> V 를 다시 조합 한느 하나의 네트워크 블록
Transforemer 는 그 Attention 블록을 중심으로 짜인 전체 신경망 아키텍쳐
'dev_AI_framework' 카테고리의 다른 글
| 행렬 곱 용어, 차원 표기 정의 - GEMM, (B, T, C, H, Dh) ... (0) | 2025.08.31 |
|---|---|
| Attention/Transformer Layer 를 구현하려면 - 기저 연산들의 구현 필요 (1) | 2025.08.31 |
| CuPy 백엔드 방식과 직접 cuBLAS 래퍼 방식의 사용 (1) | 2025.08.29 |
| BACKEND 부분 수정하기... 연산 방식의 수정 (0) | 2025.08.28 |
| GPU 백엔드와 GEMM/GEMV 에 대해... (1) | 2025.08.28 |