· Abraham · Alyss AI  · 2 min read

¿Ollama, vLLM o SGLang?

No me podía resistir a probarlo por mi mismo en mi RTX 3080 12GB

No me podía resistir a probarlo por mi mismo en mi RTX 3080 12GB

Hoy en día es tan fácil como preguntarle a una IA: “Oye, ¿qué me va a ir mejor en mi RTX 3080 de 12GB: Ollama, vLLM o SGLang?“. Al segundo tienes una disertación teórica sobre el primer token, el contexto, el paged attention y mil palabros más.

Te quedas pensando: “Vale, pero cuando dices ‘muchísimo mejor’, ¿de cuánto estamos hablando exactamente?“. Porque no sería la primera vez que ese “muchísimo” resulta ser un puñado de milisegundos a cambio de una complejidad de configuración que te amarga la tarde.

Como no me convencían las estimaciones vagas, la tentación de probarlo por mí mismo fue superior a mí. He montado una comparativa: mismo modelo (Qwen 2.5 7B), misma cuantización (AWQ) y los tres motores frente a frente.

Banco de Pruebas

Para que no fuera solo lanzar una pregunta y ya, he diseñado 4 tests específicos:

  1. Deep Context: Le he pasado la documentación técnica real de mi proyecto (unas 1.200 palabras). A ver cómo lee.

  2. Inferencia en frío (Cold Start): Medir el tiempo hasta la primera palabra (TTFT) con el texto virgen, sin trucos.

  3. Prefix Caching (Hot Cache): Le paso lo mismo por segunda vez. Aquí se ve quién es listo y usa caché (Radix Cache) para no volver a leer lo que ya sabe.

  4. Throughput Stress: Obligar al modelo a escupir 100 tokens exactos para medir la potencia bruta (TPS).

Finalmente despues de andar peleando sobre todo con SGLang, estos son mis números:

MotorInteractividad (TTFT)Velocidad (TPS)
SGLang0.66 s144.9 TPS
vLLM0.64 s139.1 TPS
Ollama1.69 s131.7 TPS

Resultados Detallados

  1. vLLM (Marlin Optimized)
    • Punto 1 (Deep Context): Maneja los 2k tokens con fluidez total.
    • Punto 2 (Cold Start - TTFT): 0.64 s (Muy ágil).
    • Punto 3 (Hot Cache - TTFT): 0.02 s (Caché instantánea).
    • Punto 4 (Throughput - TPS): 139.1 TPS.
  2. SGLang (Marlin + CUDA Graphs)
    • Punto 1 (Deep Context): Capacidad completa de 2k tokens.
    • Punto 2 (Cold Start - TTFT): 0.66 s (Excelente interactividad).
    • Punto 3 (Hot Cache - TTFT): 0.15 s (Caché muy eficiente).
    • Punto 4 (Throughput - TPS): 144.9 TPS (El más rápido).
  3. Ollama-GPU (GGUF Q4_K_M)
    • Punto 1 (Deep Context): Correcto, pero sufre en la carga inicial.
    • Punto 2 (Cold Start - TTFT): 1.69 s (Casi 3 veces más lento que SGLang).
    • Punto 3 (Hot Cache - TTFT): 0.06 s (Caché efectiva).
    • Punto 4 (Throughput - TPS): 131.7 TPS.

Las diferencias no son abismales, sobre todo entre SGLang y vLLM en mi Hardware, pero si no encuentro problemas inesperados, me quedaré con SGLang.

En próximos artículos profundizaré en cómo estas métricas afectan a la arquitectura final de Alyss AI.

Volver a la Bitácora

Posts Relacionados

Ver Todos los Posts »
Arquitectura de Alyss AI

Arquitectura de Alyss AI

Explorando la evolución hacia una arquitectura modular, los retos de la latencia y la integración de LangGraph, MCP y SGLang.

El XMP de la Memoria

El XMP de la Memoria

¿Cómo asegurar que tus pensamientos sobrevivan a la tecnología? Del carrete analógico al Markdown.