헤드의 공유 범위
질의 헤드는 여러 개를 유지하되 키와 값은 더 적은 그룹 수로 만든다. 같은 그룹의 질의 헤드는 그 그룹의 키·값을 참조한다. 질의 헤드까지 모두 하나로 합치거나 토큰을 그룹으로 묶는 방식과는 다르다.
캐시 원소 수의 독립 예제
토큰 100개, 헤드 차원 64에서 키·값 헤드가 8개이면 캐시 원소는 2×100×8×64=102,400개다. 키·값 그룹을 2개로 줄이면 25,600개다. 키·값 캐시만의 비교이며 모형 전체 메모리가 네 분의 일이 된다는 뜻은 아니다.
구조 변환과 학습
기존 다중 헤드 모형을 그룹 공유 구조로 바꾸고 추가 학습하는 방법을 사용할 수 있다. 단순히 실행 시 캐시만 임의로 공유하면 원래 모형과 같은 결과가 보장되지 않는다. 공유 구조에 맞는 가중치와 학습을 확인해야 한다.
품질과 비용
공유를 늘리면 캐시와 메모리 읽기 비용을 줄일 수 있지만 표현력과 정확도도 달라질 수 있다. 토큰 쌍의 주의 계산 자체가 전부 사라지는 것은 아니다. 그룹 수와 질의 헤드 수, 입력 길이를 함께 보고 품질 및 실행 속도를 비교한다.
관련 문서
PagedAttention / FlashAttention / FlashAttention-2 / 자기 주의 / 트랜스포머 / 언어 모형