Repolode
Zefan-Cai

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. 1

    Clona el repositorio

    git clone https://github.com/Zefan-Cai/KVCache-Factory.git
  2. 2

    Entra en el directorio del proyecto

    cd KVCache-Factory
  3. 3

    Instala las dependencias

    pip install -r requirements.txt
  4. 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