一、介绍
SDXL-Lightning 项目是由字节跳动开发的一个创新性的 AI 图像生成项目,该项目通过采用全新的蒸馏战略,优化了扩散模型,实现了从文字到高清图像的快速、高质量生成。
1. 项目背景与特点
- 背景 :随着 AI 绘画技术的不断发展,图像生成的质量和速度成为了重要的研究方向。SDXL-Lightning 项目正是字节跳动在这一领域的重要尝试。
- 特点 :
- 快速生成 :SDXL-Lightning 能够在极短的时间内生成高质量的图像,相较于传统方法,其出图速度有了显著提升。
- 高质量 :项目通过结合渐进式和对抗式蒸馏方法,不仅保证了生成图像的多样性,还显著提升了图像的质量。
- 多样化 :生成的图像覆盖了广泛的图像模式,能够满足不同用户的需求。
2. 技术原理
- 扩散模型优化 :SDXL-Lightning 项目采用了结合渐进式和对抗式蒸馏的扩散蒸馏方法,对原有的扩散模型进行了优化。
- 渐进式蒸馏 :保留了原模型的图像风格和种类。
- 对抗式蒸馏 :用于提升图像生成的质量。
- 模型选择 :项目提供了多种步数的蒸馏模型,包括 1 步、2 步、4 步和 8 步等,用户可以根据需求选择合适的模型进行图像生成。
3. 应用与效果
- 应用范围 :SDXL-Lightning 项目可以广泛应用于文生图、图生图、局部修复等多种工作流程中。
- 生成效果 :
- 在 2-8 步之间,SDXL-Lightning 的生成效果都非常不错,特别是在 8 步时,其生成图像的质量相对更加稳定,甚至可以与 SDXL 模型 32 步的生成效果相媲美。
- 即使在 4 步条件下,SDXL-Lightning 的图像质量和风格多样性也超过 Turbo 和 LCM 模型。
4. 项目资源
二、容器构建说明
建议使用RTX3090+24G及以上显卡,RTX3060+12G显卡会爆显存
1. 安装 miniconda
进入 Anaconda 官网:
找到快速命令行安装,选择 Linux 系统,复制代码进入终端进行安装。
等待安装完成。
2. 安装并更新基础命令,让后续使用更快捷: unzip、lsof、git、git-lfs
apt-get update
apt-get install -y unzip
apt-get install -y lsof
apt-get install -y git
apt-get install -y git-lfs
3. 克隆项目仓库,并打开文件
git clone https://www.modelscope.cn/studios/ByteDance/SDXL-Lightning.git
cd SDXL-Lightning
4. 创建 python 为 3.11版本的虚拟环境,名称为SDXL
conda create -n SDXL python=3.11
5. 激活虚拟环境SDXL
conda activate SDXL
6. 通过 pip 安装所需的 torch 环境(国内镜像源快一些,以下使用了清华源)
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121 -i https://pypi.tuna.tsinghua.edu.cn/simple
7. 安装项目依赖文件及相应包
为了安装速度更快可以将 pip 进行永久换源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r requirements.txt
pip install gradio
pip install modelscope
pip install transformers
8. 指定端口,运行 py 文件(运行项目,首次运行会自动下载模型参数,需要保证网络通畅)
export GRADIO_SERVER_NAME=0.0.0.0
export GRADIO_SERVER_PORT=8080
python app.py
所需时间可能较长,需要耐心等待
出现以下界面即为运行成功
三、网页演示
运行成功后获取访问链接,即可进入 webUI 界面(注意:在进入页面第一次运行时会自动下载蒸馏模型,下载完成即可生成结果):