Meu laptop de 2,5 anos pode escrever invasores de espaço em JavaScript agora, usando o GLM-4.5 Air and MLX
Meu laptop de 2,5 anos pode escrever invasores de espaço em JavaScript agora, usando o GLM-4.5 Air and MLX
29 de julho de 2025
Eu escrevi sobre a nova família de modelos GLM-4.5 ontem-novos modelos de peso aberto (MIT licenciado) da Z.ai na China, que seus benchmarks reivindicam altamente a pontuação na codificação, mesmo contra modelos como o Claude Sonnet 4.
Os modelos são muito grandes-o modelo menor GLM-4.5 ainda é de 106 bilhões de parâmetros totais, que é 205,78 GB em abraçar o rosto.
Ivan Fioravanti construiu esta versão quantizada de 3bits de 44 GB para MLX, especificamente de tamanho para que pessoas com máquinas de 64 GB pudessem ter uma chance de executá -lo. Eu tentei … e funciona extremamente bem.
Eu alterei o seguinte prompt:
Write an HTML and JavaScript page implementing space invaders
E se afastou por um tempo e produziu o seguinte:
Claramente, este não é um exemplo particularmente novo, mas ainda acho que é digno de nota que um modelo em execução no meu laptop de 2,5 anos (um MacBook Pro M2 de 64 GB) é capaz de produzir código como esse – especialmente o código que funcionou pela primeira vez sem mais edições necessárias.
Como eu corri o modelo
Eu tive que executá -lo usando o atual main Filial da biblioteca MLX-LM (para garantir que eu tivesse esse compromisso adicionando glm4_moe apoiar). Eu corri isso usando UV assim:
uv run \
--with 'https://github.com/ml-explore/mlx-lm/archive/489e63376b963ac02b3b7223f778dbecc164716b.zip' \
python
Então, nesse intérprete Python, usei a receita padrão para executar modelos MLX:
from mlx_lm import load, generate model, tokenizer = load("mlx-community/GLM-4.5-Air-3bit")
Que baixou 44 GB de pesos do modelo para o meu ~/.cache/huggingface/hub/models--mlx-community--GLM-4.5-Air-3bit pasta.
Então:
prompt = "Write an HTML and JavaScript page implementing space invaders" messages = ({"role": "user", "content": prompt}) prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) response = generate( model, tokenizer, prompt=prompt, verbose=True, max_tokens=8192 )
A resposta começou assim:
O usuário quer que eu crie um jogo de invasores espaciais usando HTML, CSS e JavaScript. Eu preciso criar um jogo completo e funcional com os seguintes recursos:
- Nave espacial do jogador que pode se mover para a esquerda/direita e atirar
- Invasores inimigos que se movem em formação e disparam de volta
- Rastreamento de pontuação
- Sistema de vidas/saúde
- Jogo sobre as condições (…)
Seguido pelo HTML e esta saída de depuração:
Prompt: 14 tokens, 14.095 tokens-per-sec
Generation: 4193 tokens, 25.564 tokens-per-sec
Peak memory: 47.687 GB
Você pode ver a transcrição completa aqui ou visualizar a fonte no Github ou experimentá -la no seu navegador.
Um pelicano para uma boa medida
Eu corri meu benchmark Pelican contra os modelos de tamanho completo ontem, mas não pude resistir a tentar contra esse modelo menor de 3 bits. Aqui está o que eu recebi "Generate an SVG of a pelican riding a bicycle":

Aqui está a transcrição para isso.
Nos dois casos, o modelo usou cerca de 48 GB de RAM no pico, deixando -me com apenas 16 GB para todo o resto – tive que sair de alguns aplicativos para que o modelo funcione, mas a velocidade era muito boa quando chegou.
Os modelos de codificação local são realmente bons agora
É interessante como quase todos os modelos lançados em 2025 têm como alvo especificamente a codificação. Esse foco está claramente valendo a pena: esses modelos de codificação estão recebendo Muito bom agora.
Dois anos atrás, quando tentei pela primeira vez lhama, nunca sonhou Que o mesmo laptop que eu estava usando um dia seria capaz de executar modelos com recursos tão fortes quanto o que estou vendo do GLM 4.5 Air – e Mistral 3.2 Small, e Gemma 3 e Qwen 3, e uma série de outros modelos de alta qualidade que surgiram nos últimos seis meses.
