청크형 KV 캐시 압축이 만드는 주기적 검색 취약점
장문맥 모델은 정보가 프롬프트 안에 있다면 위치와 관계없이 검색할 수 있어야 한다고 기대됩니다. 그러나 청크형 KV 캐시 압축을 사용하는 모델에서는 이 가정이 흔들릴 수 있습니다. 연속된 토큰을 더 적은 캐시 엔트리로 합치면, 텍스트의 내용과 순서가 같더라도 압축 창의 경계에서 어떤 위치에 놓였는지에 따라 검색 난도가 달라집니다.
압축이 만드는 새로운 좌표
예를 들어 8개 토큰으로 구성된 창을 4토큰 간격으로 압축하면, 각 토큰에는 스트라이드에 대한 상대 위치인 ‘위상’이 생깁니다. 프롬프트 앞에 무관한 토큰 하나를 추가하면 원래 텍스트의 내용과 순서는 바뀌지 않지만, 뒤에 있는 토큰들의 위상은 이동합니다. 그 결과가 달라진다면 원인은 데이터가 아니라 모델의 압축 구조에 있다고 볼 수 있습니다.
연구진은 DeepSeek-V4-Flash-Base에서 같은 FP8 커널 코드를 완성하도록 하면서, 코드와 무관한 docstring만 조금씩 늘렸습니다. 그러자 모델의 최상위 예측이 정답인 8과 32 사이에서 약 4토큰 주기로 바뀌었습니다. 청크형 압축을 사용하지 않는 비교 모델에서는 같은 규칙적인 편향이 나타나지 않았습니다.
평균 정확도가 가리는 것
니들-인-어-헤이스택 평가에서 연구진은 질의 위치, 대상 위치의 통계, 레코드 수를 동일하게 유지하고 대상 정보의 위상만 바꿨습니다. 여러 DeepSeek-V4 모델에서 정확도는 압축 스트라이드에 맞춰 오르내렸고, 가장 좋은 위상과 나쁜 위상의 차이는 약 15~40%포인트였습니다. 후속 학습은 전체 정확도를 높이고 격차를 줄였지만 주기 자체를 없애지는 못했습니다.
이 현상은 특정 모델의 우연한 특성에 그치지 않았습니다. 연구진은 전면 어텐션 기준 모델과의 주요 차이를 청크형 압축으로 제한한 소형 Transformer를 처음부터 학습했습니다. 창 크기, 스트라이드, KV 헤드 수, 게이팅, 위치 인코딩을 바꿔도 주기는 대체로 스트라이드를 따라갔습니다. 통제 실험에서는 압축 모델의 평균 점수가 전면 어텐션 모델과 비슷해도 최악의 위치 성능은 크게 낮을 수 있었으며, 위상 간 차이가 최대 78%포인트에 달했습니다.
어텐션 헤드의 위상별 전문화
인과 개입 분석은 어텐션 구성요소가 주기 전체에서 균일하게 작동하지 않는다는 점을 보여줍니다. 일부 헤드는 인접한 몇 개 위상에서만 중요했고, 다른 헤드가 나머지 위치를 담당했습니다. 압축 게이트 역시 각 창에서 비슷한 슬롯을 반복적으로 선택하는 경향을 보였습니다. 키 게이트와 값 게이트 사이에는 일정한 위치 차이가 있어 인접한 토큰이 함께 보존되기 쉬웠습니다.
게이트 파라미터만 순환 이동하자 약점의 위치도 함께 이동했습니다. 이는 주기적 실패가 압축 레이아웃과 직접 연결되어 있음을 의미합니다. 이상화한 검색 모델 분석에서는 학습의 그래디언트 흐름이 각 헤드를 특정 슬롯에 집중시키기 쉽지만, 모든 위상을 균등하게 덮도록 유도하는 힘은 충분하지 않을 수 있다는 점도 제시됐습니다.
평가 방식에 대한 시사점
KV 압축은 캐시 메모리와 어텐션 비용을 줄인다는 점에서 여전히 유용합니다. 다만 평균 장문맥 정확도 하나만으로 모델의 안정성을 판단해서는 안 됩니다. 앞으로는 위상별 정확도, 최고·최저 위상 간 격차, 창 크기와 스트라이드 변화에 대한 민감도를 함께 공개할 필요가 있습니다.
코드 자동완성, 문서 질의응답, 검색 증강 생성에서는 무관한 접두사를 조금 추가하는 것만으로 대상 정보의 위상이 바뀌고 답변이 달라질 수 있습니다. 높은 평균 점수 아래에 예측 가능한 주기적 실패 구간이 존재할 수 있다는 것이 이 연구의 핵심 경고입니다.
댓글
로그인 상태 확인 중…
댓글 불러오는 중…