문서의 각 단락이 어느 리비전에서 마지막으로 수정되었는지 확인할 수 있습니다. 왼쪽의 정보 칩을 통해 작성자와 수정 시점을 파악하세요.

어텐션 메커니즘 | |
이름 | 어텐션 메커니즘 |
영문명 | Attention Mechanism |
분류 | |
주요 적용 분야 | |
핵심 개념 | 입력 데이터의 특정 부분에 집중(가중치 부여) |
주요 변형 | |
기원 | 2014년 뉴럴 머신 번역 연구에서 본격적으로 도입 |
기술적 상세 | |
수학적 표현 | Query, Key, Value 벡터의 가중합 |
동기 | |
주요 장점 | 병렬 처리 가능, 해석 가능성 향상, 장거리 의존성 모델링 |
주요 응용 모델 | |
어텐션 점수 함수 | Dot-product, Additive, Scaled Dot-product |
소프트 vs 하드 어텐션 | 소프트(확률적 가중치), 하드(이산적 선택) |
전역 vs 지역 어텐션 | 전역(전체 입력), 지역(입력의 일부) |
컴퓨터 비전 적용 | 이미지 캡셔닝, 시각적 질의응답 |
음성 처리 적용 | 음성 인식, 음성 합성 |
한계 및 도전 과제 | 계산 복잡도, 매우 긴 시퀀스 처리 |

어텐션 메커니즘은 인공 신경망, 특히 시퀀스 데이터를 처리하는 모델에서 특정 부분에 집중하는 방식을 모방한 계산 구조이다. 이는 입력 데이터의 모든 요소를 동등하게 취급하지 않고, 현재 작업과 관련성이 높은 요소에 더 많은 가중치를 부여한다. 기계 번역, 텍스트 요약, 이미지 생성 등 다양한 생성형 AI 과제의 핵심 구성 요소로 자리 잡았다.
기존의 순환 신경망이나 합성곱 신경망은 장기 의존성을 학습하거나 긴 시퀀스를 처리하는 데 한계가 있었다. 어텐션 메커니즘은 이러한 한계를 극복하기 위해 2010년대 중반 도입되었으며, 2017년 Transformer 모델의 등장과 함께 그 유용성이 널리 인정받았다. 이 메커니즘은 모델이 출력을 생성할 때 입력 시퀀스의 어떤 위치를 참조해야 하는지를 동적으로 결정한다.
어텐션의 기본 아이디어는 인간의 인지 과정에서 영감을 받았다. 예를 들어, 문장을 번역할 때 번역가가 원문의 모든 단어를 동시에 고려하지 않고, 현재 번역하고 있는 부분과 가장 관련된 원문 단어에 주의를 기울이는 방식과 유사하다. 이는 모델이 '맥락'을 이해하고 생성의 정확성과 일관성을 높이는 데 기여한다.
시기 | 주요 발전 | 의미 |
|---|---|---|
2014-2015년 | 신경 기계 번역에 처음 적용[1] | 어텐션의 개념적 도입 |
2017년 | Transformer 아키텍처 제안[2] | 셀프 어텐션과 병렬 처리의 혁신 |
2018년 이후 | 생성형 AI의 폭발적 성장 촉진 |
현재 어텐션 메커니즘은 대규모 언어 모델과 확산 모델을 포함한 거의 모든 최신 생성형 AI 모델의 중심에 있다. 이는 단순한 알고리즘이 아닌, 모델이 데이터 내의 복잡한 관계와 패턴을 학습할 수 있도록 하는 근본적인 프레임워크로 진화했다.

어텐션 메커니즘의 핵심은 입력 시퀀스의 모든 요소를 동등하게 취급하지 않고, 현재 작업에 가장 관련성이 높은 부분에 집중하는 능동적 가중치 할당 방식이다. 이는 인간의 시각적 또는 인지적 주의 집중 과정에서 영감을 받았다. 메커니즘은 주로 쿼리, 키, 값이라는 세 가지 구성 요소를 기반으로 작동한다.
쿼리는 현재 처리 중인 항목이나 위치를 나타내는 벡터이다. 키는 입력 시퀀스의 각 요소를 식별하는 벡터이며, 값은 해당 요소의 실제 정보 내용을 담은 벡터이다. 어텐션 과정은 먼저 쿼리와 모든 키 간의 유사도(또는 관련성) 점수를 계산한다. 이 점수 계산은 일반적으로 내적 연산이나 작은 신경망을 통해 이루어진다. 계산된 점수는 각 입력 요소가 현재 쿼리에 대해 가지는 중요도를 나타낸다.
구성 요소 | 역할 | 비유적 설명 |
|---|---|---|
쿼리(Query) | 현재 관심의 초점 | "무엇을 찾고 있는가?" |
키(Key) | 입력 요소의 식별자 | "검색 대상의 라벨" |
값(Value) | 입력 요소의 실제 정보 | "검색 대상의 내용" |
다음으로, 이 점수들은 소프트맥스 함수를 통과하여 합이 1이 되는 확률 분포 형태의 가중치로 변환된다. 소프트맥스 함수는 높은 점수를 더 높은 가중치로, 낮은 점수를 0에 가까운 가중치로 변환하는 정규화 역할을 한다. 마지막 단계에서는 이 정규화된 가중치를 각각의 값 벡터에 곱하고, 그 결과를 모두 합산하여 최종 어텐션 출력(컨텍스트 벡터)을 생성한다. 이 출력은 쿼리가 입력 시퀀스의 어떤 부분에 더 주의를 기울여야 하는지를 반영한 가중 평균된 정보가 된다.
어텐션 메커니즘의 연산은 쿼리, 키, 값이라는 세 가지 핵심 구성 요소를 기반으로 이루어진다. 이 세 요소는 정보 검색 시스템의 개념에서 차용된 것으로, 각각 특정한 역할을 담당한다. 쿼리는 현재 처리 중인 항목(예: 디코더의 현재 시점의 은닉 상태)이 무엇을 필요로 하는지를 나타내는 '질문'에 해당한다. 키는 입력 시퀀스의 모든 항목(예: 인코더의 각 시점의 은닉 상태)이 가지고 있는 '식별자' 또는 '주제'이다. 값은 각 입력 항목이 실제로 제공하는 '정보' 또는 '내용' 자체이다.
어텐션 과정은 쿼리와 모든 키 사이의 유사도를 계산하여 시작한다. 이 유사도 점수는 주어진 쿼리에 대해 각 키(및 그에 연관된 값)가 얼마나 관련성이 높은지를 결정한다. 일반적으로 쿼리 벡터와 키 벡터의 내적 연산이나 다른 유사도 함수를 사용하여 점수를 계산한다. 계산된 유사도 점수는 다음 단계를 위해 정규화된다.
구성 요소 | 역할 | 비유 |
|---|---|---|
쿼리 (Query) | 현재 포커스가 있는 항목의 '필요'를 표현 | "지금 무엇이 필요한가?" |
키 (Key) | 입력 항목 각각의 '특성' 또는 '주제'를 표현 | "나는 어떤 내용을 담고 있는가?" |
값 (Value) | 입력 항목이 실제로 제공하는 '정보 내용' | "내가 제공하는 실제 데이터" |
정규화는 일반적으로 소프트맥스 함수를 통해 이루어지며, 이를 통해 모든 키에 대한 유사도 점수의 합이 1이 되는 어텐션 가중치를 생성한다. 최종적으로, 이 가중치를 각 값 벡터에 곱하고 모두 합산(가중합)하여 어텐션 출력 또는 컨텍스트 벡터를 생성한다. 결과적으로 어텐션 메커니즘은 쿼리의 요구에 가장 부합하는 값들에 집중하여 정보를 추출하는 방식으로 동작한다. 이 구조는 모델이 입력 시퀀스의 모든 부분을 고정된 표현으로 압축하는 대신, 매번 필요에 따라 동적으로 가장 관련성 높은 정보에 접근할 수 있게 해준다.
점수 계산은 쿼리 벡터와 모든 키 벡터 간의 유사도를 측정하는 과정이다. 가장 일반적인 방법은 내적을 사용하는 닷-프로덕트 어텐션이다. 쿼리 벡터 Q와 키 벡터 K_i의 내적을 계산하여 어텐션 스코어 s_i를 얻는다. 이 스코어는 쿼리가 해당 키와 연관된 정보에 얼마나 '주의'를 기울여야 하는지를 나타내는 초기 점수이다.
계산 단계 | 수식 (요약) | 설명 |
|---|---|---|
스코어 계산 | s_i = Q · K_i | 쿼리와 각 키의 유사도를 내적으로 계산한다. |
정규화 | α_i = softmax(s_i / √d_k) | 스코어를 안정적인 확률 분포로 변환한다. |
가중치 합 | Attention(Q,K,V) = Σ (α_i * V_i) | 정규화된 가중치를 값 벡터에 적용하여 최종 출력을 합성한다. |
계산된 스코어들은 일반적으로 스케일링 과정을 거친다. 키 벡터의 차원 d_k의 제곱근으로 나누어 스코어의 분산을 안정화시킨 후, 소프트맥스 함수를 적용한다. 소프트맥스 함수는 스코어 집합을 합이 1인 확률 분포로 변환하여, 각 스코어를 0과 1 사이의 어텐션 가중치 α_i로 변환한다. 이 가중치는 각 정보의 중요도를 정량화한다.
최종 단계인 가중치 합은 이 정규화된 가중치 α_i를 각각의 값 벡터 V_i에 곱하고 모두 합산하는 과정이다. 결과적으로 생성되는 출력 벡터는 모든 값 벡터의 가중 평균이다. 이는 쿼리가 현재 처리하는 작업에 가장 관련성이 높은 정보에 높은 비중을 두고, 관련성이 낮은 정보는 억제하면서 맥락 정보를 집약적으로 표현한다.
어텐션 메커니즘에서 쿼리와 키 간의 유사도 점수를 계산한 후, 이 점수들은 소프트맥스 함수를 통해 처리된다. 소프트맥스 함수는 일련의 실수 값을 입력받아, 그 합이 1이 되는 확률 분포로 변환하는 정규화 함수이다. 이 과정을 통해 각 키에 해당하는 중요도 또는 '집중' 가중치를 생성한다.
소프트맥스 함수의 적용은 몇 가지 중요한 역할을 한다. 첫째, 모든 어텐션 가중치의 합을 1로 만들어, 모델이 사용 가능한 정보의 총량을 일정하게 분배하도록 유도한다. 둘째, 가장 높은 유사도 점수를 가진 요소에 가장 큰 가중치를 부여하면서도, 다른 요소들에 대한 작은 가중치를 유지하여 모델이 주목해야 할 주요 정보와 보조 정보를 모두 고려할 수 있게 한다. 이는 모델의 결정에 대한 일종의 확률적 해석을 제공한다.
처리 단계 | 입력 예시 (점수) | 소프트맥스 출력 (가중치) | 역할 |
|---|---|---|---|
유사도 계산 | [2.0, 1.0, 0.1] | - | |
소프트맥스 적용 | [2.0, 1.0, 0.1] | [0.66, 0.24, 0.10] | 점수를 합이 1인 확률 분포로 정규화 |
가중치 합 | - | [0.66, 0.24, 0.10] | 가중치에 따라 값을 선형 결합 |
최종적으로, 이 정규화된 가중치들은 각 값 벡터와 곱해져 가중 합을 생성한다. 결과적으로, 모델은 현재 처리 중인 쿼리와 가장 관련이 높은 정보에 더 많은 '주의'를 기울이게 된다. 소프트맥스 함수 없이는 점수들의 상대적 크기가 일관되지 않고, 그래디언트 폭발 또는 소실 문제가 발생할 수 있어 학습이 불안정해진다.

어텐션 메커니즘은 구현 방식과 적용 대상에 따라 여러 유형으로 구분된다. 가장 기본적인 형태는 바닐라 어텐션(Vanilla Attention) 또는 점적 어텐션(Dot-Product Attention)이다. 이는 인코더-디코더 구조에서 디코더가 인코더의 모든 출력을 참조할 때 사용되며, 외부 소스에 대한 집중 메커니즘으로 작동한다.
보다 중요한 발전은 셀프 어텐션(Self-Attention)이다. 이는 단일 시퀀스 내부의 요소들 간 관계를 계산한다. 예를 들어, 한 문장에서 각 단어가 동일한 문장의 다른 모든 단어와 얼마나 관련 있는지 파악한다. 셀프 어텐션은 입력 표현을 스스로 참조하여 문맥적 의미를 풍부하게 포착하는 능력을 제공한다.
트랜스포머 모델의 핵심은 멀티-헤드 어텐션(Multi-Head Attention)이다. 이는 단일 셀프 어텐션 층을 병렬로 여러 개 운영하는 개념이다. 각 '헤드'는 서로 다른 선형 변환을 거친 쿼리, 키, 값을 사용하여 서로 다른 유형의 관계(예: 문법적, 의미적 관계)에 주목한다. 그 결과를 결합함으로써 모델은 다양한 측면에서 정보를 통합할 수 있다.
유형 | 주요 특징 | 주요 적용 예 |
|---|---|---|
디코더가 인코더 출력에 주목 | 기계 번역의 초기 Seq2Seq 모델 | |
단일 시퀀스 내부 관계 모델링 | ||
병렬 헤드를 통한 다양한 관계 포착 | 트랜스포머 아키텍처의 표준 구성 요소 |
이러한 유형들은 상호 배타적이지 않다. 예를 들어, 트랜스포머의 디코더는 마스크드 멀티-헤드 어텐션(자기 자신에 대한 셀프 어텐션)과 인코더-디코더 어텐션(인코더 출력에 대한 바닐라 어텐션에 해당)을 모두 사용한다.
바닐라 어텐션은 어텐션 메커니즘의 가장 기본적이고 초기 형태를 가리킨다. 이는 종종 인코더-디코더 구조를 가진 순환 신경망 기반 모델, 특히 기계 번역 태스크에 적용된 방식을 의미한다. 바닐라 어텐션의 핵심 아이디어는 디코더가 각 시점에서 출력을 생성할 때, 인코더의 모든 은닉 상태 정보를 고르게 참조하는 것이 아니라, 현재 생성 단어와 가장 관련이 높은 인코더 정보에 더 많은 '주의'를 기울이는 것이다.
이 메커니즘의 동작은 다음과 같은 단계로 이루어진다. 먼저, 디코더의 현재 시점 은닉 상태를 쿼리로 사용한다. 그리고 인코더의 모든 시점에서 출력된 은닉 상태들을 키와 값의 집합으로 간주한다. 쿼리와 각 키 사이의 유사도(예: 내적 또는 점수 계산)를 계산하여 어텐션 점수를 얻는다. 이 점수들은 소프트맥스 함수를 통해 0과 1 사이의 값으로 정규화되어 어텐션 가중치가 된다. 마지막으로, 이 가중치들을 각 값(인코더 은닉 상태)에 곱하여 가중합을 계산함으로써, 현재 시점에 필요한 정보에 초점을 맞춘 컨텍스트 벡터를 생성한다.
구성 요소 | 역할 | 바닐라 어텐션에서의 대응 |
|---|---|---|
쿼리 (Query) | 무엇을 찾을지에 대한 질문 | 디코더의 현재 은닉 상태 |
키 (Key) | 검색 대상의 식별자 | 인코더의 각 시점 은닉 상태 |
값 (Value) | 검색 대상이 가지고 있는 실제 정보 | 인코더의 각 시점 은닉 상태 (보통 Key와 동일) |
바닐라 어텐션은 고정된 길이의 병목 현상을 해결하고, 입력 시퀀스의 특정 부분에 동적으로 접근할 수 있게 함으로써 장기 의존성 문제를 완화했다. 이는 기계 번역 성능을 크게 향상시킨 획기적인 기술이었다. 그러나 이 구조는 본질적으로 순차적인 RNN에 의존하기 때문에 병렬 처리가 어렵고, 매우 긴 시퀀스에 대해 계산 비효율성이 발생할 수 있다는 한계를 지녔다. 이후 등장한 트랜스포머 모델의 셀프 어텐션은 이러한 제약을 극복하는 진화된 형태로 발전하게 된다.
셀프 어텐션은 단일 시퀀스 내의 요소들 간의 관계를 계산하는 어텐션 메커니즘의 특별한 형태이다. 기존의 어텐션이 주로 인코더-디코더 구조에서 서로 다른 시퀀스(예: 소스 문장과 타겟 문장) 간의 연관성을 모델링했다면, 셀프 어텐션은 하나의 시퀀스 자신에게 적용된다. 이는 입력 시퀀스의 각 위치가 동시에 쿼리, 키, 값의 역할을 수행함을 의미한다.
동작 원리는 다음과 같다. 주어진 입력 시퀀스의 각 토큰 임베딩은 세 개의 다른 선형 변환을 통해 쿼리, 키, 값 벡터로 투영된다. 이후 각 토큰의 쿼리는 시퀀스 내 모든 토큰(자신 포함)의 키와 내적 연산을 수행하여 어텐션 점수를 계산한다. 이 점수는 소프트맥스 함수를 통해 정규화된 가중치로 변환된 후, 대응하는 값 벡터들의 가중합을 구하는 데 사용된다. 결과적으로 각 토큰의 최종 출력은 전체 시퀀스의 컨텍스트 정보를 반영한 표현이 된다.
셀프 어텐션의 주요 강점은 시퀀스 내 장거리 의존성을 직접적으로 포착할 수 있다는 점이다. 순환 신경망이나 합성곱 신경망은 정보가 여러 단계를 거치며 전파되거나 지역적인 패턴에 집중하는 경향이 있어, 멀리 떨어진 요소 간의 관계를 학습하기 어려울 수 있다. 반면 셀프 어텐션은 한 번의 연산으로 시퀀스의 모든 요소 쌍에 대한 상호작용을 고려할 수 있다. 또한, 계산이 본질적으로 병렬화 가능하여 학습 및 추론 속도를 높이는 데 기여한다.
이 메커니즘은 Transformer 모델의 핵심 구성 요소로, 자연어 처리의 다양한 과제에서 문장 내 단어 간의 문법적·의미적 관계를 모델링하는 데 필수적이다. 예를 들어, "그것은 은행에 저축했다"라는 문장에서 "은행"이라는 단어의 의미는 "저축"이라는 동사와의 관계를 통해 금융 기관임을 명확히 할 수 있다. 셀프 어텐션은 이러한 맥락적 해석을 가능하게 한다.
멀티-헤드 어텐션은 단일 어텐션 메커니즘이 아닌, 병렬로 작동하는 여러 개의 어텐션 '헤드'를 사용하는 구조이다. 이는 모델이 입력 시퀀스의 서로 다른 부분을 다양한 관점(표현 공간)에서 동시에 집중할 수 있게 한다. 각 헤드는 독립적인 쿼리, 키, 값의 선형 투영을 가지며, 이를 통해 서로 다른 유형의 관계나 정보를 포착한다. 예를 들어, 한 헤드는 문장 내 문법적 구조에, 다른 헤드는 의미적 관련성에 주의를 기울일 수 있다.
구체적인 동작 과정은 다음과 같다. 먼저, 입력 임베딩 벡터에 대해 각 헤드마다 별도의 가중치 행렬을 적용해 쿼리, 키, 값을 생성한다. 그 후, 각 헤드는 독립적으로 스케일드 닷-프로덕트 어텐션을 수행하여 어텐션 가중치와 출력을 계산한다. 모든 헤드의 출력은 연결된 후, 최종적인 선형 투영 층을 통과하여 최종 출력을 생성한다. 이 과정은 모델이 복잡한 패턴을 더 효과적으로 학습하도록 돕는다.
멀티-헤드 어텐션의 주요 이점은 표현력의 증가와 안정적인 학습이다. 단일 헤드 어텐션은 정보 포착에 한계가 있을 수 있지만, 여러 헤드를 사용하면 모델이 다양한 관계를 병렬로 탐색할 기회를 얻는다. 이는 특히 Transformer 모델의 핵심 구성 요소로, 셀프 어텐션의 성능을 크게 향상시킨다. 아래 표는 단일 헤드 어텐션과 멀티-헤드 어텐션의 간략한 비교를 보여준다.
특성 | 단일 헤드 어텐션 | 멀티-헤드 어텐션 |
|---|---|---|
어텐션 헤드 수 | 1 | h (보통 8, 12, 16 등) |
학습 가능한 관점 | 단일 관점 | 다중 관점 (병렬) |
표현력 | 제한적 | 풍부함 |
계산 복잡도 | 상대적으로 낮음 | 높음 (헤드 수에 비례) |
주요 용도 | 기본 모델 | 고성능 Transformer 기반 모델 |

어텐션 메커니즘은 트랜스포머 아키텍처의 핵심 구성 요소로서, 기존 순환 신경망이나 합성곱 신경망에 의존하지 않고 시퀀스 데이터를 처리하는 방식을 혁신적으로 바꾸었다. 트랜스포머는 인코더와 디코더라는 두 가지 주요 블록으로 구성되며, 각 블록 내부에 셀프 어텐션과 피드포워드 신경망 층이 쌓여 있다. 이 구조는 입력 시퀀스의 모든 위치에 있는 정보를 병렬적으로 한 번에 참조할 수 있게 하여, 특히 장거리 의존성을 학습하는 데 탁월한 성능을 보인다.
인코더-디코더 구조에서 어텐션은 두 가지 형태로 작동한다. 먼저, 인코더는 입력 시퀀스(예: 원본 문장)의 모든 단어들 사이의 관계를 셀프 어텐션을 통해 모델링한다. 이 과정에서 각 단어는 다른 모든 단어에 대한 상대적 중요도, 즉 어텐션 가중치를 얻게 된다. 다음으로, 디코더는 두 가지 어텐션을 사용한다. 첫 번째는 디코더 자신의 출력 시퀀스(예: 번역 중인 문장)에 대한 셀프 어텐션이고, 두 번째는 인코더의 출력에 대한 어텐션(인코더-디코더 어텐션)이다. 이 두 번째 어텐션 메커니즘을 통해 디코더는 현재 생성할 단어와 가장 관련이 높은 원본 입력의 부분에 초점을 맞출 수 있다.
트랜스포머 모델이 단어의 순서 정보를 유지하기 위해 사용하는 핵심 기술은 위치 인코딩이다. 어텐션 메커니즘 자체는 순서에 무관한 연산이기 때문에, 입력 임베딩에 위치 정보를 더해주는 것이 필수적이다. 일반적으로 사인과 코사인 함수를 사용한 고정된 사인파 위치 인코딩이 적용되거나, 학습 가능한 위치 임베딩이 사용된다. 이 위치 인코딩 벡터는 단어 임베딩 벡터와 더해져 모델에 입력되며, 어텐션 메커니즘이 단어의 의미뿐만 아니라 문장 내 위치 정보도 함께 고려할 수 있게 한다.
트랜스포머의 이러한 설계는 자연어 처리 과제에서 새로운 표준을 정립했다. 인코더 스택은 BERT와 같은 양방향 언어 모델의 기반이 되었고, 인코더-디코더 구조는 GPT 시리즈나 T5와 같은 생성형 AI 모델의 토대를 제공했다. 어텐션 메커니즘은 트랜스포머 내에서 정보가 흐르는 경로를 정의하며, 모델이 컨텍스트 내에서 동적으로 관련성을 추론하는 능력을 부여한다.
어텐션 메커니즘은 Transformer 아키텍처의 핵심 구성 요소로서, 기존의 순환 신경망(RNN) 기반 인코더-디코더 구조의 한계를 극복하는 데 결정적인 역할을 한다. 전통적인 시퀀스 투 시퀀스(seq2seq) 모델은 인코더가 입력 시퀀스를 하나의 고정된 크기의 컨텍스트 벡터로 압축하고, 디코더는 이 벡터만을 사용해 출력 시퀀스를 생성했다. 이 방식은 입력 시퀀스가 길어질수록 정보 손실이 발생하고, 특히 시퀀스의 초반 정보가 소실되는 장기 의존성 문제를 야기했다.
Transformer의 인코더-디코더 구조는 어텐션을 통해 이 문제를 근본적으로 해결한다. 인코더는 입력 시퀀스의 모든 단어를 병렬로 처리하여 각 단어의 표현을 생성한다. 디코더가 출력을 생성할 때마다, 디코더의 현재 상태(쿼리)는 인코더가 출력한 모든 단어 표현(키와 값의 집합)에 대해 어텐션 스코어를 계산한다. 이 과정을 통해 디코더는 매 단계마다 인코더 출력 전체로부터 동적으로 가장 관련성 높은 정보에 주목(attend)할 수 있다. 즉, 고정된 컨텍스트 벡터 대신, 생성해야 할 출력 단어에 따라 가변적인 중요도를 부여받은 인코더 정보의 가중 합을 참조한다.
이 구조는 기계 번역 작업에서 그 효과가 두드러진다. 예를 들어, 디코더가 목표 언어의 "축구"라는 단어를 생성할 때, 소스 문장의 "football"에 높은 가중치를 부여하는 동시에, 주변의 "play", "the" 같은 단어에도 적절한 주의를 기울일 수 있다. 아래 표는 전통적 방식과 어텐션 기반 방식의 차이를 보여준다.
특성 | 전통적 RNN 인코더-디코더 | 어텐션 기반 Transformer |
|---|---|---|
컨텍스트 정보 | 고정된 크기의 단일 벡터 | 매 디코딩 단계마다 계산되는 가변적 가중 합 |
정보 소실 문제 | 입력 길이 증가 시 심화 | 모든 입력 토큰에 직접 접근 가능하여 완화 |
병렬 처리 | 인코더는 순차적, 디코더는 순차적 | 인코더와 디코더 내부에서 모두 병렬 처리 가능 |
장기 의존성 | 취약 | 셀프 어텐션을 통해 강력하게 모델링 |
결과적으로, 어텐션 메커니즘이 통합된 인코더-디코더 구조는 입력과 출력 시퀀스 간의 유연한 정렬(alignment)을 학습하며, 특히 긴 문장 처리에서 뛰어난 성능을 보인다. 이는 바닐라 어텐션(소스-타겟 어텐션)이 인코더의 정보를 디코더에 효과적으로 전달하는 매개체 역할을 함으로써 가능해졌다.
어텐션 메커니즘은 순서 정보를 고려하지 않는다. Transformer 모델의 핵심 연산인 셀프 어텐션은 입력 토큰 집합 내의 모든 쌍에 대한 관계를 병렬로 계산하기 때문에, 토큰들이 입력된 순서를 알 수 없다. 이는 자연어와 같은 순차 데이터에서 단어의 위치가 의미에 결정적인 영향을 미친다는 점에서 큰 문제이다. 위치 정보를 모델에 주입하기 위해 도입된 방법이 위치 인코딩이다.
가장 널리 사용되는 방식은 사인-코사인 위치 인코딩이다. 이 방법은 각 토큰의 위치(인덱스)에 대해 사인과 코사인 함수로 구성된 고정된 벡터를 생성한다. 이 벡터는 토큰의 임베딩 벡터에 직접 더해져서 모델에 입력된다. 사인과 코사인 함수를 사용함으로써 모델은 학습 과정에서 본 적 없는 길이의 시퀀스에 대해서도 위치 정보를 일반화하여 추론할 수 있다[3]. 위치 인코딩 벡터와 토큰 임베딩 벡터는 동일한 차원을 가지므로 요소별 덧셈이 가능하다.
특징 | 설명 |
|---|---|
목적 | 순서가 없는 어텐션 메커니즘에 토큰의 절대적 및 상대적 위치 정보를 제공 |
방식 | 토큰 임베딩에 위치 인코딩 벡터를 요소별 덧셈 |
주요 방법 | 사인-코사인 기반의 고정 인코딩, 학습 가능한 위치 임베딩 |
결합 시점 | 인코더 및 디코더 스택의 입력층 |
이렇게 결합된 벡터는 이후의 모든 셀프 어텐션 층과 피드포워드 신경망 층을 통과한다. 모델은 이 결합된 표현을 통해 특정 단어의 의미(임베딩)와 그 단어가 문장에서 차지하는 위치 정보를 동시에 학습하게 된다. 결과적으로 어텐션 메커니즘은 단어 간의 의미적 유사성뿐만 아니라, "문장의 시작에 가까운가" 또는 "다른 단어로부터 얼마나 떨어져 있는가"와 같은 위치적 관계도 함께 고려할 수 있게 된다. 이 결합은 Transformer가 RNN이나 CNN 없이도 순차 데이터를 효과적으로 처리할 수 있는 기반을 마련한다.

어텐션 메커니즘은 생성형 AI 모델의 핵심 구성 요소로, 텍스트, 이미지, 멀티모달 생성 등 다양한 분야에서 맥락을 이해하고 일관된 콘텐츠를 생성하는 데 결정적인 역할을 한다.
대규모 언어 모델(LLM)을 포함한 텍스트 생성 모델에서 어텐션은 문장 내 단어들 간의 관계와 문맥적 의존성을 모델링한다. 모델이 다음 단어를 예측할 때, 입력 문장의 모든 단어에 대한 중요도를 동적으로 계산하여 가장 관련성 높은 정보에 집중한다. 이 과정은 번역, 요약, 대화 생성 작업에서 장거리 의존성을 효과적으로 포착하도록 돕는다. 예를 들어, 대명사가 지칭하는 선행사를 정확히 연결하는 데 어텐션이 기여한다.
이미지 생성 분야, 특히 디퓨전 모델에서도 어텐션은 중요한 기능을 한다. 안정적 확산(Stable Diffusion) 같은 모델은 U-Net 구조 내에 교차 어텐션 레이어를 포함한다. 이 레이어는 텍스트 프롬프트의 토큰과 이미지의 공간적 특징 맵을 연결한다. 이를 통해 모델은 "붉은 드레스를 입은 여성"이라는 텍스트 설명에서 '붉은'과 '드레스'라는 특성이 이미지의 올바른 영역에 적용되도록 지시를 전달한다.
멀티모달 생성은 텍스트, 이미지, 음성 등 다양한 형태의 데이터를 동시에 이해하고 생성하는 것을 목표로 한다. GPT-4V나 DALL-E 같은 시스템은 어텐션 메커니즘을 통해 서로 다른 모달리티의 정보를 하나의 공통된 표현 공간에 정렬하고 상호 참조한다. 이는 "이 사진을 설명해줘"라는 지시에 맞는 텍스트를 생성하거나, 복잡한 텍스트 설명으로부터 정교한 이미지를 합성하는 능력의 기반이 된다.
생성 유형 | 주요 모델 예시 | 어텐션의 주요 역할 |
|---|---|---|
텍스트 생성 | 문맥 내 단어 간 관계 모델링, 장기 의존성 포착 | |
이미지 생성 | 텍스트 프롬프트 토큰과 이미지 공간 특징의 매핑 | |
멀티모달 생성 | 이기종 데이터 간 정보 정렬 및 상호 참조 |
이러한 응용을 통해 어텐션 메커니즘은 생성형 AI가 단순한 패턴 모방을 넘어, 맥락을 인지하고 통제된 방식으로 창의적인 출력을 만들어내는 데 기여한다.
어텐션 메커니즘은 대규모 언어 모델의 핵심 구성 요소로, 모델이 입력 텍스트의 특정 부분에 집중하면서 문맥을 이해하고 다음 단어를 예측하는 과정을 가능하게 한다. 트랜스포머 아키텍처 기반의 모든 현대 LLM은 이 메커니즘을 기반으로 작동한다. 생성 과정에서 모델은 지금까지 생성된 모든 단어(디코더의 입력)를 쿼리로 사용하고, 원본 입력 텍스트(인코더의 출력)를 키와 값으로 참조하여, 다음에 올 가장 적합한 단어의 확률 분포를 계산한다.
텍스트 생성 시 어텐션은 단순히 이전 단어만 보는 것이 아니라, 문장 내 먼 거리에 있는 단어 간의 관계도 직접적으로 연결한다. 이는 "장기 의존성 문제"를 효과적으로 해결하여, 긴 이야기나 복잡한 논리 구조에서도 일관된 주제와 문법을 유지하도록 돕는다. 예를 들어, 먼 문단 앞부분에서 언급된 주어에 대한 대명사를 정확히 참조하거나, 질문에 대한 답변을 생성할 때 관련 정보가 있는 정확한 문장 위치에 주의를 기울이게 한다.
생성 품질을 높이기 위해 멀티-헤드 어텐션이 광범위하게 사용된다. 이는 여러 개의 병렬 어텐션 헤드가 서로 다른 표현 부분공간에서 다양한 관계(예: 문법적 관계, 의미적 관계, 화용적 관계)를 동시에 학습하도록 설계되었다. 하나의 헤드는 주어-동사 일치에, 다른 헤드는 전후 문맥의 감정적 흐름에 주의를 기울일 수 있어, 더 풍부하고 정교한 텍스트 생성을 가능하게 한다.
생성 단계 | 어텐션의 역할 | 예시 (문장 완성: "고양이가 소파에 앉아서...") |
|---|---|---|
다음 단어 예측 | 생성된 시퀀스를 쿼리로, 전체 컨텍스트를 참조해 다음 단어('낮잠을')에 대한 확률 계산 | '고양이', '소파', '앉아서'의 관계를 종합해 '낮잠을'이 높은 점수를 받음 |
문맥 유지 | 먼 거리의 단어(주어 '고양이')와 현재 생성 지점의 문법적 일치 확인 | '...그것은'을 생성할 때, '고양이'를 정확히 지칭하도록 함 |
다중 관계 포착 | 멀티-헤드를 통해 장소('소파'), 동작('앉아서'), 주체의 성격을 동시에 고려 | '낮잠을' 이후 '편안하게' 같은 단어가 자연스럽게 이어질 가능성 높임 |
이 메커니즘은 지시 튜닝이나 RLHF와 같은 고급 훈련 기법과 결합되어, 모델이 단순히 통계적 패턴을 복사하는 것이 아니라, 사용자의 질문 의도와 세부 지시사항을 이해하고 이에 부합하는 응답을 생성하는 능력의 기반을 제공한다[4].
어텐션 메커니즘은 디퓨전 모델을 포함한 현대 이미지 생성 아키텍처의 핵심 구성 요소이다. 초기 GAN 기반 모델과 달리, 디퓨전 모델은 일반적으로 U-Net과 같은 구조를 사용하여 노이즈로부터 이미지를 점진적으로 복원하는데, 이 과정에서 어텐션이 중요한 역할을 한다. 특히 스테이블 디퓨전과 같은 텍스트 기반 이미지 생성 모델에서는 크로스-어텐션 메커니즘이 텍스트 프롬프트의 의미를 이미지 생성 과정에 효과적으로 주입하는 통로가 된다[5].
어텐션은 이미지의 전역적 문맥과 지역적 특징을 통합하는 데 기여한다. 합성곱 신경망만으로는 이미지 내 먼 픽셀 간의 관계를 포착하기 어려운 반면, 셀프 어텐션 또는 스페이셜 어텐션은 이미지 패치나 특징 맵 전체에 걸쳐 상호작용을 계산한다. 이를 통해 모델은 객체의 일관된 구조, 형태, 그리고 배경과 전경의 관계를 더 정확하게 모델링할 수 있다. 예를 들어, "한 마리의 고양이가 소파에 앉아 있다"는 프롬프트에서, 어텐션 메커니즘은 '고양이'와 '소파'라는 두 객체의 상대적 위치와 크기 관계를 학습하고 생성 과정에 반영하는 데 도움을 준다.
어텐션 유형 | 역할 | 적용 예 (디퓨전 모델) |
|---|---|---|
이미지 내부의 공간적 관계 모델링 | U-Net의 중간 레이어에서 이미지 패치 간 상관관계 계산 | |
텍스트 조건을 이미지 특징에 매핑 | 텍스트 토큰 임베딩과 이미지 특징 맵 간의 유사도 계산 및 정보 융합 | |
안정적인 점수 계산 및 가중치 합 | 대부분의 트랜스포머 기반 디퓨전 모델에서 표준적으로 사용 |
이러한 메커니즘의 통합은 단순히 품질을 향상시키는 것을 넘어, 생성 과정의 제어 가능성을 높인다. 인페인팅이나 이미지-투-이미지 변환과 같은 정교한 작업에서, 사용자는 특정 영역을 지정하거나 다른 이미지를 조건으로 제공할 수 있으며, 어텐션은 이러한 조건 정보를 생성 과정의 적절한 위치와 시점에 적용하도록 돕는다. 결과적으로, 어텐션은 디퓨전 모델이 단순한 노이즈 제거 이상의 복잡한 의미론적 이해와 구성 능력을 갖추게 하는 데 기여한다.
멀티모달 생성은 텍스트, 이미지, 오디오, 비디오 등 서로 다른 형태의 데이터를 동시에 이해하고 생성하는 생성형 AI의 한 분야이다. 어텐션 메커니즘, 특히 트랜스포머 아키텍처는 이러한 다양한 모달리티 간의 정렬과 통합을 가능하게 하는 핵심 기술로 작동한다.
멀티모달 생성 모델은 일반적으로 각 모달리티를 처리하는 별도의 인코더와 하나의 통합된 디코더 또는 생성기를 갖는다. 예를 들어, 텍스트-이미지 생성 모델에서는 텍스트 프롬프트를 처리하는 텍스트 인코더와 출력 이미지를 생성하는 이미지 디코더가 사용된다. 이 과정에서 교차 어텐션 메커니즘이 결정적인 역할을 수행한다. 이미지 디코더의 각 생성 단계(예: 확산 모델의 노이즈 제거 단계)에서, 디코더의 쿼리는 텍스트 인코더가 제공하는 키와 값과 상호작용하여 텍스트 설명의 의미론적 정보를 시각적 특징에 반영한다. 이를 통해 "붉은 드레스를 입은 여성이 해변을 걷는다"는 텍스트가 해당 객체, 속성, 관계를 정확히 반영한 이미지로 변환된다.
멀티모달 생성의 응용 범위는 매우 넓다. 대표적인 예로 DALL-E, Stable Diffusion, Midjourney 같은 텍스트-이미지 생성기가 있으며, 음성 합성과 동기화된 입술 움직임을 생성하는 텍스트/오디오-비디오 모델도 있다. 또한, 비디오의 내용을 설명하는 캡션을 생성하거나, 이미지를 보고 그에 대한 질문에 답변하는 VQA 같은 이해-생성 결합 작업에도 활용된다. 이러한 모델들의 성능은 다양한 모달리티의 임베딩을 하나의 공통된 표현 공간으로 정렬하고, 어텐션을 통해 모달리티 간의 세밀한 관계를 모델링하는 능력에 크게 의존한다.

어텐션 메커니즘은 RNN 기반 시퀀스 모델의 근본적인 한계를 해결하며 현대 생성형 AI의 발전을 이끈 핵심 기술이다. 가장 큰 장점은 장기 의존성 문제를 효과적으로 극복한다는 점이다. 기존 RNN은 입력 시퀀스가 길어질수록 초반 정보가 소실되거나 변형되는 문제가 있었으나, 어텐션은 모든 입력 토큰에 대한 직접적인 연결 경로를 제공하여 관련 정보를 보존한다. 또한, Transformer 아키텍처에서는 셀프 어텐션 연산이 시퀀스 내 모든 요소 간 관계를 병렬로 계산할 수 있어, RNN의 순차적 처리로 인한 학습 속도 저하 문제를 해결한다. 이는 대규모 데이터셋을 효율적으로 학습하는 기반이 되었다.
그러나 어텐션 메커니즘은 명확한 한계도 지닌다. 가장 큰 문제는 계산 복잡도이다. 표준 바닐라 어텐션의 계산 복잡도는 시퀀스 길이(N)의 제곱(O(N²))에 비례하여 증가한다. 이는 매우 긴 문서나 고해상도 이미지를 처리할 때 메모리 사용량과 계산 시간을 급격히 증가시킨다. 또한, 어텐션 가중치가 어떻게 결정되는지에 대한 명확한 해석이 어려운 경우가 많아, 모델의 의사결정 과정을 투명하게 이해하는 데 어려움을 준다. 이는 AI 윤리와 모델 해석 가능성 측면에서 중요한 과제로 남아 있다.
다음 표는 어텐션 메커니즘의 주요 장점과 한계를 요약하여 비교한다.
장점 | 한계 |
|---|---|
장기 의존성 문제 해결 | 시퀀스 길이에 따른 2차적 계산 복잡도(O(N²)) |
병렬 처리 가능으로 학습 효율성 향상 | 긴 컨텍스트 처리 시 큰 메모리 요구량 |
모델이 입력의 어떤 부분에 '주목'하는지 시각화 가능 | 어텐션 가중치가 항상 명확한 의미를 나타내지는 않음[6] |
인코더-디코더 구조에서 정보 흐름의 병목 현상 완화 | 과적합 위험 및 많은 매개변수 필요 |
이러한 장점과 한계를 바탕으로, 최근 연구는 효율적인 어텐션 메커니즘을 개발하여 계산 부담을 줄이고, 해석 가능한 AI 연구를 통해 어텐션 메커니즘의 투명성을 높이는 방향으로 진행되고 있다.
어텐션 메커니즘의 가장 중요한 장점은 순환 신경망이나 장단기 메모리이 처리하기 어려웠던 장기 의존성 문제를 효과적으로 해결한다는 점이다. 기존 시퀀스 모델은 정보를 순차적으로 처리하면서 먼 거리에 있는 요소 간의 관계를 학습하는 데 한계가 있었다. 어텐션은 입력 시퀀스의 모든 위치에 있는 정보에 직접 접근할 수 있게 함으로써, 현재 처리 중인 요소와 관련이 높은 과거의 정보를 선택적으로 강조한다. 이는 특히 긴 문장이나 문서를 처리할 때 문맥을 더 정확하게 이해하는 데 기여한다.
또 다른 핵심 장점은 병렬 처리가 가능하다는 것이다. 셀프 어텐션 연산은 시퀀스 내 모든 요소 쌍 간의 관계를 동시에 계산할 수 있다. 이는 입력의 길이에 제한을 받는 순차적 처리와 달리, GPU나 TPU와 같은 하드웨어에서 효율적으로 가속화될 수 있다. 이러한 병렬성은 Transformer 아키텍처의 기반이 되었으며, 대규모 데이터셋으로 모델을 훈련시키는 데 필요한 계산 효율성을 제공한다.
이러한 특성들은 모델의 성능과 확장성을 크게 향상시켰다. 장기 의존성 해결 능력은 기계 번역, 문서 요약, 질의 응답과 같은 작업에서 더 일관된 맥락 이해를 가능하게 했다. 동시에 병렬 처리 능력은 모델의 크기와 훈련 데이터의 규모를 급격히 증가시키는 현대 생성형 AI 발전의 토대를 마련했다. 결과적으로 어텐션 메커니즘은 더 깊고 넓은 신경망을 실용적으로 구축할 수 있게 하는 핵심 동인이 되었다.
어텐션 메커니즘은 강력한 성능을 제공하지만, 두 가지 주요 한계를 지닌다. 첫 번째는 계산 복잡도 문제이다. 표준 셀프 어텐션은 모든 입력 토큰 쌍 간의 관계를 계산해야 하므로, 입력 시퀀스 길이를 N이라고 할 때 시간 및 메모리 복잡도가 O(N²)에 달한다[7]. 이는 장문의 문서나 고해상도 이미지를 처리할 때 계산 자원과 시간을 매우 많이 소모하게 만든다. 두 번째는 해석 가능성의 어려움이다. 어텐션 가중치가 어떻게 결정되는지에 대한 명확한 규칙이 부족하며, 학습된 가중치 분포를 인간이 직관적으로 이해하고 해석하기가 쉽지 않다. 이는 모델의 의사결정 과정을 투명하게 검증하거나 디버깅하는 데 걸림돌이 된다.
계산 비용 문제를 구체적으로 살펴보면, 긴 컨텍스트를 다루는 생성 작업에서 심각한 병목 현상을 일으킨다. 예를 들어, 수천 개의 토큰을 가진 텍스트를 생성하거나 고해상도 이미지를 생성할 때, 어텐션 계산은 GPU 메모리를 빠르게 소진한다. 이 한계를 완화하기 위해 슬라이딩 윈도우 어텐션, Linformer, 또는 희소 어텐션과 같은 다양한 효율적인 어텐션 변형들이 연구되고 있다.
해석 가능성의 문제는 모델의 신뢰성과 안전성 측면에서 중요하다. 어텐션 맵이 특정 단어에 높은 가중치를 부여했다고 해서, 모델이 실제로 인간과 유사한 논리나因果 관계를 이해했다고 보장할 수 없다. 이는 편향된 출력을 생성하거나 오류를 범했을 때 그 원인을 추적하기 어렵게 만든다. 따라서 어텐션 가중치를 시각화하는 것은 유용한 도구이지만, 모델 내부 메커니즘을 완전히 설명하는 데는 한계가 있다.
한계 요소 | 주요 내용 | 영향을 받는 영역 |
|---|---|---|
계산 복잡도 | 시퀀스 길이의 제곱(O(N²))에 비례하는 연산 및 메모리 사용 | 처리 속도, 하드웨어 요구사항, 에너지 효율성, 긴 컨텍스트 모델링 |
해석 가능성 | 어텐션 가중치의 결정 논리가 불투명하고 직관적 해석이 어려움 | 모델 디버깅, 편향 검출, 의사결정 과정의 신뢰성 평가 |
이러한 한계에도 불구하고, 어텐션 메커니즘은 현대 생성형 AI의 핵심으로 자리 잡았으며, 지속적인 연구를 통해 계산 효율성과 해석 가능성을 개선하려는 노력이 진행 중이다.

어텐션 메커니즘의 성공 이후, 계산 비용과 확장성 문제를 해결하고 성능을 더욱 향상시키기 위한 다양한 연구가 활발히 진행되었다. 주요 동향은 계산 복잡도를 낮추는 효율적인 어텐션 구조의 개발과 모델이 처리할 수 있는 컨텍스트 길이를 극적으로 확장하는 방향으로 나뉜다.
효율적인 어텐션 연구는 셀프 어텐션의 제곱 복잡도(O(n²)) 문제를 완화하는 데 초점을 맞춘다. 대표적인 접근법으로는 어텐션 계산을 국소적으로 제한하는 슬라이딩 윈도우 어텐션, 입력 시퀀스를 그룹화하는 계층적 어텐션, 그리고 모든 토큰 쌍을 계산하지 않고 특정 토큰만을 선별하는 희소 어텐션이 있다. 또한, 어텐션 연산을 근사화하는 선형 어텐션 기법도 주목받으며, 이는 쿼리와 키의 내적 대신 특징 매핑 함수를 사용해 복잡도를 선형(O(n)) 수준으로 낮춘다.
컨텍스트 길이 확장을 위한 연구는 장문의 텍스트나 고해상도 이미지 생성과 같은 과제를 해결하기 위해 필수적이다. 기존 트랜스포머 모델의 컨텍스트 제한을 극복하기 위해, 상대적 위치 인코딩과 회전 위치 인코딩 같은 새로운 위치 표현 방법이 제안되었다. 이 방법들은 절대적인 위치 번호 대신 토큰 간 상대적 거리를 인코딩하여 훈련 시 보지 못한 길이의 시퀀스에도 일반화하는 능력을 향상시킨다. 최근에는 수백만 토큰에 이르는 초장기 컨텍스트를 처리할 수 있는 상태 공간 모델 기반 아키텍처도 어텐션의 대안으로 연구되고 있다.
연구 방향 | 주요 기법/모델 | 핵심 아이디어 | 목표 |
|---|---|---|---|
효율성 향상 | 계산 범위 제한 또는 근사화 | 계산 복잡도 O(n²)에서 O(n) 또는 O(n log n)으로 감소 | |
컨텍스트 확장 | 절대 위치 대신 토큰 간 상대적 관계 모델링 | 훈련 데이터보다 긴 시퀀스에 대한 외삽 능력 향상 | |
대체 구조 탐구 | 선택적 상태 공간을 통한 시퀀스 모델링 | 어텐션 없이 장기 의존성 모델링 및 선형 시간 복잡도 달성 |
이러한 연구 동향은 더 빠르고, 더 길고, 더 복잡한 데이터를 처리할 수 있는 차세대 생성형 AI 모델의 기반을 마련하고 있다.
계산 복잡도 문제를 해결하기 위해 다양한 효율적인 어텐션 메커니즘 변형이 제안되었다. 이들은 주로 쿼리와 키 간의 모든 쌍별 상호작용을 계산하는 표준 어텐션의 O(n²) 복잡도를 줄이는 데 초점을 맞춘다.
대표적인 접근법으로는 국소적 어텐션, 계층적 어텐션, 그리고 근사 메커니즘이 있다. 국소적 어텐션은 각 쿼리가 주변의 일부 키에만 집중하도록 제한하여 계산량을 줄인다. 계층적 어텐니션은 입력을 요약하는 다단계 구조를 사용한다. 근사 메커니즘에는 랜덤 프로젝션을 활용해 저차원 공간에서 유사도를 계산하는 랜덤 피처 어텐션이나, 소프트맥스 함수를 근사하는 인포메드 어텐션 등이 포함된다.
접근법 | 핵심 아이디어 | 대표 모델/기법 | 복잡도 |
|---|---|---|---|
국소적/슬라이딩 윈도우 | 각 위치가 고정된 크기의 이웃에만 주목 | 롱포머의 슬라이딩 윈도우 어텐션 | O(n × w)[8] |
계층적/다운샘플링 | 입력을 요약하는 다단계 구조 사용 | O(n log n) | |
저차원 근사 | 랜덤 프로젝션으로 유사도 근사 | 랜덤 피처 어텐션 (RFA/Performer) | O(n) |
인덱싱/검색 기반 | 관련성 높은 키만 검색하여 선택 | Reformer의 LSH 어텐션 | O(n log n) |
이러한 효율화 기법들은 매우 긴 시퀀스(예: 수만 개의 토큰)를 처리해야 하는 문서 요약, 장문 생성, 유전체 서열 분석 등의 분야에서 표준 트랜스포머 모델의 적용 가능성을 크게 확장시켰다. 최근 연구는 이러한 효율적인 메커니즘을 멀티모달 데이터에 적용하거나 하드웨어 가속과 결합하는 방향으로 진행되고 있다.
어텐션 메커니즘의 계산 복잡도는 입력 시퀀스 길이의 제곱에 비례한다. 이는 모델이 처리할 수 있는 최대 컨텍스트 길이를 제한하는 주요 요인이다. 초기 트랜스포머 모델은 수천 개의 토큰 정도의 컨텍스트만을 효과적으로 다루었다. 그러나 문서 요약, 장편 대화, 긴 코드 생성 등의 응용 분야에서는 훨씬 더 긴 컨텍스트를 이해하고 활용하는 능력이 필요해졌다.
이를 해결하기 위해 여러 효율적인 어텐션 변형이 제안되었다. 대표적인 방법으로는 슬라이딩 윈도우 어텐션이 있다. 이 방법은 각 토큰이 고정된 크기의 이웃 토큰들에만 어텐션을 적용하여 계산 복잡도를 선형으로 낮춘다. 또 다른 접근법인 스트라이드 어텐션은 규칙적인 간격으로 토큰을 샘플링하여 전체 시퀀스를 요약한다. 랜덤 어텐션은 확률적으로 토큰을 선택하는 방식을 사용한다. 가장 영향력 있는 방법 중 하나는 롱포머에서 소개된 다이얼-기반 어텐션이다. 이는 근처 토큰에는 전체 어텐션을, 멀리 있는 토큰에는 점진적으로 희소화된 어텐션을 적용하는 방식으로, 선형 복잡도를 가지면서도 긴 거리 의존성을 포착할 수 있다.
이러한 기술의 발전은 생성형 AI 모델의 능력을 확장시켰다. 최신 대규모 언어 모델들은 수십만乃至무한에 가까운 토큰을 컨텍스트로 처리할 수 있는 아키텍처를 실험하고 있다[9]. 이는 단일 모델이 책 한 권 전체를 참조하여 질문에 답하거나, 매우 긴 프로그래밍 프로젝트의 컨텍스트를 유지하며 코드를 생성하는 것을 가능하게 한다. 확장된 컨텍스트 길이는 모델의 실제 적용 가능성을 크게 넓히는 핵심 과제로 남아 있으며, 효율성과 성능 간의 균형을 찾는 연구가 지속되고 있다.
