Servidor de LLM de 235B em GPU de 6 GB

← voltar ao portfólio

07/2026 · 2 semanas

Servidor local compatível com a API da OpenAI que roda modelos de 235B em GPU modesta, carregando uma camada por vez.

PythonFastAPIPyTorchAirLLMTransformersCUDAQwen3DeepSeek

O problema

Rodar um modelo de linguagem grande localmente esbarra na VRAM: um modelo de 235 bilhões de parâmetros não cabe em GPU de consumo, e a resposta padrão é alugar GPU na nuvem — o que significa mandar o texto para fora e pagar por token. Para quem quer inferência local por privacidade ou custo, a alternativa costuma ser aceitar um modelo muito menor.

A arquitetura

O truque é não carregar o modelo. As camadas são registradas no dispositivo meta, sem peso em memória, e a inferência sobe uma camada por vez para a GPU, computa e devolve para CPU ou disco. O pico de VRAM fica em 2 a 3 GB independentemente do tamanho total do modelo, trocando memória por tempo e por leitura de disco. Em volta disso há um servidor FastAPI que fala o protocolo da OpenAI, o que permite apontar qualquer cliente existente para ele sem alterar código. O servidor detecta o porte do modelo pelo identificador e escolhe a estratégia sozinho — compressão em 4 bits e prefetching para os grandes, fp16 para os pequenos — porque a configuração errada não falha de imediato, apenas estoura a memória no meio da inferência. Todo o conjunto é portátil: o Python embarcável é preparado por script, as dependências e o patch são aplicados sem intervenção, e o menu de inicialização escolhe o modelo.

O resultado

Servidor local que responde no protocolo da OpenAI rodando modelos que não caberiam na GPU, com monitor de saúde, download paralelo de shards e limpeza dos arquivos crus após o split. A documentação registra os números que decidem a viabilidade — 1.556 GB crus em disco para o Qwen3-235B, cerca de 438 GB depois do split em 4 bits — e as armadilhas de ambiente que custaram tempo: a versão da biblioteca de transformers precisa ser pinada para o modelo MoE carregar, e atualizar o torch dentro do Python embarcável corrompe a instalação de um jeito que se manifesta como travamento, não como erro.

Uma camada por vez: como um modelo de 235B roda em 6 GB de VRAM
Uma camada por vez: como um modelo de 235B roda em 6 GB de VRAM
O custo real em disco e VRAM de cada modelo configurado
O custo real em disco e VRAM de cada modelo configurado

🔒 Código-fonte

git clone https://git.programandosolucoes.com.br/git/repos/airllm.git

Código-fonte privado. As credenciais de leitura são liberadas sob solicitação — me chame para conversar sobre o projeto.

Carlos Alberto — carlosalberto4ti@gmail.com · +55 11 2615-2880