EpiCache: Episodic KV Cache Management for Long Conversational Question Answering
Minsoo Kim, Arnav Kundu, Han-Byul Kim, Richa Dixit, Minsik Cho
TL;DR
EpiCache tackles the memory bottleneck of KV caches in long conversational QA by introducing a training-free, memory-bounded framework that combines block-wise prefill with episodic KV compression. It clusters dialogue into episodes, builds episode-specific caches, and uses adaptive layer-wise budget allocation driven by Key-state sensitivity to preserve long-range context under fixed budgets. Across Realtalk, LoCoMo, and LongMemEval, EpiCache yields up to 40% accuracy improvements over strong baselines at the same budget and approaches full KV performance at 4–6× compression, while delivering up to 3.5× memory savings and 2.4× decoding speedups. This approach enables efficient, scalable long-context interactions in resource-constrained deployments without retraining.
Abstract
Modern large language models (LLMs) extend context lengths to millions of tokens, enabling coherent, personalized responses grounded in long conversational histories. This ability, however, hinges on Key-Value (KV) caching, whose memory grows linearly with dialogue length and quickly becomes the bottleneck in resource-constrained environments. An active line of research for reducing memory bottleneck is KV cache compression, which seeks to limit cache size while preserving accuracy. Yet existing methods face two major limitations: (i) evicting the KV cache after full-context prefill causes unbounded peak memory, and (ii) query-dependent eviction narrows the cache to a single query, leading to failure cases in multi-turn conversations. We introduce EpiCache, a training-free KV cache management framework for long conversational question answering (LongConvQA) under fixed memory budgets. EpiCache bounds cache growth through block-wise prefill and preserves topic-relevant context via episodic KV compression, which clusters conversation history into coherent episodes and applies episode-specific KV cache eviction. We further design an adaptive layer-wise budget allocation strategy that measures each layer's sensitivity to eviction and distributes the memory budget across layers accordingly. Across three LongConvQA benchmarks, EpiCache improves accuracy by up to 40%, maintains near-full KV accuracy under 4-6x compression, and reduces latency/memory by up to 2.4x/3.5x, enabling efficient multi-turn interaction under strict resource limits. Our code is available at https://github.com/apple/ml-epicache.
