Una capa de gestión de KV cache que almacena, comparte y reutiliza cachés de atención de LLM entre motores de serving para reducir el tiempo hasta el primer token.
microsoft/vidur
Simulador de alta fidelidad para sistemas de inferencia de LLM que permite estudiar el rendimiento, planificar despliegues y probar estrategias de planificación sin GPU.
- Estrellas
- 720
- Forks
- 142
- Issues abiertos
- 24
- Último commit
- hace 3 meses
¿Qué es?
Vidur simula cómo se atienden solicitudes de modelos de lenguaje de gran tamaño en clústeres de GPU. Modela métricas como el tiempo hasta el primer token (TTFT), el tiempo por token de salida (TPOT), la latencia de extremo a extremo de las solicitudes y el tamaño de lote, según la carga de trabajo, el modelo y la configuración de hardware elegidos. El simulador requiere una breve fase inicial de perfilado en GPU reales; después, los experimentos se ejecutan sin acceso a GPU.
Sus principales usos son estudiar cómo se comportan los modelos con distintos patrones de tráfico, buscar el despliegue más rentable (por ejemplo, la configuración de paralelismo de tensores y de canalización que cumple un SLO determinado) y crear prototipos de nuevos algoritmos de planificación u optimizaciones, como la decodificación especulativa. Entre los modelos compatibles se incluyen Llama-2, Llama-3, CodeLlama, InternLM y Qwen, en configuraciones de nodos A100, H100 y A40. Las cargas de trabajo pueden generarse de forma sintética o provenir de trazas de inferencia de Azure LLM. Los resultados se registran en wandb o en archivos locales, y se pueden exportar como trazas de Chrome.
Funciones clave
- 01Calcula el TTFT, el TPOT, la latencia de extremo a extremo y el tamaño de lote para cargas de trabajo de inferencia de LLM.
- 02Se ejecuta sin GPU después de una fase inicial de perfilado en el hardware de destino.
- 03Admite distintas combinaciones de paralelismo de tensores y de canalización en varios tipos de nodos GPU.
- 04Admite generadores de solicitudes sintéticas y trazas de inferencia de Azure LLM.
- 05Exporta trazas de Chrome y registra métricas en wandb o en directorios de salida locales.
- 06Se puede ampliar para probar nuevos planificadores y optimizaciones.
Casos de uso
- Planificar la capacidad para encontrar el despliegue más económico que cumpla los objetivos de latencia.
- Comparar políticas de planificación con la misma traza de tráfico.
- Investigar la decodificación especulativa u otras optimizaciones de inferencia antes de implementarlas en GPU reales.
- Estudiar cómo afectan el tamaño del modelo y la configuración de paralelismo al rendimiento de la inferencia.
Inicio rápido
- 1
Crea un venv con Python 3.10
python3.10 -m venv .venv - 2
Activa el entorno virtual
source .venv/bin/activate - 3
Instala las dependencias
python -m pip install -r requirements.txt - 4
Ejecuta el simulador desde la raíz del repositorio
python -m vidur.main
Antes de usarlo
- Se necesita Python 3.10 y una fase inicial de perfilado de GPU para los modelos o SKU nuevos.
- Los modelos y el hardware compatibles se limitan a las configuraciones indicadas.
- Algunas funciones, como el almacenamiento en caché de prefijos, solo están disponibles en la rama canary.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es vidur?
- Simulador de alta fidelidad para sistemas de inferencia de LLM que permite estudiar el rendimiento, planificar despliegues y probar estrategias de planificación sin GPU. Vidur simula cómo se atienden solicitudes de modelos de lenguaje de gran tamaño en clústeres de GPU. Modela métricas como el tiempo hasta el primer token (TTFT), el tiempo por token de salida (TPOT), la latencia de extremo a extremo de las solicitudes y el tamaño de lote, según la carga de trabajo, el modelo y la configuración de hardware elegidos. El simulador requiere una breve fase inicial de perfilado en GPU reales; después, los experimentos se ejecutan sin acceso a GPU.
- ¿vidur es gratuito? ¿Qué licencia tiene?
- vidur es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿vidur sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de vidur fue el 24 ago 2026.
- ¿Para qué puedo usar vidur?
- Planificar la capacidad para encontrar el despliegue más económico que cumpla los objetivos de latencia. Comparar políticas de planificación con la misma traza de tráfico. Investigar la decodificación especulativa u otras optimizaciones de inferencia antes de implementarlas en GPU reales. Estudiar cómo afectan el tamaño del modelo y la configuración de paralelismo al rendimiento de la inferencia.
- ¿Cómo se instala vidur?
- Crea un venv con Python 3.10: python3.10 -m venv .venv Activa el entorno virtual: source .venv/bin/activate Instala las dependencias: python -m pip install -r requirements.txt Ejecuta el simulador desde la raíz del repositorio: python -m vidur.main
- ¿Dónde consigo vidur?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/microsoft/vidur
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Plantilla de worker Serverless de Runpod que despliega endpoints de LLM compatibles con OpenAI y basados en el motor de inferencia vLLM.
Inferencia de transformers al estilo de Llama 2, escrita íntegramente en Mojo en un solo archivo, con vectorización SIMD y multihilo.
Gestor open source de clústeres de GPU que despliega modelos de IA con vLLM, SGLang y TensorRT-LLM, y ofrece instancias de GPU con acceso SSH bajo demanda.
Implementación oficial de FlashAttention, un kernel de atención exacta y eficiente en memoria para entrenar e inferir con modelos Transformer en GPU.
Una capa de decisión abierta y programable que selecciona o combina LLM para cada solicitud entre backends locales, privados y en la nube, con un único endpoint de API.