/ ComfyUI / Corrigir Geração Flux Extremamente Lenta no Apple Silicon - Guia Completo
ComfyUI 17 min de leitura

Corrigir Geração Flux Extremamente Lenta no Apple Silicon - Guia Completo

Resolva a geração Flux extremamente lenta no Apple Silicon que leva horas por imagem com configurações de memória, backend e otimização

Corrigir Geração Flux Extremamente Lenta no Apple Silicon - Guia Completo - Complete ComfyUI guide and tutorial

Se o seu Mac da série M leva de 30 minutos a uma hora para gerar uma única imagem Flux, algo está fundamentalmente errado na sua configuração. Você está experimentando o clássico problema de Flux lento no Mac. O Apple Silicon deveria gerar imagens Flux em 30 a 90 segundos dependendo da sua variante de chip e resolução - não horas. O desempenho extremo de Flux lento no Mac que você está experimentando quase certamente deriva de um de dois problemas críticos: PyTorch retornando para execução CPU em vez de usar a GPU Metal, ou pressão severa de memória causando thrashing constante de swap. Ambos os problemas de Flux lento no Mac são corrigíveis assim que você entender o que está acontecendo e como diagnosticar.

Este guia abrangente cobre todos os aspectos da correção de problemas de Flux lento no Mac no Apple Silicon.

Este guia orienta você na identificação de qual problema você tem, implementação das correções apropriadas e otimização da sua configuração Mac para alcançar o desempenho que o Apple Silicon é realmente capaz de entregar. Embora o desempenho do Mac não iguale hardware NVIDIA de preço equivalente, você deveria obter tempos de geração razonáveis que tornam a geração local de Flux prática para experimentação e trabalho criativo.

Entendendo Por Que Apple Silicon Flux Pode Ser Extremamente Lento

Para corrigir o problema de Flux lento no Mac, você primeiro precisa entender os dois cenários que causam tempos de geração de horas, porque as correções para problemas de Flux lento no Mac são completamente diferentes.

O primeiro cenário é fallback para CPU. Quando o backend Metal Performance Shaders (MPS) do PyTorch não está funcionando corretamente, o PyTorch silenciosamente retorna para execução CPU. A inferência de rede neural baseada em CPU é aproximadamente 50 a 100 vezes mais lenta que a execução GPU, transformando uma geração de 60 segundos em uma provação de 60 minutos. Isso acontece sem mensagens de erro óbvias - sua geração simplesmente leva uma eternidade enquanto o uso de CPU maximiza e a GPU fica completamente ociosa.

Várias condições causam fallback para CPU. Você pode ter instalado uma versão x86 do Python rodando através da tradução Rosetta em vez de Python ARM nativo. Sua instalação PyTorch pode não ter suporte MPS, seja porque é uma versão antiga ou foi instalada incorretamente. Certas operações no modelo podem não ter implementações MPS, fazendo todo o cálculo retornar para CPU. Ou o próprio macOS pode ter problemas com MPS que uma atualização do sistema resolveria.

O segundo cenário é thrashing de memória. O Apple Silicon usa memória unificada compartilhada entre CPU e GPU, o que elimina a necessidade de gerenciamento explícito de VRAM da GPU mas cria um problema diferente: quando a demanda total de memória excede a RAM disponível, o macOS pagina dados para armazenamento swap em SSD. Para um modelo intensivo em memória como Flux que precisa manter grandes tensores residentes, paginação constante para e do swap cria desacelerações dramáticas já que o sistema gasta mais tempo movendo dados do que computando.

O thrashing de memória afeta principalmente Macs com 8GB ou 16GB de memória unificada. O modelo de precisão total do Flux requer aproximadamente 23GB apenas para os pesos, e a inferência adiciona memória de ativação substancial além disso. Mesmo com quantização GGUF reduzindo significativamente os requisitos de memória, um Mac de 8GB rodando Flux terá muito thrashing. Um Mac de 16GB pode funcionar com modelos quantizados se nada mais estiver consumindo memória, mas abas do navegador, processos em segundo plano e o próprio macOS consomem o espaço disponível.

A boa notícia é que ambos os problemas são diagnosticáveis e corrigíveis. Vamos começar com o diagnóstico.

Diagnosticando Fallback CPU vs. Thrashing de Memória

Antes de tentar correções de Flux lento no Mac, determine qual problema você está experimentando. A abordagem de diagnóstico para problemas de Flux lento no Mac difere, e aplicar a correção errada desperdiça tempo.

Para usuários novos no ComfyUI em Mac, nosso guia de nodes essenciais cobre conceitos fundamentais que se aplicam tanto ao Mac quanto a outras plataformas.

Para verificar fallback CPU, abra o Monitor de Atividade antes de iniciar uma geração e observe tanto o uso de CPU quanto de GPU durante o processo. Em um sistema corretamente configurado, o uso de GPU deveria aumentar alto enquanto os núcleos CPU individuais permanecem relativamente calmos (alguma atividade CPU é normal para preparação de dados). Se você vir todos os núcleos CPU no máximo em 100% enquanto o uso de GPU permanece perto de zero durante toda a geração, você está atingindo fallback CPU.

Você também pode verificar a disponibilidade MPS diretamente em Python. Abra o Terminal e execute:

python3 -c "import torch; print('MPS disponível:', torch.backends.mps.is_available()); print('MPS construído:', torch.backends.mps.is_built())"

Ambos os valores deveriam imprimir True. Se MPS não estiver disponível, sua instalação PyTorch precisa ser corrigida antes que qualquer outra coisa ajude.

Verifique se você está rodando Python ARM nativo, não x86 através de Rosetta:

python3 -c "import platform; print('Arquitetura:', platform.machine())"

Isso deveria imprimir "arm64". Se imprimir "x86_64", você está rodando a arquitetura Python completamente errada, e MPS não pode funcionar.

Para diagnosticar thrashing de memória, observe a aba Memória do Monitor de Atividade durante a geração. Observe o gráfico de Pressão de Memória e o valor de Swap Usado. Pressão de memória verde com uso mínimo de swap indica memória adequada. Pressão de memória amarela ou vermelha com swap crescendo durante a geração indica thrashing. Você também pode observar a atividade de Disco no Monitor de Atividade - atividade pesada de disco durante o que deveria ser uma tarefa limitada por computação sugere atividade de swap.

Outro diagnóstico é a progressão do tempo de geração. Com fallback CPU, a geração prossegue em um ritmo lento mas constante - cada passo leva muito tempo mas a porcentagem de conclusão avança consistentemente. Com thrashing de memória, você verá progresso irregular onde alguns passos completam relativamente rápido enquanto outros travam por períodos prolongados quando o sistema faz swap.

Se você está vendo tanto alta CPU quanto atividade significativa de swap, você provavelmente tem ambos os problemas - fallback CPU causando padrões de computação ineficientes que disparam mais pressão de memória. Corrija o fallback CPU primeiro, depois aborde a memória se necessário.

Corrigindo Problemas de Fallback CPU

Se você determinou que o PyTorch está retornando para CPU em vez de usar MPS, aqui está como corrigir este problema de Flux lento no Mac. Fallback CPU é a causa mais comum de performance de Flux lento no Mac.

Primeiro, certifique-se de ter Python ARM nativo instalado. A abordagem mais fácil é instalar Python através do Homebrew, que automaticamente fornece a versão ARM em Macs Apple Silicon:

# Instale Homebrew se você não tiver
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

# Instale Python
brew install python@3.11

Se você instalou Python por outros meios, verifique a arquitetura como mostrado acima e reinstale se for x86.

Em seguida, crie um ambiente virtual limpo para evitar contaminação de instalações anteriores quebradas:

python3 -m venv ~/flux_env
source ~/flux_env/bin/activate

Agora instale PyTorch com suporte MPS. A instalação oficial do PyTorch para Mac inclui suporte MPS por padrão em versões recentes:

pip install --upgrade pip
pip install torch torchvision torchaudio

Verifique se a instalação funcionou:

Fluxos de Trabalho ComfyUI Gratuitos

Encontre fluxos de trabalho ComfyUI gratuitos e de código aberto para as técnicas deste artigo. Open source é poderoso.

100% Grátis Licença MIT Pronto para Produção Dar Estrela e Testar
python -c "import torch; print('Versão PyTorch:', torch.__version__); print('MPS disponível:', torch.backends.mps.is_available())"

Se MPS ainda não estiver disponível, você pode precisar atualizar o macOS. O suporte MPS melhorou significativamente através de atualizações do macOS, e algumas operações requerem versões recentes. Atualize para a versão mais recente do macOS disponível para seu Mac.

Algumas configurações se beneficiam de habilitar o modo fallback MPS, que permite que operações sem implementações MPS nativas retornem para CPU enquanto ainda usa MPS para todo o resto. Isso é melhor que fallback completo para CPU:

export PYTORCH_ENABLE_MPS_FALLBACK=1

Adicione isso ao seu perfil shell (~/.zshrc para o shell padrão do macOS) para torná-lo permanente.

Com fallback CPU resolvido, verifique se a correção funcionou gerando uma imagem enquanto observa o Monitor de Atividade. Você deveria ver o uso de GPU subir enquanto o uso de CPU permanece moderado. O tempo de geração deveria cair de horas para menos de dois minutos para configurações típicas.

Corrigindo Problemas de Pressão de Memória

Se seu Mac tem funcionalidade MPS adequada mas thrashing de memória causa performance de Flux lento no Mac, você precisa reduzir requisitos de memória ou aumentar memória disponível. Pressão de memória é a segunda principal causa de problemas de Flux lento no Mac.

A mudança mais impactante é usar modelos quantizados. A quantização GGUF reduz dramaticamente os requisitos de memória enquanto mantém qualidade razoável. Um modelo Flux quantizado Q8_0 precisa de aproximadamente 12GB comparado com 23GB para precisão total. Uma quantização Q4_K_M reduz isso para cerca de 6GB, tornando Flux acessível mesmo em Macs de 8GB com cuidado.

Baixe modelos Flux quantizados GGUF de repositórios HuggingFace que os fornecem. Instale o pacote de nodes ComfyUI-GGUF para carregá-los:

cd ~/ComfyUI/custom_nodes
git clone https://github.com/city96/ComfyUI-GGUF
pip install -r ComfyUI-GGUF/requirements.txt

Então use os nodes carregadores GGUF em vez dos carregadores de checkpoint padrão.

Se você tem um Mac de 16GB ou maior e quer usar modelos de precisão total, maximize a memória disponível antes da geração. Feche navegadores completamente - Chrome com múltiplas abas pode facilmente consumir 4-8GB. Saia do Slack, Discord, Spotify e outros aplicativos em segundo plano. Verifique o Monitor de Atividade para processos consumindo memória significativa e feche tudo desnecessário.

As flags de gerenciamento de memória do ComfyUI importam significativamente no Mac. Use a flag --highvram:

python main.py --highvram

Isso diz ao ComfyUI para manter modelos na memória em vez de movê-los. Em sistemas de memória unificada, o offloading que --lowvram realiza não fornece benefício (não há VRAM de GPU separada para economizar) enquanto adiciona overhead de movimento de dados desnecessário.

Quer pular a complexidade? Apatero oferece resultados profissionais de IA instantaneamente sem configuração técnica.

Sem configuração Mesma qualidade Comece em 30 segundos Experimentar Apatero Grátis
Cartão de crédito não necessário

NÃO use --lowvram ou --medvram no Mac. Essas flags são projetadas para GPUs discretas com VRAM limitada, onde descarregar pesos do modelo para RAM do sistema durante computação economiza VRAM ao custo de overhead de transferência. Com memória unificada, os pesos já estão no mesmo pool de memória que a GPU acessa, então offloading apenas adiciona latência de transferência sem benefício.

Para Macs com memória limitada rodando modelos quantizados, considere reduzir a resolução de geração. Gerar em 768x768 em vez de 1024x1024 reduz substancialmente a memória de ativação durante a inferência. Você pode aumentar a escala do resultado depois se necessário.

Otimizando Configuração ComfyUI para Apple Silicon

Além de corrigir os problemas principais, várias escolhas de configuração otimizam a performance do Apple Silicon.

Use atenção nativa em vez de xFormers. xFormers requer CUDA e não funciona no Mac de forma alguma - não se preocupe em tentar instalá-lo. A implementação de atenção nativa do ComfyUI funciona com MPS e fornece performance razoável.

Escolha precisão apropriada. FP16 (meia precisão) usa metade da memória de FP32 e é tipicamente a escolha certa para geração Mac. A maioria dos modelos funciona bem em FP16, e as economias de memória são substanciais. O suporte BF16 varia por versão do macOS e geração do chip - é geralmente suportado em M2 e posterior com macOS recente, mas FP16 é a escolha segura.

Configure essas configurações ao iniciar o ComfyUI:

python main.py --highvram --force-fp16

A flag --force-fp16 garante que operações usem meia precisão onde possível.

Monitore sua primeira geração cuidadosamente após fazer mudanças de configuração. A primeira geração em um novo lançamento do ComfyUI inclui carregamento de modelo e overhead de compilação de shader Metal, tornando-a mais lenta que gerações subsequentes. Cronometre a segunda ou terceira geração para avaliação de performance precisa.

Se você está usando o ComfyUI Manager, esteja ciente de que instalar muitos nodes personalizados aumenta o consumo de memória e pode contribuir para pressão em sistemas de memória limitada. Instale apenas nodes que você realmente usa.

Expectativas de Performance Realistas

Com configuração adequada e problemas de Flux lento no Mac resolvidos, aqui está o que esperar de diferentes chips Apple Silicon rodando Flux em resolução 1024x1024 com 20 passos:

Junte-se a outros 115 membros do curso

Crie Seu Primeiro Influenciador IA Ultra-Realista em 51 Lições

Crie influenciadores IA ultra-realistas com detalhes de pele realistas, selfies profissionais e cenas complexas. Receba dois cursos completos em um pacote. ComfyUI Foundation para dominar a tecnologia e Fanvue Creator Academy para aprender a se promover como criador de IA.

Preço promocional termina em:
--
Dias
:
--
Horas
:
--
Minutos
:
--
Segundos
51 Lições • 2 Cursos Completos
Pagamento Único
Atualizações Vitalícias
Economize $200 - Preço Aumenta Para $399 Permanentemente
Desconto antecipado para nossos primeiros alunos. Estamos constantemente adicionando mais valor, mas você garante $199 para sempre.
Para iniciantes
Pronto para produção
Sempre atualizado

Chips base M1/M2 (GPU 8-core, 8-16GB memória): Esses chips podem rodar Flux mas estão no limite da capacidade. Com quantização Q4 e gerenciamento de memória cuidadoso, espere 60-90 segundos para gerações padrão. As variantes de 8GB requerem quantização agressiva e geram em resoluções menores para evitar thrashing.

Chips M1/M2/M3 Pro (GPU 14-16 core, 16-32GB memória): Este é o ponto ideal para geração Flux no Mac. Com variantes de memória 18GB+, você pode rodar modelos quantizados Q8 confortavelmente. Espere 45-70 segundos para gerações padrão, com tempos mais rápidos em configurações de memória maior que evitam qualquer pressão de swap.

Chips M3/M4 Pro e Max (até GPU 40-core, até 128GB memória): Os chips high-end fornecem a melhor performance Mac. M3 Max e M4 Max com 64GB+ de memória podem rodar Flux de precisão total sem pressão de memória. Espere 30-50 segundos para gerações padrão, com os chips Max mais bem configurados se aproximando de 30 segundos.

Comparação com NVIDIA: Mesmo o M4 Max mais rápido é mais lento que uma RTX 4070 de médio porte, e substancialmente mais lento que uma RTX 4090. Uma RTX 4090 gera imagens Flux em 8-12 segundos com configurações comparáveis. Se performance bruta é sua prioridade e você não está comprometido com o ecossistema Mac, NVIDIA fornece performance muito melhor por dólar. Geração Flux no Mac faz sentido se você precisa trabalhar no Mac por outras razões e aceita o compromisso de performance.

Essas expectativas assumem sistemas corretamente configurados com quantização apropriada para sua memória. Se você está vendo tempos muito piores que essas faixas após aplicar as correções neste guia, algo mais está errado - revisite os passos de diagnóstico.

Otimizações Avançadas

Uma vez que você tem o básico funcionando corretamente, várias técnicas avançadas podem extrair performance adicional.

MLX é o framework de machine learning da Apple otimizado especificamente para Apple Silicon. Modelos portados para MLX podem rodar mais rápido que implementações PyTorch MPS porque MLX foi projetado do zero para o hardware da Apple. O ecossistema MLX está crescendo, e implementações Flux existem. Se você está confortável configurando ambientes MLX, vale a pena testar se fornece melhor performance que PyTorch MPS para seu caso de uso.

Ajuste de gerenciamento de memória pode ajudar em sistemas limitados. Definir a variável de ambiente PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 diz ao PyTorch para não armazenar em cache alocações de memória, o que pode reduzir uso de memória de pico ao custo de mais overhead de alocação. Isso troca alguma performance pela capacidade de rodar em sistemas de menor memória:

export PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0

Se você roda ComfyUI regularmente, configure limpeza automática de memória. ComfyUI pode armazenar em cache dados de gerações anteriores por conveniência, mas isso consome memória. A UI tem opções para descarregar modelos automaticamente após uso, o que libera memória para outros aplicativos entre sessões de geração.

Considere o ambiente térmico. Cargas de trabalho de geração sustentadas aquecem o chip, e Apple Silicon reduz velocidade quando quente. Garanta boa ventilação, evite empilhar coisas no seu MacBook, e considere um suporte de refrigeração para sessões de geração prolongadas. A performance degrada notavelmente quando throttling térmico entra em ação.

Perguntas Frequentes

Por que minha geração Flux de repente ficou lenta quando funcionava antes?

Atualizações do macOS às vezes quebram funcionalidade MPS temporariamente, requerendo atualizações PyTorch para restaurar compatibilidade. Após qualquer atualização macOS, verifique se MPS ainda está disponível e atualize PyTorch se necessário. Também verifique se uma atualização macOS aumentou consumo de memória em segundo plano, criando nova pressão em sistemas limitados.

8GB de RAM é suficiente para Flux no Mac?

Mal, e apenas com quantização Q4 agressiva e nada mais rodando. A geração será lenta devido à pressão de memória mesmo com quantização. 16GB é o mínimo realista, e 24GB+ fornece margem confortável. Se você está comprando um novo Mac para trabalho de IA, pegue o máximo de memória que puder - não é atualizável depois.

Devo usar Rosetta para ComfyUI?

Nunca. Tradução Rosetta adiciona overhead e impede MPS de funcionar completamente. Sempre use Python ARM nativo e pacotes. Se algo só funciona através de Rosetta, encontre uma alternativa ARM.

Minha primeira geração é lenta mas subsequentes são rápidas - isso é normal?

Sim. A primeira geração inclui carregamento de modelo e compilação de shader Metal, ambos armazenados em cache para execuções subsequentes. Cronometre a segunda ou terceira geração para avaliação de performance representativa.

Versões futuras do macOS tornarão Flux mais rápido?

Provavelmente sim, incrementalmente. Apple continua melhorando MPS com cada lançamento, e PyTorch melhora seu backend MPS também. Atualizações também podem trazer melhor suporte MLX para modelos populares. No entanto, não espere acelerações dramáticas - o hardware é a restrição fundamental.

Posso usar uma GPU externa para melhorar performance?

Não. macOS abandonou suporte eGPU para Macs Apple Silicon, e não era ótimo mesmo quando suportado. Sua GPU interna é o que você tem. Se você precisa de mais poder de GPU, considere serviços em nuvem ou um sistema NVIDIA dedicado.

Por que meu M3 Max é mais lento que benchmarks reportados?

Verifique se você não está atingindo throttling térmico durante geração prolongada. Verifique configuração de memória - a comparação pode usar precisão total enquanto você usa quantização, ou vice-versa. Também garanta que você está comparando igual com igual: mesmo modelo, resolução, passos e configurações.

MLX é melhor que PyTorch MPS para Flux?

Às vezes sim, às vezes não. MLX pode ser mais rápido para modelos que têm boas implementações MLX, mas o ecossistema é menor que PyTorch. Teste ambos se tiver tempo, mas PyTorch MPS é a opção mais madura e melhor documentada atualmente.

Minha geração falha com "MPS backend out of memory" - o que faço?

Este erro significa que sua geração excedeu memória disponível. Reduza resolução, use quantização mais agressiva, feche outros aplicativos, ou se nada disso for possível, a geração simplesmente não cabe no seu hardware. Serviços em nuvem fornecem uma maneira de gerar em configurações que seu hardware local não pode lidar.

Devo desabilitar recursos do macOS como Spotlight para liberar memória?

As economias de memória de desabilitar recursos do macOS são mínimas comparadas aos requisitos de memória do Flux. Foque em fechar aplicativos reais e usar quantização apropriada. Desabilitar recursos úteis do macOS para ganhos marginais de memória não vale a pena.

Conclusão

Corrigir o problema de Flux lento no Mac quase sempre se resume a fallback CPU ou thrashing de memória. Com diagnóstico adequado e correções direcionadas para problemas de Flux lento no Mac, você deveria alcançar tempos de geração de 30 a 90 segundos dependendo do seu chip e configuração - longe das provações de horas que levaram você a ler este guia.

Comece verificando disponibilidade MPS e que você está rodando Python ARM nativo. Se você está experimentando fallback CPU como sua causa de Flux lento no Mac, corrija sua instalação Python e PyTorch antes de qualquer outra coisa. Se memória é o problema de Flux lento no Mac, use modelos quantizados apropriados para sua capacidade de memória e inicie ComfyUI com --highvram.

Apple Silicon fornece capacidade razoável de geração Flux local quando problemas de Flux lento no Mac são adequadamente resolvidos. Não é tão rápido quanto NVIDIA, mas é suficiente para experimentação e trabalho criativo. A chave é garantir que você está realmente usando a GPU como pretendido em vez de lutar contra fallback CPU silencioso ou pressão de memória que transforma geração em um exercício de frustração.

Para treinamento de LoRA Flux que pode complementar seus workflows Mac, nosso guia de treinamento LoRA Flux cobre técnicas de treinamento (embora treinamento seja tipicamente feito em hardware mais poderoso).

Para usuários que querem geração Flux mais rápida sem limitações Mac e sem problemas de Flux lento no Mac, Apatero.com fornece geração acelerada por NVIDIA que completa em segundos em vez de minutos.

Pronto para Criar Seu Influenciador IA?

Junte-se a 115 alunos dominando ComfyUI e marketing de influenciadores IA em nosso curso completo de 51 lições.

Preço promocional termina em:
--
Dias
:
--
Horas
:
--
Minutos
:
--
Segundos
Garanta Sua Vaga - $199
Economize $200 - Preço Aumenta Para $399 Permanentemente