AI VIDEO BRIEFING

RoPE 회전 위치 임베딩이란 — 트랜스포머가 단어 순서와 긴 문맥을 처리하는 원리

같은 단어를 섞으면 뜻이 달라지는데, 트랜스포머의 어텐션은 순서를 보지 못한다. 절대 위치 인코딩의 한계와, RoPE가 상대 위치를 회전으로 담아 라마·젬마 같은 모델의 긴 문맥을 떠받치는 원리를 차근차근 풀어봤다.

회전 위치 임베딩(RoPE): 트랜스포머가 단어 순서를 기억하는 법 영상 대표 이미지

핵심 메시지

  • 트랜스포머의 어텐션은 토큰 순서를 바꿔도 같은 결과를 내는 '순열 등변성'을 지녀, 어텐션만으로는 단어의 위치와 의미를 구별할 수 없다.
  • 원조 트랜스포머는 위치마다 고유한 사인파 벡터를 더하는 '절대 위치 인코딩'을 썼지만, 같은 뜻의 문장에서 구절만 앞으로 옮겨도 모든 토큰의 위치값이 바뀌는 약점이 있다.
  • RoPE는 토큰의 위치에 비례해 질의·키 벡터를 회전시켜, 두 토큰 사이의 '상대 위치'만 어텐션 점수에 반영되도록 만든다.
  • 고차원 벡터는 2차원씩 묶어 그룹마다 다른 속도로 회전시키며, 빠르게 도는 고주파 성분은 위치에 민감하고 느린 저주파 성분은 먼 거리의 의미 연결을 담당한다.
  • 라마·젬마 등 주요 LLM이 RoPE를 채택했고, 위치 보간·NTK 같은 주파수 조정 기법으로 학습 때보다 긴 문맥까지 확장할 수 있다.

쉽게 이해하기

문장에서 단어 순서가 바뀌면 의미가 통째로 달라진다. 사람은 쉽게 알아채지만 트랜스포머는 이 차이를 처리하기 어렵다. 어텐션 메커니즘이 입력 토큰의 순서를 섞어도 같은 맥락적 특징을 만들어내는 '순열 등변성'을 갖기 때문이다. 어떤 토큰의 질의 벡터와 모든 키 벡터의 내적에 소프트맥스를 적용해 가중합을 구하는 어텐션 계산은, 토큰을 뒤섞어도 결과가 그대로다. 그래서 위치 정보를 따로 주입해야 한다.

원조 트랜스포머 논문은 위치마다 주기와 진동수가 다른 성분으로 이뤄진 고유한 사인파 벡터를 토큰 임베딩에 더하는 절대 위치 인코딩을 제안했다. 잘 작동하지만 한계가 있다. 같은 의미의 문장에서 '매일' 같은 구절을 앞으로 옮기기만 해도 모든 토큰이 완전히 새로운 위치값을 받는다. 의미는 그대로인데 위치 표현은 전부 달라지는 것이다.

RoPE(회전 위치 임베딩)는 절대 위치 대신 토큰 사이의 상대 위치를 담는다. 질의·키 벡터를 그 토큰의 위치에 비례한 각도만큼 회전시키는 것이 핵심이다. 'dog'가 첫 번째면 θ만큼, 'my dog'에서 두 번째면 2θ, 'I walk my dog'에서 네 번째면 4θ만큼 돌린다. 회전량은 오직 그 토큰의 위치에만 달려 있다.

이 방식의 묘미는 두 토큰의 어텐션 점수(내적)가 절대 위치가 아니라 위치 차이에만 의존한다는 점이다. 위치 m의 질의와 위치 n의 키는 회전 행렬의 전치가 역행렬이라는 성질 덕분에 (m-n)θ만큼의 회전으로 귀결된다. 문장 앞에 토큰 두 개를 더해 두 벡터가 함께 더 돌더라도, 둘의 상대 위치가 같으면 내적은 변하지 않는다.

고차원 벡터는 2차원씩 여러 그룹으로 나눠 그룹마다 다른 각속도로 회전시킨 뒤 다시 합친다. 큰 블록 대각 행렬을 직접 곱하면 메모리와 계산이 낭비되므로 원소별 연산으로 구현한다. 빠르게 도는 고주파 성분은 위치 변화에 민감해 대각선·직전 토큰 같은 위치 특화 어텐션 패턴을 만들고, 느린 저주파 성분은 위치에 둔감해 먼 거리까지 의미적 어텐션을 유지한다. 코드 라마·라마 3가 기준 주기를 1만에서 50만으로 키운 것도 저주파를 더 늦춰 장거리 의존성을 잡기 위해서다.

RoPE로 학습한 모델은 학습 문맥 길이(라마 1은 2K, 라마 2는 4K, 라마 3은 8K) 안에서는 잘 작동하지만 그보다 긴 입력에서는 무너진다. 처음 보는 회전 패턴 탓이다. 위치 보간은 추론 위치를 학습 범위 안으로 다시 눌러 담아(예: 4K→20K를 1/5로 축소) 모든 주파수를 함께 늦춘다. 다만 고주파를 그대로 두는 게 중요하므로, 고주파는 거의 유지하고 저주파만 줄이는 NTK식 주파수 인지 조정이 쓰인다. 실험에서 위치 보간·YaRN은 32K까지 미세조정하면 잘 되지만 64K로는 일반화가 안 됐고, NTK 계열은 학습에서 못 본 64K까지도 잘 일반화했다.

주요 인사이트

  • 어텐션은 본질적으로 순서를 보지 못한다. 트랜스포머가 문장의 어순을 이해하는 능력은 어텐션 자체가 아니라 별도로 주입한 위치 정보에서 나온다.
  • '절대 위치'가 아니라 '상대 위치'를 인코딩하면, 같은 의미의 표현이 문장 안에서 어디로 옮겨가든 토큰 간 관계가 일관되게 유지된다 — 이것이 RoPE가 회전으로 얻는 이점이다.
  • 회전의 주파수를 다루는 것이 곧 문맥 길이를 다루는 일이다. 저주파를 더 느리게 돌릴수록 모델이 더 먼 거리의 관계를 포착하고, 더 긴 문맥으로 확장할 수 있다.
  • 긴 문맥 처리 성능은 단순히 더 긴 데이터로 재학습하지 않고도, RoPE의 주파수를 영리하게 다시 스케일링하는 것만으로 상당 부분 끌어올릴 수 있다.

자주 묻는 질문

트랜스포머에 위치 정보를 따로 넣어야 하는 이유는?

어텐션은 토큰 순서를 섞어도 동일한 맥락 특징을 내는 순열 등변성을 갖기 때문이다. 위치 정보를 주입하지 않으면 어순이 다른 문장을 구별하지 못한다.

절대 위치 인코딩과 RoPE의 차이는?

절대 인코딩은 위치마다 고유 벡터를 더해 구절을 옮기면 모든 위치값이 바뀐다. RoPE는 벡터를 위치에 비례해 회전시켜 두 토큰의 상대 위치만 어텐션에 반영한다.

RoPE의 고주파·저주파 성분은 각각 무슨 역할을 하나?

빠르게 회전하는 고주파 성분은 위치에 민감해 직전 토큰·대각선 같은 위치 특화 어텐션을 만들고, 느린 저주파 성분은 위치에 둔감해 먼 거리의 의미 연결을 유지한다.

학습 때보다 긴 문맥은 어떻게 처리하나?

위치 보간으로 추론 위치를 학습 범위로 축소하거나, 고주파는 유지하고 저주파만 줄이는 NTK식 주파수 조정을 쓴다. NTK 계열은 학습에서 못 본 길이까지도 잘 일반화했다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식

#RoPE#위치인코딩#트랜스포머#LLM#긴문맥