‹ Lecture 3 14 / 21

Context Extension

RoPE의 회전 식은 긴 position에서도 계산할 수 있다. 하지만 계산이 가능하다는 것과 모델이 그 위치에서 정보를 잘 사용할 수 있다는 것은 다르다. Training에서 보지 못한 positions와 relative distances, 여러 frequencies의 joint phases는 Out-of-Distribution 입력이 될 수 있다. Context extension은 이 불일치를 완화하는 방법이지 긴 입력을 받는 설정만 켜면 같은 품질이 유지된다는 보장이 아니다.

  1. Training length 초과
  2. unseen joint phases / distances
  3. position/frequency scaling
  4. 긴 context 품질 검증

Beyond the Training Length

학습 길이 밖의 위치·상대 거리는 OOD일 수 있어 retrieval accuracy↓,perplexity↑가 나타난다. RoPE의 개별 phase가 반복돼도 여러 frequency의 joint pattern은 미관측일 수 있다. 8K학습/32K입력 예시는 pair거리의 56%가 training 범위를 넘어간다.

Maximum supported length≠trained length≠effective context다. RULER plot은 advertised limit 이전에도 품질 저하가 가능함을 보여준다. 저주파의 미관측 회전과 joint pattern을 살펴보며 trained, supported, effective context length를 구분해야 한다.

PI · NTK · YaRN

Position Interpolation은 position m⟶msm\longrightarrow\frac ms로 범위 안에 uniform하게 넣는다. NTK-aware는 RoPE frequency base를 바꾸어 frequency-dependent하게 scale하고 high frequency는 uniformPI보다 덜 압축한다. YaRN은 frequency-dependent interpolation과 Attention scaling을 결합한다.

Position mapping을 바꾸어도 full Attention의 O(n2)O(n^{2})비용은 줄지 않으며 empirical evaluation이 필요하다. PI의 uniform scaling, NTK의 frequency별 scaling, YaRN의 Attention scaling은 연결해서 이해할 수 있다. 이들은 연산량을 줄이는 기법은 아니다.

Why Rescaling Is a Compromise

8K 범위에 맞추어 학습한 position mapping을 128K까지 쓰려면, uniform PI에서는 scale factor 16으로 position indices를 나누어 training 범위 안에 넣을 수 있다. 그러나 모든 frequencies를 똑같이 압축하면 가까운 token 사이의 각도 차이까지 training 때보다 작아진다. 멀리 있는 positions의 미관측 문제를 완화하면서 이미 익숙한 local 관계도 바꾼다는 trade-off다. 교수님은 이런 변화를 적응시키기 위해 일부 PI recipes에서 추가 training을 하는 점도 설명했다.

NTK-aware scaling은 RoPE base를 바꾸어 frequency마다 다르게 조정한다. 이미 많은 회전을 본 high-frequency 쪽은 덜 바꾸고, training 구간에서 회전 범위를 충분히 보지 못한 low-frequency 쪽을 더 느리게 만들려는 직관이다. YaRN은 frequency-dependent interpolation에 Attention scaling도 함께 사용한다.

Context가 길어지면 Softmax의 후보 Keys도 늘어난다. 위치 mapping만 맞추어도 이 분포의 조건까지 전부 같아지지는 않으므로, YaRN의 Attention scaling은 분포의 sharpness도 조정한다. 따라서 PI, NTK-aware, YaRN은 따로 노는 이름이 아니라 어떤 frequency를 얼마나 바꾸고 score를 어떻게 조정할지에 관한 연결된 선택들이다.

Supported, Trained, Effective

8K training / 32K input 예시에서는 query–key distances의 약 56%가 training 범위를 넘는다. 개별 phase가 전에 본 값으로 돌아와도 전체 frequencies의 조합과 참조 범위가 익숙하다는 뜻은 아니다. 그래서 retrieval accuracy와 perplexity, task 종류를 따로 검증해야 한다.

RULER의 Yi-34B-200K 예시는 advertised maximum 이전에도 성능이 떨어질 수 있음을 보여 준다. Supported length는 시스템이 받는 한도, trained length는 학습에서 다룬 길이, effective context는 평가한 task에서 실제로 활용하는 범위다. “128K 지원”은 128K의 모든 위치와 모든 task에서 같은 품질이라는 뜻이 아니다. Position scaling은 이 문제를 완화해도 full Attention의 O(n2)O(n^2) pairwise 비용을 줄이지 않는다.

Supported/trained/effective context를 구분한다.

Position Interpolation · NTK-aware · YaRN

긴 context를 위해 position/frequency 해석을 조정한다.

AspectPINTK-awareYaRN
조정Position m⟶msm\longrightarrow\frac msRoPE base 변경Frequency-wise interpolation
FrequencyUniformNon-uniform; high-frequency 덜 압축Frequency별 범위 조절
추가Training range 안으로 mappingFrequency base 관점Attention scaling 결합
공통 한계Full Attention O(n2)O(n^{2}) 유지Full Attention O(n2)O(n^{2}) 유지Full Attention O(n2)O(n^{2}) 유지

Check

RoPE의 phase가 주기적으로 반복되는데도 extrapolation 문제가 남는 이유는?

Answer

여러 frequencies의 joint phase pattern과 먼 relative distance가 training에서 관측되지 않았을 수 있다. 단일 frequency의 반복으로 전체 pattern의 학습을 보장하지 않는다.

PI/NTK/YaRN과 FlashAttention은 해결하는 문제가 어떻게 다른가?

Answer

앞의 세 방식은 position 해석과 장문 품질을 위한 scaling이다. FlashAttention은 exact 계산의 memory traffic을 줄인다. Full Attention의 n2n^{2} 차수를 없애는 것은 아니다.

Position Interpolation · NTK-aware · YaRN를 축별로 비교하고 그 차이가 필요한 이유를 설명하세요.

Answer

긴 context를 위해 position/frequency 해석을 조정한다.

조정: PI=Position m⟶msm\longrightarrow\frac ms / NTK-aware=RoPE base 변경 / YaRN=Frequency-wise interpolation

Frequency: PI=Uniform / NTK-aware=Non-uniform; high-frequency 덜 압축 / YaRN=Frequency별 범위 조절

추가: PI=Training range 안으로 mapping / NTK-aware=Frequency base 관점 / YaRN=Attention scaling 결합

공통 한계: PI=Full Attention O(n2)O(n^{2}) 유지 / NTK-aware=Full Attention O(n2)O(n^{2}) 유지 / YaRN=Full Attention O(n2)O(n^{2}) 유지

Contents