Skip to content

Instantly share code, notes, and snippets.

@lucianfialho
Created May 1, 2026 21:32
Show Gist options
  • Select an option

  • Save lucianfialho/08e2194cea77eef0f62e7ae1da1102e3 to your computer and use it in GitHub Desktop.

Select an option

Save lucianfialho/08e2194cea77eef0f62e7ae1da1102e3 to your computer and use it in GitHub Desktop.
Servidor AirLLM - Setup completo Linux Mint com NVIDIA GTX 970 + RTX 2070
{
"projeto": "Servidor AirLLM - Transformar PC em Servidor de IA",
"hardware": {
"cpu": "AMD Ryzen 9 3900X (12 cores, 24 threads)",
"gpu_atual": "NVIDIA GTX 970 (4GB VRAM)",
"gpu_adicional": "NVIDIA RTX 2070 (8GB VRAM) - disponível para instalar",
"ram": "16GB DDR4 2133MHz",
"ssd": "Intel NVMe 512GB",
"rede": "Intel I211 Gigabit"
},
"sistema_escolhido": "Linux Mint 21.3 Cinnamon",
"tarefas_pos_instalacao": [
{
"ordem": 1,
"tarefa": "Atualizar sistema",
"comandos": [
"sudo apt update",
"sudo apt upgrade -y"
]
},
{
"ordem": 2,
"tarefa": "Instalar drivers NVIDIA",
"metodo": "Menu → Administration → Driver Manager",
"driver": "nvidia-driver-535",
"alternativa_comando": "sudo apt install nvidia-driver-535"
},
{
"ordem": 3,
"tarefa": "Verificar GPUs",
"comando": "nvidia-smi",
"esperado": "Deve mostrar GTX 970 (e RTX 2070 se instalada)"
},
{
"ordem": 4,
"tarefa": "Instalar CUDA Toolkit",
"comandos": [
"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 cuda-11-8"
]
},
{
"ordem": 5,
"tarefa": "Configurar variáveis CUDA",
"comandos": [
"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"
]
},
{
"ordem": 6,
"tarefa": "Instalar Python e pip",
"comandos": [
"sudo apt install python3.10 python3-pip python3.10-venv",
"sudo apt install git curl wget build-essential"
]
},
{
"ordem": 7,
"tarefa": "Criar ambiente virtual Python",
"comandos": [
"python3 -m venv airllm-env",
"source airllm-env/bin/activate"
]
},
{
"ordem": 8,
"tarefa": "Instalar AirLLM e dependências",
"comandos": [
"pip install --upgrade pip",
"pip install airllm",
"pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118",
"pip install bitsandbytes"
]
},
{
"ordem": 9,
"tarefa": "Testar instalação",
"codigo_python": "from airllm import AirLLM\nimport torch\nprint(f'GPUs detectadas: {torch.cuda.device_count()}')\nprint(f'GPU 0: {torch.cuda.get_device_name(0)}')\nif torch.cuda.device_count() > 1:\n print(f'GPU 1: {torch.cuda.get_device_name(1)}')"
},
{
"ordem": 10,
"tarefa": "Exemplo de uso AirLLM",
"codigo_python": "from airllm import AirLLMLlama2\n\n# Configuração para multi-GPU se disponível\nmodel = AirLLMLlama2(\n 'meta-llama/Llama-2-7b-chat-hf', # Começar com modelo menor\n compression='4bit', # Quantização para economizar VRAM\n device_map='auto' # Distribui entre GPUs automaticamente\n)\n\n# Testar geração\nresponse = model.chat('Olá, como você está?')\nprint(response)"
}
],
"configuracao_multi_gpu": {
"nota": "Se instalar a RTX 2070 junto",
"vram_total": "12GB (4GB + 8GB)",
"codigo_exemplo": "model = AirLLM(\n 'meta-llama/Llama-2-70b',\n device_map='auto',\n max_memory={\n 0: '3.5GB', # GTX 970\n 1: '7.5GB', # RTX 2070\n 'cpu': '16GB'\n }\n)"
},
"modelos_recomendados": [
{
"nome": "Llama-2-7B",
"tamanho": "~15GB",
"vram_necessaria": "4GB",
"performance": "Rápido, roda completo na GTX 970"
},
{
"nome": "Llama-2-13B",
"tamanho": "~25GB",
"vram_necessaria": "6GB",
"performance": "Bom, precisa quantização 4bit"
},
{
"nome": "Llama-2-70B",
"tamanho": "~140GB",
"vram_necessaria": "4GB min (layer-by-layer)",
"performance": "Lento com 1 GPU, melhor com 2"
}
],
"requisitos_energia": {
"gtx_970": "145W TDP",
"rtx_2070": "175W TDP",
"cpu": "105W TDP",
"fonte_minima": "650W",
"fonte_recomendada": "750W"
},
"dicas_importantes": [
"Começar com modelos 7B para testar",
"Usar quantização 4bit para economizar VRAM",
"RTX 2070 tem Tensor Cores (muito mais rápida)",
"Considerar SSD externo para modelos grandes",
"Manter boa ventilação no gabinete"
],
"links_uteis": {
"linux_mint": "https://linuxmint.com/edition.php?id=311",
"rufus": "https://rufus.ie",
"airllm_github": "https://github.com/lyogavin/airllm",
"modelos_huggingface": "https://huggingface.co/models"
}
}

Projeto Servidor AirLLM - Documentação Completa

📋 Resumo do Projeto

Transformar PC parado em servidor Linux com AirLLM para rodar LLMs grandes com GPU limitada.

💻 Hardware Disponível

  • 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

✅ Análise de Compatibilidade

  • 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)

🐧 Sistema Operacional Escolhido

Linux Mint 21.3 Cinnamon

  • Base Ubuntu 22.04 LTS
  • Interface amigável
  • Driver Manager integrado (facilita NVIDIA)
  • Mais leve que Ubuntu puro

📝 Passo a Passo Completo

Fase 1: Preparação do Pendrive Bootável

  1. Baixar Linux Mint: https://linuxmint.com/edition.php?id=311
  2. Baixar Rufus: https://rufus.ie
  3. Configurar Rufus:
    • Dispositivo: Pendrive (8GB+)
    • Boot selection: ISO do Mint
    • Partition scheme: GPT
    • Target system: UEFI
    • File system: FAT32
  4. Clicar START → Write in ISO Image mode

Fase 2: Instalação do Linux Mint

  1. BIOS Setup:

    • Reiniciar e pressionar DEL/F2
    • Boot Priority: USB primeiro
    • Save & Exit (F10)
  2. 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

Fase 3: Configuração Pós-Instalação

# 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

Fase 4: Instalação do CUDA

# 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

Fase 5: Instalação do Python e AirLLM

# 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

Fase 6: Testar Instalaçã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}")

Fase 7: Primeiro Modelo

# 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)

🎮 Configuração Multi-GPU (GTX 970 + RTX 2070)

Requisitos de Hardware:

  • Fonte: Mínimo 650W (recomendado 750W)
  • 2 slots PCIe x16 na placa-mãe
  • Boa ventilação no gabinete

Código para Multi-GPU:

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"
)

📊 Modelos Recomendados

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

🚀 Criar Serviço Systemd (Opcional)

# /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.target

Ativar serviço:

sudo systemctl enable airllm
sudo systemctl start airllm

⚡ Dicas de Otimização

  1. Começar pequeno: Teste com modelos 7B primeiro
  2. Quantização: Use sempre 4bit ou 8bit para economizar VRAM
  3. Cache: AirLLM cacheia layers, segunda execução é mais rápida
  4. SSD: Essencial para performance (você já tem!)
  5. Monitoramento: Use nvidia-smi -l 1 para monitorar GPU em tempo real
  6. Temperatura: Mantenha GPUs abaixo de 80°C

🔧 Troubleshooting Comum

CUDA não detectado:

# Reinstalar drivers
sudo apt purge nvidia-*
sudo apt autoremove
sudo ubuntu-drivers autoinstall
sudo reboot

Out of Memory:

  • Reduza batch size
  • Use quantização mais agressiva (4bit)
  • Use modelo menor

GPU não detectada:

# Verificar se está instalada corretamente
lspci | grep -i nvidia
# Deve mostrar as duas GPUs se ambas estiverem instaladas

📚 Links Importantes

💡 Próximos Passos Após Instalação

  1. Testar modelos progressivamente: 7B → 13B → 70B
  2. Explorar quantização: Testar 4bit vs 8bit vs 16bit
  3. Instalar RTX 2070 se quiser mais performance
  4. Considerar SSD adicional para modelos grandes
  5. Configurar acesso remoto (SSH) para gerenciar de outro PC
  6. Explorar fine-tuning para casos específicos

📝 Notas da Nossa Conversa

  • 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment