Guía
Ollama o vLLM: cuál usar para un LLM en tu propio servidor, y cuándo conviene más llama.cpp
Ollama pone a hablar un modelo en un portátil con un solo comando. vLLM está hecho para servir muchas peticiones desde un servidor con GPU. Esta guía te muestra cuál encaja en tu caso, con cifras del servidor vLLM que usamos nosotros mismos.
En esta página
- Ollama, vLLM o llama.cpp: la tabla para decidir
- Qué es Ollama y para qué sirve
- Qué es vLLM
- Rendimiento de Ollama y vLLM: un usuario frente a muchos
- Memoria: según la petición o reservada de antemano
- Seguridad por defecto: puertos abiertos y API keys
- Modelos y formatos: GGUF o safetensors
- Ollama o vLLM en un Mac, en la CPU o con una GPU NVIDIA
- Por qué usamos vLLM en nuestro propio servidor GPU
Ollama y vLLM ejecutan modelos de pesos abiertos en hardware que controlas tú, y los dos responden a los clientes de OpenAI. Ollama está pensado para una persona con un modelo en su propio equipo; vLLM, para un servidor con GPU que usan a la vez muchas personas, aplicaciones o agentes.
Ollama, vLLM o llama.cpp: la tabla para decidir
| Tu caso | Usa | Por qué |
|---|---|---|
| Portátil o Mac, una persona probando modelos | Ollama | Un comando por modelo, libera la memoria cuando un modelo no se usa |
| Solo CPU, o un modelo más grande que la memoria de tu GPU | Ollama o llama.cpp | GGUF funciona en la CPU o repartido entre CPU y GPU |
| Servidor con GPU para un equipo, aplicaciones o agentes | vLLM | Atiende muchas peticiones a la vez |
| El modelo solo existe en GGUF | Ollama o llama.cpp | vLLM solo admite GGUF de forma experimental |
| El modelo viene en safetensors, AWQ, GPTQ o FP8 | vLLM | Son sus formatos nativos |
| GGUF en un servidor, sin app de escritorio | llama.cpp (llama-server) | Solo local por defecto, clave API incluida |
Qué es Ollama y para qué sirve
Ollama es una herramienta gratuita con licencia MIT para macOS, Windows, Linux y Docker. Un comando como ollama run gemma4 descarga un modelo y abre un chat, y un servidor en segundo plano responde en el puerto 11434, también en formato OpenAI. Ollama usa modelos en GGUF, el formato compacto de un solo archivo del proyecto llama.cpp, sobre el que está construido.
Qué es vLLM
vLLM es una biblioteca para servir modelos de lenguaje rápido en GPU. Guarda la caché KV, es decir, los datos intermedios de cada conversación, en bloques pequeños, un método llamado PagedAttention, así que apenas se desperdicia memoria. Un solo comando, vllm serve, arranca un servidor compatible con OpenAI.
Rendimiento de Ollama y vLLM: un usuario frente a muchos
En una sola conversación, el ritmo lo marca la velocidad de la memoria de la GPU, sea cual sea el motor: cada token nuevo (una palabra o un trozo de palabra) obliga a leer casi todo el modelo. En nuestro servidor de 20 GB, vLLM ya se queda cerca de ese límite, así que con un solo usuario otro motor tiene poco que ganar.
La diferencia empieza con la segunda petición. Por defecto, Ollama atiende una petición por modelo cada vez y las demás esperan en cola; un ajuste sube ese límite. vLLM mete cada petición nueva en el lote en marcha, y todas comparten cada pasada por el modelo. En nuestro servidor, una petición va a 28,8 tokens por segundo, y dos a la vez, a 28,3 cada una.
Con muchos usuarios, la distancia crece. En una prueba de Red Hat de agosto de 2025 con hasta 256 usuarios a la vez en una GPU A100, vLLM llegó a un máximo de 793 tokens por segundo y Ollama, a 41.
En un chat ayuda además una caché: cada mensaje reenvía la conversación entera, y vLLM reutiliza lo que ya ha calculado. En nuestro servidor, un prompt largo repetido empieza a responderse a los 0,06 segundos en lugar de a los 1,09.
Memoria: según la petición o reservada de antemano
Ollama carga un modelo cuando lo pides y lo descarga tras cinco minutos sin uso, con lo que la memoria queda libre. vLLM lo hace al revés: al arrancar reclama una parte fija de la tarjeta, el 92 % por defecto, y convierte todo lo que no ocupa el modelo en una única caché para todas las peticiones. Mantiene esa memoria mientras está en marcha, así que vLLM quiere la GPU para él solo. La calculadora de VRAM te dice cuánta necesita tu modelo.
Seguridad por defecto: puertos abiertos y API keys
En un servidor con IP pública, los dos parten de extremos opuestos. Ollama solo escucha en la propia máquina y su API local no tiene inicio de sesión. Si lo abres a la red, cualquiera que llegue al puerto puede usar, descargar y borrar modelos. vLLM escucha por defecto en toda la red, y su opción de clave API no cubre todas las rutas.
La solución segura es la misma para los dos: deja el servidor del modelo en local y pon delante un proxy inverso o un túnel con inicio de sesión. Si trabajas con datos reales, desactiva también los modelos en la nube de Ollama, porque funcionan en los servidores de Ollama. Más sobre protección de datos: IA privada y RGPD.
Modelos y formatos: GGUF o safetensors
Muchas veces el formato del archivo decide antes que la velocidad. Ollama y llama.cpp cargan GGUF; vLLM carga safetensors y los formatos comprimidos (cuantizados) AWQ, GPTQ y FP8.
Los modelos sin censura y abliterados, es decir, versiones a las que se les han quitado las negativas, suelen publicarse como archivos GGUF, y Ollama los carga directamente desde Hugging Face. La propia documentación de vLLM describe su soporte de GGUF como muy experimental, así que antes de planificar el servidor comprueba si hay una versión en safetensors, AWQ o GPTQ. Qué modelos caben en cada GPU: requisitos de VRAM de un LLM.
Ollama o vLLM en un Mac, en la CPU o con una GPU NVIDIA
Ollama funciona en casi todo el hardware que ya tienes: Macs con Apple Silicon, tarjetas gráficas de NVIDIA y AMD y CPU normales. vLLM está hecho para GPU de NVIDIA, AMD e Intel y en un Mac solo funciona de forma experimental; ahí lo práctico es Ollama o llama.cpp.
Por qué usamos vLLM en nuestro propio servidor GPU
Nuestro propio modelo funciona en un GEX44 de Hetzner con una tarjeta gráfica de 20 GB: Qwen3-14B, comprimido a 4 bits y servido por vLLM. Un chat genera justo las peticiones en paralelo y repetidas que hemos medido arriba. El servidor solo escucha en local y no registra las peticiones. Para una persona con un Mac, Ollama es la mejor herramienta. La configuración en detalle: cómo ejecutamos un LLM con vLLM en un servidor GPU de Hetzner.
Si quieres un modelo de pesos abiertos, estándar o sin censura, en un servidor GPU dedicado en Alemania sin montarlo tú, para eso está IA privada. Instalamos, adaptamos y gestionamos el modelo por ti, con una interfaz de chat privada y una API. Las preguntas y las respuestas no se registran salvo que tú decidas otra cosa, y cada cliente recibe un contrato de encargo del tratamiento.
Preguntas frecuentes
¿Ollama o vLLM: cuál es mejor?
Depende del trabajo. Ollama encaja con una persona en un portátil, un Mac o una máquina sin GPU: un comando por modelo y memoria liberada cuando un modelo se queda sin uso. vLLM encaja con un servidor con GPU que usan a la vez varias personas, aplicaciones o agentes, porque atiende sus peticiones juntas. Para modelos GGUF en un servidor, llama-server, el servidor de llama.cpp, es una tercera opción.
¿vLLM es más rápido que Ollama?
Con muchos usuarios a la vez, sí, y con diferencia. En la prueba de Red Hat de agosto de 2025, vLLM llegó a un máximo de 793 tokens por segundo y Ollama, a 41. Con un solo usuario, a los dos los limita la velocidad de la memoria de la GPU, así que otro motor gana poco. En nuestro servidor de 20 GB, vLLM escribe 28,8 tokens por segundo con una petición y 56,4 en total con dos.
¿Ollama tiene API key?
El servidor local no. Su API en el puerto 11434 no pide inicio de sesión y solo escucha en la propia máquina. Si lo abres a la red, cualquiera que llegue al puerto puede usar, descargar y borrar modelos, así que pon delante un proxy inverso con inicio de sesión. vLLM tiene una opción de clave API, pero no cubre todas las rutas, así que el consejo es el mismo.
¿vLLM puede cargar modelos GGUF?
Solo con un plugin aparte, y la propia documentación de vLLM describe ese soporte como muy experimental. Para vLLM, busca el modelo en safetensors o en AWQ, GPTQ o FP8. GGUF es el formato nativo de Ollama y llama.cpp.
¿Qué diferencia hay entre Ollama y llama.cpp?
llama.cpp es el motor que ejecuta los modelos GGUF y trae su propio servidor, llama-server, que se configura desde la línea de comandos. Ollama se basa en llama.cpp y añade una biblioteca de modelos, descargas con un solo comando, apps de escritorio para macOS y Windows y modelos en la nube.
Fuentes
- Ollama en GitHub github.com
- Documentación de Ollama: FAQ docs.ollama.com
- Documentación de vLLM: seguridad docs.vllm.ai
- llama.cpp: README de llama-server github.com
- Red Hat Developer: Ollama vs. vLLM, prueba de rendimiento (agosto de 2025, en inglés) developers.redhat.com
vLLM, Ollama, Hugging Face, NVIDIA y Hetzner son marcas de sus respectivos titulares. Mencionarlas no implica respaldo ni relación comercial con OCTOO AI.