Autoresearch Impulsiona Qwen3.5-397B para 20,34 tok/s no M5 Max via Transmissão SSD

✍️ OpenClawRadar📅 Publicado: March 30, 2026🔗 Source
Autoresearch Impulsiona Qwen3.5-397B para 20,34 tok/s no M5 Max via Transmissão SSD
Ad

Configuração de Hardware e Modelo

O experimento foi conduzido em um MacBook Pro M5 Max com 128GB de memória unificada e GPU de 40 núcleos. O modelo utilizado foi Qwen3.5-397B-A17B com especialistas Q3-GGUF (precisão mista Unsloth IQ3_XXS/IQ4_XS), embedding Q8_0 e cabeça LM Q6_K. O modelo ocupa 209GB em disco—4x maior que a RAM disponível—exigindo que tudo seja transmitido do SSD.

Resultados de Desempenho

A velocidade de decodificação atingiu 20,34 tok/s com preenchimento a 5,52 tok/s. Isso representa uma melhoria de 2x em relação ao ponto de partida do M5 Max de 10,61 tok/s e uma melhoria de 4,67x em relação à linha de base original de Dan Woods de 4,36 tok/s no hardware M3 Max.

Metodologia

O pesquisador utilizou a metodologia de loop de pesquisa automática do projeto flash-moe de Dan Woods, executando-a com Claude Code (Anthropic) para realizar e avaliar sistematicamente 36 experimentos. Cada experimento foi registrado com resultados antes de prosseguir, com controle de qualidade automático via limites de perplexidade para detectar regressões. A colaboração humano-IA envolveu o pesquisador direcionando a pesquisa e tomando decisões científicas enquanto o Claude Code implementava e fazia benchmarking sob orientação.

Base Técnica

O trabalho se baseia no artigo original flash-moe de Dan Woods e no fork Anemll, que é um mecanismo de inferência puro em C/Metal para executar Qwen3.5-397B via streaming de SSD no Apple Silicon. O fork Anemll adicionou suporte a especialistas Q3-GGUF essencial para esses resultados, com o pesquisador adicionando otimizações adicionais no nível Metal.

Otimizações Eficazes

  • 16 threads de E/S + cache-io-split=4: Em vez de ler cada arquivo de peso de especialista como um único bloco sequencial, dividir em 4 leituras paralelas alinhadas por página que atingem diferentes canais de SSD simultaneamente. +1,5 tok/s
  • Predição temporal de especialistas: Descoberta correlação de roteamento entre tokens de 27%, sobrepondo leituras de SSD com computação GPU. +4,3 tok/s
  • Especialistas Q3-GGUF (Unsloth IQ3_XXS/IQ4_XS): Carga útil menor com Q3 como ponto ideal. Melhor perplexidade que 4 bits (5,58 vs 5,62) sendo 23% menor. +2,3 tok/s
  • Pré-codificação CMD2: Eliminar lacuna de submissão de 30μs por camada. +0,44 tok/s
  • Kernel de projeção Q/K/V fundido: Ler vetor de entrada uma vez em vez de três vezes (otimização GPU Metal). +0,76 tok/s
  • Pré-codificação CMD2 estendida para todas as camadas de atenção completa: +0,47 tok/s

Nota: Os ganhos não são perfeitamente aditivos, pois algumas otimizações interagem entre si.

Ad

Abordagens Falhas

A pesquisa teve uma taxa de descarte de 78%. Abordagens falhas incluíram: quantização QJL de 1 bit (perplexidade 5647, catastrófica), ternário de 2 bits com 84% de esparsidade de peso (modelo colapsou), roteamento de especialistas K=3 (colapso de qualidade), predição entre camadas (taxa de acerto 0%), descarregamento NAX (sobrecarga de preenchimento de tile cancelou ganhos) e especialistas MLX de 2 bits (mais rápidos isoladamente, mas pior perplexidade e sem vantagem de velocidade uma vez que a predição temporal foi aplicada ao Q3).

Limitações e Trabalho Futuro

A pesquisa está limitada a uma única plataforma de hardware, portanto os resultados podem não se generalizar. A quantização Q3 nesta escala degrada perceptivelmente na geração de formato longo, produzindo artefatos em respostas mais longas, apesar da qualidade aceitável para tarefas curtas. A qualidade foi avaliada apenas via perplexidade, não benchmarks padronizados como MMLU ou GPQA. Este é um projeto de pesquisa de velocidade, não uma afirmação de qualidade de produção.

Uma descoberta surpreendente: o Neural Engine (ANE) da Apple ficou completamente inativo durante a inferência, consumindo 0W apesar de oferecer 38 TOPS de computação. O problema é que a inferência MoE precisa decidir quais especialistas ativar dinamicamente, enquanto o ANE só funciona com grafos pré-compilados estáticos. Pode haver uma oportunidade para preenchimento em lote.

📖 Read the full source: r/LocalLLaMA

Ad

👀 See Also