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)。
可扩展性 提供添加新扩散/流匹配模型和新数据集的指南。

如何使用

  1. 安装 – pip install -e .(Python ≥ 3.10,PyTorch ≥ 2.10)。可选额外功能支持 DeepSpeed、flash‑attention 或特定适配器。
  2. 选择配置 – 示例:ff-train examples/grpo/lora/flux1/default.yaml 在 FLUX 1 上运行 GRPO + LoRA。
  3. 运行 – ff-train CLI 读取 YAML,构建模型,加载数据集,创建所选算法(如 trainer_type: grpo),并启动分布式训练。
  4. 日志 – 在配置中设置 logging_backend: wandb(或 swanlab)以流式传输样本图像/视频和指标曲线。
  5. 添加自己的模型或数据 – 参考 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;未虚构任何功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目