고차원 동적 회전 위치 임베딩 (High Dimensional, Dynamic Rotary Positional Embedding) [P]
요약
기존 RoPE의 한계를 넘어 시퀀스 내 위치를 다차원적으로 해석하는 HDD-RoPE 알고리즘을 제안합니다. 데이터 의존적인 회전량을 통해 모델이 문단이나 문장 같은 구조적 위치를 더 효과적으로 학습할 수 있도록 설계되었습니다.
핵심 포인트
- 기존 RoPE의 1차원적 회전 방식을 다차원적 위치 임베딩으로 확장
- 데이터 의존적(data-dependent) 회전량을 통해 활성화 값 기반 위치 학습 가능
- TinyStories 데이터셋 실험 결과, 기존 베이스라인 대비 빠른 수렴 속도 확인
- 토큰의 위치를 단순 시퀀스 순서가 아닌 구조적 맥락으로 파악
지난 포스트의 마지막 부분에서 저는 한 가지 아이디어를 제시했습니다. 제 지난 프로젝트의 핵심이었던 누적 행렬 곱 (cumulative matrix product)을 위치 임베딩 (positional embedding)으로 재사용한다면 어떨까요?
저는 방금 HDD-RoPE의 수학적 배경을 구체화하고, 이 위치 임베딩 알고리즘을 사용하여 모델을 학습시키는 작업을 마쳤으며, 결과는 매우 훌륭합니다. TinyStories 데이터셋으로 학습했을 때, 검증 손실 (validation loss)이 xPos를 사용하여 학습된 베이스라인 트랜스포머 (baseline transformer)보다 상당히 더 빠르게 수렴하기 시작합니다.
https://huggingface.co/roneneldan/TinyStories-33M 에서 복사한 하이퍼파라미터 (n_blocks=4, d_model=d_k=d_v=768)를 사용하여 TinyStories로 학습된 GPT-2 스타일의 모델입니다.
https://github.com/mikayahlevi/hdd-rope/ 에 있는 저장소 (repo)를 통해 결과를 재현할 수 있으며, 수학적 원리와 아키텍처 (architecture)의 세부 사항에 대해 심도 있게 다루고 있습니다.
표준 RoPE는 쿼리 (queries)와 키 (keys)를 두 개씩 그룹으로 나누고 각 쌍을 미리 정의된 비율로 회전시킵니다. 이를 통해 모델은 쿼리와 키 사이의 기저 (basis) 변화를 관찰함으로써 상대적 위치 (relative position)를 학습할 수 있습니다. 선형 시퀀스 (linear sequence)에서 두 개씩 짝을 짓는 것은 직관적으로 타당합니다. 하나의 청크 (chunk)가 단일 자유도로 회전할 수 있으며, 이는 선형적으로 1차원 진행되는 위치에 대응하기 때문입니다.
HDD-RoPE는 이러한 직관을 넘어 시퀀스 내의 위치가 다차원적 (multidimensional)이라고 말합니다. 따라서 청크는 TinyStories 예제에서 사용된 4와 같이 어떤 크기로든 나눌 수 있습니다. 4차원 청크는 4개 중 2개를 선택하는 조합인 6개의 회전 축 (6-dimensional position, 6차원 위치)에 대응합니다. 본질적으로, 우리는 토큰이 단순히 시퀀스 내의 한 위치에 있는 것이 아니라, 모델이 학습할 수 있는 문단이나 문장과 같은 모든 구조 내의 위치에 있다고 말하는 것입니다.
이를 용이하게 하기 위해, 저는 각 축을 따른 회전량을 데이터 의존적 (data-dependent)으로 만들어, 현재 레이어 (layer)의 활성화 값 (activations)에 저장된 정보를 바탕으로 위치를 어떻게 전진시킬지 학습할 수 있도록 했습니다.
더 자세히 알고 싶다면 저장소 (repo)를 확인해 주세요. 수학적 공식을 정식화하고 로드맵 (roadmap)을 제시해 두었습니다.
제출자: /u/mikayahlevi / 커뮤니티: r/MachineLearning
[link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/OpenAI Codex (search)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기