딥러닝 모델이 입력 데이터의 특정 부분에 집중(Attention)할 수 있게 하는 메커니즘이다.

  1. 모델의 성능을 크게 향상시킬 수 있다.
  2. 긴 시퀀스 데이터를 효과적으로 처리할 수 있게 한다.
  3. 모델의 해석 가능성을 높여준다.

입력 시퀀스에서 중요한 정보에 더 높은 가중치를 부여하는 방식으로 작동한다.
Query, Key, Value 세 가지 요소를 기반으로 계산된다.

KV Caching
Attention 연산 과정에서 입력 프롬프트 각 토큰에 대한 Key, Value는 출력이 끝날 때까지 계속해서 반복적으로 사용된다. 따라서 값을 매번 계산하지 않고, 이 값을 메모리에 ‘캐싱’ 해두면 연산량과 bandwidth을 줄일 수 있다.

셀프 어텐션은 단일 시퀀스 내에서 각 요소가 다른 요소들과 어떻게 관련되는지를 계산하는 메커니즘이다.
멀티헤드 어텐션은 여러 개의 셀프 어텐션을 병렬로 수행하는 확장된 형태의 어텐션 메커니즘이다.