슬라이딩 윈도 KV 추론에서 사라진 토큰 정보가 남아 검색에 쓰인다
Thinking Outside the Box: Retention and Transmission of Information in Sliding-Window KV Inference
무엇인가
이 논문은 슬라이딩 윈도 KV 추론, 즉 고정 폭 KV 캐시를 유지하며 시퀀스를 점진적으로 처리하는 방식에서 정보가 얼마나 오래 살아남는지를 다룬다. 캐시가 가득 차면 가장 오래된 위치를 버리고 새 위치를 덧붙이는데, 이때 버려지는 토큰의 정보가 이미 계산된 다른 캐시 상태에 녹아 들어가 이후 검색에 계속 쓰일 수 있는지가 핵심 질문이다. 저자들은 이를 장문 문맥 추론의 실용적 문제로 본다. 표준 트랜스포머 추론은 유지하는 문맥만큼 메모리가 커지지만, 슬라이딩 윈도 KV 추론은 상태 크기가 고정되면서도 과거 정보가 전파될 여지가 있어 Mamba 같은 순환 모델과 어텐션 기반 모델 사이의 중간 영역에 놓인다는 것이다.
어떻게 동작하나
방법의 핵심은 Rolling-KV 추론이라는 절차다. 캐시가 최대 W개 위치를 유지하도록 토큰을 순서대로 넣고, 용량이 차면 가장 오래된 위치를 축출한다. 중요한 점은 윈도가 이동할 때 KV 상태를 원문 토큰에서 다시 계산하지 않고 이미 계산된 값을 그대로 유지한다는 것이다. 이전 문맥이 살아 있을 때 계산된 상태이므로, 캐시에 남은 상태가 이미 사라진 토큰의 영향을 담을 수 있다. 논문은 이를 세 조건으로 비교한다. Rolling-KV(전체 프롬프트를 순서대로 처리하며 최신 W개 KV만 유지), Last Window(마지막 W개 원문 토큰만으로 상태를 처음부터 재계산), Full Prompt(전체 프롬프트를 모델 고유 어텐션 규칙으로 처리). 이론적 배경으로 각 어텐션 층이 수용 영역을 W−1만큼 늘려 L개 층에서 최대 후방 거리가 L(W−1)이 된다는 식을 제시하지만, 이것이 가능한 인과 의존성일 뿐 실제로 유용한 정보가 전달되는지는 실험 문제라고 못 박는다.
무엇과 다른가
실험은 Qwen2.5-0.5B-Instruct, Qwen2.5-3B-Instruct, Mistral-7B-Instruct-v0.1, Meta-Llama-3.1-8B-Instruct, Muse-Glimmer-30B 다섯 모델을 단일 RTX 3090 24GB에서 돌렸다. 앞의 네 모델은 BF16, Glimmer는 NF4 양자화에 BF16 연산을 썼고, 어떤 모델도 추가 학습하지 않았다. 창 크기는 W=512, 정답 후보는 네 개의 단일 토큰이며 확률 수준은 25%다. 실험 1은 "The secret code is:" 뒤에 비밀 코드를 두고 필러로 경계를 넘기는 과제로, 오프셋 +1에서 Rolling-KV는 다섯 모델 모두 100%인 반면 Last Window 평균은 24.4%였다. 코드의 KV 상태가 더 이상 직접 접근되지 않는 +2에서 Rolling-KV는 Qwen 0.5B 32%, Qwen 3B 47%, Llama 8B 82%, Mistral 7B 97%, Glimmer 30B 100%로 갈렸고, Mistral과 Glimmer는 +2에서 +5까지 95% 이상을 유지했다.
어떻게 쓰나
실험 2는 정의 문구를 "The secret code is defined by the following identifier:"로 늘려 오프셋 −10에서 +10까지 훑었다. 오프셋 0에서 Last Window 평균 40.2% 대 Rolling-KV 95.8%, +1에서 27.0% 대 92.0%였다. 코드가 축출된 +2에서는 Qwen 0.5B 30%, Qwen 3B 35%, Llama 8B 79%, Mistral 7B 95%, Glimmer 30B 98%였고, +10에서도 Mistral 89%, Glimmer 96%인 반면 Llama는 56%, Qwen 두 모델은 확률 수준에 머물렀다. 실험 3은 정의와 코드 사이에 마커를 두고 간격 D를 32에서 1024까지, 코드 경계 오프셋을 −32에서 256까지 격자로 나눠 정의와 코드의 거리를 분리했다. 코드가 축출되고 간격이 한 윈도보다 짧은 영역에서 Glimmer는 95.4%, Mistral은 54.2%였고, 코드 축출에 간격 512 이상이 겹치는 가장 어려운 영역에서도 Glimmer 62.9%, Mistral 39.9%를 기록했으며 나머지 세 모델은 확률 수준에 가까웠다.
전제와 한계
저자들은 관찰된 현상을 두 가지 모드로 구분한다. 첫째는 문맥화된 표현이 운반체가 되는 경우로, 코드 자체는 창 끝에 남아 있지만 "The secret code is:" 같은 정의 문구가 사라진 상황이다. Rolling-KV는 정의가 살아 있을 때 코드 상태를 계산했기 때문에 그 상태가 정의의 흔적을 담고 있고, 다섯 모델 모두 이 모드의 이득을 본다. 둘째는 잠재 정보 중계로, 정의와 코드가 모두 창을 떠난 뒤에도 일부 모델이 코드를 복원하는 경우다. 이는 캐시에 남은 코드 표현에서 답을 꺼내는 것보다 강한 주장인데, 나중에 남은 어떤 상태가 답을 지탱해야 하기 때문이다. 다만 어떤 상태나 연산이 정보를 나르는지는 이 실험이 특정하지 못한다.
개발자 관점에서 이 결과는 스트리밍 추론에서 KV 캐시를 잘라도 정보가 완전히 사라지지는 않을 수 있다는 점, 그리고 그 잔존 능력이 모델마다 크게 다르다는 점을 시사한다. Mistral 7B와 Muse Glimmer 30B는 발표된 아키텍처에 슬라이딩 윈도 어텐션을 포함하고, 여기서 테스트한 Qwen2.5 모델들은 슬라이딩 어텐션을 끄고 Llama 3.1은 표준 어텐션을 쓴다는 연관성이 언급되지만, 저자들은 모델 크기·아키텍처·학습·정밀도가 모두 달라 이것이 원인이라고 단정할 수 없다고 선을 긋는다. 실무에서는 캐시 축출 정책을 정할 때 모델별로 실제 검색 성능을 측정해야 한다는 뜻이다.
한계는 저자들이 분명히 밝힌다. 증거는 행동 수준이며, 원문 정보가 얼마나 살아남았는지, 축출된 텍스트를 복원할 수 있는지는 보여주지 않는다. 따라서 과제에 필요한 정보의 보존과 무손실 기억은 구분된다. 검색 실패도 정보가 없다는 증거가 아니고, 성공도 정보가 어디에 어떤 형태로 있는지 알려주지 않는다. 실험은 합성 사지선다 과제, 고정 W=512, 소수 모델에 한정되며 자연 대화에서의 보존량이나 지속 시간을 확립하지 않는다. 저자들은 동일 아키텍처·데이터로 롤링 캐시 학습 여부만 바꾼 대조 모델 훈련과 유지된 KV 상태에 대한 직접 개입을 향후 과제로 제안한다.