【Dive Into Stable Diffusion v3.5】1:开源项目正式发布——深入探索SDv3.5模型全参/LoRA/RLHF训练

目录

  • [1 引言](#1 引言)
  • [2 项目简介](#2 项目简介)
  • [3 快速上手](#3 快速上手)
    • [3.1 下载代码](#3.1 下载代码)
    • [3.2 环境配置](#3.2 环境配置)
    • [3.3 项目结构](#3.3 项目结构)
    • [3.4 下载模型与数据集](#3.4 下载模型与数据集)
    • [3.5 运行指令](#3.5 运行指令)
    • [3.6 核心参数说明](#3.6 核心参数说明)
      • [3.6.1 通用参数](#3.6.1 通用参数)
      • [3.6.2 优化器/学习率](#3.6.2 优化器/学习率)
      • [3.6.3 数据相关](#3.6.3 数据相关)
  • [4 结语](#4 结语)

1 引言

在人工智能和机器学习领域,生成模型的应用越来越广泛。Stable Diffusion 作为其中的佼佼者,因其强大的图像生成能力而备受关注。今天,我的开源项目 Dive Into Stable Diffusion v3.5 已经正式发布!这个项目旨在总结我在开发过程中所学到和用到的知识和工具,同时帮助其他开发者更好地理解和应用 Stable Diffusion v3.5 模型。目前,项目提供了多种微调和优化的方法,包括全量参数微调、LoRA、DreamBooth、RLHF和DPO训练等。

项目地址:https://github.com/Donvink/dive-into-stable-diffusion-v3-5

2 项目简介

Dive Into Stable Diffusion v3.5 是一个用于微调 Stable Diffusion v3.5 的训练代码库,基于Hugging Face 的 diffusers 库进行适配开发。

以下是项目的主要功能模块:

  • SDv3.5 模型的全量微调
  • 使用 LoRA 微调 SDv3.5 模型
  • 结合 DreamBooth 与 LoRA 微调 SDv3.5 模型
  • 基于 DDPO 和美学评分器的 RLHF(人类反馈强化学习)微调 SDv3.5 模型
  • 基于 GRPO 和美学评分器的 RLHF 微调 SDv3.5 模型
  • 基于 DPO 微调 SDv1.5 模型
  • 基于 ReFL 和图文匹配评分器的 RLHF 微调 SDv1.5 模型

让我们一起 Dive Into Stable Diffusion v3.5 吧!

3 快速上手

3.1 下载代码

bash 复制代码
git clone https://github.com/Donvink/dive-into-stable-diffusion-v3-5.git

3.2 环境配置

首先安装所需的依赖项:

bash 复制代码
pip install -r requirements.txt

3.3 项目结构

项目的目录结构如下:

  • datas/ 数据集目录(从 HuggingFace Hub 下载),存放训练用的图片或提示文本
  • models/ 预训练模型目录(从 huggingface.co/models 下载)
  • outputs/ 输出目录,用于保存模型预测结果和训练检查点
  • scripts/ SDv3.5 训练主脚本目录
  • src/ 核心训练流程和训练器代码
  • demo.py / demo.sh SDv3.5 推理示例
  • requirements.txt / setup.py 基础依赖配置
  • train*.py 核心训练脚本

3.4 下载模型与数据集

从 HuggingFace 或 GitHub 下载所需的模型:

bash 复制代码
models
|-- aesthetics-predictor-v1-vit-large-patch14
|-- clip-vit-large-patch14
|-- improved-aesthetic-predictor
`-- stable-diffusion-3.5-medium

从以下地址下载 improved-aesthetic-predictor:
improved-aesthetic-predictor

下载数据集:

bash 复制代码
datas
|-- dogs
`-- pokemon

3.5 运行指令

  • SDv3.5 全量微调
bash 复制代码
bash scripts/train_full_finetuning_sd3.sh
  • LoRA 微调 SDv3.5
bash 复制代码
bash scripts/train_text_to_image_lora_sd3.sh
  • DreamBooth + LoRA 微调 SDv3.5
bash 复制代码
bash scripts/train_dreambooth_lora_sd3.sh
  • DDPO + 美学评分器 RLHF 微调
bash 复制代码
bash scripts/train_aesthetic_ddpo_sd3.sh
  • GRPO + 美学评分器 RLHF 微调
bash 复制代码
# 注意:这部分代码可能存在问题,还需要完善。
bash scripts/train_aesthetic_rlhf_grpo_lora_sd3.sh
  • DPO 微调 SDv1.5
bash 复制代码
bash scripts/train_dpo_sd_v1_5.sh
  • ReFL + 图文匹配评分器的 RLHF 微调
bash 复制代码
bash scripts/train_refl_v1_5.sh

3.6 核心参数说明

3.6.1 通用参数

  • --pretrained_model_name_or_path 预训练模型路径
  • --output_dir 模型输出和日志目录
  • --seed 训练随机种子(默认不设置)

3.6.2 优化器/学习率

  • --max_train_steps 总训练步数
  • --gradient_accumulation_steps 梯度累积步数
  • --train_batch_size 实际批大小(具体参考脚本说明)
  • --checkpointing_steps 模型保存间隔步数
  • --gradient_checkpointing 自动为 SDXL 启用梯度检查点
  • --learning_rate 基础学习率
  • --scale_lr 学习率缩放(推荐启用但非默认)
  • --lr_scheduler 学习率调度器类型(默认线性预热)
  • --lr_warmup_steps 学习率预热步数

3.6.3 数据相关

  • --dataset_name 数据集名称(来自 HuggingFace Hub)
  • --cache_dir 本地数据集缓存路径(需根据文件系统调整)
  • --resolution 输入分辨率(默认 1024)
  • --random_crop--no_hflip 数据增强设置
  • --dataloader_num_workers 数据加载器工作线程数

4 结语

我们希望 Dive Into Stable Diffusion v3.5 能够成为你在探索生成模型道路上的得力助手。无论你是经验丰富的开发者还是初学者,我们都欢迎你参与到这个项目中来,共同推动技术的进步。如果你有任何问题或建议,请随时通过 GitHub 提交 Issue 或 Pull Request。

让我们一起开启这段精彩的旅程吧!

如果觉得有用,别忘了点亮 ⭐️ 支持开源!

相关推荐
机器之心4 分钟前
统一细粒度感知!北大&阿里提出UFO:无需SAM,16个token让MLLM实现精准分割
人工智能
.Boss.8 分钟前
【高端局】组合多个弱学习器达到性能跃升的硬核集成算法
开发语言·人工智能·python·算法·机器学习
Kriol9 分钟前
深度学习复习笔记(8)特征提取与无监督学习
笔记·深度学习·学习
量子位13 分钟前
谷歌对齐大模型与人脑信号!语言理解生成机制高度一致,成果登 Nature 子刊
人工智能·openai
量子位16 分钟前
苹果新表被曝加摄像头,让 AI 有空间感知能力,中国小天才笑而不语
人工智能·openai
你觉得20518 分钟前
DeepSeek自学手册:《从理论(模型训练)到实践(模型应用)》|73页|附PPT下载方法
大数据·运维·人工智能·机器学习·ai·自然语言处理·知识图谱
tRNA做科研18 分钟前
Pytorch深度学习教程_9_nn模块构建神经网络
pytorch·深度学习·神经网络
KL_lililli19 分钟前
AI 生成 PPT 网站介绍与优缺点分析
人工智能·powerpoint
神经星星29 分钟前
AlphaFold应用新里程碑!剑桥大学团队提出AlphaFold-Metainference,精准预测无序蛋白质结构集合
人工智能·深度学习·机器学习