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.
O llama.cpp é o backend mais rápido por token, o Ollama é o mais fácil de configurar, e o vLLM oferece o maior throughput para usuários simultâneos -- os três rodam modelos idênticos e produzem a mesma saída, diferindo apenas na velocidade e na complexidade de configuração.
Esses são três programas diferentes para rodar modelos de IA no seu próprio hardware. O llama.cpp é o motor bruto e mais rápido, mas exige configuração manual. O Ollama o envolve em uma instalação de um único comando, um pouco mais lenta, mas muito mais fácil. O vLLM foi feito para atender muitos usuários ao mesmo tempo (como um chatbot corporativo) e é muito mais rápido ao lidar com várias solicitações simultâneas, embora tenha uma curva de aprendizado mais acentuada.
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.1 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.
Perguntas frequentes
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.
Qual é mais rápido: llama.cpp, Ollama ou vLLM?
Para solicitações únicas: llama.cpp (38 tok/s na RTX 4090). Para usuários simultâneos: vLLM (250+ tok/s com batching contínuo, 5–7× mais rápido). Ollama é 5–10% mais lento que o llama.cpp, mas mais simples de configurar.
Qual dos três, llama.cpp, Ollama ou vLLM, é o mais rápido?
Para uma única solicitação: llama.cpp é aproximadamente 3% mais rápido que o Ollama (36 vs 34 tok/s na RTX 4090). Para 10 solicitações simultâneas: vLLM é aproximadamente 7× mais rápido devido ao batching nativo (250+ tok/s vs 34 tok/s).
O vLLM funciona no Mac com Apple Silicon?
Não. O vLLM requer NVIDIA CUDA e não é compatível com Apple Silicon (M1/M2/M3/M4). Para Mac, use o llama.cpp com aceleração Metal ou o Ollama (que usa o llama.cpp internamente).
Como o Ollama se compara ao llama.cpp em velocidade de tokens em 2026?
O Ollama atinge 34–48 tokens/s (RTX 4090), enquanto o llama.cpp alcança 36–52 tokens/s. O Ollama é 5–10% mais lento devido à sobrecarga de abstração, mas a diferença é insignificante para chat interativo. O Ollama troca 5% de velocidade por um tempo de configuração 95% mais rápido.
Quais são os benchmarks de desempenho de Ollama vs vLLM vs llama.cpp?
Benchmarks de solicitação única (RTX 4090, Llama 70B Q4): llama.cpp 38 tok/s, Ollama 36 tok/s, vLLM 34 tok/s. Throughput em batch (10 solicitações simultâneas): vLLM 250+ tok/s, llama.cpp 36 tok/s, Ollama 36 tok/s. O vLLM domina para produção; llama.cpp e Ollama são equivalentes para um único usuário.
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
- Xinference: Execute Llama, Qwen e ChatGLM Localmente -- Implante modelos com Xinference.
