Distillation / README.md
xianbao's picture
xianbao HF staff
Update README.md
c540ed0 verified
---
library_name: hunyuan-dit
license: other
license_name: tencent-hunyuan-community
license_link: https://huggingface.co/Tencent-Hunyuan/HunyuanDiT/blob/main/LICENSE.txt
language:
- en
- zh
---
# HunyuanDiT Distillation Acceleration
Language: **English** | [**δΈ­ζ–‡**](https://huggingface.co/Tencent-Hunyuan/Distillation/blob/main/README_zh.md)
We provide a distillation version of HunyuanDiT for your inference acceleration.
Based on progressive distillation method, we accelerate Hunyuan-Dit two times without any performance drop. With the use of distillation model, It achieves the effect of halving the time consumption based on any inference mode.
The following table shows the requirements for running the distillation model and the acceleration performance of our distillation model (batch size = 1). We evaluate the accelaration on various GPU (like H800,A100, 3090, 4090) as well as different inference mode.
| GPU| CUDA version | model | inference mode | inference steps | GPU Peak Memory | inference time |
| --- | --- | --- | --- | --- | --- | --- |
| H800 | 12.1 | HunyuanDiT | PyTorch | 100 | 13G | 28s |
| H800 | 12.1 | HunyuanDiT | TensorRT | 100 | 12G | 10s |
| H800 | 12.1 | HunyuanDiT | Distill+PyTorch | 50 | 13G | 14s |
| H800 | 12.1 | HunyuanDiT | Distill+TensorRT | 50 | 12G | 5s |
| A100 | 11.7 | HunyuanDiT | PyTorch | 100 | 13GB | 54s |
| A100 | 11.7 | HunyuanDiT | TensorRT | 100 | 11GB | 20s |
| A100 | 11.7 | HunyuanDiT | Distill+PyTorch | 50 | 13GB | 25s |
| A100 | 11.7 | HunyuanDiT | Distill+TensorRT | 50 | 11GB | 10s |
| 3090 | 11.8 | HunyuanDiT | PyTorch | 100 | 14G | 98s |
| 3090 | 11.8 | HunyuanDiT | TensorRT | 100 | 14G | 40s |
| 3090 | 11.8 | HunyuanDiT | Distill+PyTorch | 50 | 14G | 49s |
| 3090 | 11.8 | HunyuanDiT | Distill+TensorRT | 50 | 14G | 20s |
| 4090 | 11.8 | HunyuanDiT | PyTorch | 100 | 14G | 54s |
| 4090 | 11.8 | HunyuanDiT | TensorRT | 100 | 14G | 20s |
| 4090 | 11.8 | HunyuanDiT | Distill+PyTorch | 50 | 14G | 27s |
| 4090 | 11.8 | HunyuanDiT | Distill+TensorRT | 50 | 14G | 10s |
Basically, the requirements for running the models is the same as the original model.
## Instructions
The dependencies and installation are basically the same as the [**original model**](https://huggingface.co/Tencent-Hunyuan/HunyuanDiT).
Then download the model using the following commands:
```bash
cd HunyuanDiT
# Use the huggingface-cli tool to download the model.
huggingface-cli download Tencent-Hunyuan/Distillation ./pytorch_model_distill.pt --local-dir ./ckpts/t2i/model
```
## Inference
### Using Gradio
Make sure you have activated the conda environment before running the following command.
```shell
# By default, we start a Chinese UI.
python app/hydit_app.py --load-key distill
# Using Flash Attention for acceleration.
python app/hydit_app.py --infer-mode fa --load-key distill
# You can disable the enhancement model if the GPU memory is insufficient.
# The enhancement will be unavailable until you restart the app without the `--no-enhance` flag.
python app/hydit_app.py --no-enhance ---load-key distill
# Start with English UI
python app/hydit_app.py --lang en --load-key distill
```
### Using Command Line
We provide several commands to quick start:
```shell
# Prompt Enhancement + Text-to-Image. Torch mode
python sample_t2i.py --prompt "ζΈ”θˆŸε”±ζ™š" --load-key distill --infer-steps 50
# Only Text-to-Image. Torch mode
python sample_t2i.py --prompt "ζΈ”θˆŸε”±ζ™š" --no-enhance --load-key distill --infer-steps 50
# Only Text-to-Image. Flash Attention mode
python sample_t2i.py --infer-mode fa --prompt "ζΈ”θˆŸε”±ζ™š" --load-key distill --infer-steps 50
# Generate an image with other image sizes.
python sample_t2i.py --prompt "ζΈ”θˆŸε”±ζ™š" --image-size 1280 768 --load-key distill --infer-steps 50
```
More example prompts can be found in [example_prompts.txt](example_prompts.txt)