Saturday, 5 September 2026 | Updating Daily AI insight, written for builders

Como instalar o vLLM no Linux, Windows e macOS

  • Linux + GPU NVIDIA: crie um ambiente Python 3.12 limpo e execute pip install vllm (ou uv pip install vllm) e, em seguida, vllm serve Qwen/Qwen3-8B. Você obtém uma API compatível com OpenAI na porta 8000.
  • Windows: não há pacotes binários nativos para Windows. Use o WSL2 com Ubuntu ou a vllm/vllm-openai imagem Docker.
  • macOS: não há pacote binário publicado. Para chips Apple Silicon, é necessário compilar a partir do código-fonte, e a inferência ocorre apenas na CPU — portanto, para laptops Mac, o Ollama ou o LM Studio é a escolha prática.
  • Armadilha mais comum durante a instalação: o vLLM fixa sua própria versão do PyTorch. Instalá-lo sobre um PyTorch já existente é a causa mais frequente de erros de importação e de CUDA. Sempre use um ambiente virtual limpo.

Para instalar o vLLM no Linux com uma GPU NVIDIA, crie um ambiente Python 3.12 limpo e execute pip install vllm, depois inicie um servidor com vllm serve Qwen/Qwen3-8B. Esse é todo o caminho ideal. No Windows, é necessário usar o WSL2 ou o Docker, pois o vLLM publica apenas pacotes binários para Linux; no macOS, é necessário compilar a partir do código-fonte, o que resulta em inferência exclusivamente na CPU.

Antes de instalar: o que o vLLM realmente exige

Requisito O que funciona
Sistema operacional Linux (x86_64 é o alvo principal; algumas versões também publicam pacotes binários para aarch64). Windows apenas via WSL2 ou Docker. macOS via compilação a partir do código-fonte.
Python As versões 3.9–3.12 cobrem as versões lançadas até grande parte de 2025, com suporte à 3.13 adicionado em versões posteriores. A faixa de versões compatíveis muda entre lançamentos — verifique as notas de versão da versão que você instalar.
GPU GPUs NVIDIA com capacidade de computação 7.0 ou superior (V100, T4, RTX 20-series e posteriores, A10, L4, A100, H100, H200). Placas AMD exigem uma compilação separada com ROCm.
CUDA Um driver NVIDIA atualizado. O pacote padrão do PyPI inclui o runtime CUDA necessário pela versão do PyTorch embutida nele, portanto você não não precisa instalar o toolkit CUDA do sistema, a menos que compile a partir do código-fonte.
Disco O próprio pacote tem alguns GB. Os pesos dos modelos predominam — eles são armazenados em ~/.cache/huggingface e variam de poucos GB a centenas de GB.

A lista oficial e continuamente atualizada está na documentação oficial do projeto em docs.vllm.aie as alterações específicas por versão são registradas na página de lançamentos do vLLM. Os pacotes binários publicados e as versões do Python que eles suportam estão listados no PyPI.

Instalar o vLLM no Linux com uma GPU NVIDIA

Opção 1: uv (a mais rápida, e a que agora é recomendada na documentação do vLLM)

curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv vllm-env --python 3.12 --seed
source vllm-env/bin/activate
uv pip install vllm --torch-backend=auto

O --torch-backend=auto essa flag permite que o uv detecte seu driver e selecione uma versão compatível do PyTorch/CUDA. Se seu driver for mais antigo do que o esperado pelo pacote binário, substitua automático por um backend explícito, como cu126. As versões disponíveis do CUDA mudam a cada lançamento, portanto consulte a página de instalação em vez de presumir que uma determinada tag existe.

Opção 2: pip e venv padrão

python3.12 -m venv ~/vllm-env
source ~/vllm-env/bin/activate
pip install --upgrade pip
pip install vllm

Opção 3: conda

conda create -n vllm python=3.12 -y
conda activate vllm
pip install vllm

Observe que o vLLM deve ser instalado com pip mesmo dentro de um ambiente conda. Não instale o PyTorch separadamente antes disso — o vLLM buscará automaticamente a versão exata do torch com a qual foi compilado.

Verifique a instalação

vllm --version
python -c "import torch; print(torch.__version__, torch.cuda.is_available())"
nvidia-smi

Se torch.cuda.is_available() imprime False, pare aqui — o problema está no seu driver ou ambiente, não no vLLM, e nenhum comando serve funcionará até que esse valor retorne True.

Instalar com Docker (a opção mais reprodutível)

O projeto publica uma imagem oficial de servidor compatível com OpenAI. Isso elimina completamente os problemas relacionados ao ambiente Python e é a abordagem recomendada em servidores compartilhados ou de produção:

docker run --runtime nvidia --gpus all 
  -v ~/.cache/huggingface:/root/.cache/huggingface 
  --env "HF_TOKEN=$HF_TOKEN" 
  -p 8000:8000 
  --ipc=host 
  vllm/vllm-openai:latest 
  --model Qwen/Qwen3-8B

O --ipc=host o parâmetro é essencial: o vLLM usa memória compartilhada entre processos, e o valor padrão pequeno do Docker /dev/shm causa falhas ao usar paralelismo de tensores. Se você não puder usar o IPC do host, passe --shm-size=8g em vez disso. Montar o cache do Hugging Face significa que cada modelo será baixado apenas uma vez, em vez de uma vez por contêiner. Isso exige que o NVIDIA Container Toolkit esteja instalado no host.

Instalar o vLLM no Windows (WSL2)

O vLLM não possui compilação nativa para Windows. O WSL2 é o caminho suportado e funciona bem:

  1. Instale o driver NVIDIA padrão Windows . Não instale um driver de exibição Linux dentro do WSL — a pilha CUDA do WSL mapeia diretamente pelo driver do Windows. A NVIDIA documenta isso na Guia do usuário do CUDA no WSL.
  2. No PowerShell: wsl --install -d Ubuntu-24.04, reinicie o sistema se solicitado.
  3. Dentro do Ubuntu, execute nvidia-smi. Se sua GPU não for listada, resolva esse problema antes de prosseguir.
  4. Instalar python3.12-venv, crie um ambiente virtual (venv) e siga as instruções para Linux acima.

Duas armadilhas específicas do WSL: por padrão, o WSL limita a memória RAM; portanto, adicione uma seção [wsl2] com memory= para C:\Users\\.wslconfig se o carregamento do modelo for interrompido; além disso, os pesos do modelo armazenados no sistema de arquivos do Windows (/mnt/c/...) são carregados de forma notavelmente mais lenta do que os pesos armazenados dentro do sistema de arquivos do WSL.

Instalar o vLLM no macOS

Não há pacote pré-compilado (wheel) para macOS no PyPI. O suporte à Apple Silicon exige uma compilação manual voltada apenas para CPU:

xcode-select --install
git clone https://github.com/vllm-project/vllm.git
cd vllm
pip install -r requirements/cpu.txt
pip install -e .

O caminho do arquivo de requisitos mudou entre versões (era requirements-cpu.txt nas versões anteriores), portanto verifique a árvore do repositório para a tag que você clonou. Criticamente, essa compilação não utiliza Metal nem a GPU da Apple — a inferência ocorre exclusivamente na CPU e é muito mais lenta do que em uma máquina com CUDA. O objetivo principal de design do vLLM é fornecer alta vazão em servidores com GPUs, o que não corresponde ao cenário típico de um laptop Mac. Se seu objetivo for executar um modelo localmente no macOS, use a rota Ollama ou LM Studio, ambas aproveitando corretamente o Metal.

Linux com GPUs AMD, Intel ou CPU-only

ROCm (AMD), GPUs/XPUs da Intel e CPUs x86 puras possuem seus próprios caminhos de instalação, geralmente envolvendo uma imagem Docker pré-construída ou uma compilação a partir do código-fonte com uma variável de ambiente específica para o dispositivo-alvo, como VLLM_TARGET_DEVICE=cpu. Esses backends evoluem mais rapidamente do que o caminho CUDA, e os comandos exatos mudam entre versões; portanto, consulte sempre a página específica para seu hardware na documentação atual, em vez de copiar comandos de tutoriais.

Iniciar o servidor e testá-lo

vllm serve Qwen/Qwen3-8B 
  --max-model-len 8192 
  --gpu-memory-utilization 0.90 
  --port 8000

Qwen3-8B é um bom primeiro alvo porque não possui restrições de acesso, é baixado rapidamente e cabe em uma única placa de 24 GB no formato bf16. Em seguida, teste:

curl http://localhost:8000/v1/models

curl http://localhost:8000/v1/chat/completions 
  -H "Content-Type: application/json" 
  -d '{"model": "Qwen/Qwen3-8B", "messages": [{"role": "user", "content": "Say hi"}]}'

Aviso de segurança: vllm serve inicia sem autenticação. Passe --api-key e mantenha a porta 8000 protegida por um firewall ou proxy reverso — um endpoint vLLM exposto representa uma fatura de inferência ilimitada e aberta em seu próprio hardware.

Parâmetros úteis na primeira execução: --tensor-parallel-size N para distribuir o modelo entre N GPUs, --max-model-len para limitar o contexto (o fator mais eficaz contra estouro de memória na inicialização), --quantization para checkpoints pré-quantizados, --served-model-name para expor um apelido mais curto aos clientes e --enforce-eager para ignorar a captura de gráficos CUDA quando você deseja inicialização mais rápida durante depuração.

O modelo caberá na memória? Dimensione-o antes de instalar

O vLLM carrega os pesos no formato bf16 por padrão, portanto reserve aproximadamente 2 GB de VRAM por bilhão de parâmetros, além do cache KV — e o vLLM aloca esse cache de forma agressiva (90% da placa com o valor padrão --gpu-memory-utilization). Um modelo de 8B ocupa cerca de 16 GB de VRAM no formato bf16. Ao ser quantizado para 4 bits, o mesmo modelo reduz-se a aproximadamente 5 GB, conforme indicado pela tabela Convly banco de dados de modelos:

Modelo Contexto ~VRAM em 4 bits Configuração realista em nó único
Qwen3 8B 128K ~5 GB Uma placa de consumo com 12–24 GB
Llama 3.1 8B 128K ~5 GB Uma placa de consumo com 12–24 GB
Gemma 3 27B 128K ~16 GB Uma placa de 24 GB com quantização de 4 bits
Qwen3 32B 128K ~20 GB Uma placa de 24 GB com quantização de 4 bits, com pouco espaço livre no cache KV
Llama 3.3 70B 128K ~40 GB 2× placas de 24 GB com --tensor-parallel-size 2, ou uma única placa de 48 GB
DeepSeek R1 128K ~400 GB Servidor multi-GPU, não uma estação de trabalho

Para um valor específico ao seu comprimento de contexto e tamanho de lote, use a Calculadora de VRAM; a análise detalhada por modelo está na Guia de requisitos de VRAM. Se ainda estiver escolhendo hardware, consulte a melhores GPUs para LLMs locais. E, antes de comprar qualquer coisa, vale a pena calcular os custos com a calculadora de autohospedagem versus APILlama 3.3 70B custa US$ 0,10 para entrada / US$ 0,32 para saída por 1 milhão de tokens em um provedor hospedado, o que é difícil de superar com sua própria eletricidade, a menos que você tenha uma utilização sustentada bastante alta.

Erros comuns de instalação e inicialização do vLLM

Sintoma Causa e solução
ImportError em vllm._C, ou um erro de ABI/símbolo do torch O vLLM foi instalado sobre uma versão incompatível do PyTorch. Exclua o ambiente, recrie-o limpo e instale o vLLM primeiro.
“O comprimento máximo de sequência do modelo é maior que o número máximo de tokens que podem ser armazenados no cache KV” VRAM livre insuficiente para o contexto solicitado. Reduza --max-model-len, aumente --gpu-memory-utilization, ou use um checkpoint quantizado.
CUDA out of memory ao carregar os pesos Os próprios pesos não cabem na memória. Divida-os com --tensor-parallel-size ou escolha um modelo menor.
Nenhum driver NVIDIA encontrado Nenhuma GPU visível para o processo. No WSL, o driver deve estar instalado no lado Windows; no Docker, você está faltando --gpus all.
Erro 401/403 ao baixar um modelo Repositório restrito. Aceite a licença no Hugging Face e, em seguida, autentique-se (hf auth login nas versões atuais da CLI do Hugging Face, huggingface-cli login nas versões mais antigas) ou defina HF_TOKEN.
Pausa longa antes de o servidor aceitar solicitações Normal: captura e compilação de gráficos CUDA. Use --enforce-eager para ignorá-la durante depuração.

Perguntas frequentes

Posso instalar o vLLM nativamente no Windows?

Não. O vLLM publica apenas wheels para Linux, e pip install vllm no Python para Windows não fornecerá um servidor com GPU funcional. Use o WSL2 com uma distribuição Ubuntu ou execute a imagem oficial do Docker. Ambas são totalmente suportadas e oferecem desempenho próximo ao nativo no mesmo hardware.

Preciso instalar o toolkit CUDA primeiro?

Não é necessário para o wheel padrão. Ele inclui o runtime CUDA por meio da versão fixa do PyTorch, portanto, um driver NVIDIA razoavelmente atual é suficiente. Você só precisa do toolkit completo com nvcc se compilar o vLLM a partir do código-fonte ou criar kernels personalizados.

Como instalo uma versão específica do vLLM ou a compilação noturna (nightly build)?

Fixe-o como qualquer outro pacote: pip install vllm==<versão>, escolhendo entre as versões listadas no PyPI. Wheels noturnos e por commit são publicados separadamente pelo projeto e instalados com uma URL adicional de índice — o endereço atual está documentado na página de instalação, e já mudou anteriormente, portanto consulte-a lá em vez de copiar um comando antigo.

Por que o vLLM ocupa toda a minha GPU?

Por design. Ele pré-aloca um grande pool de blocos de cache KV na inicialização — controlado por --gpu-memory-utilization, cujo valor padrão é 0,9 — porque a atenção paginada é o que garante alto throughput sob concorrência. Reduza esse valor se precisar compartilhar a placa, mas espere um número menor de solicitações simultâneas como consequência.

Devo usar vLLM ou Ollama?

Ollama é um instalador único e multiplataforma voltado para um único usuário em uma única máquina; veja a Guia de instalação do Ollama se isso descreve seu caso. O vLLM é um mecanismo de serviço projetado para suportar muitas solicitações simultâneas por GPU, com processamento contínuo por lote (continuous batching), paralelismo de tensores e uma API compatível com OpenAI. Instale o vLLM quando estiver disponibilizando um aplicativo, não quando estiver conversando localmente.

Qual modelo devo colocar em serviço primeiro?

Comece com algo pequeno e sem restrições, para que você esteja depurando a instalação e não o download — um modelo da classe 8B com cerca de 5 GB em 4 bits é ideal. Assim que o servidor responder a /v1/models, prossiga para modelos maiores. A Ranking de LLMs é uma maneira razoável de pré-selecionar candidatos com base em capacidade, preço e comprimento de contexto antes de comprometer sua VRAM com um modelo específico.

Escrito por Mustafa Ihsan

Mustafa Ihsan é fundador e editor da Convly.ai. Ele criou e mantém o banco de dados em tempo real de modelos de IA do site, seu índice de desempenho por preço e suas calculadoras gratuitas para requisitos de VRAM, custos de API e economia de hospedagem local. Escreve sobre preços de modelos, resultados de benchmarks e o hardware necessário para executar modelos de IA localmente, preferindo sempre dados mensuráveis às declarações dos fabricantes.

Scroll to Top