SCBench : Une analyse centrée sur le cache KV des méthodes à long contexte
SCBench: A KV Cache-Centric Analysis of Long-Context Methods
December 13, 2024
Auteurs: 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
Résumé
Les LLM à long contexte ont permis de nombreuses applications ultérieures mais ont également introduit des défis significatifs liés à l'efficacité computationnelle et à la mémoire. Pour relever ces défis, des optimisations pour l'inférence à long contexte ont été développées, centrées autour du cache KV. Cependant, les benchmarks existants évaluent souvent en une seule requête, négligeant le cycle de vie complet du cache KV dans une utilisation réelle. Cette lacune est particulièrement critique, car la réutilisation du cache KV est largement adoptée dans les cadres d'inférence des LLM, tels que vLLM et SGLang, ainsi que par les fournisseurs de LLM, y compris OpenAI, Microsoft, Google et Anthropic. Pour combler ce fossé, nous présentons SCBench (SharedContextBench), un benchmark complet pour évaluer les méthodes à long contexte d'un point de vue centré sur le cache KV : 1) génération de cache KV, 2) compression de cache KV, 3) récupération de cache KV, 4) chargement de cache KV. Plus précisément, SCBench utilise des exemples de test avec un contexte partagé, couvrant 12 tâches avec deux modes de contexte partagé, abordant quatre catégories de capacités à long contexte : récupération de chaîne, récupération sémantique, information globale et multi-tâches. Avec cela, nous fournissons une analyse extensive centrée sur le cache KV de huit catégories de solutions à long contexte, incluant les RNN linéaires à portes, les hybrides Mamba-Attention, et des méthodes efficaces telles que l'attention clairsemée, la suppression de cache KV, la quantification, la récupération, le chargement et la compression de requête. L'évaluation est menée sur 8 LLM à long contexte. Nos résultats montrent que les méthodes de mémoire sub-O(n) souffrent dans des scénarios multi-tours, tandis que l'encodage clairsemé avec une mémoire O(n) et une computation de pré-remplissage sub-O(n^2) sont performants de manière robuste. La sparsité dynamique produit des caches KV plus expressifs que les motifs statiques, et la sparsité au niveau des couches dans les architectures hybrides réduit l'utilisation de mémoire avec de bonnes performances. De plus, nous identifions des problèmes de décalage de la distribution d'attention dans des scénarios de génération à long terme. 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