lyogavin roda modelo Kimi K3 de 2.8T em GPU de 4 GB
Projeto aberto reduz o uso de VRAM ao carregar apenas os especialistas necessários para cada token.
Projeto aberto reduz o uso de VRAM ao carregar apenas os especialistas necessários para cada token.
Quem tem uma GPU de 4 GB pode usar o AirLLM para rodar modelos de linguagem grandes localmente. O projeto lyogavin/airllm é uma ferramenta de código aberto criada em 2023-06-12 por lyogavin. Na versão v3.1.0, o AirLLM executa o Kimi K3, de 2.8T, com pico de 3.72 GB de VRAM em uma única RTX 6000 Ada. Isso atende desenvolvedores que têm pouca memória gráfica e aceitam esperar mais para gerar cada token.
O AirLLM divide o modelo em partes e carrega essas partes conforme a geração avança. A ferramenta não precisa de quantização, destilação ou poda, segundo o README. Depois que os pesos estão disponíveis, a inferência roda na máquina do usuário.
O usuário pode informar um repositório do Hugging Face ou um caminho local para os pesos. O Hugging Face fornece o modelo quando o usuário passa um identificador remoto; a geração, porém, acontece localmente. O código usa AutoModel para manter o mesmo fluxo de carregamento entre modelos diferentes.
O ganho principal aparece nos modelos sparse MoE. O Kimi K3 tem 896 especialistas por camada, mas encaminha cada token para apenas 16 deles. O AirLLM carrega esses especialistas, em vez de carregar a camada inteira.
O modelo expandido ocuparia cerca de 55GB em uma camada, enquanto cada token precisa de aproximadamente 1GB dos especialistas selecionados. A ferramenta também movimenta pesos MXFP4 empacotados pelo PCIe e expande esses dados na GPU. Esse processo reduz em 4x a quantidade de dados transferidos.
O teste do Kimi K3 usou o checkpoint completo de 1.56TB em uma RTX 6000 Ada de 48GB. O pico durante a geração ficou em 3.72 GB, e o uso após a inicialização caiu para 0.83 GB. A inicialização levou 900 s, enquanto a geração consumiu 292 s por token, limitada pelo disco.
O armazenamento dos shards usa outra adaptação. Como cada shard do K3 contém um módulo, o AirLLM cria hard links para as partes originais; uma divisão ingênua copiaria os dados e exigiria 3.12TB para um checkpoint de 1.56TB.
A adoção começa com pip install airllm. Para usar o K3, o usuário também precisa instalar compressed-tensors e flash-attn. O código do K3 força flash attention, mesmo quando o usuário escolhe outra implementação.
O ambiente precisa usar uma compilação do torch para CUDA 12. A versão CUDA 13 não tem uma wheel pré-compilada do flash-attn, e o código remoto do K3 não carrega em transformers 5.x. O projeto exige transformers 4.56.x para esse modelo.
O AirLLM também suporta inferência em CPU desde v2.10.1 e modelos não fragmentados. O README cita Llama 3.1 405B em 8GB, DeepSeek-V3 671B em ~12GB e Qwen3-235B em ~3GB. A velocidade do K3, contudo, impede uso interativo confortável.
O projeto acumula 28.442 estrelas, 3.070 forks e 126 issues abertas. Ele tem 1149 dias, registra Jupyter Notebook como linguagem e recebeu o último commit em 2026-07-29, mesma data da versão v3.1.0. A licença Apache-2.0 permite usar, modificar e redistribuir o código, inclusive em produtos comerciais, desde que o usuário siga seus termos.
A ferramenta não serve para quem precisa de respostas rápidas ou não pode controlar as versões do ambiente. O custo aparece no tempo de inicialização e na dependência do disco. Mesmo assim, o AirLLM oferece uma alternativa local para testar modelos que normalmente excederiam a memória de uma GPU comum.