SSD 1B
SSD-1B是穩定擴散XL(SDXL)的蒸餾縮小50%版本,在保持高質量文本生成圖像能力的同時,提供60%的速度提升。
下載量 35.08k
發布時間 : 10/19/2023
模型概述
Segmind穩定擴散模型(SSD-1B)是一個基於擴散的文本生成圖像模型,通過知識蒸餾技術從SDXL模型縮小50%參數規模,同時保持高質量生成能力。
模型特點
高效蒸餾
通過知識蒸餾技術,模型規模縮小50%,同時保持高質量生成能力
快速推理
相比基礎SDXL模型,推理速度提升60%
多分辨率支持
支持從640x1536到1536x640等多種分辨率輸出
多樣化訓練數據
在Grit和Midjourney等多樣化數據集上訓練,增強生成能力
模型能力
文本生成圖像
超現實圖像生成
多風格圖像生成
快速圖像生成
使用案例
藝術與設計
藝術創作
生成藝術作品和創意內容
高質量視覺輸出
設計輔助
為設計過程提供靈感和素材
多樣化設計概念
教育
教學輔助
為教學創建視覺內容
增強學習體驗
研究
生成模型研究
探索文本到圖像生成技術
推動技術邊界
🚀 Segmind Stable Diffusion 1B (SSD-1B) 模型卡片
Segmind Stable Diffusion 1B (SSD-1B) 是一個基於知識蒸餾的文本到圖像生成模型,相比 Stable Diffusion XL (SDXL) 體積縮小 50%,速度提升 60%,同時保持了高質量的圖像生成能力。
🚀 快速開始
兼容性說明
- AUTOMATIC1111 兼容性已添加,支持文件 點擊此處 獲取。
在線體驗
- 你可以在 Segmind SSD-1B 體驗該模型,以獲得 ⚡ 最快推理速度。也可以在 🤗 Spaces 上嘗試。
安裝依賴
確保通過以下命令從源代碼安裝 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")
# 將模型移動到 GPU 上
pipe.to("cuda")
# 如果使用的 PyTorch 版本低於 2.0,可以啟用 xformers 以提高內存效率
# pipe.enable_xformers_memory_efficient_attention()
# 定義文本提示
prompt = "An astronaut riding a green horse" # 你的文本提示
neg_prompt = "ugly, blurry, poor quality" # 負向提示
# 生成圖像
image = pipe(prompt=prompt, negative_prompt=neg_prompt).images[0]
更新說明
- 現在該模型可以在 ComfyUI 中使用。
- 建議使用負向提示,並將 CFG 設置為 9.0 左右以獲得最佳質量!
✨ 主要特性
- 文本到圖像生成:該模型擅長根據文本提示生成圖像,可應用於各種創意領域。
- 蒸餾加速:經過知識蒸餾,模型體積縮小 50%,速度提升 60%,適用於即時應用場景。
- 多樣化訓練數據:在多種數據集上進行訓練,能夠處理各種文本提示並生成相應的高質量圖像。
- 知識蒸餾策略:借鑑多個專家模型的優勢,結合它們的長處,減少侷限性,提高性能。
📦 安裝指南
環境依賴
- 確保已安裝
diffusers
、transformers
、safetensors
和accelerate
庫。安裝命令如下:
pip install git+https://github.com/huggingface/diffusers
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]
高級用法
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_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-ssd" \
--validation_prompt="cute dragon creature" --report_to="wandb" \
--push_to_hub
全量微調
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="ssd-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 |
開發者 | Yatharth Gupta 和 Vishnu Jaddipal |
模型類型 | 基於擴散模型的文本到圖像生成模型 |
許可證 | Apache 2.0 |
蒸餾來源 | stabilityai/stable-diffusion-xl-base-1.0 |
模型架構
SSD-1B 模型是一個 13 億參數的模型,從基礎 SDXL 模型中移除了若干層。
訓練信息
以下是訓練過程中使用的關鍵超參數:
- 步數:251000
- 學習率:1e-5
- 批次大小:32
- 梯度累積步數:4
- 圖像分辨率:1024
- 混合精度:fp16
多分辨率支持
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 縱向)
速度比較
- 與基礎 SDXL 模型相比,SSD-1B 速度最多可提升 60%。以下是在 A100 80GB 上的比較結果:
- 以下是在 RTX 4090 GPU 上的加速指標:
模型來源
如需進行研究和開發,可通過 Segmind AI 平臺訪問 SSD-1B 模型。更多信息和訪問詳情,請訪問 Segmind。
用途
直接使用
Segmind Stable Diffusion 模型適用於多個領域的研究和實際應用,包括:
- 藝術與設計:可用於生成藝術作品、設計和其他創意內容,為創作過程提供靈感。
- 教育:可應用於教育工具,為教學和學習創建視覺內容。
- 研究:研究人員可使用該模型探索生成模型,評估其性能,推動文本到圖像生成技術的發展。
- 安全內容生成:提供了一種安全可控的內容生成方式,降低有害或不當輸出的風險。
- 偏差和侷限性分析:研究人員和開發人員可使用該模型探索其侷限性和偏差,有助於更好地理解生成模型的行為。
下游使用
Segmind Stable Diffusion 模型還可以直接與 🧨 Diffusers 庫的訓練腳本一起使用,進行進一步訓練,包括:
不適用場景
SSD-1B 模型不適合創建人物、事件或現實世界信息的事實或準確表示,不用於需要高精度和準確性的任務。
🔧 技術細節
蒸餾方法
📣 閱讀我們的 技術報告 以獲取有關蒸餾方法的更多詳細信息。
侷限性和偏差
SSD-1B 模型在實現絕對的照片級真實感方面存在一些挑戰,特別是在人物描繪方面。由於其自動編碼方法,在融入清晰文本和保持複雜構圖的保真度方面存在困難,這些問題為未來的改進提供了方向。重要的是,儘管模型接觸了多樣化的數據集,但這並不能完全消除根深蒂固的社會和數字偏差,不過這是邁向更公平技術的基礎一步。建議用戶在使用此開創性工具時,瞭解其當前的侷限性,促進有意識的使用,並期待其持續發展。
📄 許可證
本模型使用 Apache 2.0 許可證。
引用
@misc{gupta2024progressive,
title={Progressive Knowledge Distillation Of Stable Diffusion XL Using Layer Level Loss},
author={Yatharth Gupta and Vishnu V. Jaddipal and Harish Prabhala and Sayak Paul and Patrick Von Platen},
year={2024},
eprint={2401.02677},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
Stable Diffusion V1 5
Openrail
穩定擴散是一種潛在的文本到圖像擴散模型,能夠根據任何文本輸入生成逼真的圖像。
圖像生成
S
stable-diffusion-v1-5
3.7M
518
Stable Diffusion Inpainting
Openrail
基於穩定擴散的文本到圖像生成模型,具備圖像修復能力
圖像生成
S
stable-diffusion-v1-5
3.3M
56
Stable Diffusion Xl Base 1.0
SDXL 1.0是基於擴散的文本生成圖像模型,採用專家集成的潛在擴散流程,支持高分辨率圖像生成
圖像生成
S
stabilityai
2.4M
6,545
Stable Diffusion V1 4
Openrail
穩定擴散是一種潛在文本到圖像擴散模型,能夠根據任意文本輸入生成逼真圖像。
圖像生成
S
CompVis
1.7M
6,778
Stable Diffusion Xl Refiner 1.0
SD-XL 1.0優化器模型是Stability AI開發的圖像生成模型,專為提升SDXL基礎模型生成的圖像質量而設計,特別擅長最終去噪步驟處理。
圖像生成
S
stabilityai
1.1M
1,882
Stable Diffusion 2 1
基於擴散的文本生成圖像模型,支持通過文本提示生成和修改圖像
圖像生成
S
stabilityai
948.75k
3,966
Stable Diffusion Xl 1.0 Inpainting 0.1
基於Stable Diffusion XL的潛在文本到圖像擴散模型,具備通過遮罩進行圖像修復的功能
圖像生成
S
diffusers
673.14k
334
Stable Diffusion 2 Base
基於擴散的文生圖模型,可根據文本提示生成高質量圖像
圖像生成
S
stabilityai
613.60k
349
Playground V2.5 1024px Aesthetic
其他
開源文生圖模型,能生成1024x1024分辨率及多種縱橫比的美學圖像,在美學質量上處於開源領域領先地位。
圖像生成
P
playgroundai
554.94k
723
Sd Turbo
SD-Turbo是一款高速文本生成圖像模型,僅需單次網絡推理即可根據文本提示生成逼真圖像。該模型作為研究原型發佈,旨在探索小型蒸餾文本生成圖像模型。
圖像生成
S
stabilityai
502.82k
380
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98