SCBench: Eine KV-Cache-zentrierte Analyse von Methoden mit langem Kontext
SCBench: A KV Cache-Centric Analysis of Long-Context Methods
December 13, 2024
Autoren: 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
Zusammenfassung
Langkontext-LLMs haben zahlreiche nachgelagerte Anwendungen ermöglicht, aber auch bedeutende Herausforderungen in Bezug auf Rechen- und Speichereffizienz eingeführt. Um diesen Herausforderungen zu begegnen, wurden Optimierungen für die Inferenz mit langem Kontext entwickelt, die sich auf den KV-Cache konzentrieren. Allerdings bewerten bestehende Benchmarks oft nur Einzelanfragen und vernachlässigen dabei den gesamten Lebenszyklus des KV-Caches bei der Verwendung in der realen Welt. Dieses Versäumnis ist besonders kritisch, da die Wiederverwendung des KV-Caches weit verbreitet ist in LLM-Inferenz-Frameworks wie vLLM und SGLang sowie bei LLM-Anbietern wie OpenAI, Microsoft, Google und Anthropic. Um diese Lücke zu schließen, stellen wir SCBench (SharedContextBench) vor, einen umfassenden Benchmark zur Bewertung von Langkontext-Methoden aus einer KV-Cache-zentrierten Perspektive: 1) KV-Cache-Erzeugung, 2) KV-Cache-Komprimierung, 3) KV-Cache-Abruf, 4) KV-Cache-Laden. Speziell verwendet SCBench Testbeispiele mit gemeinsamem Kontext, die 12 Aufgaben mit zwei gemeinsamen Kontextmodi umfassen und vier Kategorien von Langkontext-Fähigkeiten abdecken: Zeichenfolgenabruf, semantischer Abruf, globale Informationen und Mehrfachaufgaben. Damit bieten wir eine umfassende KV-Cache-zentrierte Analyse von acht Kategorien von Langkontext-Lösungen, einschließlich Gated Linear RNNs, Mamba-Attention-Hybriden und effizienten Methoden wie spärliche Aufmerksamkeit, KV-Cache-Verwerfen, Quantisierung, Abruf, Laden und Prompt-Komprimierung. Die Bewertung wird an 8 Langkontext-LLMs durchgeführt. Unsere Ergebnisse zeigen, dass sub-O(n)-Speichermethoden in Multi-Turn-Szenarien leiden, während spärliche Codierung mit O(n)-Speicher und sub-O(n^2)-Vorbefüllungsberechnung robust funktionieren. Dynamische Sparsamkeit liefert ausdrucksstärkere KV-Caches als statische Muster, und Schichtebene-Sparsamkeit in Hybridarchitekturen reduziert den Speicherverbrauch bei starker Leistung. Darüber hinaus identifizieren wir Probleme mit der Aufmerksamkeitsverteilungsverschiebung in Langgenerierungsszenarien. 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