SCBench: Un Análisis Centrado en Caché KV de Métodos de Largo Contexto
SCBench: A KV Cache-Centric Analysis of Long-Context Methods
December 13, 2024
Autores: 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
Resumen
Los LLMs de largo contexto han permitido numerosas aplicaciones secundarias, pero también han introducido desafíos significativos relacionados con la eficiencia computacional y de memoria. Para abordar estos desafíos, se han desarrollado optimizaciones para la inferencia de largo contexto, centradas en la caché KV. Sin embargo, los benchmarks existentes a menudo evalúan en solicitudes individuales, descuidando el ciclo de vida completo de la caché KV en el uso del mundo real. Esta omisión es particularmente crítica, ya que la reutilización de la caché KV se ha adoptado ampliamente en los marcos de inferencia de LLMs, como vLLM y SGLang, así como por proveedores de LLMs, incluidos OpenAI, Microsoft, Google y Anthropic. Para abordar esta brecha, presentamos SCBench (SharedContextBench), un benchmark integral para evaluar métodos de largo contexto desde una perspectiva centrada en la caché KV: 1) generación de caché KV, 2) compresión de caché KV, 3) recuperación de caché KV, 4) carga de caché KV. Específicamente, SCBench utiliza ejemplos de prueba con contexto compartido, abarcando 12 tareas con dos modos de contexto compartido, cubriendo cuatro categorías de capacidades de largo contexto: recuperación de cadenas, recuperación semántica, información global y multi-tarea. Con ello, proporcionamos un análisis extenso centrado en la caché KV de ocho categorías de soluciones de largo contexto, incluidas RNNs lineales con compuertas, híbridos Mamba-Attention y métodos eficientes como atención dispersa, eliminación de caché KV, cuantificación, recuperación, carga y compresión de indicaciones. La evaluación se lleva a cabo en 8 LLMs de largo contexto. Nuestros hallazgos muestran que los métodos de memoria sub-O(n) sufren en escenarios de múltiples turnos, mientras que la codificación dispersa con memoria O(n) y computación de pre-llenado sub-O(n^2) tienen un rendimiento sólido. La dispersión dinámica produce cachés KV más expresivos que los patrones estáticos, y la dispersión a nivel de capa en arquitecturas híbridas reduce el uso de memoria con un rendimiento sólido. Además, identificamos problemas de cambio en la distribución de atención en escenarios de generación larga. 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