Repolode
NVIDIA

NVIDIA/kvpress

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.

Estrellas
1,245
Forks
196
Issues abiertos
12
Último commit
anteayer

¿Qué es?

Las implementaciones de LLM con contextos largos son costosas porque la caché de clave-valor (KV) crece de forma lineal con el número de tokens. kvpress aborda este problema con diversos métodos de compresión de caché KV, llamados presses, y los evalúa sobre Hugging Face transformers. Cada press elimina o transforma entradas en caché durante la fase de prefill y expone un compression_ratio que determina qué proporción de la caché se conserva.

La biblioteca registra un pipeline personalizado de generación de texto llamado kv-press-text-generation, que gestiona las plantillas de chat y la tokenización. La compresión se puede aplicar solo al contexto, de modo que el mismo contexto comprimido se pueda consultar con distintas preguntas. Un wrapper experimental, DecodingPress, comprime periódicamente la caché durante la generación de tokens y utiliza un tamaño objetivo en lugar de una proporción. También admite cachés cuantizadas mediante QuantizedCache de transformers.

El repositorio incluye una amplia variedad de presses, desde métodos de referencia sencillos, como random y key-norm scoring, hasta métodos como SnapKV, StreamingLLM, KVzip y CriticalKV, además de presses wrapper como AdaKVPress, que permite comprimir por cabeza. También incluye una CLI de evaluación para benchmarks de contexto largo y notebooks para medir las mejoras de memoria y velocidad.

Funciones clave

  • 01Varios métodos de compresión de caché KV (presses) con una interfaz compression_ratio común
  • 02Pipeline personalizado de transformers que comprime solo el contexto y gestiona las plantillas de chat
  • 03Compresión experimental durante la decodificación con un tamaño objetivo para la caché
  • 04Presses wrapper que combinan o refinan otros métodos de puntuación, como AdaKV, que comprime por cabeza
  • 05Evaluación desde la línea de comandos con benchmarks de contexto largo y notebooks para medir la memoria y la velocidad

Casos de uso

  • Responder varias preguntas sobre un mismo documento extenso sin volver a codificar el contexto cada vez
  • Investigar o crear prototipos de nuevos algoritmos de compresión de caché KV y compararlos con métodos de referencia habituales
  • Reducir el uso de memoria de la GPU al ejecutar inferencias con contextos largos en Llama, Qwen, Mistral y modelos similares

Inicio rápido

  1. 1

    Instalar desde PyPI

    pip install kvpress
  2. 2

    Cargar el pipeline y comprimir un contexto con un press

Antes de usarlo

  • Requiere Hugging Face transformers y un modelo que se pueda cargar mediante esta biblioteca; los modelos grandes suelen necesitar una GPU.
  • La mayoría de los press son métodos de investigación y algunos, como BlockPress, no son implementaciones reales de chunked-prefill.

Temas

Preguntas frecuentes

¿Qué es kvpress?
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. Las implementaciones de LLM con contextos largos son costosas porque la caché de clave-valor (KV) crece de forma lineal con el número de tokens. kvpress aborda este problema con diversos métodos de compresión de caché KV, llamados presses, y los evalúa sobre Hugging Face transformers. Cada press elimina o transforma entradas en caché durante la fase de prefill y expone un compression_ratio que determina qué proporción de la caché se conserva.
¿kvpress es gratuito? ¿Qué licencia tiene?
kvpress es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿kvpress sigue mantenido?
Mantenimiento activo. El último commit de kvpress fue el 6 nov 2026.
¿Para qué puedo usar kvpress?
Responder varias preguntas sobre un mismo documento extenso sin volver a codificar el contexto cada vez Investigar o crear prototipos de nuevos algoritmos de compresión de caché KV y compararlos con métodos de referencia habituales Reducir el uso de memoria de la GPU al ejecutar inferencias con contextos largos en Llama, Qwen, Mistral y modelos similares
¿Cómo se instala kvpress?
Instalar desde PyPI: pip install kvpress Cargar el pipeline y comprimir un contexto con un press
¿Dónde consigo kvpress?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/NVIDIA/kvpress

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados