Skip to main content

트랜스포머에서 쿼드러틱 어텐션의 한계

이 보고서는 기본 self-attention의 문제를 간략히 개관하고, 그 연산 복잡도가 왜 이차적 특성을 갖는지 설명합니다. 이 글은 AI로 번역되었습니다. 오역이 의심되면 댓글로 알려주세요.
Created on September 15|Last edited on September 15
어텐션은 현대 NLP의 기반을 이루며 트랜스포머 아키텍처 성공의 핵심 요소입니다. 어텐션의 개념은 단순하고 직관적일 뿐 아니라, 오늘날 다소 간과되기 쉬운 해석 가능성도 크게 제공합니다. 그러나 이러한 모델을 추론에 사용하려 할 때 중요한 장벽이 나타납니다. 바로 가장 핵심인 어텐션 레이어가 갖는 이차적 복잡도입니다.
이 글에서는 이러한 이차적 특성이 왜 발생하는지 살펴보고, 학계와 업계에서 이 문제를 해결하기 위해 시도해 온 다양한 방법들을 검토합니다.

목차





왜 이차일까?

참고: 여기서 어텐션을 다시 처음부터 설명하며 바퀴를 재발명하진 않겠습니다. 대신 이 패러다임을 자세히 다룬 다른 글들을 참고하겠습니다.
💡

기본(표준) 어텐션 방식에서는 시퀀스의 각 토큰이 다른 모든 토큰으로의 매핑을 학습합니다. 즉, 여기에는 nn 이러한 가중치, 여기서 nn 시퀀스에 포함된 토큰 수이며, 각 토큰마다 적용됩니다. 다시 말해, 전체적으로 우리가 학습해야 하는 것은 n×nn \times n 이러한 가중치로 인해 O(n2)\mathcal{O}(n^2) 공간 및 시간 복잡도
기본적인 복잡도 이론에서 알 수 있듯, 토큰 길이가 4자리, 5자리를 넘어가기 시작하면 이것이 특히 문제가 됩니다. 그렇다면 이차 복잡도는 어떻게 해결할 수 있을까요?

제안된 해결책

최근 몇 년 사이에 여러 가지 “선형 어텐션” 기법이 제안되었습니다. 그중 몇 가지를 조금 더 자세히 살펴보겠습니다:
  • Reformer(효율적인 Transformer)이 방법은 로컬리티 민감 해싱을 사용해 복잡도를 줄이는 것을 목표로 합니다. Reformer는 해시 함수를 사용해 연관된 토큰을 같은 버킷/청크로 묶고, 이를 통해 유사한 벡터를 서로 매칭하여 전체 시퀀스를 불필요하게 모두 탐색하는 과정을 피합니다. 그런 다음 주의(attention)를 이처럼 훨씬 작은 청크 내부에서만 적용하므로, 이차 복잡도의 어텐션을 거의 선형에 가깝게 낮출 수 있습니다!
그림 1: Reformer에서 사용하는 로컬리티 민감 해싱.
  • Sparse Transformer: 아마도 이차 어텐션을 줄이는 가장 단순한 방법으로, OpenAI의 이 구현은 특정 토큰이 주의를 기울일 수 있는 대상 토큰의 범위를 제한합니다. 이로써 복잡도는 다음과 같이 감소합니다 O(nn)\mathcal{O}(n \sqrt{n}).
그림 2: 기본 어텐션, 스트라이드형(희소 어텐션), 고정 어텐션 비교
  • BigBird: Google Research가 제안한 또 다른 방식으로, 어텐션을 여러 부분으로 분할해 일부 토큰은 전역적으로 표현을 학습하고, 다른 일부는 국소 이웃 범위에서 표현을 학습하도록 하여 어텐션을 선형으로 구현하는 것을 목표로 합니다.
그림 3: 무작위 어텐션, 윈도우 어텐션, 전역 어텐션, BigBird 어텐션 비교
  • Longformer: 이 방식은 고전적인 슬라이딩 윈도우 기법을 사용해, 윈도우 너비에 대해 어텐션의 복잡도를 선형으로 만듭니다. 각 토큰은 고정된 너비의 윈도우 내에서만 볼 수 있어 전체 복잡도가 줄어들며, 확장(팽창) 슬라이딩 윈도우 어텐션과 같은 변형도 제안되었습니다.
그림 4: 기본, 슬라이딩, 확장 슬라이딩, 전역+슬라이딩 어텐션 비교

요약

이 글에서는 기본 어텐션이 왜 본질적으로 O(n^2) 복잡도를 갖는지, 그리고 여러 해 동안 다양한 논문들이 이 문제를 어떻게 해결하려 했는지 살펴보았습니다.
수학과 어텐션을 더 깊이 다루는 보고서를 원하신다면, 아래 댓글이나 저희의 포럼 ✨!
다른 보고서도 확인해 보세요: 완전 연결 어텐션과 양자화 같은 다른 기본 주제도 다룹니다.

추천 읽을거리



이 글은 AI로 번역되었습니다. 오역이 의심되는 부분이 있다면 댓글로 알려 주세요. 원문 보고서는 아래 링크에서 확인하실 수 있습니다: 원문 보고서 보기