【大模型系列篇】动手部署实践国产文生图模型-腾讯混元DiT

首个中英双语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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值