已开启
【版本众测】 HunyuanVideo模型推理 #216
changetheway创建于  7月9日
changetheway成员
7月9日 创建

[SD] 在 Atlas 800I A2 环境部署 MindIE-SD 并完成 HunyuanVideo-1.5 模型推理验证

1. 背景

当前需要在 Atlas 800I A2 环境上,基于任务指定 MindIE 镜像完成 MindIE-SD + HunyuanVideo-1.5 模型推理验证。

本任务要求完成真实环境部署、模型 README 流程执行、推理验证、视频结果保存和问题记录,最终输出可复现的部署文档和测试结果。

本任务重点验证:

  1. 任务指定镜像可正常启动。
  2. 容器内可识别 NPU。
  3. MindIE-SD 环境可用。
  4. HunyuanVideo-1.5 模型可按 README 完成推理。
  5. 生成视频结果无明显异常。
  6. 记录完整执行命令、日志、耗时和问题解决方案。

2. 基础信息

项目 内容
任务类型 SD / 模型推理测试
任务名称 HunyuanVideo-1.5 模型推理
硬件环境 Atlas 800I A2
HDK 版本 Ascend HDK 25.5.0.B077
NPU 数量 8
内存 1T
磁盘 300G
镜像地址 https://www.hiascend.com/developer/ascendhub/detail/af85b724a7e5469ebd7ea13c3439d48f
镜像版本 3.0.0-800I-A2-py311-openeuler24.03-lts
镜像名称 由执行环境通过 $IMAGE_NAME 传入
容器名称 由执行环境通过 $CONTAINER_NAME 传入
模型名称 HunyuanVideo-1.5
模型地址 https://modelers.cn/models/MindIE/HunyuanVideo-1.5
MindIE-SD 部署文档 https://gitcode.com/Ascend/MindIE-SD/blob/master/docs/zh/installation.md
目标任务 按模型 README 完成 HunyuanVideo-1.5 生成视频推理,保存生成视频

3. 任务范围

需要完成以下工作:

  1. 确认宿主机可执行 npu-smi info。
  2. 确认任务指定镜像已经存在。
  3. 使用给定 docker run 脚本启动容器。
  4. 进入容器后使能 Ascend / MindIE 相关环境变量。
  5. 通过 import mindiesd 确认 MindIE-SD 环境可用。
  6. 不需要重新下载或安装 SD 基础依赖。
  7. 模型权重下载、模型依赖安装、输入准备、推理命令均严格按 HunyuanVideo-1.5 模型 README 执行。
  8. 保存生成的视频结果。
  9. 记录推理耗时、日志、输出视频路径和问题解决方案。

4. 执行步骤

4.1 环境确认

宿主机只需要确认 NPU 可见即可。

执行:

npu-smi info

验收要求:

  • 命令可正常执行。
  • 能看到 NPU 信息。
  • 如果 NPU 数量不是预期数量,需要在问题记录中说明。

4.2 镜像确认

确认任务指定镜像已经存在。

镜像名由执行环境通过 $IMAGE_NAME 传入。

执行:

docker images | grep "${IMAGE_NAME%%:*}"

验收要求:

  • 能查到任务指定镜像。
  • 如果镜像不存在,需要按镜像仓库说明拉取或导入镜像。
  • 最终测试结果中记录实际使用的 $IMAGE_NAME。

4.3 启动容器

使用以下脚本启动容器。

要求:

  • 容器名通过 $CONTAINER_NAME 传入。
  • 镜像名通过 $IMAGE_NAME 传入。
  • 脚本中不写死具体容器名和镜像名。

新增脚本:

start_container.sh

脚本内容:

#!/usr/bin/env bash
set -euo pipefail

CONTAINER_NAME="${1:?Usage: bash start_container.sh <CONTAINER_NAME> <IMAGE_NAME>}"
IMAGE_NAME="${2:?Usage: bash start_container.sh <CONTAINER_NAME> <IMAGE_NAME>}"

docker run --name "${CONTAINER_NAME}" -it -d --net=host --shm-size=500g --privileged=true \
--device=/dev/davinci0 \
--device=/dev/davinci1 \
--device=/dev/davinci2 \
--device=/dev/davinci3 \
--device=/dev/davinci4 \
--device=/dev/davinci5 \
--device=/dev/davinci6 \
--device=/dev/davinci7 \
--device=/dev/davinci8 \
--device=/dev/davinci9 \
--device=/dev/davinci10 \
--device=/dev/davinci11 \
--device=/dev/davinci12 \
--device=/dev/davinci13 \
--device=/dev/davinci14 \
--device=/dev/davinci15 \
--device=/dev/davinci_manager \
--device=/dev/devmm_svm \
--device=/dev/hisi_hdc \
-v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
-v /usr/local/Ascend/driver:/usr/local/Ascend/driver \
-v /usr/local/Ascend/firmware:/usr/local/Ascend/firmware \
-v /usr/local/dcmi:/usr/local/dcmi \
-v /usr/local/sbin:/usr/local/sbin \
-v /etc/ascend_install.info:/etc/ascend_install.info \
-v /etc/vnpu.cfg:/etc/vnpu.cfg \
-v /etc/hccn.conf:/etc/hccn.conf \
-v /root/weights:/root/weights \
-v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \
-v /home:/home \
-v /data:/data \
-v /mnt:/mnt \
"${IMAGE_NAME}"

执行方式:

bash start_container.sh "$CONTAINER_NAME" "$IMAGE_NAME"

进入容器:

docker exec -it "$CONTAINER_NAME" bash

容器内确认 NPU:

npu-smi info

验收要求:

  • 容器可正常启动。
  • 容器内可执行 npu-smi info。
  • 容器内可看到 NPU 信息。

4.4 使能环境变量

进入容器后,按实际路径使能 Ascend / MindIE 相关环境变量。

可先查找环境变量脚本:

find /usr/local/Ascend -name set_env.sh -o -name setenv.bash 2>/dev/null

按实际存在路径执行,例如:

source /usr/local/Ascend/ascend-toolkit/set_env.sh || true
source /usr/local/Ascend/mindie/set_env.sh || true
source /usr/local/Ascend/nnal/atb/set_env.sh || true

确认 NPU 可用:

npu-smi info

4.5 确认 MindIE-SD 环境

参考 MindIE-SD 部署文档:

https://gitcode.com/Ascend/MindIE-SD/blob/master/docs/zh/installation.md

执行:

python3 -c "import mindiesd; print('mindiesd import success')"

验收要求:

  • import mindiesd 执行成功。
  • 如果 import 失败,参考 MindIE-SD 部署文档进行处理,并记录处理过程。

4.6 按模型 README 执行推理

模型地址:

https://modelers.cn/models/MindIE/HunyuanVideo-1.5

要求:

  1. 模型权重下载、模型依赖安装、输入图片准备、Prompt 配置、推理命令均严格按 HunyuanVideo-1.5 模型 README 执行。
  2. 不额外安装 README 之外的无关依赖。
  3. 不随意升级已有 torch / torch_npu / CANN 相关包。
  4. 如果 README 提供多种模式,选择能完成图片生成视频的模式。
  5. 输出视频保存到明确路径。
  6. 推理过程必须记录日志和耗时。

建议创建输出和日志目录:

mkdir -p /data/outputs /data/logs

推理时记录耗时和日志:


<README中的实际推理命令>

注意:

  • <README中的实际推理命令> 必须替换为模型 README 中真实可执行命令。
  • 如果 README 命令需要修改模型路径、输入图片路径、输出路径或设备参数,需要记录修改前后的差异。
  • 如果 README 命令不能直接运行,需要记录失败原因和解决方案。

记录项:

| 项目 | 结果 |
|---|---|
| 模型名称 | HunyuanVideo-1.5 |
| 模型地址 | https://modelers.cn/models/MindIE/HunyuanVideo-1.5 |
| 模型路径 |  |
| README 推理命令 |  |
| 实际执行推理命令 |  |
| 输入图片路径 |  |
| Prompt |  |
| 输出视频路径 |  |
| 推理日志路径 |  |
| 推理耗时 |  |
| README 流程是否执行成功 |  |
| 是否改动 torch / torch_npu / CANN |  |
| 如有冲突,处理方式 |  |

4.7 验证输出视频

推理完成后,人工检查生成视频是否正常。

验证方式:

  1. 确认输出视频文件存在。
  2. 确认输出视频文件大小正常,不是空文件。
  3. 打开生成视频进行观看。
  4. 判断视频是否能正常播放。
  5. 判断视频是否存在明显异常。

需要记录:

| 检查项 | 结果 |
|---|---|
| 输出视频路径 |  |
| 输出视频大小 |  |
| 是否能正常播放 |  |
| 是否黑屏 |  |
| 是否花屏 |  |
| 是否严重闪烁 |  |
| 是否异常色块 |  |
| 是否格式损坏 |  |
| 整体结论 |  |

视频质量要求:

  • 可正常播放。
  • 无明显黑屏。
  • 无明显花屏。
  • 无明显严重闪烁。
  • 无明显异常色块。
  • 无明显格式损坏。
  • 视频内容与 README 示例输入图片和 Prompt 基本相关。

5. 交付件

本任务最终需要提交以下内容。

5.1 部署文档

提交 Markdown 格式完整部署指南,建议命名:

deploy_hunyuanvideo_mindiesd_800ia2.md

文档需要包含:

  1. 镜像变量传入方式。
  2. 容器变量传入方式。
  3. 容器启动命令。
  4. 环境变量配置方式。
  5. import mindiesd 检查结果。
  6. 模型 README 执行说明。
  7. README 推理命令。
  8. 实际执行推理命令。
  9. 输出视频路径。
  10. 日志路径。
  11. 问题及解决方案。

5.2 部署脚本

提交 Python 或 shell 脚本,至少包含:

start_container.sh
run_infer.sh

脚本要求:

  • 可直接执行。
  • 容器名和镜像名通过参数或环境变量传入。
  • 不写死内部容器名和镜像名。
  • 路径变量清晰。
  • 不写死无关个人路径。
  • 失败时能看到明确报错。
  • 推理日志保存到固定位置。

5.3 测试结果

提交测试结果,包含:

  1. 宿主机 npu-smi info 输出。
  2. $IMAGE_NAME 实际值。
  3. $CONTAINER_NAME 实际值。
  4. 容器内 npu-smi info 输出。
  5. import mindiesd 检查结果。
  6. 模型 README 流程执行结果。
  7. README 推理命令。
  8. 实际推理命令。
  9. 推理耗时。
  10. 输出视频路径。
  11. 输出视频大小。
  12. 视频人工检查结果。
  13. 视频是否可播放。
  14. 视频是否有明显异常。

5.4 问题记录

提交部署过程中遇到的问题及解决方案。

问题记录格式:

## 问题 1:<问题标题>

### 现象

### 报错日志

```text
<关键报错日志>

根因分析

解决方案

是否解决


如果没有遇到问题,也需要写明:

```markdown
本次部署未遇到阻塞性问题。

6. 验收标准

6.1 功能验收

必须满足:

6.2 性能验收

必须满足:

6.3 文档验收

必须满足:

6.4 精度 / 生成质量验收

必须满足:


7. 最终需要记录的信息

完成任务后,在最终回复或测试报告中记录以下信息:

## 执行结果

### 结论

- [ ] 通过
- [ ] 不通过

### 基础信息

| 项目 | 结果 |
|---|---|
| 宿主机 `npu-smi info` 是否正常 |  |
| `$IMAGE_NAME` 实际值 |  |
| `$CONTAINER_NAME` 实际值 |  |
| 容器内 `npu-smi info` 是否正常 |  |
| `import mindiesd` 是否成功 |  |
| 模型名称 | HunyuanVideo-1.5 |
| 模型路径 |  |
| README 流程执行结果 |  |
| README 推理命令 |  |
| 实际推理命令 |  |
| 推理耗时 |  |
| 输出视频路径 |  |
| 输出视频大小 |  |
| 日志路径 |  |
| 视频是否可播放 |  |
| 视频是否有明显异常 |  |

### 交付件

| 交付件 | 路径 |
|---|---|
| 部署文档 |  |
| 部署脚本 |  |
| 测试结果 |  |
| 问题记录 |  |
| 输出视频 |  |

### 遗留问题

如无遗留问题,填写:无。
likedislike
lanwangli成员
7月10日 评论:

感谢提交版本众测任务!本 Issue 已标记为 task(ai-triaged)。

任务状态:已记录,请按任务描述执行测试并记录结果。

建议:

  1. 按文档完成环境部署和推理验证
  2. 记录遇到的问题和解决方案
  3. 如有阻塞性问题,请补充错误日志和环境信息

如有问题或需要支持,请随时在此 Issue 下补充反馈。


关联分析:发现 PR #446 (fix hunyuan魔改模型,使用fa512算子时,���shape校验卡住的问题,使算子支持512) 可能与本 Issue 相关。
该 PR 状态:open,目标分支:dev。
建议维护者确认关联关系。


关联分析:发现 PR #405 ([Docs] TorchNPU名称统一) 可能与本 Issue 相关。
该 PR 状态:open,目标分支:dev。
建议维护者确认关联关系。

likedislike
hubiteng
7月10日 评论:

认领任务。

likedislike
hubiteng
7月10日 评论:

MindIE 镜像 没有安装docker

likedislike
Cchangetheway成员
7月14日 关联了看板:MindIE-SD
Cchangetheway成员
7月27日 将 hubiteng_ 设为负责人
lijinxilijinxi成员
8月26日 修改了issue 的描述