SCBench: Анализ методов с длинным контекстом, сосредоточенный на кэше KV.
SCBench: A KV Cache-Centric Analysis of Long-Context Methods
December 13, 2024
Авторы: Yucheng Li, Huiqiang Jiang, Qianhui Wu, Xufang Luo, Surin Ahn, Chengruidong Zhang, Amir H. Abdi, Dongsheng Li, Jianfeng Gao, Yuqing Yang, Lili Qiu
cs.AI
Аннотация
Долгие контекстные LLM позволили реализовать множество прикладных приложений, но также привнесли значительные вызовы, связанные с вычислительной и памятью эффективностью. Для решения этих проблем были разработаны оптимизации для вывода долгого контекста, сосредоточенные вокруг кэша KV. Однако существующие бенчмарки часто оцениваются в рамках одного запроса, игнорируя полный жизненный цикл кэша KV в реальном использовании. Этот недочет особенно критичен, поскольку повторное использование кэша KV стало широко применяемым в фреймворках вывода LLM, таких как vLLM и SGLang, а также у поставщиков LLM, включая OpenAI, Microsoft, Google и Anthropic. Для устранения этого пробела мы представляем SCBench (SharedContextBench), комплексный бенчмарк для оценки методов долгого контекста с точки зрения кэша KV: 1) генерация кэша KV, 2) сжатие кэша KV, 3) извлечение кэша KV, 4) загрузка кэша KV. В частности, SCBench использует тестовые примеры с общим контекстом, охватывающие 12 задач с двумя режимами общего контекста, охватывающие четыре категории возможностей долгого контекста: извлечение строк, семантическое извлечение, глобальная информация и многозадачность. С его помощью мы предоставляем обширный анализ методов долгого контекста с учетом кэша KV в восемь категорий решений, включая воротные линейные RNN, гибриды Mamba-Attention и эффективные методы, такие как разреженное внимание, отбрасывание кэша KV, квантование, извлечение, загрузка и сжатие запросов. Оценка проводится на 8 долгих контекстных LLM. Наши результаты показывают, что методы с использованием памяти меньше, чем O(n), страдают в сценариях с многократными обращениями, в то время как разреженное кодирование с памятью O(n) и предварительным заполнением с памятью меньше, чем O(n^2), демонстрируют устойчивую производительность. Динамическая разреженность обеспечивает более выразительные кэши KV, чем статические шаблоны, а разреженность на уровне слоя в гибридных архитектурах снижает использование памяти при высокой производительности. Кроме того, мы выявляем проблемы смещения распределения внимания в сценариях долгого поколения. https://aka.ms/SCBench.
English
Long-context LLMs have enabled numerous downstream applications but also
introduced significant challenges related to computational and memory
efficiency. To address these challenges, optimizations for long-context
inference have been developed, centered around the KV cache. However, existing
benchmarks often evaluate in single-request, neglecting the full lifecycle of
the KV cache in real-world use. This oversight is particularly critical, as KV
cache reuse has become widely adopted in LLMs inference frameworks, such as
vLLM and SGLang, as well as by LLM providers, including OpenAI, Microsoft,
Google, and Anthropic. To address this gap, we introduce
SCBench(SharedContextBench), a comprehensive benchmark for evaluating
long-context methods from a KV cachecentric perspective: 1) KV cache
generation, 2) KV cache compression, 3) KV cache retrieval, 4) KV cache
loading. Specifically, SCBench uses test examples with shared context, ranging
12 tasks with two shared context modes, covering four categories of
long-context capabilities: string retrieval, semantic retrieval, global
information, and multi-task. With it, we provide an extensive KV cache-centric
analysis of eight categories long-context solutions, including Gated Linear
RNNs, Mamba-Attention hybrids, and efficient methods such as sparse attention,
KV cache dropping, quantization, retrieval, loading, and prompt compression.
The evaluation is conducted on 8 long-context LLMs. Our findings show that
sub-O(n) memory methods suffer in multi-turn scenarios, while sparse encoding
with O(n) memory and sub-O(n^2) pre-filling computation perform robustly.
Dynamic sparsity yields more expressive KV caches than static patterns, and
layer-level sparsity in hybrid architectures reduces memory usage with strong
performance. Additionally, we identify attention distribution shift issues in
long-generation scenarios. https://aka.ms/SCBench.Summary
AI-Generated Summary