당신은 최첨단 위치 인코딩을 설계할 수 있었을 것입니다
요약
허깅 페이스 블로그 글은 트랜스포머 셀프 어텐션에 대한 위치 인코딩을 반복적으로 개선하는 방법을 설명하며, Llama 3.2 및 기타 최신 모델에서 사용되는 회전식 위치 인코딩 (RoPE)으로 culminates하고, 서로 다른 위치에 나타나는 토큰을 구분하기 위해 위치 정보를 추가하는 것이 필수적임을 설명합니다.
문제 설명
트랜스포머의 셀프 어텐션은 순열 등변적이며, 위치 정보가 없으면 모델은 두 개의 동일한 토큰이 서로 다른 개체를 가리키는지 알 수 없습니다.
동기 예시
"The dog chased another dog"이라는 문장에서, 위치 인코딩을 추가하지 않을 경우 두 개의 "dog" 발생이 동일한 셀프 어텐션 출력을 생성하며, 이는 위치 정보가 필요함을 증명합니다.
바람직한 속성
이상적인 위치 인코딩은 다음을 만족해야 합니다: (1) 각 위치에 길이와 무관한 고유한 코드를 부여해야 합니다; (2) 위치 p의 인코딩으로부터 위치 p + k의 인코딩을 간단한 선형 연산으로 얻을 수 있어야 합니다; (3) 훈련 중에 본 것보다 더 긴 시퀀스 길이에 일반화될 수 있어야 합니다; (4) 모델이 학습할 수 있는 결정적 과정을 통해 생성되어야 합니다; 그리고 (5) 이미지와 같은 모달리티에 대해 여러 차원으로 자연스럽게 확장될 수 있어야 합니다.
정수 위치 인코딩
임베딩의 각 구성 요소에 원시 정수 위치를 더하면 일반적인 임베딩 크기를 훨씬 초과하는 값이 생성되어 신호 대 잡음 비율을 해치고 학습을 어렵게 만듭니다.
바이너리 위치 인코딩
위치를 이진 문자열로 표현하고 그 비트를 임베딩 차원에 퍼뜨리면 시퀀스 길이에 일관된 [0,1] 범위의 값을 얻지만, 결과 패턴은 이산적이고 “점프”하는 형태여서 그래디언트 기반 최적화에 적합하지 않습니다.
사인usoidal 위치 인코딩
기하학적으로 증가하는 파장을 가진 사인usoidal과 코사인usoidal을 사용하면 부드럽고 연속적인 인코딩이 생성됩니다. 위치 p와 차원 2i에 대한 인코딩은 sin(p / 10000^{2i/d})이며, 2i+1에 대한 인코딩은 cos(p / 10000^{2i/d})입니다. 여기서 d는 모델 차원입니다. 이 방식은 고정된 오프셋 k가 각 (sin,cos) 쌍에 작용하는 회전 행렬에 해당하기 때문에 고유성과 선형 관계 속성을 만족합니다.
절대 위치 인코딩 vs 상대 위치 인코딩
절대 위치는 토큰이 전체 시퀀스에서 어디에 있는지를 알려주지만, 의미는 보통 근처 토큰과의 관계에 따라 달라집니다. 사인usoidal 인코딩은 회전을 통해 상대 위치를 인코딩한다고 해석할 수 있으며, 이는 쿼리와 키 벡터에 대한 가법적 결합에서 승법적 결합으로의 전환을 동기화합니다.
문맥에서의 위치 인코딩
셀프 어텐션에서 내적 QKᵀ 는 각 키가 쿼리에 미치는 영향을 결정합니다. 내적이 ‖Q‖‖K‖cos θ와 같기 때문에 Q 또는 K를 회전하면 벡터의 노름을 바꾸지 않고 각도 θ를 변화시켜 어텐션 가중치를 바꾸며, 노름에 저장된 의미 정보를 보존합니다.
회전식 위치 인코딩 (RoPE)
RoPE는 사인usoidal 방식에서 유도된 회전 행렬을 쿼리와 키 벡터의 차원 쌍에 직접 적용하여 내적 전에 적용합니다. 각 쌍 i에 대한 회전 각도는 ω_i · p이며, 여기서 ω_i = 1 / 10000^{2i/d}입니다. 이 연산은 요소별로 다음과 같이 수행할 수 있습니다: - q′{2i} = q{2i} · cos(p θ_i) − q_{2i+1} · sin(p θ_i) - q′{2i+1}= q{2i} · sin(p θ_i) + q_{2i+1} · cos(p θ_i) (k에 대해서도同样). 이 승법적 접근법은 벡터 노름을 바꾸지 않으면서 상대 위치를 인코딩합니다.
n차원으로 RoPE 확장
이미지와 같은 2차원 데이터에 대해, RoPE는 각 공간 차원을 독립적으로 처리합니다: x‑차원 내의 쌍을 회전하여 수평 오프셋을 인코딩하고, y‑차원 내의 쌍을 회전하여 수직 오프셋을 인코딩합니다.これにより x와 y 정보를 혼합하지 않으며, 임베딩의 서로 다른 부분 공간을 각 차원에 할당함으로써 어떤 수의 차원에도 일반화할 수 있습니다.
위치 인코딩의 미래
최근 분석에 따르면 모델은 RoPE의 가장 낮은 주파수에 의존하는 경향이 있으며, 이 주파수들을 회전 대신 제거하면 일부 모델의 성능을 향상시킬 수 있습니다. 향후 연구는 웨이블릿이나 계층적 방식과 같은 신호 처리 도구를 활용할 수 있으며, 저정도 양화에서도 견고한 인코딩을 추구할 수 있습니다.
결론
위치 인코딩은 사후 고려 사항이 아니어야 하며, 셀프 어텐션의 순열 등변성 제한을 직접 해결합니다. 원시 정수에서 바이너리, 사인usoidal을 거쳐 마지막으로 승법적 회전 (RoPE)으로 반복적으로 인코딩을 개선함으로써 원하는 속성을 충족하고 최첨단 트랜스포머에서 널리 사용되는 방식을 얻을 수 있습니다.