다중 쿼리 주의
MQA(Multi-Query Attention)는 모든 어텐션 헤드에서 하나의 키와 값 세트를 공유하는 변환기 어텐션에 대한 메모리 절약 방식입니다.
개요
It dramatically speeds up text generation by shrinking the memory the model must shuffle around.
심층 분석
표준 다중 헤드 주의는 모든 헤드에 고유한 쿼리, 키 및 값 예측을 제공합니다. 생성하는 동안 모든 과거 토큰의 키와 값은 각 단계에서 캐시되고 다시 로드되어야 합니다. 이 KV 캐시는 메모리에서 읽는 것이 수학 자체보다 느리기 때문에 주요 병목 현상이 됩니다. 2019년 Noam Shazeer가 제안한 Multi-Query Attention은 헤드별로 별도의 쿼리 예측을 유지하지만 키와 값을 단일 공유 헤드로 축소합니다. 이렇게 하면 KV 캐시가 헤드 수만큼 줄어들며 때로는 8배에서 64배까지 작아집니다. 그 결과, 자동회귀 디코딩이 훨씬 빨라지고 메모리 사용량이 줄어들었으며 품질은 약간 저하되었습니다. 중간 지점인 Grouped-Query Attention이 절충점의 균형을 맞춥니다.
기술적 통찰력
MQA에서 쿼리 가중치는 여전히 H개의 별도 쿼리 벡터를 생성하지만 단일 키 투영과 단일 값 투영은 모든 헤드에서 공유됩니다. 각 헤드는 동일한 키와 값에 대한 자체 쿼리를 사용하여 주의를 계산합니다. 캐시된 K 및 V 텐서는 더 이상 헤드 수에 따라 확장되지 않기 때문에 디코딩 중 메모리 대역폭이 급격하게 떨어지며, 컴퓨팅이 아닌 대역폭이 최신 가속기의 생성 속도를 좌우하는 요소입니다.
전략적 영향
속도와 규모
일관성을 유지하면서 언어 워크플로를 더 빠르게 진행할 수 있습니다.
접근 및 도달
언어와 의사소통 스타일 전반에 걸쳐 접근성을 확장합니다.
더 명확한 결정들
자동화가 반복을 처리하는 동안 팀은 판단에 더 많은 시간을 할애할 수 있습니다.
멀티쿼리 어텐션의 미래
MQA는 중복된 키/값 헤드를 거의 해를 끼치지 않고 정리할 수 있다는 사실을 입증했으며, 이러한 통찰력은 이제 거의 모든 빠른 추론 LLM을 형성합니다. 이 필드는 대부분 속도 향상을 유지하면서 품질을 복구하기 위해 하나가 아닌 몇 개의 KV 그룹을 사용하는 Llama 2/3 및 기타 여러 버전에서 사용되는 GQA(Grouped-Query Attention)에 집중되었습니다. 향후 작업에서는 이러한 아이디어를 KV 캐시 압축, 양자화 및 다중 잠재 관심과 결합하여 더 긴 컨텍스트와 더 저렴한 서비스를 제공합니다.
실제 구현
원시 컴퓨팅이 아닌 KV 캐시가 처리량을 제한하는 채팅 도우미에서 토큰별 생성 속도를 높입니다.
Multi-Query Attention을 사용하여 효율적인 대규모 추론을 가능하게 한 Google의 PaLM입니다.
요청당 KV 캐시 메모리를 줄여 하나의 GPU에서 많은 동시 사용자에게 서비스를 제공합니다.
Llama 2 70B 및 Llama 3의 Grouped-Query Attention은 MQA의 속도와 전체 Attention 품질의 균형을 유지하는 직계 자손입니다.
위험 및 가드레일
환각 사실은 보고서, 지원 흐름 또는 연구 결과에 조용히 포함될 수 있습니다.
신속한 민감도는 유사한 요청 간에 일관되지 않은 결과를 초래할 수 있습니다.
액세스 제어가 약한 경우 민감한 텍스트 데이터가 노출될 수 있습니다.
구현 로드맵
출시 전에 출력 형식, 톤, 품질 표준을 정의하세요.
정확성이 중요할 때마다 신뢰할 수 있는 출처를 통해 대응하세요.
고위험 결과물에 대한 인적 검토 체크포인트를 유지합니다.
실패 패턴을 추적하고 프롬프트나 워크플로를 정기적으로 재교육하세요.
계속 탐색하세요
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Multi-Query Attention quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
다음 가이드
그룹화된 쿼리 주의
자주 묻는 질문
What is Multi-Query Attention?
MQA(Multi-Query Attention)는 모든 어텐션 헤드에서 하나의 키와 값 세트를 공유하는 변환기 어텐션에 대한 메모리 절약 방식입니다. 모델이 뒤섞어야 하는 메모리를 줄여 텍스트 생성 속도를 극적으로 향상시킵니다.
Multi-Query Attention은 모든 Attention 헤드에서 무엇을 공유합니까?
MQA는 헤드별로 별도의 쿼리를 유지하지만 모든 헤드에서 하나의 키 프로젝션과 하나의 값 프로젝션을 공유합니다.
자동 회귀 생성 중에 MQA가 해결하는 주요 병목 현상은 무엇입니까?
각 단계마다 대형 KV 캐시를 다시 로드하는 것은 대역폭 제한이 있습니다. MQA는 디코딩 속도를 높이기 위해 해당 캐시를 축소합니다.
MQA는 대략 어떤 요소로 KV 캐시를 축소합니까?
키와 값이 H 헤드에서 하나로 축소되므로 캐시는 대략 헤드 수만큼 축소됩니다.
MQA 사용의 주요 장단점은 무엇입니까?
키와 값을 공유하면 표현 용량이 약간 줄어들어 속도가 크게 향상되는 대신 품질이 약간 저하됩니다.
표준 다중 헤드 주의와 MQA 사이에 어떤 변형이 있습니까?
GQA(Grouped-Query Attention)는 하나가 아닌 여러 KV 그룹을 사용하여 품질과 속도의 균형을 유지합니다.