| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- chain-of-thought
- MHA
- context engineering
- extended thinking
- gqa
- attention
- catastrophic forgetting
- CoT
- SK AI SUMMIT 2025
- reinforcement learning from human feedback
- re-ranking
- BLEU
- Langchain
- Engineering at Anthropic
- 트랜스포머
- rotary position embedding
- langgraph
- 토크나이저
- RLHF
- Embedding
- transformer
- flashattention
- self-attention
- model context protocol
- Multi-Head Attention
- PEFT
- Positional Encoding
- MQA
- test-time scaling
- fréchet inception distance
- Today
- Total
AI Engineer 공간 "사부작 사부작"
트랜스포머(Transformer): 포지셔널 인코딩(Positional Encoding) 본문
트랜스포머의 위치 정보 주입 전략: 포지셔널 인코딩의 발전과 비교
인간의 언어는 순서에 따라 의미가 달라집니다. "개가 소년을 물었다"와 "소년이 개를 물었다"는 같은 단어로 구성되었지만 완전히 다른 상황을 묘사합니다. 오늘은 트랜스포머 모델이 어떻게 이러한 순서 정보를 이해하는지, 그리고 최신 위치 인코딩 방법들이 어떻게 발전했는지 알아보겠습니다.
포지셔널 인코딩이 필요한 이유
트랜스포머 모델이 등장하기 전, 자연어 처리는 주로 RNN(Recurrent Neural Network)이나 LSTM 같은 순환 신경망 구조에 의존했습니다. 이러한 구조는 단어를 하나씩 순차적으로 처리하면서 자연스럽게 순서 정보를 기억할 수 있었죠. 하지만 트랜스포머는 근본적으로 다른 접근 방식을 취합니다. 모든 입력 단어를 동시에(병렬로) 처리하여 계산 효율성을 크게 향상시켰습니다. 이 병렬 처리 방식은 빠른 학습과 추론을 가능하게 했지만, 중요한 문제가 발생했습니다.
순서 정보의 손실 - 모든 단어를 동시에 처리하면서 단어 간의 순서 정보가 사라졌습니다.
이는 마치 책의 모든 단어를 종이 위에 무작위로 뿌려놓고 내용을 이해하라고 하는 것과 같습니다. 예를 들어, "the boy who was bitten by the dog"와 "the dog who bit the boy"는 같은 단어로 구성되어 있지만 완전히 다른 의미를 갖습니다. 이 문제를 해결하기 위해 포지셔널 인코딩(Positional Encoding)이라는 개념이 도입되었습니다. 포지셔널 인코딩은 각 단어(토큰)의 위치 정보를 명시적으로 모델에 제공하여, 병렬 처리의 효율성을 유지하면서도 순서 정보를 보존할 수 있게 합니다.
절대적 포지셔널 인코딩 (Absolute Positional Encoding)
원래 트랜스포머 논문에서 제안된 포지셔널 인코딩 방식은 각 단어의 절대적 위치를 인코딩하는 방식입니다. 이 방법은 단어의 절대적인 위치(문장에서 첫 번째, 두 번째 등)를 고려하지만, 다른 단어와의 관계는 고려하지 않습니다. 이 방식에서는 사인(sine)과 코사인(cosine) 함수를 사용하여 위치 정보를 벡터로 표현하고, 이를 단어 임베딩 벡터에 더하는 방식으로 위치 정보를 추가합니다.
이러한 삼각함수 기반 인코딩은 다음과 같은 조건을 만족시키기 위해 설계되었습니다.
- 각 위치값은 시퀀스 길이나 입력값에 관계없이 동일한 위치값을 가져야 함
- 위치값이 입력값에 비해 너무 크지 않아야 함
- 포지셔널 인코딩 값이 빠르게 증가하면 안 됨
- 위치 차이를 거리 정보로 활용할 수 있어야 함
- 포지셔널 인코딩 값은 위치에 따라 서로 달라야 함
비유: 절대적 포지셔널 인코딩은 마치 우리가 책을 읽을 때 "이것은 첫 번째 문장이야", "이것은 두 번째 문장이야"라고 명시적으로 표시하는 것과 같습니다. 단어 자체에 "나는 N번째 단어입니다"라는 꼬리표를 달아주는 것이죠.
하지만 절대적 위치 인코딩은 한계가 있었습니다. 특히 모델이 학습한 것보다 더 긴 시퀀스를 처리할 때 성능이 현저하게 떨어졌습니다. 이는 마치 1부터 100까지만 세는 법을 배운 사람에게 갑자기 1000까지 세라고 하는 것과 비슷한 문제입니다.
상대적 포지셔널 인코딩 (Relative Positional Encoding)
절대적 포지셔널 인코딩의 한계를 극복하기 위해, 상대적 포지셔널 인코딩 방식이 등장했습니다. 이 방식은 단어의 절대적 위치보다는 단어 간의 상대적인 거리나 관계를 인코딩합니다.
RoPE (Rotary Position Embedding)
RoPE(Rotary Position Embedding)는 회전 변환을 통해 위치 정보를 인코딩하는 방식입니다. 이 방법의 특별한 점은 절대 위치 정보와 상대적 위치 관계를 동시에 인코딩할 수 있다는 것입니다. RoPE는 쿼리(Q)와 키(K) 벡터에 회전 변환을 적용함으로써 위치 정보를 주입합니다. 이 회전 변환은 위치에 따라 다른 각도로 이루어지므로, 두 토큰 간의 어텐션 계산 시 자연스럽게 상대적 위치 관계가 반영됩니다.
비유: RoPE는 마치 원형 극장에서 관객들이 앉은 위치에 따라 무대가 다르게 보이는 것과 유사합니다. 각 관객(토큰)은 자신만의 고유한 시점에서 무대를 바라보지만, 관객들 사이의 상대적 위치 관계도 자연스럽게 유지됩니다.

RoPE의 주요 특징은 다음과 같습니다.
- 임의의 시퀀스 길이로 유연하게 확장 가능
- 상대적 거리가 증가함에 따라 토큰 간 의존성이 감소하는 특성 보유
- 선형 셀프 어텐션에 상대적 위치 인코딩 기능 부여 가능
ALiBi (Attention with Linear Biases)
ALiBi(Attention with Linear Biases)는 매우 간단하면서도 효과적인 위치 인코딩 방법입니다. 전통적인 방식처럼 임베딩에 위치 정보를 더하는 대신, 어텐션 스코어 자체에 직접 선형 바이어스(편향)를 추가합니다. 구체적으로, ALiBi는 어텐션 행렬에 단어 간 거리에 비례하는 페널티를 부여합니다. 이 페널티는 거리가 멀수록 커져서, 토큰들이 서로 멀리 떨어질수록 어텐션 점수가 자연스럽게 낮아지게 만듭니다.
비유: ALiBi는 마치 대화할 때 물리적으로 가까운 사람의 말에 더 집중하고, 멀리 있는 사람의 말은 덜 신경쓰는 것과 같습니다. 거리에 따라 주의력이 자연스럽게 감소하는 것이죠.
ALiBi의 가장 큰 장점은 학습 시퀀스 길이보다 훨씬 긴 시퀀스에 대해서도 일반화가 잘 된다는 점입니다. 예를 들어, 1024 토큰으로 학습된 모델이 2048 토큰이나 그보다 더 긴 시퀀스에 대해서도 추가 학습 없이 좋은 성능을 보여줄 수 있습니다.
절대적 vs 상대적 포지셔널 인코딩: 무엇을 선택해야 할까?
두 방식은 각각 장단점이 있습니다:
절대적 포지셔널 인코딩:
- 장점: 구현이 간단하고 직관적임
- 장점: 각 위치에 고유한 식별자를 부여하여 위치 정보를 명확하게 표현
- 단점: 학습 시 보지 못한 길이의 시퀀스에 대한 일반화 능력이 부족함
- 단점: 매우 긴 시퀀스에서는 성능이 떨어질 수 있음
상대적 포지셔널 인코딩:
- 장점: 다양한 길이의 시퀀스에 더 잘 일반화됨
- 장점: 특히 RoPE는 절대 위치와 상대 위치 정보를 모두 인코딩할 수 있음
- 장점: ALiBi는 구현이 간단하면서도 매우 긴 시퀀스에서 좋은 성능을 보임
- 단점: 경우에 따라 복잡한 구현이 필요할 수 있음
마무리: 진화하는 위치 인코딩
포지셔널 인코딩은 트랜스포머 모델이 순서 정보를 이해하는 데 필수적인 요소입니다. 초기의 절대적 인코딩 방식에서 시작하여, 현재는 RoPE와 ALiBi 같은 상대적 인코딩 방식이 많이 사용되고 있습니다. 이러한 발전은 트랜스포머 모델이 더 긴 시퀀스를 효과적으로 처리할 수 있게 만들었고, 결과적으로 더 강력한 언어 모델의 개발로 이어졌습니다. 특히 최신 대규모 언어 모델들은 이러한 발전된 포지셔널 인코딩 기법을 적극 활용하고 있습니다. 포지셔널 인코딩은 마치 사람이 문장을 이해할 때 단어의 순서를 자연스럽게 파악하는 것과 같은 능력을 인공지능에게 부여합니다. 이는 단순한 기술적 개선을 넘어, 기계가 인간 언어의 복잡한 구조를 이해하는 데 한 걸음 더 가까워지게 한 중요한 발전이라 할 수 있습니다.
https://arxiv.org/abs/2104.09864
RoFormer: Enhanced Transformer with Rotary Position Embedding
Position encoding recently has shown effective in the transformer architecture. It enables valuable supervision for dependency modeling between elements at different positions of the sequence. In this paper, we first investigate various methods to integrat
arxiv.org
https://arxiv.org/abs/2108.12409
Train Short, Test Long: Attention with Linear Biases Enables Input Length Extrapolation
Since the introduction of the transformer model by Vaswani et al. (2017), a fundamental question has yet to be answered: how does a model achieve extrapolation at inference time for sequences that are longer than it saw during training? We first show that
arxiv.org
'Theory > Transfomer' 카테고리의 다른 글
| 트랜스포머(Transformer): 한계와 극복 전략 (0) | 2025.05.17 |
|---|---|
| 트랜스포머(Transformer): 아키텍처(Architectures) (0) | 2025.05.17 |
| 트랜스포머(Transformer): 멀티-헤드 어텐션(Multi-Head Attention, MHA) (0) | 2025.05.17 |
| 트랜스포머(Transformer): 셀프 어텐션(Self-Attention) 메커니즘 (0) | 2025.05.17 |
| 트랜스포머(Transformer): 기본 (0) | 2025.05.17 |