X-GenGroup/Flow-Factory
A unified framework for easy fine-tuning in Flow-Matching models
Flow‑Factory – 统一的扩散与流匹配模型的强化学习与微调框架
是什么 – 一个研究级的 Python 框架,允许您使用单一配置语言训练、微调和评估大型扩散风格生成模型(文本到图像、文本到视频、音视频等)。它将 在线 强化学习风格算法(GRPO、DPO、DPPO 等)与经典的 离线 监督微调(SFT)和离线 DPO 结合,全部基于 Hugging‑Face 的 diffusers 库构建。
核心功能
| 特性 | 详情 |
|---|---|
| 支持的模型家族 | Stable‑Diffusion 3.5、FLUX 1/2、Qwen‑Image(含 2.1)、Z‑Image、BAGEL、SenseNova、Wan2.x(文本到视频及图像到视频)、LTX‑2、MiniMax H3,以及众多图像编辑变体。 |
| 任务 | 文本到图像、图像到图像、多图像到图像、文本到视频、图像到视频、首/末帧到视频、文本到音视频、图像到音视频、有序参考到音视频。 |
| 算法 | SFT、离线 DPO、在线 DPO、GRPO、DiffusionNFT、AWM、DGPO、GRPO‑Guard、DPPO、CRD、DiffusionOPD、DMD2、TDM、TDM‑R1。 |
| 训练后端 | PyTorch 2.10+、torch.compile、DeepSpeed ZeRO‑2、FSDP2、可选 flash‑attention 内核、自定义 Muon 优化器。 |
| 加速 | 统一的 acceleration: 块,用于选择注意力后端(原生、xformers、flash 变体)并结合 torch.compile。 |
| 实验追踪 | 内置集成 Weights & Biases、SwanLab、TensorBoard。 |
| 数据集格式 | 严格遵循 JSONL v2 模式,用于监督演示和偏好对;也支持纯文本到图像/视频的简单行或 JSONL 提示。 |
| 奖励模型 | 可插拔奖励系统(内置和远程服务器),供 DPO/GRPO 流水线使用。 |
| Docker 镜像 | CUDA 支持的训练镜像(Python 3.12、PyTorch 2.10、cu129、DeepSpeed、WandB)。 |
| 可扩展性 | 提供添加新扩散/流匹配模型和新数据集的指南。 |
如何使用
- 安装 –
pip install -e .(Python ≥ 3.10,PyTorch ≥ 2.10)。可选额外功能支持 DeepSpeed、flash‑attention 或特定适配器。 - 选择配置 – 示例:
ff-train examples/grpo/lora/flux1/default.yaml在 FLUX 1 上运行 GRPO + LoRA。 - 运行 –
ff-trainCLI 读取 YAML,构建模型,加载数据集,创建所选算法(如trainer_type: grpo),并启动分布式训练。 - 日志 – 在配置中设置
logging_backend: wandb(或 swanlab)以流式传输样本图像/视频和指标曲线。 - 添加自己的模型或数据 – 参考
guidance/new_model.md和guidance/datasets.md注册新的 Diffusers 模型或自定义 JSONL 模式。
为何重要
- 统一接口 – 从 SFT 切换到 RL 微调时无需更换仓库;相同的
ff-train命令适用于所有支持算法。 - 广泛模态支持 – 将扩散微调扩展至同步音视频,覆盖少数开源工具包尚未涵盖的细分领域。
- 研究就绪 – 提供 120 种已验证可运行的模型/后端/算法组合“烟雾矩阵”,确保可复现性。
- 模块化加速 –
acceleration:块允许在不修改模型代码的情况下实验 flash‑attention、xformers 或原生内核。
典型用户
- 探索扩散模型 RL 基础对齐的研究人员。
- 需要单一管道微调多个扩散家族(Stable‑Diffusion、FLUX、Qwen‑Image 等)的工程师。
- 构建文本到图像/视频生成定制奖励模型的团队。
局限性
- 专注于扩散/流匹配模型;非通用 LLM 训练器。
- 需要大量 GPU 资源(多数示例假设多 GPU 或 DeepSpeed/FSDP 配置)。
- 部分可选后端(如 flash‑attention 变体)需要额外系统级库。
以上所有信息均直接取自仓库 README;未虚构任何功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目