논문
Fathom: Per-Query Read Depth for Sparse Decoding over Offloaded KV Caches
KV 캐시 스캔 시 쿼리별로 필요한 비트만 선택적으로 읽어 대규모 컨텍스트 디코딩 속도를 높이는 기술
논문이 다루는 내용
에이전트 세션이 길어지고 다수의 세션이 동시에 실행되면, 호스트 메모리에 저장된 KV 캐시를 스캔하는 과정이 디코딩 성능의 병목이 됩니다. 기존 방식은 모든 키를 전체 비트로 읽어야 하므로 데이터 전송량이 과도하게 발생합니다. Fathom은 각 쿼리가 채널별 중요도에 따라 읽을 비트 수를 결정하는 가변적 스캔 방식을 제안합니다. 4비트 K 캐시를 비트 평면(bit planes) 형태로 저장하여, 쿼리가 필요한 만큼의 상위 비트만 읽어 연산량을 조절합니다. 실험 결과, 기존 Sparse Decoding 방식보다 훨씬 적은 데이터 전송량으로도 높은 정확도와 빠른 디코딩 속도를 달성했습니다.
핵심 결과
-
쿼리별 가변 비트 읽기(Per-Query Read Depth)를 통한 데이터 전송량 최적화
-
4비트 K 캐시를 채널별 비트 평면(bit planes) 구조로 저장하여 부분 읽기 구현
-
분산된 중요도에 따른 역수위조절(reverse water-filling) 방식으로 비트 예산 할당
실무에서 볼 만한 점
수백만 토큰 규모의 긴 컨텍스트를 다루는 에이전트 환경에서 GPU 메모리 대역폭 병목을 효과적으로 해결할 수 있습니다.
읽을 때 확인할 점
-
4비트 양자화된 KV 캐시를 비트 평면 구조로 재구성하는 데이터 구조 설계 실험
-
다양한 컨텍스트 길이에서 쿼리별 비트 할당 알고리즘의 정확도-속도 트레이드오프 측정
-
기존 SparQ나 Loki 같은 Sparse Decoding 방식과의 성능 비교 벤치마크 수행