Aprendizagem pessoal com IA
e orientação prática

Sana: geração rápida de imagens de alta resolução, modelo de tamanho ultrapequeno de 0,6 B, operação de GPU de laptop de baixo perfil

Introdução geral

A Sana é uma estrutura eficiente de geração de imagens de alta resolução desenvolvida no NVIDIA Labs que gera imagens com resolução de até 4096 × 4096 em segundos. A Sana usa um transformador de difusão linear e uma tecnologia de codificação automática de compactação profunda para melhorar drasticamente a velocidade e a qualidade da geração de imagens, reduzindo a necessidade de recursos computacionais. A estrutura suporta a execução em GPUs comuns de laptops para a criação de conteúdo de baixo custo.

Sana: geração rápida de imagens de alta resolução, modelo de tamanho ultrapequeno de 0,6B, GPU de laptop de baixo perfil executando -1


 

Sana: geração rápida de imagens de alta resolução, modelo de tamanho ultrapequeno de 0,6B, GPU de laptop de baixo perfil executando -1

Experiência on-line: https://nv-sana.mit.edu/

 

Lista de funções

  • Geração de imagens de alta resoluçãoSuporte à geração de imagens com resolução de até 4096 × 4096.
  • conversor de difusão linearR: Aumento da eficiência da geração de imagens de alta resolução usando um mecanismo de atenção linear.
  • Autocodificador de compressão profundaCompressão de imagens: comprime as imagens em até 32 vezes, reduzindo o número de possíveis marcadores e melhorando a eficiência do treinamento e da geração.
  • Conversão de texto em imagemAlinhamento aprimorado de imagem a texto por meio de codificador de texto somente decodificador.
  • Treinamento e amostragem eficientesO Flow-DPM-Solver é usado para reduzir as etapas de amostragem e acelerar a convergência.
  • Implementação de baixo custoSuporte para execução em GPUs de laptop de 16 GB e geração de imagens com resolução de 1024 x 1024 em menos de 1 segundo.

 

Usando a Ajuda

Processo de instalação

  1. Certifique-se de que a versão do Python seja >= 3.10.0, recomendando-se o Anaconda ou o Miniconda.
  2. Instale a versão do PyTorch >= 2.0.1+cu12.1.
  3. Clonagem do depósito da Sana:
    git clone https://github.com/NVlabs/Sana.git
    cd Sana
    
  4. Execute o script de configuração do ambiente:
    . /environment_setup.sh sana
    

    ou conforme environment_setup.sh Instale cada componente passo a passo, conforme descrito em

Uso

Requisitos de hardware

  • O modelo 0.6B requer 9 GB de VRAM e o modelo 1.6B requer 12 GB de VRAM. A versão quantificada exigirá menos de 8 GB de memória de vídeo para inferência.

Início rápido

  1. Inicie a demonstração on-line oficial usando o Gradio:
    DEMO_PORT=15432 \
    python app/app_sana.py \
    --config=configs/sana_config/1024ms/Sana_1600M_img1024.yaml \
    ---model_path=hf://Efficient-Large-Model/Sana_1600M_1024px/checkpoints/Sana_1600M_1024px.pth
    
  2. Execute o código de inferência para gerar uma imagem:
    importar torch
    from app.sana_pipeline import SanaPipeline
    from torchvision.utils import save_image
    device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
    generator = torch.Generator(device=device).manual_seed(42)
    sana = SanaPipeline("configs/sana_config/1024ms/Sana_1600M_img1024.yaml")
    sana.from_pretrained("hf://Efficient-Large-Model/Sana_1600M_1024px/checkpoints/Sana_1600M_1024px.pth")
    prompt = 'um gato cyberpunk com uma placa de neon que diz "Sana"'
    image = sana(prompt=prompt, height=1024, width=1024, guidance_scale=5.0, pag_guidance_scale=2.0, num_inference_steps=18, generator= generator)
    save_image(image, 'output/sana.png', nrow=1, normalise=True, value_range=(-1, 1))
    

Modelos de treinamento

  1. Prepare o conjunto de dados no seguinte formato:
    asset/example_data
    AAA.txt
    AAA.png
    ├── BCC.txt
    ├─── BCC.png
    └── CCC.txt
    
  2. Iniciar o treinamento:
    bash train_scripts/train.sh \
    configs/sana_config/512ms/sana_600M_img512.yaml \
    --data.data_dir="asset/example_data" \
    --data.type=SanaImgDataset \
    ---model.multi_scale=false \
    \ ---train.train_batch_size=32
    
Aprendizagem fácil com IA

O guia do leigo para começar a usar a IA

Ajuda você a aprender a utilizar as ferramentas de IA com baixo custo e a partir de uma base zero.A IA, assim como o software de escritório, é uma habilidade essencial para todos. Dominar a IA lhe dará uma vantagem em sua busca de emprego e metade do esforço em seu trabalho e estudos futuros.

Ver detalhes>
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " Sana: geração rápida de imagens de alta resolução, modelo de tamanho ultrapequeno de 0,6 B, operação de GPU de laptop de baixo perfil

Chefe do Círculo de Compartilhamento de IA

O Chief AI Sharing Circle se concentra no aprendizado de IA, fornecendo conteúdo abrangente de aprendizado de IA, ferramentas de IA e orientação prática. Nosso objetivo é ajudar os usuários a dominar a tecnologia de IA e explorar juntos o potencial ilimitado da IA por meio de conteúdo de alta qualidade e compartilhamento de experiências práticas. Seja você um iniciante em IA ou um especialista sênior, este é o lugar ideal para adquirir conhecimento, aprimorar suas habilidades e realizar inovações.

Entre em contato conosco
pt_BRPortuguês do Brasil