Generado: 2026-05-18T16:27:24+00:00
- GPU: NVIDIA GeForce RTX 3070, 8192 MiB, 595.58.03
- Repeticiones medidas por celda: 5
- Motores: vllm, ollama
- Prewarm (sin medir): sí
- Timeout máx. por arranque: 1800 s
Arranque en frío = tiempo desde que docker compose up -d retorna hasta el primer token generado correctamente ante una petición fija a la API OpenAI-compatible (/v1/chat/completions, max_tokens=1, mismo prompt, mismo cliente para ambos motores).
- Captura la carga eager de vLLM (el modelo se carga al arrancar el proceso;
/healthrecién responde con el modelo en VRAM) y la carga lazy de Ollama (el server responde rápido, pero el modelo se carga a VRAM en la primera petición de inferencia). El healthcheck NO se usa como criterio de "listo": sería injusto (el de Ollama da 200 sin modelo cargado). - Disco caliente, sin sudo: no se dropea el page cache. Un prewarm sin medir por (motor, modelo) baja los pesos (descarga HF /
ollama pull) y calienta el page cache; las repeticiones medidas arrancan todas en el mismo estado de disco. No incluye el tiempo de descarga inicial. - Secuencial: una sola GPU y puertos compartidos (vLLM 8005, Ollama 11434). Se levanta un modelo, se mide, se baja (
compose downsin-v, los pesos quedan en disco), se espera a que la VRAM se libere y recién sigue el siguiente. - Métrica reportada: mediana (robusta ante colas), con min/max y desvío. Promedio evitado a propósito.
| Par | Comp. | vLLM mediana (min/max) | Ollama mediana (min/max) | Ganador | Ratio |
|---|---|---|---|---|---|
deepseek-r1-distill-llama-8b |
✓ | 48.37 (min 48.36 / max 51.37, n=5) | 49.1 (min 48.47 / max 51.67, n=5) | vLLM | 1.02× más rápido |
gemma4-e2b |
✓ | 103.63 (min 100.64 / max 106.78, n=5) | 57.74 (min 56.49 / max 59.72, n=5) | Ollama | 1.79× más rápido |
granite-4.1-8b |
✓ | 48.3 (min 48.29 / max 48.3, n=5) | 50.5 (min 48.77 / max 51.24, n=5) | vLLM | 1.05× más rápido |
llama-3.1-8b |
✗ | 51.38 (min 51.37 / max 51.39, n=5) | 53.76 (min 52.95 / max 56.17, n=5) | vLLM | 1.05× más rápido |
mistral-7b-instruct-v0.3 |
✓ | 45.39 (min 45.39 / max 48.39, n=5) | 48.79 (min 48.45 / max 50.6, n=5) | vLLM | 1.07× más rápido |
phi-4-mini-instruct |
✓ | 54.33 (min 51.33 / max 54.34, n=5) | 57.72 (min 57.07 / max 59.6, n=5) | vLLM | 1.06× más rápido |
qwen2.5-7b-instruct |
✓ | 48.31 (min 48.3 / max 51.31, n=5) | 44.99 (min 43.09 / max 45.57, n=5) | Ollama | 1.07× más rápido |
qwen3.5-9b |
✓ | 178.63 (min 172.58 / max 193.58, n=5) | 46.99 (min 46.45 / max 48.88, n=5) | Ollama | 3.80× más rápido |
qwen3-vl-8b |
✗ | 57.38 (min 57.38 / max 57.42, n=5) | 67.85 (min 67.28 / max 69.51, n=5) | vLLM | 1.18× más rápido |
- Sobre 7 pares comparables con datos válidos: vLLM gana el arranque en frío en 4, Ollama en 3.
- Mediana de medianas: vLLM 48.37 s, Ollama 49.1 s.