Avançado
Rodando modelos localmente
O que é preciso para rodar o Qwen3.8-27B na sua própria máquina: mínimos de hardware por nível de quantization, dimensionamento honesto e o panorama dos runtimes locais.
Atualizada em
01 · Conceito
Conceito
A sua máquina consegue rodar o Qwen3.8-27B? A resposta honesta é uma escada, não um sim ou não — e o degrau em que você pousa é definido pelo nível de quantization que você aceita, usando exatamente a aritmética das lições 7.9 e 7.10.
No topo, bf16 pesa cerca de 54 GB; int8 fica em aproximadamente 27 GB antes do overhead de formato. Na revisão comunitária fixada, os arquivos próximos de 4 bits do modelo de texto vão de 15,7 a 17,9 GB (14,6–16,7 GiB), com o Q4_K_M em 17,1 GB (15,93 GiB). A lição 7.10 é dona dessas cifras exatas. O model card não declara mínimo de 24 GB de VRAM, então esta lição trata 24 GB como um cenário concreto do curso cujo orçamento residente completo precisa ser medido.
O equívoco clássico é multiplicar o rótulo arredondado de 27B por meio byte e concluir que uma placa de 16 GB funciona. O arquivo de texto Q4_K_M fixado já ocupa 15,93 GiB, antes do projector multimodal separado, do KV cache, do estado DeltaNet, do workspace de runtime ou do uso de vídeo. A menos que o cache também seja quantizado, ele acumula em bf16 qualquer que seja a precisão dos pesos. Tamanho de arquivo é entrada do planejamento de capacidade, não a resposta sobre memória residente.
Dimensione o cenário de 24 GB passo a passo. Os pesos de texto Q4_K_M ocupam 15,93 GiB em disco. Em 8.192 tokens, o KV custa 512 MiB e o estado matricial DeltaNet da referência em float32 acrescenta 144 MiB por sequência. Workspace do runtime, buffers de computação, comportamento do allocator, o projector separado opcional e uso de vídeo dependem do backend; carregue a stack exata e inspecione a memória realizada em vez de afirmar um total universal. Em 65.536 tokens, o termo de KV sozinho chega a 4 GiB; na janela nativa de 262.144 tokens, chega a 16 GiB. Configure o contexto que você realmente vai sustentar.
A capacidade decide se o modelo carrega; a largura de banda decide se ele é agradável. Cada token decodificado move uma fração grande dos bytes de peso residentes pela memória, então a velocidade de geração local acompanha a largura de banda de memória muito mais do que as especificações de compute — uma das razões pelas quais máquinas de memória unificada rendem acima da sua categoria aparente, e a matemática exata está no tratamento de roofline da lição 9.1. Lembre também que este é um modelo multimodal: a torre de visão faz parte do checkpoint, e entradas de imagem acrescentam computação de encoder e buffers sobre o dimensionamento só de texto.
Onde ele de fato roda? O ecossistema comunitário de quantization deste modelo abrange o llama.cpp e seu formato GGUF, os runners que o encapsulam, como Ollama e LM Studio, e o MLX no Apple silicon. Uma verificação supera qualquer download: o runtime precisa implementar a arquitetura híbrida do Qwen3.8-27B — camadas Gated DeltaNet ao lado de full attention — em seus kernels. Suporte a tipos de camada totalmente novos chega em releases específicos, não por osmose; verifique antes de puxar 17,1 GB. Daqui o curso vai para a prática: a lição 8.7 trabalha llama.cpp e GGUF direito, a lição 8.9 roda o modelo pelo MLX, e a lição 9.6 explica por que a memória unificada da Apple muda o cálculo local.
A ordem durável de planejamento: escolha o degrau de quantization que sua memória permite; some o cache no contexto que você realmente vai usar, mais estado e workspace; confirme que o runtime suporta a arquitetura e consome o formato empacotado nativamente; então meça a realidade limitada por largura de banda. A inferência local é gratificante justamente porque cada camada fica visível — mas isso também faz de você o operador do serving, e a aritmética desta lição é o seu plano de capacidade.
Estudo de caso: Kimi K3 in C e inferência com pesos em disco
Manter todos os pesos residentes não é a única estratégia de execução. O Kimi K3 in C implementa inferência em CPU em C99: carrega os experts MoE selecionados em MXFP4 nativo e faz streaming das camadas do tronco denso dentro de um orçamento de memória configurável. A arquitetura explicita a troca: menos pesos residentes podem exigir mais leituras do armazenamento por token. É outro modelo e outro runtime, distintos do exemplo com Qwen usado no curso.
Leia os dados de medição e seus limites junto com a chamada do projeto. O pico de RSS mede a RAM residente do processo; o checkpoint e o tronco empacotado ainda exigem terabytes de espaço em disco. A comparação publicada varia orçamentos de memória num servidor, em vez de medir uma coleção de laptops. Associe qualquer tempo medido ao hardware, prompt, número de threads e condições de armazenamento e cache. São medições do motor de inferência, não notas de qualidade em tarefas.
Como exercício de leitura de código, acompanhe src/io/k3_trunk.c e src/cache/k3_cache.c, depois examine os testes que dispensam os pesos do modelo. A correção nas fixtures e o desempenho prático com o modelo completo exigem verificações distintas; a primeira é um ponto de partida útil antes de um download grande.
02 · Analogia
Analogia
Planejar uma expedição remota significa empacotar mais do que o peso listado da barraca. Você precisa de comida que cresce com a duração da viagem, ferramentas, combustível, espaço reserva e equipamento adequado ao terreno. O arquivo de parâmetros de um modelo é apenas a barraca. O KV cache cresce com o contexto, runtimes precisam de workspace, a torre de visão acrescenta equipamento, e kernels não suportados são como levar pneus de asfalto para o gelo. O sucesso local vem de dimensionar a expedição inteira.
03 · Explique de volta
Explique de volta
Apresente a escada de hardware para rodar o Qwen3.8-27B localmente e dimensione o cenário do curso numa GPU de 24 GB com o artefato Q4_K_M fixado, cache, estado DeltaNet e overhead de runtime.
Comparar com uma resposta-modelo
Em bf16 os pesos são 54 GB; int8 fica em aproximadamente 27 GB antes do overhead de formato. Na revisão comunitária fixada, os artefatos do modelo de texto próximos de 4 bits vão de 15,7 a 17,9 GB, e o Q4_K_M tem 17,1 GB (15,93 GiB). Numa placa de 24 GB, some o KV cache a 64 KiB por token — 512 MiB em 8.192 tokens ou 4 GiB em 65.536 —, os 144 MiB de estado matricial DeltaNet por sequência na referência em float32, workspace do runtime e uso de vídeo ou sistema. Contextos curtos podem caber; longos ficam apertados. Este é um cenário do curso, não um mínimo declarado pelo model card, e o runtime precisa implementar a arquitetura híbrida.
04 · Teste seu entendimento
Teste seu entendimento
Conclua o teach-back e acerte o quiz para finalizar a aula.
◎ · Marcador de evidência
Fontes
- Qwen Team (2026). Qwen3.8-27B Model Card.
- Georgi Gerganov e contribuidores (2023). llama.cpp.
- Fareed Khan e contribuidores (2026). Kimi K3 in C — arquitetura.
- Fareed Khan e contribuidores (2026). Kimi K3 in C — dados de medição e limitações.