DEV Community

Cover image for Como Rodar GLM-5.3-Flash Localmente
Lucas
Lucas

Posted on Originally published at apidog.com

Como Rodar GLM-5.3-Flash Localmente

Como executar o GLM-5.3-Flash localmente

O GLM-5.3-Flash é um modelo de 320 bilhões de parâmetros lançado sob a licença MIT. Isso significa que você pode executá-lo, modificar seus pesos e redistribuí-lo, mas precisará de hardware considerável — a menos que use uma build quantizada.

Experimente o Apidog hoje

A arquitetura MoE muda bastante essa equação: apenas 18 bilhões dos 320 bilhões de parâmetros ficam ativos por token. Com quantização, o modelo pode ser executado em configurações muito menores do que o nó 8x H200 normalmente usado como referência.

Este guia apresenta as opções de hardware, os runtimes recomendados, o dimensionamento de memória e os casos em que a auto-hospedagem realmente compensa.

O que você está carregando

Propriedade Valor
Total de parâmetros 320B
Parâmetros ativos por token 18B
Arquitetura MoE, com atenção híbrida linear e esparsa
Contexto máximo 1.048.576 tokens
Licença MIT
Pesos zai-org/GLM-5.3-Flash
Quantizações GGUF unsloth/GLM-5.3-Flash-GGUF

Em um modelo mixture-of-experts (MoE), todos os 320B de parâmetros precisam permanecer na memória, mas somente 18B participam do processamento de cada token. Portanto, a principal restrição é a memória, não os FLOPs.

A Z.ai também relata um cache KV aproximadamente 4,4 vezes menor que o do GLM-5.3. Isso é especialmente relevante em contextos longos: conforme a janela se aproxima de 1 milhão de tokens, o cache KV pode consumir mais memória do que o esperado.

Nível 1: precisão total em produção

Para servir o modelo em precisão total, com concorrência real, a configuração de referência é um nó com 8 H200, cada uma com 141 GB, totalizando cerca de 1.128 GB. Um nó com 8 H20 também pode funcionar.

Os pesos exigem aproximadamente 700–800 GB, dependendo da precisão. Reserve memória adicional para o cache KV e a sobrecarga do runtime. Na nuvem, um nó desse tipo custa cerca de US$ 24–48 por dia.

Usando vLLM

O vLLM oferece o ecossistema mais amplo. O paralelismo de tensor deve ser uma potência de dois:

vllm serve zai-org/GLM-5.3-Flash \
  --tensor-parallel-size 8 \
  --max-model-len 1048576 \
  --trust-remote-code
Enter fullscreen mode Exit fullscreen mode

Durante a validação, comece com um --max-model-len menor. Configurar imediatamente a janela completa de 1 milhão de tokens pode reservar todo o cache KV de uma vez e produzir um erro de falta de memória difícil de diferenciar de um problema de configuração.

Usando SGLang

O SGLang teve suporte no dia zero e conta com receitas para H100, H200, B200, B300, GB200 e GB300, incluindo serviço multimodal. A Z.ai usou uma pilha baseada em SGLang no próprio serviço de pré-lançamento.

python -m sglang.launch_server \
  --model-path zai-org/GLM-5.3-Flash \
  --tp 8 \
  --context-length 1048576
Enter fullscreen mode Exit fullscreen mode

SGLang costuma ser uma boa escolha para saída estruturada e cargas agentic de alta concorrência. Para servir um agente de codificação, compare-o com o vLLM em vez de escolher um runtime por padrão.

Em ambos os runtimes, configure o analisador de chamadas de ferramentas para habilitar o function calling corretamente. Consulte a documentação da versão instalada: os nomes dos analisadores podem mudar.

Nível 2: quantização em hardware menor

As builds GGUF estão disponíveis em unsloth/GLM-5.3-Flash-GGUF, incluindo formatos agressivos de 1 e 2 bits, como IQ1_S e IQ2_XXS.

Uma quantização de 2 bits reduz os pesos de um modelo de 320B a um tamanho que uma estação de trabalho com muita memória ou uma plataforma multi-GPU de consumidor pode suportar, especialmente com offload para a CPU.

Tenha em mente duas limitações:

  • Quantização agressiva reduz a qualidade. IQ1_S fica muito distante da precisão total. Em um MoE, a degradação pode ser mais gradual que em um modelo denso, graças à redundância entre especialistas. Ainda assim, “funciona” não significa necessariamente “funciona bem”. Valide o modelo nas suas tarefas.
  • A documentação do Unsloth ainda está em andamento. Formatos disponíveis e configurações recomendadas podem mudar. Confirme o que está publicado antes de projetar sua infraestrutura.

Para configurações híbridas e intensivas em CPU, o KTransformers foi desenvolvido para manter os especialistas na RAM do sistema e transferir para a GPU somente o necessário. Esse desenho combina bem com um MoE que ativa 18B de parâmetros por token. O TokenSpeed também aparece entre os runtimes suportados.

O guia Como executar o GLM-4.7-Flash localmente aborda a versão menor deste fluxo. Para uma introdução à execução local da família GLM, consulte Como executar o GLM-5 localmente de graça.

Como calcular o orçamento de memória

Dois componentes determinam se a configuração será suficiente.

Pesos

Em BF16, usando aproximadamente 2 bytes por parâmetro, os 320B exigem cerca de 640 GB antes da sobrecarga. Em FP8, esse valor cai pela metade.

Como referência:

  • BF16: aproximadamente 640 GB;
  • FP8: aproximadamente 320 GB;
  • 4 bits: aproximadamente 160 GB;
  • 2 bits: menos memória, mas com perda maior de qualidade.

Cache KV

O cache KV cresce com o comprimento do contexto e com a concorrência. Uma configuração que funciona em 8K tokens pode falhar em 128K porque o cache cresceu — os pesos continuam do mesmo tamanho.

A redução de 4,4 vezes relatada pela Z.ai em relação ao GLM-5.3 ajuda, mas o crescimento do cache ainda é linear em relação ao número de tokens.

Dimensione para o contexto que sua aplicação realmente usa, não para o máximo anunciado. Poucas aplicações precisam de 1 milhão de tokens, e reservar memória para uma janela que nunca será utilizada é a maneira mais comum de tornar o modelo artificialmente inacessível.

O post sobre auto-hospedagem do GLM-5.3 foi publicado antes do lançamento do Flash. Como os pesos do GLM-5.3-Flash agora estão disponíveis sob a licença MIT, as recomendações deste artigo substituem aquela orientação.

Ajuste fino

A licença MIT permite ajuste fino e redistribuição. Para muitas equipes, essa flexibilidade é o principal motivo para manter os pesos localmente.

O ajuste fino completo de um modelo de 320B está fora do alcance da maioria das equipes. Métodos eficientes em parâmetros, como LoRA, são a alternativa prática. Em um modelo MoE, ainda é preciso decidir se o treinamento adaptará:

  • o roteador;
  • os especialistas;
  • as camadas de atenção;
  • ou uma combinação desses componentes.

Essa área continua em evolução e possui menos orientação consolidada do que o ajuste fino de modelos densos.

Se o objetivo for apenas adaptação de domínio, compare prompting e retrieval com o modelo base antes de treinar. Com uma janela de contexto de 1 milhão de tokens, inserir o conhecimento de domínio na solicitação pode ser mais barato e mais eficaz.

Configurações de amostragem

A Z.ai recomenda configurações diferentes conforme a tarefa:

Caso de uso temperature top_p
Geral 1.0 0.95
Codificação 0.95 1.0

O modelo também oferece três níveis de raciocínio por meio de reasoning_effort:

  • low;
  • high;
  • max.

max é o padrão. Em hardware local, essa escolha afeta diretamente o tempo de resposta, pois os tokens de raciocínio consomem tempo de GPU e CPU em vez de apenas aumentar o custo de uma chamada de API.

Se a sua máquina gerar tokens lentamente, low pode fazer a diferença entre uma implantação utilizável e uma experiência frustrante.

A auto-hospedagem compensa financeiramente?

Na maioria dos casos, não. O preço da API é o principal motivo.

Pelo preço de tabela, o GLM-5.3-Flash custa US$ 0,15 por milhão de tokens de entrada. Um nó 8x H200 alugado por aproximadamente US$ 1.000 por mês equivale a cerca de 6,7 bilhões de tokens de entrada na API.

Além disso, o nó custa o mesmo quando está saturado ou ocioso. A API cobra apenas pelo uso. Sem uma utilização alta e constante, o custo fixo tende a perder.

As razões mais fortes para auto-hospedar são outras:

  • Residência e privacidade dos dados: nada precisa sair da sua infraestrutura.
  • Ausência de limites de taxa: sua capacidade é limitada apenas pelo hardware disponível.
  • Disponibilidade controlada: você não depende da disponibilidade ou das decisões de preço de um fornecedor.
  • Licença MIT: é possível modificar, fazer ajuste fino e redistribuir os pesos.
  • Hardware existente: se as GPUs já foram compradas e estão ociosas, o custo marginal passa a ser principalmente a eletricidade.

A análise de preços do GLM-5.3-Flash detalha essa comparação pelo lado da API.

Como verificar a implantação

Tanto o vLLM quanto o SGLang expõem endpoints compatíveis com a API da OpenAI. Assim, o mesmo formato de solicitação pode ser usado contra o servidor local e contra a Z.ai:

curl http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "zai-org/GLM-5.3-Flash",
    "messages": [{"role": "user", "content": "reply with OK"}]
  }'
Enter fullscreen mode Exit fullscreen mode

Não limite os testes a uma solicitação simples. Valide também:

  • contexto longo no tamanho realmente usado pela aplicação;
  • entrada de imagens, caso o serviço seja multimodal;
  • chamadas de ferramentas com os esquemas reais;
  • throughput sob concorrência;
  • latência de uma única solicitação;
  • comportamento das builds quantizadas nas tarefas críticas.

Uma suíte de testes salva é especialmente útil. Aponte o Apidog para o servidor local e para o endpoint da Z.ai, usando a URL base como variável de ambiente. Execute a mesma coleção contra os dois ambientes e compare os resultados.

Esse processo revela rapidamente se uma build quantizada ainda suporta os esquemas de ferramentas usados pela sua aplicação — um problema que costuma aparecer somente em produção.

FAQ

Qual é o hardware mínimo?

Para precisão total, use um nó de classe 8x H200. Para builds GGUF quantizadas, é possível usar consideravelmente menos memória, mas a qualidade diminui conforme a quantização se torna mais agressiva.

Preciso manter todos os 320B de parâmetros na memória?

Sim. Embora somente 18B sejam ativados por token, o conjunto completo precisa permanecer residente. A memória é a principal restrição.

Qual é melhor: vLLM ou SGLang?

O SGLang teve suporte no dia zero, oferece receitas multimodais e costuma se destacar em concorrência e saída estruturada. O vLLM tem um ecossistema mais amplo. Compare ambos com a carga de trabalho real.

Posso executar o modelo em uma única GPU?

Não em precisão total. Com quantização agressiva, offload de CPU via KTransformers, uma GPU de alta memória e bastante RAM do sistema, a execução é plausível. Espere uma geração lenta.

A licença é realmente MIT?

Sim. Os pesos são publicados sob a licença MIT, que permite uso comercial, modificação e redistribuição.

Top comments (0)