X-GenGroup/Flow-Factory

A unified framework for easy fine-tuning in Flow-Matching models

Flow‑Factory – 디퓨전 및 플로우 매칭 모델을 위한 통합 RL 및 편집

무엇인가요 – 하나의 구성 언어를 사용하여 대규모 디퓨전 스타일 생성 모델(텍스트-이미지, 텍스트-비디오, 오디오-비디오 등)의 훈련, 파인튜닝, 평가를 가능하게 하는 연구용 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, Offline‑DPO, Online‑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을 읽고 모델을 구성하고, 데이터셋을 로드하며, 선택된 알고리즘(e.g., 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에서 직접 인용되었으며, 추가 기능은 생성되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트