Attention 구조 비교: MHA vs MQA vs GQA
2025. 5. 30. 15:18ㆍAI빅데이터/Study
1. 개요
용어정의
MHA | Multi-Head Attention: Q, K, V를 모두 여러 Head로 나눠 독립적으로 계산하는 전통적인 구조 |
MQA | Multi-Query Attention: Q는 여러 개, K/V는 하나만 계산하고 모든 Head에서 공유 |
GQA | Grouped-Query Attention: Q는 여러 개, K/V는 일부 Head끼리 공유 (MQA와 MHA의 절충형) |
2. 구조 비교
항목MHA (기본형)MQA (속도 최적화형)GQA (절충형)
Query (Q) | 각 Head마다 다름 | 각 Head마다 다름 | 각 Head마다 다름 |
Key (K) | 각 Head마다 다름 | 공통 (1개만 사용) | 그룹별 공유 (예: 8개 그룹) |
Value (V) | 각 Head마다 다름 | 공통 | 그룹별 공유 |
KV 캐시 크기 | num_heads 만큼 | 1개 (8~16배 감소) | num_groups 만큼 |
표현력 | 🟢 높음 | 🔴 가장 낮음 | 🟡 중간 |
속도/효율 | 🔴 느림 (메모리 병목 있음) | 🟢 매우 빠름 (메모리 효율적) | 🟡 빠름 |
3. 시각적 비교 (예: 8개의 Head 기준)
MHA:
Head 0: Q0, K0, V0
Head 1: Q1, K1, V1
...
Head 7: Q7, K7, V7
MQA:
Head 0: Q0, K_shared, V_shared
...
Head 7: Q7, K_shared, V_shared
GQA (예: 4개 그룹):
Group 0 (Heads 0-1): Q0, Q1, K0, V0
Group 1 (Heads 2-3): Q2, Q3, K1, V1
...
Head 0: Q0, K0, V0
Head 1: Q1, K1, V1
...
Head 7: Q7, K7, V7
MQA:
Head 0: Q0, K_shared, V_shared
...
Head 7: Q7, K_shared, V_shared
GQA (예: 4개 그룹):
Group 0 (Heads 0-1): Q0, Q1, K0, V0
Group 1 (Heads 2-3): Q2, Q3, K1, V1
...
4. 장단점 비교
항목 | MHA | MQA | GQA |
표현력 | 🔼 매우 높음 | 🔽 제한적 | ◼️ 중간 |
추론 속도 | 🔽 느림 | 🔼 매우 빠름 | ◼️ 빠름 |
메모리 효율 | 🔽 KV 캐시 큼 | 🔼 캐시 매우 작음 | ◼️ 적당함 |
모델 크기 | 크고 무거움 | 가볍고 빠름 | 절충 |
훈련 적응성 | 대부분의 LLM | MQA용 훈련 필요 | 일부 LLM에서 적용 가능 |
적용 사례 | GPT, BERT 등 | GPT-3.5 turbo, Mistral, 일부 LLaMA | LLaMA-2, LLaMA-3 등 최신 모델들 |
5. 선택 기준
상황추천 방식
정확도 최우선 | ✅ MHA |
추론 속도 최우선 (예: 실시간 챗봇) | ✅ MQA |
속도와 성능의 균형이 필요할 때 | ✅ GQA |
6. 실제 사용 예
모델어텐션 구조
GPT-2, GPT-3 | MHA |
GPT-3.5 turbo, Mistral | MQA |
LLaMA-2, LLaMA-3, Falcon | GQA |
7. 결론 요약
비교 항목 | MHA | MQA | GQA |
계산 성능 | 느림 | 빠름 | 빠름 |
메모리 효율 | 낮음 | 매우 높음 | 중간 |
정확도 | 높음 | 낮음 | 중간 |
적용 대상 | 고정 성능 LLM | 경량 추론 | 최신 대형 LLM (LLaMA 등) |
'AI빅데이터 > Study' 카테고리의 다른 글
ADSP - 과목 3 - 데이터 분석 (0) | 2024.02.23 |
---|---|
ADSP - 과목 2 - 데이터 분석 기획 (0) | 2024.02.19 |
ADSP - 과목 1 데이터의 이해 (0) | 2024.02.16 |