AI: 토큰 및 임베딩 특수 처리 – Rotary Embeddings
ㅁ 토큰 및 임베딩 특수 처리
ㅇ 정의:
문장의 토큰 임베딩에 위치 정보를 부드럽게 주입하기 위해 각 차원별로 회전 변환을 적용하는 기법으로, Transformer의 Self-Attention에서 위치 인코딩의 한 형태로 사용됨.
ㅇ 특징:
– 절대 위치 인코딩이 아닌 상대적 위치 관계를 보존.
– 사인/코사인 함수를 사용하여 임베딩 벡터의 일부 차원을 회전시킴.
– 긴 문장에서도 일반화 성능이 좋음.
– 기존 절대 위치 인코딩보다 extrapolation(길이 확장)에 강함.
ㅇ 적합한 경우:
– 긴 시퀀스를 처리해야 하는 언어 모델.
– 문맥 길이를 확장하거나 추론 시 입력 길이가 학습 시보다 긴 경우.
ㅇ 시험 함정:
– Rotary Embeddings는 절대 위치 인코딩을 대체하는 것이지 추가하는 것이 아님.
– “Rotary Embeddings는 위치 정보를 임베딩 벡터에 더하는 방식”이라는 설명은 틀림(곱셈/회전 변환임).
– 사인/코사인 주파수 스케일링 개념을 혼동하기 쉬움.
ㅇ 시험 대비 “패턴 보기” 예시:
O: “Rotary Embeddings는 임베딩 벡터의 일부 차원을 사인/코사인 기반으로 회전 변환하여 위치 정보를 주입한다.”
X: “Rotary Embeddings는 절대 위치 인덱스를 원-핫 벡터로 변환하여 임베딩에 더한다.”
ㅁ 추가 학습 내용
Rotary Embeddings(RoPE)의 핵심 개념은 쿼리(Q)와 키(K) 벡터에 동일한 회전 변환을 적용하여, 내적 연산 시 상대 위치 정보가 자연스럽게 반영되도록 하는 것이다. RoPE는 GPT-NeoX, LLaMA 등 최신 대형 언어 모델에서 채택되고 있으며, 시험에서는 RoPE라는 약어로 출제될 수 있다. 회전 각도는 각 차원마다 다르게 설정되며, 주파수 스케일링을 통해 멀리 떨어진 토큰 간에도 상호작용이 가능하도록 한다. 기존 절대 위치 인코딩과 달리, RoPE는 상대적인 위치 정보를 직접 내적 계산에 통합한다는 점에서 차이가 있다. 또한 ALiBi(Attention with Linear Biases)와 비교하면, RoPE는 회전 기반 변환을 사용하고, ALiBi는 주의(attention) 점수에 선형 편향을 추가하는 방식이라는 차이가 있다.