O Nunchaku é um mecanismo de inferência de código aberto desenvolvido pelo MIT HAN Lab que se concentra na execução eficiente de modelos de difusão quantificados de 4 bits. Ele usa a tecnologia SVDQuant para quantificar os pesos e as ativações de um modelo em 4 bits, reduzindo significativamente o espaço de memória e a latência da inferência. FLUXO e modelos de difusão, como o SANA, para tarefas como geração, edição e conversão de imagens. Ele é compatível com ComfyUI O projeto oferece uma interface fácil de usar para que pesquisadores e desenvolvedores executem modelos complexos em dispositivos de poucos recursos. O projeto é de código aberto no GitHub com uma comunidade ativa, fornecendo documentação detalhada e exemplos de scripts para os usuários começarem rapidamente.
Lista de funções
- Suporta inferência de modelo de difusão quantificada de 4 bits com redução de 3,6 vezes no espaço de memória e aumento de velocidade de até 8,7 vezes.
- Compatível com a família de modelos FLUX.1, incluindo FLUX.1-dev, FLUX.1-schnell e FLUX.1-tools.
- Oferece uma variedade de tarefas de geração, como texto para imagem, esboço para imagem, mapa de profundidade/mapa de bordas para imagem e restauração de imagem.
- O carregamento de LoRA é suportado, permitindo que os usuários carreguem modelos personalizados para aprimorar a geração.
- A integração com a ComfyUI oferece uma interface de operador baseada em nós que simplifica a configuração do fluxo de trabalho.
- Oferece suporte à edição de imagens em linguagem natural e à modificação de imagens com base em texto por meio do FLUX.1-Kontext-dev.
- Oferece suporte à precisão do FP16 para otimizar o desempenho do modelo e a qualidade da geração.
- Oferece integração ao PuLID v0.9.1 com suporte para caminhos de modelos personalizados e controle de intervalo de tempo.
Usando a Ajuda
Processo de instalação
A instalação do Nunchaku requer a garantia de que seu sistema atenda aos requisitos básicos, incluindo PyTorch, CUDA e compiladores específicos. Abaixo estão as etapas detalhadas de instalação para os sistemas Linux e Windows.
Preparação ambiental
- Instalando o PyTorchVerifique se o PyTorch 2.6 ou posterior está instalado. Por exemplo, use o seguinte comando para instalar o PyTorch 2.6:
pip install torch==2.6 torchvision==0.21 torchaudio==2.6
Se estiver usando GPUs Blackwell (por exemplo, série RTX 50), é necessário o PyTorch 2.7 e o CUDA 12.8 ou superior.
- Verificação da versão CUDA: Linux requer CUDA 12.2 e superior, Windows requer CUDA 12.6 e superior.
- Instalação do compilador::
- Linux: garantir a instalação
gcc/g++
11 ou superior, instalado via Conda:conda install -c conda-forge gcc gxx
- Windows: instale a versão mais recente do Visual Studio e certifique-se de que o componente de desenvolvimento C++ esteja incluído.
- Linux: garantir a instalação
- Instalação de dependênciasInstale os pacotes Python necessários:
pip install ninja wheel diffusers transformers accelerate sentencepiece protobuf huggingface_hub
Se você precisar executar a demonstração do Gradio, instale-a adicionalmente:
pip install peft opencv-python gradio spaces
Instalar o Nunchaku
- Instalação de Hugging FaceEscolha o arquivo wheel apropriado para a sua versão do Python e do PyTorch. Por exemplo, Python 3.11 e PyTorch 2.6:
pip install https://huggingface.co/mit-han-lab/nunchaku/resolve/main/nunchaku-0.2.0+torch2.6-cp311-cp311-linux_x86_64.whl
Disponível para usuários do Windows:
pip install https://huggingface.co/mit-han-lab/nunchaku/resolve/main/nunchaku-0.1.4+torch2.6-cp312-cp312-win_amd64.whl
- Instalação a partir da fonte(Opcional):
git clone https://github.com/mit-han-lab/nunchaku.git cd nunchaku git submodule init git submodule update export NUNCHAKU_INSTALL_MODE=ALL python setup.py develop
Observação: Configuração
NUNCHAKU_INSTALL_MODE=ALL
Certifique-se de que os arquivos de roda gerados sejam compatíveis com diferentes arquiteturas de GPU.
Integração com a ComfyUI
- Instalar a ComfyUISe o ComfyUI ainda não estiver instalado, você poderá instalá-lo com o seguinte comando:
git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI pip install -r requirements.txt
- Instalando o plug-in ComfyUI-nunchaku::
pip install comfy-cli comfy install comfy node registry-install ComfyUI-nunchaku
Ou pesquise e instale por meio do Custom Nodes Manager do ComfyUI.
ComfyUI-nunchaku
. - Modelos para downloadDownload dos arquivos de modelo necessários para o diretório especificado. Exemplo:
huggingface-cli download comfyanonymous/flux_text_encoders clip_l.safetensors --local-dir models/text_encoders huggingface-cli download comfyanonymous/flux_text_encoders t5xxl_fp16.safetensors --local-dir models/text_encoders huggingface-cli download black-forest-labs/FLUX.1-schnell ae.safetensors --local-dir models/vae
- Replicação de fluxos de trabalhoCopie o fluxo de trabalho de amostra para o diretório ComfyUI:
mkdir -p user/default/example_workflows cp custom_nodes/nunchaku_nodes/example_workflows/* user/default/example_workflows/
- Executar a ComfyUI::
cd ComfyUI python main.py
Funções principais
O Nunchaku oferece uma variedade de funções de geração e edição de imagens, descritas a seguir.
Geração de texto para imagem
- Abra a ComfyUI e carregue o fluxo de trabalho do Nunchaku (por exemplo
nunchaku-flux.1-dev-pulid.json
). - Selecionar no fluxo de trabalho
Nunchaku Text Encoder Loader
Configuraçõesuse_4bit_t5=True
para economizar memória usando um codificador de texto T5 quantificado de 4 bits. - indicar com clareza e certeza
t5_min_length=512
para melhorar a qualidade da imagem. - Insira um prompt textual, por exemplo, "uma cidade futurista ao pôr do sol", e ajuste os parâmetros de geração (por exemplo, número de etapas de amostragem, escala de bootstrap).
- Execute o fluxo de trabalho para gerar a imagem.
Edição de imagens (FLUX.1-Kontext-dev)
- Carregue o modelo FLUX.1-Kontext-dev para permitir a edição de imagens em linguagem natural.
- Carregue a imagem a ser editada e digite o comando de edição, por exemplo, "add a bright moon in the sky" (adicionar uma lua brilhante no céu).
- adaptar
start_timestep
responder cantandoend_timestep
que controla a intensidade e o alcance da edição. - Execute Generate para visualizar a imagem editada.
Esboço para imagem
- Na ComfyUI, selecione
Sketch-to-Image
Fluxo de trabalho. - Carregue a imagem do esboço e defina os parâmetros de geração.
- Execute o fluxo de trabalho para gerar uma imagem baseada em esboço.
Carregamento LoRA
- Faça o download ou treine um modelo LoRA personalizado, salve-o na pasta
models/lora
Catálogo. - No fluxo de trabalho do ComfyUI, adicione
LoRA Loader
que especifica o caminho do modelo LoRA. - Execute o fluxo de trabalho e aplique os efeitos de geração aprimorada do LoRA.
advertência
- Garanta a compatibilidade com a arquitetura da GPU (Turing, Ampere, Ada, A100 etc. são compatíveis).
- Verifique a saída do registro para confirmar o caminho do executável do Python, especialmente no ComfyUI Portable.
- Se você encontrar problemas de instalação, consulte a documentação oficial
docs/setup_windows.md
Ou vídeos tutoriais.
cenário do aplicativo
- Criação artística de IA
Os artistas usam o Nunchaku para gerar imagens artísticas de alta qualidade. Os usuários inserem descrições de texto ou carregam esboços para gerar rapidamente imagens criativas adequadas para o design conceitual e a exploração artística. - Pesquisa e desenvolvimento
Os pesquisadores usaram o Nunchaku para testar modelos de quantificação de 4 bits em dispositivos com poucos recursos. Seu baixo consumo de memória e alta velocidade de inferência são adequados para experimentos acadêmicos e otimização de modelos. - Edição e restauração de imagens
Fotógrafos ou designers simplificam o processo de pós-processamento editando imagens com comandos de linguagem natural, como corrigir manchas ou adicionar elementos. - Educação e aprendizado
Estudantes e iniciantes usam o Nunchaku para aprender o processo de inferência de modelos de difusão. A interface baseada em nós do ComfyUI é intuitiva e fácil de entender para o ensino e a prática.
QA
- Quais GPUs são compatíveis com o Nunchaku?
O Nunchaku é compatível com as GPUs NVIDIA, incluindo as arquiteturas Turing (RTX 2080), Ampere (RTX 3090, A6000), Ada (RTX 4090) e A100. As GPUs Blackwell exigem CUDA 12.8 e PyTorch 2.7. - Como faço para instalá-lo no Windows?
Instale o Visual Studio e o CUDA 12.6 ou superior, use o arquivo de roda do Hugging Face para Windows para instalá-lo diretamente ou consulte a seçãodocs/setup_windows.md
. - A quantificação de 4 bits afeta a qualidade da imagem?
A tecnologia SVDQuant mantém a fidelidade visual ao absorver os valores discrepantes por meio de componentes de baixa classificação. No FLUX.1-dev, a qualidade da imagem da quantificação de 4 bits se aproxima da do modelo de 16 bits. - Como corrigir a falha na instalação do ComfyUI?
Certifique-se de que o ambiente Python seja consistente com o ComfyUI e verifique o caminho para o executável Python no registro. Verifique o caminho para o executável do Python nos registros usando o comandocomfy-cli
ou instalação manualComfyUI-nunchaku
.
Exemplos de aplicativos
nunchaku-flux.1-kontext-dev Pacote de integração de gráficos brutos de IA com um clique Placa de vídeo 4G mínima funciona 30 segundos para gráficos v20250630
FLUX.1-ContextoPacote de integração -dev