Context Extension Revisited
Context Extension에서 본 PI, NTK-aware, YaRN은 공통적으로 긴 입력의 position을 training에서 익숙한 범위와 연결하려는 방법이다. 여기서는 “무엇을 바꾸는가”를 기준으로 diagram을 다시 읽는다. Position mapping을 바꾸는 것과 Attention의 pair 수를 줄이는 것은 다르다.
Reading the Position Mapping
PI는 position 을 로 uniform하게 바꾼다. 8K training 범위에 128K positions를 넣는 예시라면 이다. 눈금을 같은 비율로 압축하므로 모든 RoPE frequencies의 위상 변화가 함께 줄어든다. 긴 거리의 미관측 회전을 완화하지만, 원래 익숙했던 가까운 positions의 관계도 바꿀 수 있다.
NTK-aware는 position indices 전체를 똑같이 나누기보다 RoPE base를 바꾸어 frequency별 조정 강도를 달리한다. 이미 충분히 회전했던 high-frequency dimensions는 덜 압축하고, 느리게 도는 low-frequency dimensions는 더 크게 조정하려는 접근이다.
YaRN은 frequency-dependent interpolation에 Attention scaling을 더한다. High-frequency 쪽을 유지하고 low-frequency 쪽에 PI에 가까운 조정을 하는 관점과, Keys가 많아졌을 때 Attention 분포의 sharpness를 조절하는 관점을 함께 사용한다. 따라서 position 문제 하나만을 같은 방식으로 푸는 세 이름으로 보지 않는다.
What Still Needs Evaluation
전체 input의 positions가 개라면 full Attention의 logical query–key pairs는 여전히 다. Position mapping을 조정했다고 이 비용이 줄거나 KV Cache가 자동으로 작아지는 것은 아니다.
또한 새로운 position을 계산할 수 있고 perplexity가 개선되었다는 것만으로 필요한 long-context retrieval task까지 해결되었다고 결론낼 수 없다. Supported length, training 분포, effective context를 구분하고 실제 task에서 검증해야 한다는 한계는 그대로 남는다.
Check
PI와 NTK-aware는 어떤 축을 다르게 scale하는가?
Answer
PI는 position indices를 uniform하게, NTK-aware는 base를 바꾸어 frequency별로 다르게 조정한다.
YaRN이 PI/NTK 비교에서 추가로 고려하는 항목은?
Answer
Frequency-dependent interpolation에 Attention scaling을 결합한다.