首个中英双语DiT架构,混元-DiT,高性能细粒度中文理解-多分辨率扩散Transformer模型。
腾讯提出的混元DiT,是一个基于Diffusion transformer的文本到图像生成模型,此模型具有中英文细粒度理解能力。为了构建混元DiT,精心设计了Transformer结构、文本编码器和位置编码。腾讯构建了完整的数据管道,用于更新和评估数据,为模型优化迭代提供帮助。为了实现细粒度的文本理解,腾讯训练了多模态大语言模型来优化图像的文本描述。最终,混元DiT能够与用户进行多轮对话,根据上下文生成并完善图像。
官网:https://dit.hunyuan.tencent.com
论文:https://arxiv.org/pdf/2405.08748
代码:https://github.com/Tencent/HunyuanDiT
模型:https://huggingface.co/Tencent-Hunyuan/HunyuanDiT
一、conda环境部署
官方提供的方法为conda生成虚拟环境,代码如下:
git clone https://github.com/tencent/HunyuanDiT
cd HunyuanDiT
# 1. Prepare conda environment
conda env create -f environment.yml
# 2. Activate the environment
conda activate HunyuanDiT
# 3. Install pip dependencies
python -m pip install -r requirements.txt
# 4. (Optional) Install flash attention v2 for acceleration (requires CUDA 11.6 or above)
python -m pip install git+https://github.com/Dao-AILab/flash-attention.git@v2.1.2.post3
environment.yml文件内容如下,可以看到官方使用python 3.8.12版本部署。
name: HunyuanDiT
channels:
- pytorch
- nvidia
dependencies:
- python=3.8.12
- pytorch=1.13.1
- pip
二、DiT模型下载
该模型较大,共45GB,需要使用 huggingface_hub[cli] 工具下载。
该项目其他python文件中模型路径默认为 HunyuanDiT/ckpts,为避免找不到模型的问题,一定将模型文件下载到 HunyuanDiT/ckpts 下,我们本次下载HunyuanDiT-v1.2版本。
模型下载代码:
python -m pip install "huggingface_hub[cli]"
cd ~/HunyuanDiT
mkdir ckpts
export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download Tencent-Hunyuan/HunyuanDiT-v1.2 --local-dir ./ckpts
三、运行
激活虚拟环境
每次运行前需要激活虚拟环境
cd HunyuanDiT
conda activate HunyuanDiT
运行模型
官方项目内提供两类运行方式,Gradio交互式界面或命令行模式,我们采用Gradio交互式界面启动。
Gradio交互式界面运行代码:
# By default, we start a Chinese UI. Using Flash Attention for acceleration.
python app/hydit_app.py --infer-mode fa
# 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 --infer-mode fa
# Start with English UI
python app/hydit_app.py --lang en --infer-mode fa
# Start a multi-turn T2I generation UI.
# If your GPU memory is less than 32GB, use '--load-4bit' to enable 4-bit quantization, which requires at least 22GB of memory.
python app/multiTurnT2I_app.py --infer-mode fa
四、实践效果
后台日志
前端交互
多轮对话验证效果
长文本官方效果
模型进展
2024 年 7 月 15 日:🚀 HunYuanDiT 和 Shakker.Ai 共同发起了基于 HunYuanDiT 1.2 模型的微调活动。通过发布基于 HunYuanDiT 的 lora 或微调模型,你可以从 Shakker.Ai 获得高达 230 美元的奖金。更多详情请见 Shakker.Ai。
2024 年 7 月 15 日:🎉更新 ComfyUI 以支持标准化工作流程,并与 t2i 模块的权重以及 1.1/1.2 版本的 Lora 训练以及由 Kohya 或官方脚本训练的权重兼容。详情请见 ComfyUI。
2024 年 7 月 15 日:⚡我们提供适用于 CUDA 11/12 的 Docker 环境,让你无需进行复杂的安装,一键即可使用!详情请见 dockers。
2024 年 7 月 8 日:🎉HYDiT-v1.2 版本发布。更多详情请查看 HunyuanDiT-v1.2 和 Distillation-v1.2。
2024 年 7 月 3 日:🎉Kohya-hydit 版本现在适用于 v1.1 和 v1.2 模型,并带有用于推理的图形用户界面。官方 Kohya 版本正在审核中。详情请见 kohya。
2024 年 6 月 27 日:🎨发布 Hunyuan-Captioner,为训练数据提供精细的字幕。详情请见 mllm。
2024 年 6 月 27 日:🎉在 diffusers 中支持 LoRa 和 ControlNet。详情请见 diffusers。
2024 年 6 月 27 日:🎉发布 6GB GPU VRAM 推理脚本。详情请见 lite。
2024 年 6 月 19 日:🎉发布 ControlNet,支持边缘检测(canny)、姿态和深度控制。详情请见训练 / 推理代码。
2024 年 6 月 13 日:⚡HYDiT-v1.1 版本发布,缓解了图像过饱和问题并减轻了水印问题。更多详情请查看 HunyuanDiT-v1.1 和 Distillation-v1.1。
2024 年 6 月 13 日:🚚发布训练代码,提供全参数训练和 LoRA 训练。
2024 年 6 月 6 日:🎉Hunyuan-DiT 现在可在 ComfyUI 中使用。更多详情请查看 ComfyUI。
2024 年 6 月 6 日:🚀我们为 Hunyuan-DiT 加速推出蒸馏版本,在 NVIDIA GPU 上实现了 50% 的加速。更多详情请查看 Distillation。
2024 年 6 月 5 日:🤗Hunyuan-DiT 现在可在Diffusers 中使用!请查看下面的示例。
2024 年 6 月 4 日:🌐支持腾讯云链接下载预训练模型!请查看下面的链接。
2024 年 5 月 22 日:🚀我们为 Hunyuan-DiT 加速推出 TensorRT 版本,在 NVIDIA GPU 上实现了 47% 的加速。请查看 TensorRT-libs 以获取说明。
2024 年 5 月 22 日:💬我们现在支持演示运行多轮文本到图像生成。请查看下面的脚本。
更多内容请关注:https://github.com/Tencent/HunyuanDiT