当前位置: 首页 > news >正文

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

目录

  • 1 引言
  • 2 项目简介
  • 3 快速上手
    • 3.1 下载代码
    • 3.2 环境配置
    • 3.3 项目结构
    • 3.4 下载模型与数据集
    • 3.5 运行指令
    • 3.6 核心参数说明
      • 3.6.1 通用参数
      • 3.6.2 优化器/学习率
      • 3.6.3 数据相关
  • 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

capybara

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 下载代码

git clone https://github.com/Donvink/dive-into-stable-diffusion-v3-5.git

3.2 环境配置

首先安装所需的依赖项:

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 下载所需的模型:

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

下载数据集:

datas
|-- dogs
`-- pokemon

3.5 运行指令

  • SDv3.5 全量微调
bash scripts/train_full_finetuning_sd3.sh
  • LoRA 微调 SDv3.5
bash scripts/train_text_to_image_lora_sd3.sh
  • DreamBooth + LoRA 微调 SDv3.5
bash scripts/train_dreambooth_lora_sd3.sh
  • DDPO + 美学评分器 RLHF 微调
bash scripts/train_aesthetic_ddpo_sd3.sh
  • GRPO + 美学评分器 RLHF 微调
# 注意:这部分代码可能存在问题,还需要完善。
bash scripts/train_aesthetic_rlhf_grpo_lora_sd3.sh
  • DPO 微调 SDv1.5
bash scripts/train_dpo_sd_v1_5.sh
  • ReFL + 图文匹配评分器的 RLHF 微调
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 输入分辨率(非 SDXL 默认 512,SDXL 默认 1024)
  • --random_crop--no_hflip 数据增强设置
  • --dataloader_num_workers 数据加载器工作线程数

4 结语

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

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

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

相关文章:

  • DAPO:一个开源的大规模大型语言模型LLM强化学习系统
  • 案例驱动的 IT 团队管理:创新与突破之路: 第四章 危机应对:从风险预见到创新破局-4.1.1案例:某金融系统“重构生死战“
  • JAVA-多线程join()等待一个线程
  • 15 数据结构及算法应用
  • 【面试问题】Java 接口与抽象类的区别
  • python内置函数sorted
  • [解决] PDF转图片,中文乱码或显示方框的解决方案
  • CSS3 基础布局技术与响应式设计
  • JDK动态代理与CGLIB实现的区别?
  • 基于springboot的房屋租赁系统(008)
  • zabbix数据库溯源
  • 大语言模型的“细胞“:拆解语言模型的DNA——Token
  • P2786 英语1(eng1)- 英语作文
  • 生物医药行业百TB级数据同步的实战解决方案
  • 第7章:Docker容器网络模型深度剖析
  • 企业架构流程优化方法论埃森哲(110页PPT)(文末有下载方式)
  • 【C#调用NModbus实现Modbus TCP 主站通讯】
  • 7.2《弹力》
  • 技术分享 | MySQL内存使用率高问题排查
  • grid网格布局图解
  • 中国科学院院士、我国航天液体火箭技术专家朱森元逝世
  • 首次采用“顶置主星+侧挂从星”布局,长二丁“1箭12星”发射成功
  • 横跨万里穿越百年,《受到召唤·敦煌》中张艺兴一人分饰两角
  • 上海北外滩开发建设五周年交出亮眼答卷,未来五年有何新目标?
  • 日本广岛大学一处拆迁工地发现疑似未爆弹
  • 朝着解决问题的正确方向迈进——中美经贸高层会谈牵动世界目光