Intermediário 11 minInferência

vLLM: o que é, para quem é e quando usá-lo ?

Resposta direta

vLLM é um motor de inferência open source, criado em 2023 em Berkeley, que disponibiliza um LLM para vários usuários ao mesmo tempo em GPU, por meio de uma API compatível com a API da OpenAI. Graças ao PagedAttention e ao batching contínuo, ele oferece uma taxa de processamento total várias vezes superior à de um servidor tradicional quando as requisições chegam simultaneamente. Ele não acelera uma única conversa: para uso individual no seu computador, Ollama ou LM Studio continuam sendo as opções adequadas.

vLLM é um motor de inferência open source projetado para servir um LLM a vários usuários ao mesmo tempo, em GPU, por meio de uma API compatível com a OpenAI. Em 20 de setembro de 2026, é a referência para disponibilizar um modelo com pesos abertos para uma equipe ou aplicação. Não é um concorrente do Ollama no seu computador: as duas ferramentas não respondem à mesma pergunta. Esta página explica o que o vLLM faz, o que ele exige e como saber se você precisa dele.

Por Mohamed Meguedmi·Atualização 2026-09-28·Testado no Windows, macOS e Linux

#vLLM em três frases

vLLM é uma biblioteca Python e um servidor de inferência criados em 2023 no Sky Computing Lab da Universidade de Berkeley e publicados sob a licença Apache 2.0, uma licença permissiva que autoriza a reutilização comercial sem restrições. Ele carrega um modelo no formato Hugging Face, geralmente em safetensors, em uma ou mais GPUs e o expõe por uma API HTTP compatível com a API da OpenAI, o que permite conectar qualquer cliente já escrito para a API da OpenAI sem alterar uma linha do código da aplicação, apenas a URL base. Sua razão de ser se resume a uma palavra: vazão, isto é, o número total de tokens produzidos por segundo pela GPU quando dez, cinquenta ou duzentas requisições diferentes chegam ao mesmo tempo e todas precisam receber uma resposta rápida.

i
Para lembrar
Ollama e LM Studio otimizam a experiência de uma pessoa em sua máquina. O vLLM otimiza o desempenho de um GPU compartilhado entre muitas requisições. Se você estiver sozinho diante do seu monitor, o vLLM não acelerará suas respostas.

#O problema que o vLLM resolve

O kit IA Local

Seu ChatGPT privado e gratuito na sua máquina em 1 hora — LM Studio, Ollama, Open WebUI, seus documentos, sem nuvem.

  • Espaço online vitalício
  • PDF + arquivos
  • Atualizações vitalícias

Quando um LLM gera texto, ele mantém em memória um registro de tudo o que já leu e escreveu: o cache KV. Esse cache cresce a cada token, e seu tamanho final é imprevisível, pois não se sabe de antemão se a resposta terá vinte palavras ou duas mil. Os servidores de inferência de primeira geração, portanto, reservavam, para cada requisição, um bloco contíguo de memória dimensionado para o pior caso.

O resultado numérico está descrito explicitamente no artigo fundador do vLLM (Kwon et al., SOSP 2023) e é retomado pela própria equipe do projeto: nos sistemas existentes, de 60 a 80% da memória reservada para o cache KV era simplesmente desperdiçada, devido à reserva excessiva por precaução e à fragmentação que deixa espaços inutilizáveis entre os blocos alocados. Menos memória efetivamente útil disponível significa, por consequência direta, menos requisições atendidas em paralelo na mesma placa e, portanto, uma GPU de vários milhares de euros que, no fim, opera a uma fração ínfima de sua capacidade teórica, mesmo que a conta de eletricidade e a amortização do equipamento permaneçam iguais.

#PagedAttention e batching contínuo

vLLM se baseia em duas ideias. A primeira, PagedAttention, vem dos sistemas operacionais: em vez de um grande bloco contíguo por requisição, o cache KV é dividido em pequenas páginas de tamanho fixo, alocadas sob demanda e armazenadas em qualquer lugar da memória. Uma tabela faz a correspondência entre a ordem lógica dos tokens e a localização física das páginas, exatamente como a memória virtual de um computador. O desperdício cai para menos de 4%, segundo os autores.

A segunda ideia é o batching contínuo, complementar à primeira. Um servidor clássico agrupa as requisições em lotes e espera que todas as requisições de um mesmo lote sejam concluídas antes de iniciar outro: a requisição curta, que poderia ter sido liberada imediatamente, espera desnecessariamente atrás da longa, que ainda monopoliza a GPU. Já o vLLM recompõe inteiramente o lote a cada token gerado, em cada etapa de decodificação. Assim que uma resposta termina, seu lugar no lote é imediatamente atribuído a uma requisição que aguarda na fila, e a GPU nunca fica trabalhando em vão com preenchimento inútil. É a combinação dessa reutilização contínua dos lugares no lote com a memória paginada que produz a maior parte do ganho de vazão observado em comparação com os motores de inferência projetados para um único usuário por vez.

Prefixos compartilhados
Quando várias requisições começam exatamente com o mesmo texto (um prompt de sistema, um documento comum), as páginas correspondentes são calculadas uma única vez e compartilhadas entre essas requisições. Isso é o prefix caching.
Paralelismo tensorial
Um modelo muito voluminoso para caber em uma única placa é distribuído automaticamente em vários GPUs de uma mesma máquina com apenas uma opção de inicialização, --tensor-parallel-size.
Quantização no lado do servidor
vLLM lê os formatos AWQ, GPTQ e FP8, projetados para cálculo GPU em lote. O GGUF é suportado apenas experimentalmente.
API compatível com OpenAI
As rotas /v1/chat/completions e /v1/completions respondem exatamente como as de OpenAI: uma aplicação já existente muda apenas a URL de base, sem precisar reescrever uma única linha de código de negócio.

#O que vLLM carrega em memória

Essa é a surpresa mais comum para quem vem do Ollama e espera manter os mesmos hábitos. O Ollama baixa por padrão um GGUF quantizado em 4 bits, pensado para caber em uma placa voltada ao consumidor comum. O vLLM, por sua vez, carrega por padrão os pesos exatamente como são publicados no Hugging Face, geralmente em BF16 (precisão de 16 bits), ou seja, cerca de 2 GB por bilhão de parâmetros do modelo. O mesmo modelo ocupa, portanto, aproximadamente três vezes mais memória no vLLM do que no Ollama, antes mesmo de contar o cache KV, que cresce com cada conversa em andamento. Isso explica por que uma placa suficiente para o Ollama pode ter memória muito abaixo da necessária para o vLLM se o formato dos pesos não for alterado.

Apenas os pesos, sem o cache KV · calculado a partir do catálogo QuelLLM · 20/09/2026
ModeloBF16 (padrão vLLM)GGUF Q4_K_M (padrão Ollama)Placa mínima para BF16
Qwen 3 8B16 GB5 GBRTX 4090 ou 5090 (24-32 GB)
Gemma 4 12B24 GB7 GBRTX 5090 (32 GB)
Qwen 3 14B28 GB9 GBRTX 5090 (32 GB), contexto curto
Mistral Small 3.2 24B48 GB14 GB2 × RTX 5090 (64 GB)
Qwen 3.8 27B54 GB16 GBPlaca de 80 GB, ou 2 × RTX 5090 com contexto curto
Llama 3.3 70B140 GB40 GB2 × placas de 80 GB

A solução mais comum consiste em servir uma versão já quantizada para GPU em vez dos pesos originais completos: um modelo AWQ ou GPTQ em 4 bits ocupa aproximadamente a mesma quantidade de memória que um GGUF Q4 equivalente, e o formato FP8 reduz aproximadamente à metade o tamanho do BF16 nas placas recentes que o suportam nativamente. A grande maioria dos modelos realmente populares já está publicada em um desses formatos no Hugging Face, muitas vezes no mesmo dia de seu lançamento oficial.

!
« vLLM consumiu toda a minha VRAM »
Isso é totalmente intencional, não é um bug nem um vazamento de memória. Ao iniciar, o vLLM reserva por padrão 90% da memória total da GPU, por meio da opção --gpu-memory-utilization, cujo valor padrão é 0.9: primeiro para os pesos do modelo, depois todo o restante desse espaço para as páginas do cache KV. Quanto mais páginas estiverem disponíveis, mais requisições o vLLM poderá atender em paralelo sem recusá-las. Em uma máquina compartilhada com outros usos, como um videogame ou outro serviço, reduza esse valor conforme necessário.

#Hardware e sistemas suportados

Situação do suporte em 20/09/2026, de acordo com a documentação do projeto
PlataformaStatusNa prática
Linux + GPU NVIDIA (CUDA)Alvo principalO caminho mais testado. Capacidade de computação mínima de 7,0, ou seja, a partir das gerações Volta e Turing (RTX 20).
Linux + GPU AMD (ROCm)SuportadoPlacas Instinct e Radeon recentes. Imagem Docker dedicada recomendada.
WindowsSem versão nativaUsar WSL2 com um GPU NVIDIA.
Mac Apple SiliconGPUs com suporte desde 22/09/2026 (plugin separado)O plugin oficial vllm-metal, anunciado em 22 de setembro de 2026, traz o escalonador, a paginação do cache KV e o servidor do vLLM compatível com OpenAI para o Apple Silicon, com MLX e Metal para a execução. A instalação é separada da do pacote principal e ainda é recente: verifique a compatibilidade do seu chip antes de migrar uma carga de produção.
Apenas CPU (x86, ARM)SuportadoÚtil para testar uma integração, não para servir o modelo.

#Colocá-lo em execução em cinco minutos

Em uma máquina Linux com uma GPU NVIDIA e drivers atualizados, a instalação completa cabe em poucas linhas em um ambiente Python limpo, sem precisar escrever previamente uma configuração complexa. O comando vllm serve baixa o modelo indicado do Hugging Face na primeira execução, carrega-o na memória e abre imediatamente a API na porta 8000 por padrão, pronta para receber requisições no formato padrão da OpenAI.

Instalar e servir um modelo
python -m venv vllm-env && source vllm-env/bin/activate
pip install vllm

vllm serve Qwen/Qwen3-8B --max-model-len 8192
Consultar a API como se fosse a da OpenAI
curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model": "Qwen/Qwen3-8B", "messages": [{"role": "user", "content": "Bonjour"}]}'

Vale a pena definir explicitamente a opção --max-model-len já na primeira execução: sem ela, o vLLM dimensiona o cache KV para a janela de contexto máxima anunciada pelo modelo, às vezes 128.000 tokens ou mais nos modelos recentes, e simplesmente se recusa a iniciar se a memória disponível na placa não comportar esse dimensionamento padrão, um erro frequente na primeira tentativa. A entrada em produção propriamente dita, com contêiner Docker, autenticação das chamadas, monitoramento contínuo e aumento gradual da carga, é abordada em um guia separado e mais detalhado.

#Para quem é indicado e para quem não é

Sua situaçãovLLM?Por quê
Você conversa sozinho com um modelo no seu PCNãoNenhum ganho de velocidade para uma única requisição, e três vezes mais VRAM em BF16.
Você tem um MacTalvez, de uns tempos para cáO plugin vllm-metal (22/09/2026) oferece suporte à GPU via MLX/Metal, mas ainda é muito recente. Em 28/09/2026, MLX e llama.cpp continuam sendo as opções já comprovadas.
Você tem 8 a 12 GB de VRAMRaramenteUm GGUF Q4 com transferência parcial do processamento para a CPU é mais útil.
Uma equipe de 5 a 50 pessoas compartilha um modeloSimO batching contínuo atende a todos em uma única GPU.
Uma aplicação faz chamadas ao modelo em rajadasSimFila de espera, alto throughput, API padrão.
Você processa 10.000 documentos em loteSimÉ o caso de uso em que a diferença na taxa de processamento é mais evidente.

#FAQ

O vLLM é mais rápido que o Ollama?+
Para um único usuário, não: a velocidade de geração de uma requisição isolada depende principalmente da largura de banda da memória da GPU, idêntica nos dois casos. A diferença aparece com a concorrência. Quando várias requisições chegam ao mesmo tempo, o vLLM as processa no mesmo lote, e seu throughput total supera amplamente o de um servidor pensado para um usuário.
vLLM é gratuito?+
Sim, totalmente. O projeto é de código aberto sob licença Apache 2.0, uma licença permissiva que permite o uso comercial em empresas sem royalties nem taxas de qualquer tipo, diferentemente de algumas licenças de modelos. O único custo real é o do hardware que você já possui ou o da locação de uma GPU em um provedor de nuvem para rodar o servidor.
O vLLM funciona no Windows ou no Mac?+
Não nativamente no Windows: o projeto oficial não tem versão para Windows nem um plano público nesse sentido. É necessário usar o WSL2 com uma GPU NVIDIA; existem alguns forks da comunidade, mas eles continuam sendo não oficiais. No Mac, um plugin oficial chamado vllm-metal, anunciado em 22 de setembro de 2026, finalmente traz aceleração por GPU via MLX e Metal; antes dessa data, só era possível usar a CPU, o que eliminava qualquer vantagem do vLLM em relação ao Ollama ou ao MLX nessa plataforma.
É possível usar um arquivo GGUF com vLLM?+
A compatibilidade existe tecnicamente, mas permanece experimental e tem desempenho significativamente inferior ao da execução nativa. O vLLM foi projetado desde o início para pesos Hugging Face no formato safetensors e para quantizações pensadas para processamento em lotes na GPU: AWQ, GPTQ e FP8. Se você fizer questão do formato GGUF, llama.cpp e seu servidor llama-server continuam sendo a opção natural e mais bem otimizada para esse formato específico.
Quantos usuários uma GPU pode atender com o vLLM?+
Isso depende da memória disponível para o cache KV após o carregamento dos pesos e do comprimento das conversas. Com um modelo de 8B quantizado em uma placa de 24 GB, é realista ter dezenas de conversas curtas rodando simultaneamente. A única resposta confiável vem de um teste de carga com seus próprios prompts.

Este guia ajudou você?

Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.