Key Takeaways
- llama.cpp: Menor latência por token (menor ms/token). Ideal para chat interativo. Dependências mínimas.
- Ollama: O mais fácil de usar. Um comando, download automático de modelos. Trade-off: 5–10% menos throughput que o llama.cpp.
- vLLM: Maior throughput (tokens/s) em solicitações em batch. Ideal para servidores API em produção. Curva de aprendizado mais íngreme.
- Chat para um único usuário: llama.cpp ou Ollama (velocidade quase idêntica).
- API multiusuário: vLLM (throughput 3–5× maior).
- Uso casual: Ollama (a simplicidade vence).
- Os três produzem saídas de modelo idênticas — apenas velocidade e throughput diferem.
- Você pode executar os três simultaneamente na mesma máquina (portas diferentes). Não entram em conflito.
Benchmarks de velocidade — RTX 4090 24 GB
llama.cpp lidera com 38 tok/s por token único; vLLM domina com 250+ tok/s em batch. Medido na RTX 4090 24 GB, Llama 3.3 70B Q4_K_M, solicitação única, abril de 2026:
| Backend | Tokens/s | ms/token | VRAM usada | Throughput em batch |
|---|---|---|---|---|
| llama.cpp | 38 | 26 | 39 GB | N/A (sem batching) |
| Ollama | 36 | 28 | 39 GB | N/A (batch único) |
| vLLM | 34 | 29 | 41 GB | 250+ tok/s (contínuo) |
Benchmarks de velocidade — RTX 3060 12 GB
Medido na RTX 3060 12 GB, Llama 3.2 8B Q4_K_M, solicitação única, abril de 2026:
| Backend | Tokens/s | ms/token | VRAM usada | Throughput em batch |
|---|---|---|---|---|
| llama.cpp | 52 | 19 | 5.2 GB | N/A |
| Ollama | 48 | 21 | 5.4 GB | N/A |
| vLLM | 45 | 22 | 6.1 GB | 180 tok/s (batch=8) |
Tabela comparativa de recursos
llama.cpp: melhor quantização e velocidade bruta. Ollama: instalação mais simples. vLLM: melhor batching para produção.
| Recurso | llama.cpp | Ollama | vLLM |
|---|---|---|---|
| Tempo de instalação | 30 min (compilar) | 5 min (um comando) | 15 min (pip install) |
| API compatível com OpenAI | ✅ (llama-server) | ✅ (nativa) | ✅ (nativa) |
| Formato do modelo | GGUF | GGUF | SafeTensors / HF |
| Suporte GPU | CUDA, ROCm, Metal | CUDA, ROCm, Metal | Somente CUDA |
| Batching | ❌ | ❌ | ✅ contínuo |
| Multi-GPU | ❌ | ❌ | ✅ tensor parallel |
| Apple Silicon | ✅ Metal | ✅ Metal | ❌ |
| Interface de chat | ❌ (apenas servidor) | ❌ (requer Open WebUI) | ❌ (apenas API) |
| Licença | MIT | MIT | Apache 2.0 |
Batching e throughput
vLLM processa 32+ solicitações em paralelo; llama.cpp e Ollama processam uma de cada vez. Aqui é onde o vLLM domina:
- llama.cpp: Sem batching nativo. Uma solicitação por vez. Latência: 27ms/token. Throughput: 36 tok/s.
- Ollama: Apenas batch único. Não consegue processar 2+ solicitações em paralelo. Mesmo throughput que llama.cpp.
- vLLM: Batching contínuo nativo (gerencia dinamicamente solicitações simultâneas). Processa 32 solicitações simultaneamente. Throughput: 250+ tok/s na mesma RTX 4090.
- A vantagem do vLLM se multiplica com usuários simultâneos. Para servidores API com 10+ usuários: vLLM é obrigatório.
Complexidade de instalação
Ollama é o mais simples (5 min); vLLM requer Python (15 min); llama.cpp requer compilação (30 min). Resumo:
llama.cpp: Compilar do código-fonte ou baixar um binário. Gerenciamento manual de arquivos de modelo. 30 min de instalação.
Ollama: `brew install ollama` ou baixar o instalador. `ollama run llama3.2`. 5 min de instalação.
vLLM: `pip install vllm`, depois `python -m vllm.entrypoints.openai.api_server --model meta-llama/Llama-3.3-8B-Instruct`. 15 min de instalação (Python + dependências).
Vencedor em simplicidade: Ollama.
Compatibilidade com API
Os três agora suportam APIs compatíveis com OpenAI; Ollama e vLLM são os mais fáceis.
llama.cpp: API compatível com OpenAI (via `llama-server`, adicionado no final de 2024). Funciona com extensões de IDE.
Ollama: API compatível com OpenAI (via `ollama serve` + biblioteca cliente). Funciona com a maioria das extensões de IDE.
vLLM: API compatível com OpenAI (endpoint nativo `/v1/chat/completions`). Maior compatibilidade.
Para integração com IDE (VS Code, Cursor): Ollama ou vLLM. Pule o llama.cpp.
Quando usar cada um?
llama.cpp: Dependências mínimas, velocidade bruta. Use se estiver construindo um motor de inferência personalizado. Melhor para Mac (aceleração Metal).
Ollama: Simplicidade tudo-em-um. Use para interface de chat e uso pessoal. Funciona em Mac, Linux, Windows.
vLLM: Servidor API em produção. Use para deploys multiusuário e requisitos de alto throughput. Requer NVIDIA CUDA — não funciona em Apple Silicon (M1/M2/M3/M4).
Erros comuns ao escolher um backend de inferência
- Erro: Assumir que llama.cpp é sempre o mais rápido. Isso só é verdade para latência por token único. vLLM vence em throughput para solicitações em batch (7× mais rápido com 10+ usuários simultâneos).
- Erro: Descartar o Ollama por ser lento. Ollama é apenas 5–10% mais lento que o llama.cpp puro — uma diferença insignificante para chat interativo onde 34 tok/s parece instantâneo.
- Erro: Achar que você deve escolher apenas um backend. Você pode executar os três simultaneamente em portas diferentes. Use Ollama para chat pessoal, vLLM para seu servidor API.
- Erro: Usar vLLM para chat de um único usuário. A vantagem do vLLM é o batching. Para chat interativo de um único usuário, a configuração mais simples do Ollama vence.
Contexto regional e residência de dados
Brasil (LGPD / ANPD): Os três backends executam completamente on-premises. Nenhum dado sai da sua infraestrutura, atendendo à LGPD (Lei Geral de Proteção de Dados, Lei nº 13.709/2018) e às diretrizes da ANPD. Recomendado para cargas de trabalho financeiras, de saúde e jurídicas no Brasil.
UE/GDPR: A inferência on-premises satisfaz o Artigo 28 do GDPR (nenhum acordo de processador de dados necessário). Recomendado para setores financeiros, de saúde e jurídicos da UE.
América Latina (leis locais): A inferência local mantém os dados dentro da sua infraestrutura, cumprindo regulamentações de privacidade locais equivalentes no México, Argentina e Colômbia.
FAQ
Qual devo usar como iniciante?
Ollama. Um comando, download automático de modelos, interface limpa.
Qual é o mais rápido?
Para solicitação única: llama.cpp (~3% mais rápido que Ollama). Para 10 solicitações simultâneas: vLLM (~7× mais rápido).
Posso usar llama.cpp em vez do Ollama?
Sim, mas requer mais configuração. O ganho de velocidade é insignificante (3–5%) para a maioria dos usuários.
vLLM está pronto para produção?
Sim. Usado em deploys reais. Curva de aprendizado mais íngreme, mas vale a pena para alto throughput.
Posso mudar de backend sem retreinar?
llama.cpp e Ollama usam o formato GGUF (intercambiáveis diretamente). vLLM usa SafeTensors e requer conversão do modelo.
Qual backend é o mais estável?
Ollama (simples, menos bugs). llama.cpp também é estável. vLLM é atualizado frequentemente (mais recursos, mudanças ocasionais).
vLLM funciona no Mac?
Não. vLLM requer NVIDIA CUDA. Para Mac, use llama.cpp ou Ollama com aceleração Metal.
Leitura relacionada
- Ollama vs LM Studio: Qual escolher? — Comparativo lado a lado das duas interfaces de LLM local mais populares
- Melhor stack de LLM local por caso de uso (2026) — Combinações recomendadas para chat, programação e servidores API
- LLM local com API compatível com OpenAI — Substituto direto da API OpenAI com modelos locais