동적 의미 분할 기반 KVCache 압축 방법 DynSplitKV

동적 의미 분할 기반 KVCache 압축 방법 DynSplitKV
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

KVCache는 장문 LLM 추론에서 메모리와 지연의 주요 병목이지만, 기존의 고정 간격·정해진 구분자 방식은 의미 경계를 제대로 포착하지 못해 정확도가 크게 떨어진다. 본 논문은 토큰 흐름에서 동적으로 중요도를 평가한 구분자를 선택하고, 가변 길이 블록을 고정 길이 형태로 매핑하는 두 가지 핵심 기법(DD‑Select와 V2F)을 제안한다. 실험 결과, DynSplit‑KV는 기존 방법 대비 정확도·속도·메모리 모두에서 현저히 우수함을 보인다.

상세 분석

본 연구는 장문 컨텍스트에서 KVCache가 차지하는 메모리 부하와 KV 접근에 소요되는 연산량이 전체 추론 지연의 80 % 이상을 차지한다는 사실을 출발점으로 삼는다. 기존의 KVCache 압축 기법은 크게 두 가지로 나뉜다. 첫 번째는 고정 간격(예: 4 토큰, 128 토큰 등)으로 블록을 나누어 압축하거나 선택하는 방식이며, 두 번째는 문장 부호·줄바꿈 등 사전에 정의된 구분자를 이용해 의미 단위로 나누는 방식이다. 두 접근 모두 ‘의미 경계’를 정확히 포착하지 못해, 데이터셋에 따라 5.5 %에서 55.1 %까지 정확도 손실을 야기한다는 실험적 증거를 제시한다.

1. 구분자 중요도 측정

논문은 구분자(i)의 중요도를 ‘미래 토큰이 현재 구간을 얼마나 참조하는가’를 기반으로 정의한다. 구체적으로, 각 구분자 i에 대해

  • Retained region Oᵢ : 구분자 바로 앞의 R 토큰(예: 128)
  • Discarded region Dᵢ : 그보다 더 앞선 토큰
  • Future window Fᵢ : 구분자 뒤의 W 토큰(예: 8)
    을 설정하고, 다중 헤드·다중 레이어의 어텐션 행렬 A(l,h)에서 Fᵢ에 속한 토큰이 Oᵢ와 Dᵢ에 각각 얼마나 집중하는지를 적분한다.
    sᵢ = Σₗ,ₕ Σ_{q∈Fᵢ} Σ_{k∈Oᵢ} A(l,h){q,k} − α·Σₗ,ₕ Σ{q∈Fᵢ} Σ_{k∈Dᵢ} A(l,h)_{q,k}

여기서 α는 장거리 의존성을 억제하는 가중치이며, 실험에서는 α=1을 사용한다. 이 스코어는 구분자가 ‘의미적 경계’를 형성할 가능성을 정량화한다. 중요한 점은 동일 구분자라도 코드와 자연어, 혹은 서로 다른 모델(Llama2‑13B vs. Qwen‑14B) 사이에서 45 %~55 %까지 스코어 차이가 발생한다는 점이다. 이는 정적인 구분자 기반 방법이 근본적으로 한계가 있음을 증명한다.

2. DD‑Select: 동적 중요도‑가중 구분자 선택

DD‑Select는 위에서 구한 sᵢ를 활용해 블록 크기를 동적으로 조절한다. 기본 청크 길이 C와 허용 편차 Δ를 설정하고, 현재 청크 시작점 s_c에서 이상적인 종료점 s_e = s_c + C를 계산한다. 그 주변


댓글 및 학술 토론

Loading comments...

의견 남기기