Show HN: mecanismo de código aberto executando Gemma 4 26B em 2 GB de RAM em qualquer Mac com série M
Um mecanismo de código aberto demonstra como o modelo Gemma 4 26B MoE do Google pode rodar em Macs com série M usando apenas 2 GB de RAM, ao transmitir os pesos dos “experts” a partir do SSD, trocando velocidade bruta por um uso de memória drasticamente menor. Os comentaristas analisam como essa abordagem se compara ao MLX, ao llama.cpp e a projetos como Colibri e DwarfStar, observando que a largura de banda do SSD, o cache de páginas do SO e a memória unificada da Apple agora são tão críticos quanto os FLOPs da GPU para inferência local. A discussão também levanta perguntas mais amplas sobre até onde essas técnicas podem escalar para modelos MoE maiores, se são práticas para trabalho real de programação e o que implicam para o futuro do hardware de consumo e da IA no dispositivo.
Visão geral e objetivos
- O mecanismo executa o Gemma 4 26B MoE localmente em Macs com série M usando ~2 GB de RAM ao fazer streaming dos experts a partir do SSD, em vez de carregar os 14 GB completos de pesos.
- Objetivo: uso em tarefas do dia a dia com pouca RAM, em laptops/desktops da Apple, trocando velocidade por menor uso de memória e privacidade offline.
Desempenho e dependência de hardware
- Velocidades relatadas:
- ~4–6 tok/s em M1/M2 Air/Neo com 8 GB de RAM.
- ~5 tok/s em M4 mini com SSD base; ~12 tok/s em M1 Max Studio.
- ~31–35 tok/s em MacBook Pro M5; ~48 tok/s em M4 Max com 64 GB.
- Grande variação atribuída a:
- Velocidade do SSD (SSDs de M5/M4 Max podem ser de 3–7 GB/s vs ~2 GB/s).
- Largura de banda da memória e cache em nível de sistema.
- Cache de páginas do SO: mais RAM permite que a maior parte dos pesos dos experts permaneça em cache, reduzindo fortemente as leituras reais em disco.
- Sob forte pressão de memória, as velocidades caem, mas degradam de forma gradual em vez de despencar.
Abordagem técnica (MoE + streaming por SSD)
- Usa a esparsidade do MoE: apenas um pequeno subconjunto de experts fica ativo por token.
- Implementa um cache explícito de experts (~16 slots por padrão; mais slots usam mais RAM, mas melhoram a velocidade).
- Taxas de acerto do cache em torno de 60–70%; reutilização parcial por 1–2 tokens.
- Mudança crítica: migração de
mmapparapreadparalelo para os experts:- Benchmarks mostram ~10 ms vs ~2,8–3 ms por expert de 3,36 MB, e ~0,5 → ~4 tok/s em um M2 com 8 GB.
- Sobrepõe leituras do SSD com computação na GPU para ocultar a latência quando possível.
- Lê
250–320 MB do SSD por token em M2 (3 GB/s durante a fase de E/S).
Comparações com outros mecanismos/modelos
- MLX com Gemma 4 completo em RAM no M5: ~75 tok/s, mas usando ~14 GB de RAM.
- Este mecanismo: ~31–35 tok/s na mesma classe de máquina usando ~2 GB de RAM.
- A discussão sugere que o llama.cpp com offload baseado em
mmappode caber em 2 GB, mas seria mais lento. - Outros mecanismos MoE com streaming por SSD (Colibri, Flash-MoE, DwarfStar, MoEspresso) foram citados, em geral visando modelos maiores e Macs de ponta com mais RAM.
Escopo da plataforma e limitações
- Apenas para Mac: depende de Metal e de memória unificada; portar para Windows/Linux ou GPUs discretas exigiria um redesenho (CUDA/Vulkan).
- Atualmente focado em Gemma 4 MoE; Qwen 3.6 MoE poderia funcionar, mas a arquitetura é mais complexa.
- Não é مناسبado para modelos densos ou modelos de difusão nesta implementação.
- MoEs muito grandes (por exemplo, Kimi K3) poderiam, em teoria, ser executados com ideias semelhantes, mas seriam praticamente inutilizáveis em máquinas de 16–64 GB devido à E/S extrema por token.
Utilidade, ceticismo e UX
- Entusiasmo: muitos veem isso como um grande avanço para inferência local em Macs de consumo; engenharia impressionante de “26B em 2 GB”; atraente para uso offline e com preservação de privacidade.
- Ceticismo:
- Alguns argumentam que 5–30 tok/s ainda é lento demais em comparação com modelos na nuvem para codificação séria ou trabalho interativo.
- Outros observam que assistentes locais de codificação de alta qualidade ainda exigem GPUs grandes ou modelos de classe de fronteira.
- O Gemma é visto como forte para tarefas gerais e noções multilíngues básicas, mas mais fraco em codificação do que o Qwen; ainda assim, “bom o suficiente” para algum uso em produção.
Direções futuras e ideias de pesquisa
- Ideias sugeridas:
- Caches de experts maiores quando houver mais RAM disponível.
- Aplicar a mesma abordagem de streaming a modelos MoE maiores à medida que SSDs e RAM crescem.
- Pré-busca especulativa de experts usando heads no estilo MTP; a objeção ressalta que isso é difícil porque o roteamento dos experts é por camada e depende das saídas das camadas anteriores.
- Os novos foundation models da Apple são citados como usando carregamento de experts no nível do prompt como uma abordagem relacionada, mas distinta.
Meta: segurança e “LLM-ese”
- Um comentarista usou um LLM para fazer uma revisão rápida de segurança do repositório; outros debatem o valor e o risco de afirmações do tipo “a IA diz que é seguro”.
- Longa subthread sobre o estilo de escrita polido por LLM no README:
- Alguns não gostam de frases reconhecíveis de “LLM-ese”; outros defendem autores não nativos usando ferramentas para limpar a linguagem.
- O consenso de vários participantes: código e experimentos importam mais do que prosa perfeita.