Biblioteca de Python de NVIDIA para comprimir las cachés KV de los LLM durante la inferencia, con métodos de compresión modulares basados en Hugging Face transformers.
Zefan-Cai/KVCache-Factory
Un entorno de investigación unificado para comparar métodos de compresión, recuperación, combinación y cuantización de KV cache en inferencia de LLM con contextos largos.
- Estrellas
- 1,394
- Forks
- 181
- Issues abiertos
- 4
- Último commit
- hace 3 meses
¿Qué es?
KVCache-Factory reúne varios métodos de KV cache para LLM autoregresivos en una única interfaz de evaluación. Empezó como la base de código de PyramidKV y ahora incluye métodos de referencia como StreamingLLM, H2O, SnapKV, Quest, MiniCache, AdaKV y HeadKV, además de una ruta de descarga a memoria externa sin pérdida con HeadInfer que conserva la caché completa.
El proyecto está pensado para la inferencia con contextos largos, donde la KV cache crece con la longitud del prompt y domina el uso de memoria de la GPU. Los usuarios eligen un método y un presupuesto de caché por capa mediante opciones de línea de comandos, y luego ejecutan evaluaciones de LongBench, RULER o needle-in-a-haystack para comparar la precisión. También incluye un script de benchmark de latencia y memoria para medir el costo de decodificación.
La compatibilidad es mayor con los modelos Llama y Mistral. Algunos métodos más recientes admiten menos ejecutores, y el proyecto fija transformers en la versión 4.44.2 porque sus parches de atención dependen de ella.
Funciones clave
- 01Agrupa métodos de compresión, recuperación, combinación y cuantización en una sola interfaz.
- 02Ejecuta evaluaciones de LongBench, RULER y needle-in-a-haystack con un presupuesto de caché configurable.
- 03Incluye HeadInfer, un método sin pérdida que descarga a la CPU la caché por cabeza y conserva la caché completa.
- 04Proporciona un script de benchmark de latencia y memoria máxima para la decodificación.
- 05Es compatible con las implementaciones de atención FlashAttention v2 y SDPA.
Casos de uso
- Comparar métodos de compresión de KV cache en benchmarks de contexto largo.
- Reproducir experimentos de PyramidKV o experimentos relacionados con el presupuesto de caché.
- Medir el equilibrio entre memoria y latencia de distintas estrategias de KV cache en una sola GPU.
- Crear un prototipo de un método nuevo de KV cache y compararlo con los métodos de referencia existentes.
Inicio rápido
- 1
Clona el repositorio
git clone https://github.com/Zefan-Cai/KVCache-Factory.git - 2
Entra en el directorio del proyecto
cd KVCache-Factory - 3
Instala las dependencias
pip install -r requirements.txt - 4
Configura la ruta de Python en la raíz del proyecto
export PYTHONPATH="$PWD:${PYTHONPATH}"
Antes de usarlo
- Las ejecuciones principales de evaluación requieren un modelo Llama o Mistral local y una GPU.
- Está fijado a transformers 4.44.2, y los parches de attention dependen de la versión.
- Algunos métodos más recientes tienen una cobertura más limitada de runners y modelos.
- No se admite la inferencia por lotes; eval_batch_size debe mantenerse en 1.
Temas
Preguntas frecuentes
- ¿Qué es KVCache-Factory?
- Un entorno de investigación unificado para comparar métodos de compresión, recuperación, combinación y cuantización de KV cache en inferencia de LLM con contextos largos. KVCache-Factory reúne varios métodos de KV cache para LLM autoregresivos en una única interfaz de evaluación. Empezó como la base de código de PyramidKV y ahora incluye métodos de referencia como StreamingLLM, H2O, SnapKV, Quest, MiniCache, AdaKV y HeadKV, además de una ruta de descarga a memoria externa sin pérdida con HeadInfer que conserva la caché completa.
- ¿KVCache-Factory es gratuito? ¿Qué licencia tiene?
- KVCache-Factory es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿KVCache-Factory sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de KVCache-Factory fue el 13 ago 2026.
- ¿Para qué puedo usar KVCache-Factory?
- Comparar métodos de compresión de KV cache en benchmarks de contexto largo. Reproducir experimentos de PyramidKV o experimentos relacionados con el presupuesto de caché. Medir el equilibrio entre memoria y latencia de distintas estrategias de KV cache en una sola GPU. Crear un prototipo de un método nuevo de KV cache y compararlo con los métodos de referencia existentes.
- ¿Cómo se instala KVCache-Factory?
- Clona el repositorio: git clone https://github.com/Zefan-Cai/KVCache-Factory.git Entra en el directorio del proyecto: cd KVCache-Factory Instala las dependencias: pip install -r requirements.txt Configura la ruta de Python en la raíz del proyecto: export PYTHONPATH="$PWD:${PYTHONPATH}"
- ¿Dónde consigo KVCache-Factory?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/Zefan-Cai/KVCache-Factory
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Biblioteca de Python para comprimir LLM mediante cuantización y poda, y generar checkpoints que vLLM carga directamente para inferencia.
Kit de herramientas para cuantizar modelos de lenguaje grandes (GPTQ, AWQ, GGUF, FP8, EXL3 y más) y ejecutarlos en hardware NVIDIA, AMD, Intel, Apple y CPU.
Framework de Python para comprimir redes neuronales mediante cuantización, pruning y sparsity, y acelerar la inferencia en OpenVINO, PyTorch y ONNX.
Un motor de serving nativo para el edge que ejecuta grandes modelos de pesos abiertos, como DeepSeek-V4 y Qwen3.6, en GPU y CPU de consumo.
Biblioteca open source de NVIDIA para comprimir modelos de deep learning mediante cuantización, poda, destilación, sparsity y speculative decoding, y acelerar la inferencia.