Blog Logo

Dá para rodar um modelo de 70B com 4 GB de VRAM?

AirLLM é uma biblioteca de código aberto que executa modelos de linguagem grandes carregando suas camadas uma de cada vez na GPU. Seu repositório anuncia modelos de 70 bilhões de parâmetros com 4 GB de VRAM, uma opção para experimentar localmente quando todos os pesos não cabem na sua placa de vídeo. (github.com)

Repositório do AirLLM no GitHub mostrando o título que anuncia a execução de modelos de linguagem em uma única GPU com 4 GB de VRAM.

O custo aparece no tempo de resposta. No teste do vídeo, uma RTX 5080 com 16 GB de VRAM levou 251 segundos para concluir uma execução limitada a cinco tokens de saída. A resposta foi cortada antes de dizer qual era a capital da Espanha.

O que significam os 4 GB anunciados pelo AirLLM

Os 4 GB do título correspondem à memória da placa de vídeo. A RAM do computador e o armazenamento continuam sendo recursos distintos: esse número descreve o consumo de VRAM de determinados modelos nas condições publicadas pelo projeto. (github.com)

Essa diferença importa na hora de decidir se o seu computador dá conta. Os pesos do modelo precisam estar disponíveis para serem carregados durante a execução, mesmo que não fiquem todos na placa de vídeo. Reduzir a memória ocupada na GPU desloca parte do trabalho para o carregamento desses pesos.

Você também não deve interpretar esse número como uma garantia para qualquer modelo. O repositório publica requisitos de VRAM diferentes conforme o tamanho e a arquitetura; os 4 GB são uma referência para casos específicos. (github.com)

Para experimentar, comece com um modelo compatível e confira os requisitos. Escolher o maior só porque ele aparece em uma tabela pode deixar você esperando muito mais do que vale a pena.

Como funciona o carregamento por camadas

AirLLM mantém na GPU a parte do modelo que precisa processar naquele momento. Depois libera os pesos utilizados e carrega os próximos; assim, reduz a quantidade de pesos que precisam ficar simultaneamente na memória da placa de vídeo. (github.com)

Você pode entender isso acompanhando o caminho de uma entrada:

  1. A ferramenta carrega os pesos de uma camada.
  2. A GPU processa os dados com essa camada.
  3. O resultado passa para a próxima.
  4. A ferramenta substitui os pesos que já usou pelos que precisa em seguida.

Cada camada transforma a informação que recebe. Mesmo que você retire seus pesos da GPU, o resultado dela continua fazendo parte do cálculo que segue pelo modelo. A economia vem da alternância dos pesos que ficam na memória.

Essa alternância acrescenta trabalho à execução. No teste do vídeo, o carregamento inicial terminou muito antes da geração: a mensagem de «modelo carregado» apareceu por volta dos 4,5 segundos, mas a resposta levou vários minutos.

Por isso, é preciso medir até a saída terminar. Se você considerar apenas o tempo de carregamento, vai faltar o dado que determina se dá para usar como chat.

AirLLM e quantização: o que muda em cada caso

O carregamento por camadas muda quando os pesos ficam disponíveis na GPU. A quantização reduz a precisão com que esses pesos são representados. AirLLM anuncia execução sem exigir quantização e também oferece opções de compressão. (github.com)

As duas decisões podem aparecer juntas. No vídeo, o Qwen3 de 32 bilhões de parâmetros foi configurado com compressão de 4 bits, além de usar AirLLM para carregá-lo por partes.

Esse detalhe limita a interpretação do resultado. O teste corresponde a essa combinação de modelo, compressão e equipamento. Para atribuir uma diferença de qualidade a uma técnica específica, você teria que manter as demais condições iguais e comparar as respostas.

Se quiser uma referência sobre seleção de modelos e memória antes de montar o experimento, confira o guia para rodar IA localmente com Ollama. Ele ajuda você a começar com um modelo adequado à sua máquina e evitar uma configuração lenta demais para o uso diário.

O que aconteceu no teste com uma RTX 5080

A execução utilizou uma RTX 5080 com 16 GB de VRAM. O script carregava o modelo, media os tempos e enviava a pergunta «Qual é a capital da Espanha?». A geração tinha um limite de cinco tokens novos.

O resultado observado foi este:

Elemento do testeConfiguração ou resultado
Modelo selecionadoQwen3 de 32 bilhões de parâmetros
Compressão4 bits
Carregamento inicial indicadoCerca de 4,5 segundos
Tempo total exibido251 segundos
Limite de saídaCinco tokens
Resposta visível«A capital da Espanha é»

A saída parou por causa do limite configurado. Tokens não equivalem a palavras completas, então reservar cinco não garantia espaço suficiente para responder. Esse corte impede avaliar a resposta final à pergunta.

O tempo, por outro lado, serve para avaliar a interação nessa execução: 251 segundos para uma saída tão curta tornam cada troca uma espera considerável. Perguntar, corrigir e perguntar de novo multiplica esse atrito.

Também apareceram avisos relacionados às dependências durante o carregamento. O processo continuou até gerar texto, mas vale revisar esses avisos antes de reutilizar o ambiente em mais testes.

A GPU dessa execução tinha 16 GB de VRAM. O resultado observado, portanto, corresponde a esse equipamento; o número de 4 GB vem dos casos anunciados pelo AirLLM.

O que verificar antes de executar com NVIDIA

O ambiente do vídeo utilizava NVIDIA, PyTorch e CUDA. Se você for seguir o mesmo caminho, confira primeiro se o Python consegue acessar a placa de vídeo. Instalar a biblioteca sem validar isso pode fazer você investigar uma falha de dependências como se fosse um problema do modelo.

  1. Confira se o driver reconhece sua GPU:

    nvidia-smi

    Verifique se aparece a placa com a qual você quer executar o teste. Se essa etapa falhar, resolva o problema do driver antes de continuar.

  2. Crie e ative um ambiente virtual do Python. Instale as dependências nele para manter esse teste separado de outros projetos.

  3. Instale uma versão do PyTorch compatível com sua GPU e verifique o CUDA pelo Python:

    import torch
    
    print(torch.cuda.is_available())

    O resultado deve ser True para seguir o caminho com CUDA mostrado no vídeo.

  4. Confira a instalação e os modelos compatíveis no repositório oficial do AirLLM. Considere em conjunto os requisitos do modelo e os das dependências que ele utiliza.

Ao preparar o script, separe o tempo de carregamento do tempo de geração e deixe espaço suficiente para concluir uma resposta breve. Cuidado com um limite de tokens pequeno demais: você pode medir quanto tempo o processo levou e ainda assim ficar sem uma resposta para avaliar.

Quando usar AirLLM e quando escolher outra opção

AirLLM faz sentido como experimento se você quer estudar o carregamento por camadas ou tentar acessar um modelo que não cabe inteiro na sua GPU. A condição prática é que você possa aceitar esperas como a observada e dedicar tempo à preparação do ambiente.

Para um chat interativo, a execução do vídeo oferece um critério claro: vários minutos para uma saída mínima dificultam uma conversa. Para programar, acontece o mesmo, porque você precisa revisar alterações, pedir correções e conferir resultados sem esperar vários minutos entre cada etapa.

Um modelo menor que responda com uma latência aceitável pode funcionar melhor nesse trabalho. Se você puder usar serviços externos e precisar acessar outros modelos, confira também o guia para montar uma API de IA com modelos na nuvem e fallback.

Antes de montar um chat com AirLLM, faça uma pergunta breve com margem para concluir a resposta e meça o tempo até o último token. Use essa espera como critério para decidir se vale continuar experimentando ou escolher um modelo menor.


O que você achou?

Deixe sua opinião, pergunta ou sugestão. Os comentários são sincronizados com GitHub Discussions .

← Voltar ao blog