위치 인코딩은 딥러닝의 트랜스포머 아키텍처에서 기본적인 구성 요소입니다. 트랜스포머는 입력 시퀀스를 순차적으로 처리하지 않고 병렬로 처리하므로 본질적인 순서 감각이 부족합니다. 위치 인코딩은 각 토큰의 임베딩에 시퀀스 내 위치를 나타내는 고유한 신호를 추가하여 모델이 단어 순서와 거리를 이해할 수 있게 합니다. 이 기법은 2017년 획기적인 논문 "Attention Is All You Need"에서 소개되었으며, 대규모 언어 모델 및 기타 시퀀스 처리 시스템에 필수적인 요소가 되었습니다.
핵심 아이디어는 입력 임베딩이 트랜스포머의 어텐션 레이어에 들어가기 전에 수정하는 것입니다. 시퀀스의 각 위치에 대해 위치 인덱스를 인코딩하는 벡터가 생성됩니다. 이 벡터는 토큰 임베딩에 더해져 의미 정보와 위치 정보를 모두 담은 결합 표현을 만듭니다. 어텐션 메커니즘은 이러한 위치 신호를 사용하여 상대적 거리를 기반으로 토큰 간의 관계를 계산할 수 있습니다.
정현파 인코딩
원래 트랜스포머 논문은 정현파 위치 인코딩 방식을 제안했습니다. 위치 pos와 차원 i에 대해 인코딩 값은 다음과 같습니다:
- PE(pos, 2i) = sin(pos / 10000^(2i/d_model))
- PE(pos, 2i+1) = cos(pos / 10000^(2i/d_model))
여기서 d_model은 임베딩 차원입니다. 이 선택에는 여러 바람직한 속성이 있습니다. 사인 및 코사인 함수는 제한된 범위의 값을 생성하며, 각 위치의 인코딩은 결정적입니다. 더 중요한 것은 위치 간의 선형 관계 덕분에 모델이 상대적 위치를 쉽게 학습할 수 있다는 점입니다. 고정된 오프셋 k에 대해 PE(pos+k)는 PE(pos)의 선형 함수로 표현될 수 있습니다. 이 속성은 어텐션 메커니즘이 훈련 중에 본 시퀀스보다 긴 시퀀스로 일반화하는 데 도움이 됩니다.
주파수는 차원을 따라 감소하며, 낮은 차원은 빠르게 진동하고 높은 차원은 느리게 진동합니다. 이는 뇌가 공간 정보를 인코딩하는 방식과 유사한 다중 스케일 표현을 만듭니다. 원래 저자들은 학습 가능한 매개변수가 필요 없고 이론적으로 임의 길이의 시퀀스를 처리할 수 있기 때문에 이 방법을 선택했습니다.
학습된 위치 임베딩
정현파 인코딩의 대안은 훈련 중에 위치 임베딩을 학습하는 것입니다. 이 접근 방식에서는 각 위치 인덱스에 학습 가능한 벡터가 할당되며, 이러한 벡터는 모델의 나머지 부분과 함께 최적화됩니다. 모델은 작업에 가장 적합한 위치 표현을 학습합니다.
학습된 임베딩은 BERT 모델을 포함한 초기 트랜스포머 구현에서 사용되었습니다. 모델이 특정 데이터 분포에 맞게 인코딩을 조정할 수 있으므로 유연성을 제공합니다. 그러나 훈련 시 정의된 최대 시퀀스 길이로 제한되며 추가 매개변수가 필요합니다. 매우 긴 시퀀스의 경우 메모리 비용이 상당해질 수 있습니다.
정현파 및 학습된 인코딩 모두 널리 채택되었습니다. GPT 변형과 같은 많은 현대 모델은 학습된 임베딩을 사용하는 반면, 원래 트랜스포머와 같은 다른 모델은 정현파를 사용합니다. 연구에 따르면 두 방법 모두 많은 작업에서 비슷한 성능을 보이지만, 학습된 임베딩은 구현의 단순성 때문에 종종 선호됩니다.
트랜스포머 아키텍처에서의 역할
트랜스포머 아키텍처에서 위치 인코딩은 입력 단계에서 적용됩니다. 입력 토큰은 먼저 학습된 임베딩 행렬을 통해 임베딩으로 변환됩니다. 그런 다음 위치 인코딩 벡터가 토큰 임베딩에 요소별로 더해집니다. 이 결합된 벡터는 멀티헤드 어텐션 레이어를 통과합니다.
어텐션 메커니즘은 입력에서 쿼리, 키, 값 벡터를 계산합니다. 위치 정보는 이러한 계산에 영향을 주어 모델이 상대적 위치를 기반으로 토큰에 주의를 기울일 수 있게 합니다. 예를 들어, 문장에서 모델은 동사가 몇 위치 떨어진 주어에 주의를 기울여야 한다는 것을 학습할 수 있습니다.
위치 인코딩이 없으면 트랜스포머는 입력을 단어 가방으로 처리하여 모든 순서 정보를 잃게 됩니다. 이는 언어 모델링 및 번역과 같은 작업을 불가능하게 만듭니다. 따라서 위치 인코딩은 트랜스포머를 시퀀스 데이터에 효과적으로 만든 중요한 혁신입니다.
변형 및 개선
원래 제안 이후 위치 인코딩의 많은 변형이 개발되었습니다. 주목할 만한 변형 중 하나는 절대 위치가 아닌 토큰 간의 거리를 인코딩하는 상대적 위치 인코딩입니다. Transformer-XL 및 T5와 같은 모델에서 도입된 이 접근 방식은 더 긴 시퀀스로 더 잘 일반화할 수 있고 더 해석 가능합니다.
또 다른 변형은 LLaMA 및 PaLM과 같은 모델에서 사용되는 회전 위치 인코딩(RoPE)입니다. RoPE는 위치를 기반으로 쿼리 및 키 벡터에 회전 행렬을 적용하여 상대 정보를 보존하면서 모델이 더 긴 시퀀스로 외삽할 수 있게 합니다. 이 방법은 최근 대규모 언어 모델에서 인기를 얻었습니다.
다른 접근 방식으로는 거리를 기반으로 어텐션 점수에 선형 편향을 추가하는 ALiBi(Attention with Linear Biases)와 T5와 같은 모델에서 사용되는 학습된 상대 편향이 있습니다. 이러한 방법은 종종 명시적 위치 임베딩의 필요성을 제거하여 아키텍처를 단순화합니다.
대규모 언어 모델에서의 응용
위치 인코딩은 모든 현대 대규모 언어 모델에 필수적입니다. GPT-3, GPT-4, Claude, Gemini와 같은 모델은 일관되고 맥락에 맞는 텍스트를 생성하기 위해 위치 정보에 의존합니다. 인코딩 방법의 선택은 긴 문서, 코드 및 기타 구조화된 데이터를 처리하는 모델의 능력에 영향을 줄 수 있습니다.
예를 들어, OpenAI의 GPT 모델은 학습된 위치 임베딩을 사용하는 반면, Google DeepMind의 Chinchilla 및 Gopher는 회전 인코딩을 사용합니다. 더 긴 컨텍스트 창에 대한 추세는 더 효율적이고 확장 가능한 위치 인코딩 방법에 대한 연구를 촉진했습니다.
위치 인코딩은 이미지, 오디오 및 텍스트를 처리하는 멀티모달 모델에서도 역할을 합니다. 비전 트랜스포머에서는 공간 레이아웃을 보존하기 위해 이미지 패치에 위치 인코딩이 추가됩니다. 음성 인식에서는 시간적 순서를 모델링하는 데 도움이 됩니다.
이론적 및 실용적 고려 사항
이론적 관점에서 위치 인코딩은 시퀀스 순서에 대한 사전 지식을 모델에 주입하는 귀납적 편향의 한 형태입니다. 정현파 인코딩의 상대적 위치를 선형으로 표현하는 능력은 주요 이론적 장점입니다. 그러나 일부 연구자들은 학습된 임베딩이 더 복잡한 위치 관계를 포착할 수 있다고 주장합니다.
실용적으로 인코딩 선택은 훈련 안정성과 성능에 영향을 줍니다. 정현파 인코딩은 고정되어 있고 추가 매개변수가 필요 없어 과적합을 줄일 수 있습니다. 학습된 임베딩은 더 유연할 수 있지만 효과적으로 훈련하려면 더 많은 데이터가 필요할 수 있습니다.
또 다른 고려 사항은 외삽입니다. 훈련 중에 본 시퀀스보다 긴 시퀀스를 처리하는 능력입니다. 정현파 인코딩은 이론적으로 임의 길이로 외삽할 수 있지만 실제로 어텐션 메커니즘은 보지 못한 길이에서 종종 어려움을 겪습니다. 학습된 임베딩은 고정된 최대 길이로 정의되므로 전혀 외삽할 수 없습니다. 이는 외삽을 개선하는 RoPE 및 ALiBi와 같은 방법에 대한 연구를 촉진했습니다.
미래 방향
위치 인코딩에 대한 연구는 계속 진화하고 있습니다. 장기 컨텍스트 모델에 대한 수요가 증가함에 따라 수십만 또는 수백만 토큰의 시퀀스에서 위치를 효율적으로 인코딩하는 새로운 방법이 개발되고 있습니다. 계층적 위치 인코딩 및 연속 표현과 같은 기술이 탐구되고 있습니다.
Mamba 및 기타 상태 공간 모델과 같은 일부 최근 모델은 명시적 위치 인코딩이 필요 없는 어텐션의 대안을 제안했습니다. 그러나 트랜스포머는 여전히 지배적이며 위치 인코딩은 주요 연구 분야로 남아 있습니다.
2025년 현재 이 분야는 더 적응적이고 데이터 기반의 위치 표현으로 이동하고 있지만, 2017년에 도입된 기본 개념은 여전히 기초적입니다.
결론
위치 인코딩은 트랜스포머가 시퀀스 데이터를 처리할 수 있게 하는 간단하면서도 강력한 기법입니다. 토큰 임베딩에 순서 정보를 주입함으로써 모델이 언어, 코드 및 기타 순서가 있는 데이터를 이해할 수 있게 합니다. 정현파 및 학습된 인코딩 모두 효과적임이 입증되었으며, 지속적인 연구는 이러한 방법을 계속 개선하고 있습니다. 위치 인코딩을 이해하는 것은 현대 인공지능과 머신러닝을 연구하는 모든 사람에게 필수적입니다.