Inferencia local: comparativa
Ollama, llama.cpp y vLLM en la misma GPU. Qué rinde, qué se rompe y qué usaría hoy.
El montaje
Una sola máquina, una 4090, 64 GB de RAM y tres runtimes que prometen lo mismo: correr un modelo abierto rápido y sin dramas. Mismo modelo cuantizado, mismo prompt, mismo día.
$ ollama run llama3.1:8b
$ ./llama-server -m llama-3.1-8b-q4.gguf -ngl 99
$ vllm serve meta-llama/Llama-3.1-8B --dtype half
Lo que salió
Ollama gana en cero-fricción: dos comandos y estás chateando. llama.cpp saca un 15 % más de tokens por segundo si te da igual pelearte con flags. vLLM solo tiene sentido si vas a servir a más de una persona a la vez; para uno solo, es matar moscas a cañonazos.
Lo local no es más barato. Es más tuyo. Y eso a veces vale el precio.
Qué usaría hoy
- Para trastear: Ollama.
- Para exprimir la GPU: llama.cpp.
- Para dar servicio a un equipo: vLLM, y hablamos de agentes en el siguiente post.
¿Tienes otra configuración que debería probar? Escríbeme.