Skip to main content

Finetrainers is a work-in-progress library to support (accessible) training of diffusion models

Project description

finetrainers 🧪

Finetrainers is a work-in-progress library to support (accessible) training of diffusion models. Our first priority is to support LoRA training for all popular video models in Diffusers, and eventually other methods like controlnets, control-loras, distillation, etc.

cogvideox-factory was renamed to finetrainers. If you're looking to train CogVideoX or Mochi with the legacy training scripts, please refer to this README instead. Everything in the training/ directory will be eventually moved and supported under finetrainers.

Your browser does not support the video tag.

News

  • 🔥 2025-03-03: Wan T2V support added!
  • 🔥 2025-03-03: We have shipped a complete refactor to support multi-backend distributed training, better precomputation handling for big datasets, model specification format (externally usable for training custom models), FSDP & more.
  • 🔥 2025-02-12: We have shipped a set of tooling to curate small and high-quality video datasets for fine-tuning. See video-dataset-scripts documentation page for details!
  • 🔥 2025-02-12: Check out eisneim/ltx_lora_training_i2v_t2v! It builds off of finetrainers to support image to video training for LTX-Video and STG guidance for inference.
  • 🔥 2025-01-15: Support for naive FP8 weight-casting training added! This allows training HunyuanVideo in under 24 GB upto specific resolutions.
  • 🔥 2025-01-13: Support for T2V full-finetuning added! Thanks to @ArEnSc for taking up the initiative!
  • 🔥 2025-01-03: Support for T2V LoRA finetuning of CogVideoX added!
  • 🔥 2024-12-20: Support for T2V LoRA finetuning of Hunyuan Video added! We would like to thank @SHYuanBest for his work on a training script here.
  • 🔥 2024-12-18: Support for T2V LoRA finetuning of LTX Video added!

Table of Contents

Quickstart

Clone the repository and make sure the requirements are installed: pip install -r requirements.txt and install diffusers from source by pip install git+https://github.com/huggingface/diffusers. The requirements specify diffusers>=0.32.1, but it is always recommended to use the main branch of Diffusers for the latest features and bugfixes. Note that the main branch for finetrainers is also the development branch, and stable support should be expected from the release tags.

Checkout to the latest release tag:

git fetch --all --tags
git checkout tags/v0.0.1

Follow the instructions mentioned in the README for the release tag.

Using the main branch

To get started quickly with example training scripts on the main development branch, refer to the following:

The following are some simple datasets/HF orgs with good datasets to test training with quickly:

Please checkout docs/models and examples/training to learn more about supported models for training & example reproducible training launch scripts.

[!IMPORTANT] It is recommended to use Pytorch 2.5.1 or above for training. Previous versions can lead to completely black videos, OOM errors, or other issues and are not tested. For fully reproducible training, please use the same environment as mentioned in environment.md.

Support Matrix

[!NOTE] The following numbers were obtained from the release branch. The main branch is unstable at the moment and may use higher memory.

Model Name Tasks Min. LoRA VRAM* Min. Full Finetuning VRAM^
LTX-Video Text-to-Video 5 GB 21 GB
HunyuanVideo Text-to-Video 32 GB OOM
CogVideoX-5b Text-to-Video 18 GB 53 GB
Wan Text-to-Video TODO TODO

*Noted for training-only, no validation, at resolution 49x512x768, rank 128, with pre-computation, using FP8 weights & gradient checkpointing. Pre-computation of conditions and latents may require higher limits (but typically under 16 GB).
^Noted for training-only, no validation, at resolution 49x512x768, with pre-computation, using BF16 weights & gradient checkpointing.

If you would like to use a custom dataset, refer to the dataset preparation guide here.

Featured Projects 🔥

Checkout some amazing projects citing finetrainers:

Checkout the following UIs built for finetrainers:

Acknowledgements

  • finetrainers builds on top of & takes inspiration from great open-source libraries - transformers, accelerate, torchtune, torchtitan, peft, diffusers, bitsandbytes, torchao and deepspeed - to name a few.
  • Some of the design choices of finetrainers were inspired by SimpleTuner.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

finetrainers-0.0.1.tar.gz (80.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

finetrainers-0.0.1-py3-none-any.whl (108.3 kB view details)

Uploaded Python 3

File details

Details for the file finetrainers-0.0.1.tar.gz.

File metadata

  • Download URL: finetrainers-0.0.1.tar.gz
  • Upload date:
  • Size: 80.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.14

File hashes

Hashes for finetrainers-0.0.1.tar.gz
Algorithm Hash digest
SHA256 524c279cde80d3ac0e86391a825ffca65e682623bdcab13bf7814e736ffeb122
MD5 90b1caa66d26aa1e0cc03fc022f4ceec
BLAKE2b-256 c12cb05834c0d285b2d22f78d54e5861797290bcbe4f0f4dbce02695d22bbb4e

See more details on using hashes here.

File details

Details for the file finetrainers-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: finetrainers-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 108.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.14

File hashes

Hashes for finetrainers-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 140c0bc57903a7f95cd72d122b720e1cbb9d2df19802f4f5bd18b4c975cbd3fe
MD5 228519bac212f4ccb5682dae17a84ccd
BLAKE2b-256 66bbf49a9714750ed0728cbb2c36f21dfd57d7a6ad3541be4c999df2ef7de22b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page