A preparação de um ambiente estável é o primeiro passo crítico para explorar o vLLM, um motor de inferência e serviço otimizado para grandes modelos de linguagem (LLMs). Esta guia detalha os procedimentos essenciais para configurar um ambiente de desenvolvimento funcional, focando nas decisões de hardwrae, configurações de sistema e gerenciamento de dependências Python.
1. Pré-requisitos de Hardware e Seleção do Sistema Operacional
A escolha do sistema operacional e do hardware impacta diretamente a estabilidade e o desempenho. Para a maioria dos usuários, um Ubuntu 22.04 LTS oferece o melhor equilíbrio entre suporte de drivers e compatibilidade de pacotes. Outras distribuições Linux como Debian ou Rocky Linux são possíveis, mas podem exigir resolução manual de conflitos de dependências.
Em termos de hardware, a capacidade da GPU é o fator mais limitante. Para GPUs NVIDIA, a versão CUDA 12.1 ou 12.4 é recomendada, combinada com PyTorch 2.1+. Um mínimo de 8GB de VRAM é necessário para expeirmentação, enquanto 16GB ou mais (por exemplo, uma RTX 4090) é aconselhável para modelos de tamanho moderado como o Llama 2 13B. Para GPUs AMD, o suporte é feito através do ROCm 5.7+, exigindo uma verificação cuidadosa da lista de GPUs compatíveis oficialmente. Modos de operação exclusivamente em CPU são suportados apenas para fins de teste e depuração, sendo ineficientes para produção.
Além disso, a velocidade e a capacidade do armazenamento são importantes. Modelos de grande porte podem consumir dezenas de gigabytes. Recomenda-se armazenar os pesos dos modelos em um SSD de alto desempenho, por exemplo, no diretório /data/models_cache, para acelerar o carregamento.
2. Instalação de Dependências de Sistema e Ferramentas
Antes de instalar o vLLM, é crucial garantir que as ferramentas de compilação e os drivers de sistema estejam atualizados. O processo varia conforme a GPU.
Para uma GPU NVIDIA, o primeiro passo é instalar o driver mais recente e o toolkit CUDA. Um erro comum é usar pacotes do repositório padrão, que podem estar desatualizados. Seguir este procedimento geralmente é mais confiável:
# Atualizar listas de pacotes e instalar ferramentas de compilação essenciais
sudo apt update && sudo apt install -y build-essential cmake git
# Adicionar o repositório de drivers gráficos e instalar o driver recomendado
sudo add-apt-repository ppa:graphics-drivers/ppa -y
sudo apt update
sudo apt install -y nvidia-driver-550 # Verificar a versão recomendada para sua GPU
# Instalar o CUDA Toolkit 12.4 usando o instalador oficial
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
sudo apt install -y cuda-toolkit-12-4
# Configurar variáveis de ambiente
echo 'export CUDA_HOME=/usr/local/cuda-12.4' >> ~/.bashrc
echo 'export PATH=$CUDA_HOME/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
A instalação pode ser verificada executando nvidia-smi e nvcc --version. Para GPUs AMD, o processo envolve a instalação do ROCm e dos pacotes PyTorch compatíveis, seguindo estritamente a documentação oficial do PyTorch para ROCm.
3. Configuração do Ambiente Python e Instalação do vLLM
O gerenciamento rigoroso do ambiente Python é fundamental para evitar conflitos. Utilizar um ambiente virtual isolado, seja com venv, conda ou uv, é uma prática fortemente recomendada.
Crie e ative um novo ambiente com o Python 3.10+:
# Criar um ambiente virtual com venv
python3 -m venv ~/venvs/vllm-prod
source ~/venvs/vllm-prod/bin/activate
# Instalar o PyTorch correspondente à sua versão do CUDA (exemplo para CUDA 12.1)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
Em seguida, instale o vLLM. Para uma instalação estável, use a versão publicada no PyPI. Para desenvolvimento, clonar o repositório e instalar em modo editável permite modificações no código-fonte:
# Instalação estável a partir do PyPI
pip install vllm
# OU para desenvolvimento:
git clone https://github.com/vllm-project/vllm.git && cd vllm
pip install -e .
Para acelerar o download de modelos em regiões com acesso lento ao Hugging Face Hub, é possível configurar um espelho alternativo. Defina as seguintes variáveis de ambiente antes de inicializar os componentes do vLLM:
# Configurar um cache de modelo local e um espelho opcional
export HF_HOME=/data/huggingface_cache
export TRANSFORMERS_CACHE=$HF_HOME
export HF_ENDPOINT=https://hf-mirror.com # Exemplo de espelho, verifique sua confiabilidade
Após a conclusão destas etapas, o ambiente base para rodar e testar o vLLM estará configurado. Os próximos passos envolvem a execução de testes de validação, o carregamento de modelos e a realização de depuração inicial das funcionalidades principais do servidor de inferência.