Finetrainers 使用教程
1. 项目介绍
Finetrainers 是一个内存优化的训练库,用于支持(可访问的)扩散模型的训练。项目的首要目标是支持 Diffusers 中所有流行视频模型的 LoRA 训练,并最终扩展到其他方法,如 controlnets、control-loras、蒸馏等。
Finetrainers 旨在提供以下特性:
- 支持低秩和高秩训练的 DDP、FSDP-2 和 HSDP
- 内存高效的单一 GPU 训练
- 自动检测常用的数据集格式
- 结合图像/视频数据集,多种链式本地/远程数据集,多分辨率存储桶等
- 对大规模数据集进行内存高效的预计算支持(带或不带实时预计算)
- 标准化的模型规范格式,用于训练任意模型
- 伪 FP8 训练(QAT 即将到来!)
2. 项目快速启动
首先,克隆仓库并确保安装了所需的依赖:
git clone https://github.com/a-r-r-o-w/finetrainers.git
cd finetrainers
pip install -r requirements.txt
接着,从源代码安装 diffusers:
pip install git+https://github.com/huggingface/diffusers
请注意,要求中指定了 diffusers>=0.32.1
,但始终推荐使用 Diffusers 的 main 分支以获取最新特性和错误修复。
为了使用最新的稳定版本,可以检出最新的稳定版本标签:
git fetch --all --tags
git checkout tags/v0.1.0
然后,按照最新稳定版本中的 README
指导进行操作。
如果要使用 main 分支,可以参考以下示例训练脚本快速开始:
- LTX-Video Pika Effects Crush
- CogVideoX Pika Effects Crush
- Wan T2V Pika Effects Crush
以下是一些可以快速测试训练的简单数据集/HF 组织:
- Disney Video Generation Dataset
- bigdatapw Video Dataset Collection
- Finetrainers HF Dataset Collection
3. 应用案例和最佳实践
为了学习更多关于支持的模型和可复现的训练启动脚本,请查看 docs/models
和 examples/training
。
- 案例一:使用 Finetrainers 进行 LoRA 训练,以改进视频生成模型的质量。
- 案例二:利用内存高效的预计算支持,处理大规模数据集,以提高训练效率。
4. 典型生态项目
以下是一些引用 Finetrainers 的典型生态项目:
- Diffusion as Shader
- SkyworkAI's SkyReels-A1 & SkyReels-A2
- Aether
- MagicMotion
- eisneim's LTX Image-to-Video
- wileewang's TransPixar
- Feizc's Video-In-Context
此外,还有一些为 Finetrainers 构建的用户界面:
- jbilcke's VideoModelStudio
- neph1's finetrainers-ui
以上就是 Finetrainers 的使用教程,希望对您有所帮助。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考