SSD-1B:Segmind的加速稳定扩散模型

Segmind 稳定扩散模型 (SSD-1B) 是稳定扩散 XL (SDXL) 缩小 50% 的精简版本,可提供 60% 的加速,同时保持高质量的文本到图像生成功能。 它已经过各种数据集的训练,包括 Grit 和 Midjourney scrap 数据,以增强其根据文本提示创建各种视觉内容的能力。

SSD-1B模型采用知识蒸馏策略,连续利用多个专家模型(包括 SDXL、ZavyChromaXL 和 JuggernautXL)的教学,结合它们的优势并产生令人印象深刻的视觉输出。

图像比较(SDXL-1.0 与 SSD-1B):

SSD-1B:Segmind的加速稳定扩散模型_第1张图片

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 3D场景编辑器

1、SSD-1B使用方法

该模型可以通过 Diffusers 库使用。

确保通过运行从源码安装Diffusers:

pip install git+https://github.com/huggingface/diffusers

另外,请安装transformers、safetensors和accelerate:

pip install transformers accelerate safetensors

要使用该模型,你可以运行以下命令:

from diffusers import StableDiffusionXLPipeline
import torch
pipe = StableDiffusionXLPipeline.from_pretrained("segmind/SSD-1B", torch_dtype=torch.float16, use_safetensors=True, variant="fp16")
pipe.to("cuda")
# if using torch < 2.0
# pipe.enable_xformers_memory_efficient_attention()
prompt = "An astronaut riding a green horse" # Your prompt here
neg_prompt = "ugly, blurry, poor quality" # Negative prompt here
image = pipe(prompt=prompt, negative_prompt=neg_prompt).images[0]

SSD-1B模型现在应该可以在 ComfyUI 中使用。

请务必使用负面提示和 9.0 左右的 CFG 以获得最佳质量!

2、SSD-1B模型说明

  • 开发者:Segmind
  • 开发商:Yatharth Gupta 和 Vishnu Jaddipal。
  • 模型类型:基于扩散的文本到图像生成模型
  • 许可证:Apache 2.0
  • 蒸馏自 stableai/stable-diffusion-xl-base-1.0

SSD-1B的主要特性如下:

  • 文本到图像生成:该模型擅长根据文本提示生成图像,从而实现广泛的创意应用。
  • 精炼加速:该模型专为提高效率而设计,可提供 60% 的加速,使其成为实时应用程序和需要快速生成图像的场景的实用选择。
  • 多样化的训练数据:模型经过多样化的数据集训练,可以处理各种文本提示并有效生成相应的图像。
  • 知识蒸馏:通过从多个专家模型中蒸馏知识,Segmind 稳定扩散模型结合了它们的优点并最大限度地减少了它们的局限性,从而提高了性能。

3、SSD-1B模型架构

SSD-1B 模型是 1.3B 参数模型,从基本 SDXL 模型中删除了多个层:
SSD-1B:Segmind的加速稳定扩散模型_第2张图片

4、多分辨率支持

SSD-1B:Segmind的加速稳定扩散模型_第3张图片

SSD-1B可支持以下输出分辨率。

  • 1024 x 1024(1:1 正方形)
  • 1152 x 896 (9:7)
  • 896 x 1152 (7:9)
  • 1216 x 832 (19:13)
  • 832 x 1216 (13:19)
  • 1344 x 768(7:4 水平)
  • 768 x 1344(4:7 垂直)
  • 1536 x 640(12:5 水平)
  • 640 x 1536(5:12 垂直)

5、SSD-1B速度比较

我们观察到 SSD-1B 比 Base SDXL 型号快 60%。 以下是 A100 80GB 的比较。
SSD-1B:Segmind的加速稳定扩散模型_第4张图片

以下是 RTX 4090 GPU 的加速指标:

SSD-1B:Segmind的加速稳定扩散模型_第5张图片

6、SSD-1B的潜在用途

SSD-1B 模型不适合创建人物、事件或现实世界信息的事实或准确表示。 它不适用于需要高精度和准确度的任务。

直接使用。Segmind 稳定扩散模型适用于各个领域的研究和实际应用,包括:

  • 艺术与设计:它可用于生成艺术品、设计和其他创意内容,提供灵感并增强创意过程。
  • 教育:该模型可应用于教育工具,以创建用于教学和学习目的的视觉内容。
  • 研究:研究人员可以使用该模型来探索生成模型,评估其性能,并突破文本到图像生成的界限。
  • 安全内容生成:它提供了一种安全且受控的内容生成方式,降低了有害或不当输出的风险。
  • 偏差和局限性分析:研究人员和开发人员可以使用该模型来探究其局限性和偏差,从而有助于更好地理解生成模型的行为。

下游使用。Segmind 稳定扩散模型还可以直接与 Diffusers 库训练脚本一起使用进行进一步训练,包括:

  • 微调:
export MODEL_NAME="segmind/SSD-1B"
export VAE_NAME="madebyollin/sdxl-vae-fp16-fix"
export DATASET_NAME="lambdalabs/pokemon-blip-captions"

accelerate launch train_text_to_image_lora_sdxl.py \
  --pretrained_model_name_or_path=$MODEL_NAME \
  --pretrained_vae_model_name_or_path=$VAE_NAME \
  --dataset_name=$DATASET_NAME --caption_column="text" \
  --resolution=1024 --random_flip \
  --train_batch_size=1 \
  --num_train_epochs=2 --checkpointing_steps=500 \
  --learning_rate=1e-04 --lr_scheduler="constant" --lr_warmup_steps=0 \
  --mixed_precision="fp16" \
  --seed=42 \
  --output_dir="sd-pokemon-model-lora-sdxl" \
  --validation_prompt="cute dragon creature" --report_to="wandb" \
  --push_to_hub
  • LoRA:
export MODEL_NAME="segmind/SSD-1B"
export VAE_NAME="madebyollin/sdxl-vae-fp16-fix"
export DATASET_NAME="lambdalabs/pokemon-blip-captions"

accelerate launch train_text_to_image_sdxl.py \
  --pretrained_model_name_or_path=$MODEL_NAME \
  --pretrained_vae_model_name_or_path=$VAE_NAME \
  --dataset_name=$DATASET_NAME \
  --enable_xformers_memory_efficient_attention \
  --resolution=512 --center_crop --random_flip \
  --proportion_empty_prompts=0.2 \
  --train_batch_size=1 \
  --gradient_accumulation_steps=4 --gradient_checkpointing \
  --max_train_steps=10000 \
  --use_8bit_adam \
  --learning_rate=1e-06 --lr_scheduler="constant" --lr_warmup_steps=0 \
  --mixed_precision="fp16" \
  --report_to="wandb" \
  --validation_prompt="a cute Sundar Pichai creature" --validation_epochs 5 \
  --checkpointing_steps=5000 \
  --output_dir="sdxl-pokemon-model" \
  --push_to_hub
  • Dreambooth LoRA:
export MODEL_NAME="segmind/SSD-1B"
export INSTANCE_DIR="dog"
export OUTPUT_DIR="lora-trained-xl"
export VAE_PATH="madebyollin/sdxl-vae-fp16-fix"

accelerate launch train_dreambooth_lora_sdxl.py \
  --pretrained_model_name_or_path=$MODEL_NAME  \
  --instance_data_dir=$INSTANCE_DIR \
  --pretrained_vae_model_name_or_path=$VAE_PATH \
  --output_dir=$OUTPUT_DIR \
  --mixed_precision="fp16" \
  --instance_prompt="a photo of sks dog" \
  --resolution=1024 \
  --train_batch_size=1 \
  --gradient_accumulation_steps=4 \
  --learning_rate=1e-5 \
  --report_to="wandb" \
  --lr_scheduler="constant" \
  --lr_warmup_steps=0 \
  --max_train_steps=500 \
  --validation_prompt="A photo of sks dog in a bucket" \
  --validation_epochs=25 \
  --seed="0" \
  --push_to_hub

原文链接:Segmind SSD-1B — BimAnt

你可能感兴趣的:(SSD-1B)