DiT 系列模型多卡推理¶
概述¶
本文档介绍在 Enflame GCU 上基于 pytorch native 进行 sdxl 的 text2image, hunyuandit1.2 的 text2image 多卡推理过程。
环境配置¶
以下步骤基于 Python3.10
, 请先安装所需依赖:
安装环境:安装过程请参考《TopsRider 软件栈安装手册》,请根据手册完成 TopsRider 软件栈安装
安装 torch_gcu
注意:安装 torch_gcu-2.3.0 会自动安装 torch 2.3.0
pip3 install torch_gcu-2.3.0*-cp310-cp310-linux_x86_64.whl
安装 xfuser
pip3 install xfuser-0.2+gcu.*-py3.10-none-any.whl
如果缺失其它依赖,请根据提示安装
stable-diffusion-xl 多卡推理¶
准备模型¶
下载预训练模型:
请从 stable-diffusion-xl-base-1.0 路径下下载全部内容到模型存放目录,以下用
path_to_model_dir
表示其路径branch:
main
commit id:
4621659
执行推理¶
Text2Image 两卡 patch parallel 推理¶
torchrun --nproc_per_node=2 -m xfuser.xfuser_utils.example.stable_diffuision_xl.sdxl_example \
--model_dir ${path_to_model_dir} \
--device 'gcu' \
--prompt 'photo of an astronaut riding a horse on mars' \
--negative_prompt '' \
--seed 12345 \
--denoising_steps 30 \
--scheduler 'ddim' \
--warmup_steps 4 \
--sync_mode corrected_async_gn \
--parallelism patch \
--image_height 1024 \
--image_width 1024 \
--output_dir './results/sdxl-base/text2img'
hunyuandit1.2 多卡推理¶
准备模型¶
下载预训练模型:
请从 HunyuanDiT-v1.2-Diffusers 路径下下载全部内容到模型存放目录,以下用
path_to_model_dir
表示其路径branch:
main
commit id:
5e96094e0ad19e7f475de8711f03634ca0ccc40c
执行推理¶
Text2Image 两卡 CFG parallel 推理¶
torchrun --nproc_per_node=2 -m xfuser.xfuser_utils.example.hunyuandit.hunyuandit_example \
--model ${path_to_model_dir} \
--device 'gcu' \
--prompt 'photo of an astronaut riding a horse on mars' \
--negative_prompt '' \
--seed 12345 \
--num_inference_steps 30 \
--warmup_steps 4 \
--use_cfg_parallel \
--pipefusion_parallel_degree 1 \
--height 1024 \
--width 1024 \
--no_use_resolution_binning \
--output_dir './results/hunyuandit/text2img'
Text2Image 四卡 pipefusion parallel 推理¶
torchrun --nproc_per_node=4 -m xfuser.xfuser_utils.example.hunyuandit.hunyuandit_example \
--model ${path_to_model_dir} \
--device 'gcu' \
--prompt 'photo of an astronaut riding a horse on mars' \
--negative_prompt '' \
--seed 12345 \
--num_inference_steps 30 \
--warmup_steps 4 \
--use_cfg_parallel \
--pipefusion_parallel_degree 2 \
--height 1024 \
--width 1024 \
--no_use_resolution_binning \
--output_dir './results/hunyuandit/text2img'
DiT 系列模型多卡性能评估¶
概述¶
本文档介绍在 Enflame GCU 上基于 pytorch native 进行 sdxl 的 text2image, hunyuandit1.2 的 text2image 多卡性能测试方法。
环境配置¶
以下步骤基于 Python3.10
, 请先安装所需依赖:
安装环境:安装过程请参考《TopsRider 软件栈安装手册》,请根据手册完成 TopsRider 软件栈安装
安装 torch_gcu
注意:安装 torch_gcu-2.3.0 会自动安装 torch 2.3.0
pip3 install torch_gcu-2.3.0*-cp310-cp310-linux_x86_64.whl
安装 xfuser
pip3 install xfuser-0.2+gcu.*-py3.10-none-any.whl
如果缺失其它依赖,请根据提示安装
stable-diffusion-xl 多卡性能评估¶
准备模型¶
下载预训练模型:
请从 stable-diffusion-xl-base-1.0 路径下下载全部内容到模型存放目录,以下用
path_to_model_dir
表示其路径branch:
main
commit id:
4621659
执行性能评估¶
Text2Image 两卡 patch parallel 性能评估¶
torchrun --nproc_per_node=2 -m xfuser.xfuser_utils.benchmark.stable_diffuision_xl.benchmark_test_stable_diffuision_xl_txt2img \
--model_dir ${path_to_model_dir} \
--device 'gcu' \
--prompt 'photo of an astronaut riding a horse on mars' \
--negative_prompt '' \
--seed 12345 \
--denoising_steps 30 \
--scheduler 'ddim' \
--warmup_steps 4 \
--sync_mode corrected_async_gn \
--parallelism patch \
--image_height 1024 \
--image_width 1024 \
--output_dir './results/sdxl-base/text2img' \
--warmup_count 2 \
--eval_count 3
hunyuandit1.2 多卡性能评估¶
准备模型¶
下载预训练模型:
请从 HunyuanDiT-v1.2-Diffusers 路径下下载全部内容到模型存放目录,以下用
path_to_model_dir
表示其路径branch:
main
commit id:
5e96094e0ad19e7f475de8711f03634ca0ccc40c
执行性能评估¶
Text2Image 两卡 CFG parallel 性能评估¶
torchrun --nproc_per_node=2 -m xfuser.xfuser_utils.benchmark.hunyuandit.benchmark_test_hunyuandit_txt2img \
--model ${path_to_model_dir} \
--device 'gcu' \
--prompt 'photo of an astronaut riding a horse on mars' \
--negative_prompt '' \
--seed 12345 \
--num_inference_steps 30 \
--warmup_steps 4 \
--use_cfg_parallel \
--pipefusion_parallel_degree 1 \
--height 1024 \
--width 1024 \
--no_use_resolution_binning \
--output_dir './results/hunyuandit/text2img' \
--warmup_count 2 \
--eval_count 3
Text2Image 四卡 pipefusion parallel 性能评估¶
torchrun --nproc_per_node=4 -m xfuser.xfuser_utils.benchmark.hunyuandit.benchmark_test_hunyuandit_txt2img \
--model ${path_to_model_dir} \
--device 'gcu' \
--prompt 'photo of an astronaut riding a horse on mars' \
--negative_prompt '' \
--seed 12345 \
--num_inference_steps 30 \
--warmup_steps 4 \
--use_cfg_parallel \
--pipefusion_parallel_degree 2 \
--height 1024 \
--width 1024 \
--no_use_resolution_binning \
--output_dir './results/hunyuandit/text2img' \
--warmup_count 2 \
--eval_count 3