Flash-MoE: Executando o Modelo Qwen de 397B Parâmetros no MacBook Pro com C/Metal Puro

Implementação Técnica
O Flash-MoE executa o Qwen3.5-397B-A17B, um modelo Mixture-of-Experts com 397 bilhões de parâmetros e 60 camadas de transformer: 45 GatedDeltaNet (atenção linear) + 15 atenção padrão completa. Cada camada possui 512 especialistas, com K=4 ativados por token mais um especialista compartilhado. A dimensão oculta é 4096.
Benchmarks de Desempenho
- Especialistas de 4 bits, kernel FMA: 4,36 tokens/segundo, qualidade excelente, chamada de ferramentas completa, 209GB em disco (melhor atual)
- Especialistas de 4 bits, linha de base: 3,90 tokens/segundo, qualidade excelente
- Especialistas de 2 bits, confiar no SO: 5,74 tokens/segundo, boa qualidade, 120GB em disco (quebra JSON/chamada de ferramentas)
- Pico de token único de 2 bits: 7,05 tokens/segundo, boa qualidade (não adequado para uso de ferramentas)
Observação: a quantização de 2 bits produz \nome\ em vez de "nome" na saída JSON, tornando a chamada de ferramentas não confiável. A configuração de 4 bits é a de produção.
Requisitos de Hardware
- Máquina: MacBook Pro com Apple M3 Max
- Chip: CPU de 16 núcleos (12P + 4E), GPU de 40 núcleos, ANE de 16 núcleos
- Memória: 48 GB unificada (~400 GB/s de largura de banda)
- SSD: 1TB Apple Fabric, leitura sequencial de 17,5 GB/s (medida)
- macOS: 26.2 (Darwin 25.2.0)
Técnicas Principais
Streaming de Especialistas do SSD
Os pesos dos especialistas (209GB em 4 bits) são lidos do SSD NVMe sob demanda via pread() paralelo com grupos de despacho GCD. Apenas os K=4 especialistas ativos por camada são carregados (~6,75MB cada). O cache de página do SO gerencia o cache sem necessidade de cache personalizado (princípio "Confiar no SO"), alcançando ~71% de taxa de acerto naturalmente.
Kernel de Desquantização Otimizado com FMA
O loop interno da multiplicação matriz-vetor desquantizada de 4 bits reorganiza a matemática de (nibble * escala + viés) * x para fma(nibble, escala*x, viés*x). Pré-calcular escala*x e viés*x permite que a unidade de multiplicação-soma fundida da GPU execute desquantização+multiplicação em uma instrução, resultando em desempenho 12% mais rápido que a formulação ingênua.
Shaders de Computação Metal
Os kernels Metal escritos à mão incluem:
- Multiplicação matriz-vetor desquantizada de 4 e 2 bits (em blocos, redução SIMD, cache de entrada compartilhada, otimizada com FMA)
- Ativação SwiGLU fundida
- Normalização RMS (duas passagens: redução de soma de quadrados + aplicação)
- Atenção GPU em lote (Q@K^T, softmax, scores@V) para camadas de atenção completa
- RoPE na GPU (fundida com desintercalação de Q e normalização de K)
- Combinação MoE + residual + porta sigmoide (kernel fundido)
Computação de Especialista na GPU Adiada
O CMD3 (passagem direta do especialista) é enviado sem espera. A GPU o executa enquanto a CPU prepara a próxima camada. A combinação + residual + normalização também estão na GPU, alimentando diretamente as projeções de atenção da próxima camada.
BLAS Acelerado para Atenção Linear
A recorrência do GatedDeltaNet usa cblas_sscal, cblas_sgemv e cblas_sger para a atualização da matriz de estado 64-head × 128×128, alcançando desempenho 64% mais rápido que o código escalar.
Desempenho do Pipeline
Média por camada em 4 bits: 4,28ms
- CMD3(anterior) → CMD1: projeções de atenção + delta-net [1,22ms GPU]
- CPU: liberar resultados [0,01ms CPU]
- CMD2: o_proj + norm + roteamento + compartilhado [0,55ms GPU]
- CPU: softmax + roteamento topK [0,003ms]
- E/S: pread paralelo K=4 especialistas [2,41ms SSD]
- CMD3: passagem direta do especialista + combinação + norm [0,04ms codificar, ADIADO]
Restrições de Arquitetura
No Apple Silicon, o DMA do SSD e a computação da GPU compartilham o mesmo controlador de memória e não podem ser sobrepostos de forma lucrativa. Os kernels de desquantização da GPU estão saturados de largura de banda em ~418 GiB/s. Mesmo pequenos DMAs de SSD em segundo plano causam picos de latência desproporcionais na GPU por meio da arbitragem do controlador de memória, exigindo um pipeline serial.
📖 Leia a fonte completa: HN AI Agents
👀 See Also

Relay: Uma Ferramenta para Transferir Sessões de Código do Claude para Outros Agentes de IA
Relay é um binário Rust que extrai o contexto da sessão do Claude Code — incluindo histórico de conversas, chamadas de ferramentas, erros e estado do git — e o transfere para outros agentes de IA como Codex ou Gemini quando os limites de taxa são atingidos. Ele suporta 8 agentes e pode ser instalado via GitHub ou npm.

codebase-md: Ferramenta gera automaticamente CLAUDE.md com manutenção de git hook
codebase-md v0.1.0 analisa projetos para gerar arquivos CLAUDE.md com detecção de arquitetura, verificações de saúde de dependências e insights do git. Inclui hooks do git para manter a documentação atualizada e suporta outras ferramentas de codificação de IA com arquivos de configuração adicionais.

Gerenciador de múltiplas contas de código aberto para o CLI do Claude permite alternar entre perfis
claude-multi-account é uma ferramenta CLI que cria perfis isolados para diferentes contas do Claude, permitindo alternar instantaneamente sem fazer logout. Ela suporta configurações compartilhadas, backup em nuvem e funciona no Windows, Linux, macOS e Termux.

OMAR: TUI de Código Aberto para Gerenciar Centenas de Agentes de Codificação de IA Hierarquicamente
OMAR é um dashboard em terminal que permite gerenciar enxames de agentes de codificação (Claude Code, Codex, Cursor, Opencode) em organizações hierárquicas. Construído sobre tmux. Recursos incluem hierarquias de agente-gerenciando-agente, backends heterogêneos e integração com Slack.