Transformar PC parado em servidor Linux com AirLLM para rodar LLMs grandes com GPU limitada.
- CPU: AMD Ryzen 9 3900X (12 cores, 24 threads, 3.8GHz)
- GPU Principal: NVIDIA GeForce GTX 970 (4GB VRAM)
- GPU Adicional: NVIDIA RTX 2070 (8GB VRAM) - disponível para instalar
- RAM: 16GB DDR4 2133MHz (2x8GB)
- SSD: Intel NVMe 512GB
- Rede: Intel I211 Gigabit Ethernet
- Linux: 100% compatível, todos componentes têm drivers nativos
- AirLLM: Configuração PERFEITA - GTX 970 atende requisito mínimo de 4GB
- Multi-GPU: Possível usar GTX 970 + RTX 2070 juntas (12GB VRAM total)
- Armazenamento: 512GB suficiente para começar (modelos 7B-13B)
Linux Mint 21.3 Cinnamon
- Base Ubuntu 22.04 LTS
- Interface amigável
- Driver Manager integrado (facilita NVIDIA)
- Mais leve que Ubuntu puro
- Baixar Linux Mint: https://linuxmint.com/edition.php?id=311
- Baixar Rufus: https://rufus.ie
- Configurar Rufus:
- Dispositivo: Pendrive (8GB+)
- Boot selection: ISO do Mint
- Partition scheme: GPT
- Target system: UEFI
- File system: FAT32
- Clicar START → Write in ISO Image mode
-
BIOS Setup:
- Reiniciar e pressionar DEL/F2
- Boot Priority: USB primeiro
- Save & Exit (F10)
-
Instalação:
- Boot pelo pendrive
- "Start Linux Mint"
- Instalar Linux Mint
- Particionamento sugerido:
- / (root): 50GB
- /home: 400GB
- swap: 16GB
- Criar usuário
- Instalar com "Install third-party software" marcado
# 1. Atualizar sistema
sudo apt update && sudo apt upgrade -y
# 2. Instalar drivers NVIDIA (método gráfico)
# Menu → Administration → Driver Manager
# Selecionar nvidia-driver-535 → Apply
# OU via terminal:
sudo apt install nvidia-driver-535
sudo reboot
# 3. Verificar GPU
nvidia-smi# 1. Baixar e instalar CUDA keyring
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
# 2. Instalar CUDA Toolkit
sudo apt update
sudo apt install cuda-11-8
# 3. Configurar variáveis de ambiente
echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
# 4. Verificar instalação
nvcc --version# 1. Instalar Python e ferramentas
sudo apt install python3.10 python3-pip python3.10-venv git curl wget build-essential
# 2. Criar ambiente virtual
python3 -m venv airllm-env
source airllm-env/bin/activate
# 3. Atualizar pip
pip install --upgrade pip
# 4. Instalar PyTorch com suporte CUDA
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# 5. Instalar AirLLM e dependências
pip install airllm
pip install bitsandbytes # Para quantização# teste_gpu.py
import torch
from airllm import AirLLM
# Verificar GPUs
print(f"GPUs detectadas: {torch.cuda.device_count()}")
print(f"GPU 0: {torch.cuda.get_device_name(0)}")
if torch.cuda.device_count() > 1:
print(f"GPU 1: {torch.cuda.get_device_name(1)}")
print(f"CUDA disponível: {torch.cuda.is_available()}")
print(f"Versão CUDA: {torch.version.cuda}")# primeiro_modelo.py
from airllm import AirLLMLlama2
# Começar com modelo 7B (cabe na GTX 970)
model = AirLLMLlama2(
"meta-llama/Llama-2-7b-chat-hf",
compression="4bit", # Quantização para economizar VRAM
device_map="auto"
)
# Testar
response = model.chat("Olá! Me explique o que é inteligência artificial.")
print(response)- Fonte: Mínimo 650W (recomendado 750W)
- 2 slots PCIe x16 na placa-mãe
- Boa ventilação no gabinete
from airllm import AirLLM
# Configuração para 70B com 2 GPUs
model = AirLLM(
"meta-llama/Llama-2-70b",
device_map="auto", # Distribui automaticamente
max_memory={
0: "3.5GB", # GTX 970
1: "7.5GB", # RTX 2070
"cpu": "16GB"
},
compression="4bit"
)| Modelo | Tamanho Disco | VRAM Necessária | Performance |
|---|---|---|---|
| Llama-2-7B | ~15GB | 4GB | Rápido, roda completo na GTX 970 |
| Llama-2-13B | ~25GB | 6GB | Bom com quantização 4bit |
| Llama-2-70B | ~140GB | 4GB min | Lento com 1 GPU, bom com 2 |
| CodeLlama-7B | ~15GB | 4GB | Ótimo para programação |
| Mistral-7B | ~15GB | 4GB | Muito eficiente |
# /etc/systemd/system/airllm.service
[Unit]
Description=AirLLM Server
After=network.target
[Service]
Type=simple
User=seu_usuario
WorkingDirectory=/home/seu_usuario/airllm-server
Environment="PATH=/home/seu_usuario/airllm-env/bin"
ExecStart=/home/seu_usuario/airllm-env/bin/python server.py
Restart=always
[Install]
WantedBy=multi-user.targetAtivar serviço:
sudo systemctl enable airllm
sudo systemctl start airllm- Começar pequeno: Teste com modelos 7B primeiro
- Quantização: Use sempre 4bit ou 8bit para economizar VRAM
- Cache: AirLLM cacheia layers, segunda execução é mais rápida
- SSD: Essencial para performance (você já tem!)
- Monitoramento: Use
nvidia-smi -l 1para monitorar GPU em tempo real - Temperatura: Mantenha GPUs abaixo de 80°C
# Reinstalar drivers
sudo apt purge nvidia-*
sudo apt autoremove
sudo ubuntu-drivers autoinstall
sudo reboot- Reduza batch size
- Use quantização mais agressiva (4bit)
- Use modelo menor
# Verificar se está instalada corretamente
lspci | grep -i nvidia
# Deve mostrar as duas GPUs se ambas estiverem instaladas- Linux Mint: https://linuxmint.com
- AirLLM GitHub: https://github.com/lyogavin/airllm
- Modelos Hugging Face: https://huggingface.co/models
- NVIDIA Drivers: https://www.nvidia.com/Download/index.aspx
- CUDA Toolkit: https://developer.nvidia.com/cuda-downloads
- Testar modelos progressivamente: 7B → 13B → 70B
- Explorar quantização: Testar 4bit vs 8bit vs 16bit
- Instalar RTX 2070 se quiser mais performance
- Considerar SSD adicional para modelos grandes
- Configurar acesso remoto (SSH) para gerenciar de outro PC
- Explorar fine-tuning para casos específicos
- Sistema atual: Windows 11 Pro (será formatado)
- Objetivo: Servidor dedicado para AirLLM
- Escolha: Linux Mint por ser mais amigável
- Multi-GPU: Configurado para funcionar com ambas placas
- Armazenamento: 512GB suficiente para começar
- Pendrive bootável já criado com Rufus
- Arquivo prp.json salvo no pendrive com instruções
Última atualização: Sessão de configuração do servidor AirLLM Hardware confirmado: Ryzen 3900X + GTX 970 (RTX 2070 disponível) Status: Pronto para instalação do Linux Mint