HuggingFace镜像/HunyuanVideo-1.5
模型介绍文件和版本分析
下载使用量0

注意

  • 本模型仓代码,是针对此开源链接进行的适配 https://github.com/Tencent-Hunyuan/HunyuanVideo-1.5

一、准备运行环境

表 1 版本配套表

配套版本环境准备指导
Python3.11-
torch>=2.6.0-

1.1 获取CANN&MindIE安装包&环境准备

  • 设备支持 Atlas 800I A2(8*64G)推理设备:支持的卡数最小为1
  • Atlas 800I A2(8*64G)
  • 环境准备指导

1.2 CANN安装

# 增加软件包可执行权限,{version}表示软件版本号,{arch}表示CPU架构,{soc}表示昇腾AI处理器的版本。
chmod +x ./Ascend-cann-toolkit_{version}_linux-{arch}.run
chmod +x ./Ascend-cann-kernels-{soc}_{version}_linux.run
# 校验软件包安装文件的一致性和完整性
./Ascend-cann-toolkit_{version}_linux-{arch}.run --check
./Ascend-cann-kernels-{soc}_{version}_linux.run --check
# 安装
./Ascend-cann-toolkit_{version}_linux-{arch}.run --install
./Ascend-cann-kernels-{soc}_{version}_linux.run --install

# 设置环境变量
source /usr/local/Ascend/ascend-toolkit/set_env.sh

1.3 环境依赖安装

pip3 install -r requirements.txt

1.4 MindIE安装

# 增加软件包可执行权限,{version}表示软件版本号,{arch}表示CPU架构。
chmod +x ./Ascend-mindie_${version}_linux-${arch}.run
./Ascend-mindie_${version}_linux-${arch}.run --check

# 方式一:默认路径安装
./Ascend-mindie_${version}_linux-${arch}.run --install
# 设置环境变量
cd /usr/local/Ascend/mindie && source set_env.sh

# 方式二:指定路径安装
./Ascend-mindie_${version}_linux-${arch}.run --install-path=${AieInstallPath}
# 设置环境变量
cd ${AieInstallPath}/mindie && source set_env.sh

1.5 Torch_npu安装

下载 pytorch_v{pytorchversion}_py{pythonversion}.tar.gz

tar -xzvf pytorch_v{pytorchversion}_py{pythonversion}.tar.gz
# 解压后,会有whl包
pip install torch_npu-{pytorchversion}.xxxx.{arch}.whl

二、下载权重

2.1 权重及配置文件说明

  1. MLLM权重:
   hf download Qwen/Qwen2.5-VL-7B-Instruct --local-dir ./ckpts/text_encoder/llm
  1. ByT5 encoder权重
   hf download google/byt5-small --local-dir ./ckpts/text_encoder/byt5-small
   modelscope download --model AI-ModelScope/Glyph-SDXL-v2 --local_dir ./ckpts/text_encoder/Glyph-SDXL-v2
  1. Vision Encoder权重
   hf download black-forest-labs/FLUX.1-Redux-dev --local-dir ./ckpts/vision_encoder/siglip
   modelscope download --model black-forest-labs/FLUX.1-Redux-dev --local-dir ./ckpts/vision_encoder/siglip
  1. HunYuan DiT和VAE权重链接:
   hf download tencent/HunyuanVideo-1.5 --local-dir ./ckpts

三、HunYuanVideo-1.5使用

3.1 下载到本地

   git clone https://modelers.cn/MindIE/HunyuanVideo-1.5.git
   cd HunyuanVideo-1.5

3.2 测试推理

3.2.1 i2v

执行命令:

#source /usr/local/Ascend/ascend-toolkit/set_env.sh
#source /usr/local/Ascend/ascend-toolkit/latest/toolkit/bin/setenv.bash

export T2V_REWRITE_BASE_URL="<your_vllm_server_base_url>"
export T2V_REWRITE_MODEL_NAME="<your_model_name>"
export I2V_REWRITE_BASE_URL="<your_vllm_server_base_url>"
export I2V_REWRITE_MODEL_NAME="<your_model_name>"

export PYTORCH_NPU_ALLOC_CONF="expandable_segments:True"
export HCCL_OP_EXPANSION_MODE="AIV"
export TASK_QUEUE_ENABLE=2
export CPU_AFFINITY_CONF=1

export ASCEND_LAUNCH_BLOCKING=0

export ENABLE_ASYNC_COMMUNICATION=1 # 是否启用通算掩盖
export ENABLE_RAINFUSION=1 # 是否开启rf3.0稀疏
export ENABLE_ADABSASPARSEATTN=0 # 是否开启bsa稀疏
export SPARSITY=0.7 # 稀疏度
export SKIP_TIMESTEP=10 # 跳过前面step不做稀疏
export ENABLE_MEMORY_OPTIMIZATION=0 # sr模式优先开启
export NOT_DO_CLASSIFIER_FREE_GUIDANCE=0 # 是否关闭cfg,1为关闭
EXCEL_FILE=./assets/dataset.xlsx # 批量推理模式文件路径,批量推理模式使用--excel_file开启,开启时只推理excel中的prompt

#export HCCL_INTRA_ROCE_ENABLE=1 # A2 A+X机器跨8卡时开启
#export HCCL_INTRA_PCIE_ENABLE=0 # A2 A+X机器跨8卡时开启 

PROMPT='A girl holding a paper with words "Hello, world!"'

IMAGE_PATH=./assets/hy_video_1_5_dit.png # 可选,none 或 <图像路径> 以启用 i2v 模式
SEED=1
ASPECT_RATIO=16:9
RESOLUTION=480p
OUTPUT_PATH=./outputs/output.mp4

# 配置
REWRITE=false # 启用提示词重写。请确保 rewrite vLLM server 已部署和配置。
N_INFERENCE_GPU=8  # 并行推理 GPU 数量
CFG_DISTILLED=true # 使用 CFG 蒸馏模型进行推理,2倍加速
SPARSE_ATTN=false # 使用稀疏注意力进行推理(仅 720p 模型配备了稀疏注意力)。请确保 flex-block-attn 已安装
SAGE_ATTN=false # 使用 SageAttention 进行推理
ENCODER_FSDP=true # 当显存不够时,优先启用该参数降低显存占用
OFFLOADING=false # 开启时会对所有encoder、dit、vae模块做offload,可以降低显存占用,但是增加推理耗时
GROUP_OFFLOADING=false # 开启时会对所有dit的block做offload,可以降低显存占用,但是增加推理耗时
OVERLAP_GROUP_OFFLOADING=false # 仅在组卸载启用时有效,会显著增加 CPU 内存占用,但能够提速
ENABLE_CACHE=true # 启用特征缓存进行推理。显著提升推理速度
CACHE_TYPE=deepcache # 支持:deepcache, teacache, taylorcache
ENABLE_SR=false # 启用超分辨率
MODEL_PATH=/data2/huggingface_hub/ckpts # 预训练模型路径

torchrun --nproc_per_node=$N_INFERENCE_GPU generate.py \
  --prompt "$PROMPT" \
  --image_path $IMAGE_PATH \
  --resolution $RESOLUTION \
  --aspect_ratio $ASPECT_RATIO \
  --seed $SEED \
  --rewrite $REWRITE \
  --cfg_distilled $CFG_DISTILLED \
  --sparse_attn $SPARSE_ATTN --use_sageattn $SAGE_ATTN \
  --enable_cache $ENABLE_CACHE --cache_type $CACHE_TYPE \
  --encoder_fsdp $ENCODER_FSDP \
  --offloading $OFFLOADING \
  --group_offloading $GROUP_OFFLOADING \
  --overlap_group_offloading $OVERLAP_GROUP_OFFLOADING \
  --sr $ENABLE_SR --save_pre_sr_video \
  --output_path $OUTPUT_PATH \
  --model_path $MODEL_PATH \
  --excel_file $EXCEL_FILE

3.2.2 t2v

执行命令:

#source /usr/local/Ascend/ascend-toolkit/set_env.sh
#source /usr/local/Ascend/ascend-toolkit/latest/toolkit/bin/setenv.bash

export T2V_REWRITE_BASE_URL="<your_vllm_server_base_url>"
export T2V_REWRITE_MODEL_NAME="<your_model_name>"
export I2V_REWRITE_BASE_URL="<your_vllm_server_base_url>"
export I2V_REWRITE_MODEL_NAME="<your_model_name>"

export PYTORCH_NPU_ALLOC_CONF="expandable_segments:True"
export HCCL_OP_EXPANSION_MODE="AIV"
export TASK_QUEUE_ENABLE=2
export CPU_AFFINITY_CONF=1

export ASCEND_LAUNCH_BLOCKING=0

export ENABLE_ASYNC_COMMUNICATION=1 # 是否启用通算掩盖
export ENABLE_RAINFUSION=1 # 是否开启rf3.0稀疏
export ENABLE_ADABSASPARSEATTN=0 # 是否开启bsa稀疏
export SPARSITY=0.7 # 稀疏度
export SKIP_TIMESTEP=10 # 跳过前面step不做稀疏
export ENABLE_MEMORY_OPTIMIZATION=0 # sr模式优先开启
export NOT_DO_CLASSIFIER_FREE_GUIDANCE=0 # 是否关闭cfg,1为关闭

#export HCCL_INTRA_ROCE_ENABLE=1 # A2 A+X机器跨8卡时开启
#export HCCL_INTRA_PCIE_ENABLE=0 # A2 A+X机器跨8卡时开启 

PROMPT='A girl holding a paper with words "Hello, world!"'

IMAGE_PATH=none # 可选,none 或 <图像路径> 以启用 i2v 模式
SEED=1
ASPECT_RATIO=16:9
RESOLUTION=480p
OUTPUT_PATH=./outputs/output.mp4

# 配置
REWRITE=false # 启用提示词重写。请确保 rewrite vLLM server 已部署和配置。
N_INFERENCE_GPU=8  # 并行推理 GPU 数量
CFG_DISTILLED=true # 使用 CFG 蒸馏模型进行推理,2倍加速
SPARSE_ATTN=false # 使用稀疏注意力进行推理(仅 720p 模型配备了稀疏注意力)。请确保 flex-block-attn 已安装
SAGE_ATTN=false # 使用 SageAttention 进行推理
ENCODER_FSDP=true # 当显存不够时,优先启用该参数降低显存占用
OFFLOADING=false # 开启时会对所有encoder、dit、vae模块做offload,可以降低显存占用,但是增加推理耗时
GROUP_OFFLOADING=false # 开启时会对所有dit的block做offload,可以降低显存占用,但是增加推理耗时
OVERLAP_GROUP_OFFLOADING=false # 仅在组卸载启用时有效,会显著增加 CPU 内存占用,但能够提速
ENABLE_CACHE=true # 启用特征缓存进行推理。显著提升推理速度
CACHE_TYPE=deepcache # 支持:deepcache, teacache, taylorcache
ENABLE_SR=false # 启用超分辨率
MODEL_PATH=/data2/huggingface_hub/ckpts # 预训练模型路径

torchrun --nproc_per_node=$N_INFERENCE_GPU generate.py \
  --prompt "$PROMPT" \
  --image_path $IMAGE_PATH \
  --resolution $RESOLUTION \
  --aspect_ratio $ASPECT_RATIO \
  --seed $SEED \
  --rewrite $REWRITE \
  --cfg_distilled $CFG_DISTILLED \
  --sparse_attn $SPARSE_ATTN --use_sageattn $SAGE_ATTN \
  --enable_cache $ENABLE_CACHE --cache_type $CACHE_TYPE \
  --encoder_fsdp $ENCODER_FSDP \
  --offloading $OFFLOADING \
  --group_offloading $GROUP_OFFLOADING \
  --overlap_group_offloading $OVERLAP_GROUP_OFFLOADING \
  --sr $ENABLE_SR --save_pre_sr_video \
  --output_path $OUTPUT_PATH \
  --model_path $MODEL_PATH \

四、推理结果参考

800T A3

模型分辨率帧数迭代次数卡数E2E耗时
HunyuanVideo-1.5848×480121508DiT 13.2s、E2E 15.5s