腾讯开源的 HunyuanVideo 是目前参数量最大的开源文生视频模型之一,效果接近闭源商用产品。本文记录我在阿里云 GPU 服务器上从零部署的完整过程,包括实例选型、CUDA 环境、依赖安装、模型下载和首次推理,以及国内网络环境下容易踩到的坑。
一、服务器与环境要求
HunyuanVideo 对显存要求很高,先把实例选对,否则后面全是无用功。
- GPU 显存:
- 最低 45GB(544×960×129 帧)
- 推荐 80GB(720×1280×129 帧)
- 阿里云推荐实例:
ecs.gn7i(A10,24G)❌ 显存不够ecs.gn7e/ebmgn7ex(A100 80G)✅ 推荐ecs.gn8is(H800/H100)✅ 最佳
- 系统:Ubuntu 22.04 / 20.04
- CUDA:12.4(推荐)或 11.8
- 磁盘:≥ 200GB(模型权重约 60–80GB,加上中间文件留足空间)
二、基础环境
sudo apt update && sudo apt install -y \
git git-lfs wget curl build-essential
git lfs install
确认 GPU 驱动与 CUDA:
nvidia-smi
如果输出报错说没装驱动,先到阿里云控制台用带 GPU 驱动的镜像重装系统,或用 NVIDIA 官方 .run 包手动安装。CUDA 工具链建议用 12.4。
三、安装 Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh -b -p $HOME/miniconda3
source $HOME/miniconda3/bin/activate
conda init bash && exec bash
四、克隆仓库
git clone https://github.com/tencent/HunyuanVideo
cd HunyuanVideo
五、创建 Conda 环境
conda create -n HunyuanVideo python==3.10.9 -y
conda activate HunyuanVideo
六、安装 PyTorch(CUDA 12.4)
conda install -y \
pytorch==2.4.0 torchvision==0.19.0 torchaudio==2.4.0 \
pytorch-cuda=12.4 \
-c pytorch -c nvidia
如果你的环境是 CUDA 11.8,把 pytorch-cuda=12.4 换成 pytorch-cuda=11.8 即可。
七、安装项目依赖
国内服务器先把 pip 源换成阿里云镜像,能省下大量时间:
pip config set global.index-url \
https://mirrors.aliyun.com/pypi/simple/
然后安装 requirements 和 Flash Attention:
python -m pip install -r requirements.txt
python -m pip install ninja
python -m pip install \
git+https://github.com/Dao-AILab/[email protected]
Flash Attention 会本地编译 CUDA 算子,时间比较长(10–30 分钟),CPU 核多会快一些。如果 GitHub 拉不动,可以先把仓库
git clone下来再pip install .。
八、下载模型权重
HuggingFace 国内访问不稳,用镜像站:
export HF_ENDPOINT=https://hf-mirror.com
pip install -U "huggingface_hub[cli]"
下载主权重和文本编码器:
huggingface-cli download tencent/HunyuanVideo \
--local-dir ./ckpts
huggingface-cli download xtuner/llava-llama-3-8b-v1_1-transformers \
--local-dir ./ckpts/llava-llama-3-8b-v1_1-transformers
huggingface-cli download openai/clip-vit-large-patch14 \
--local-dir ./ckpts/text_encoder_2
按官方 ckpts/README.md 的要求,还需要把 llava 模型转换成 HunyuanVideo 用的 text_encoder 格式:
python hyvideo/utils/preprocess_text_encoder_tokenizer_utils.py \
--input_dir ./ckpts/llava-llama-3-8b-v1_1-transformers \
--output_dir ./ckpts/text_encoder
九、首次推理测试
先用较小分辨率验证整条链路是否通:
python3 sample_video.py \
--video-size 544 960 \
--video-length 129 \
--infer-steps 50 \
--prompt "A cat walks on the grass, realistic style." \
--flow-reverse \
--use-cpu-offload \
--save-path ./results
成功后视频会输出到 ./results/。如果是 80G A100,可以直接上 720 1280 分辨率。
十、起 Gradio Web UI(可选)
如果想给团队共用,开 Gradio 服务最方便。注意要先在阿里云安全组放行端口(如 8081),否则外网访问不到。
SERVER_NAME=0.0.0.0 SERVER_PORT=8081 \
python3 gradio_server.py --flow-reverse
浏览器访问 http://<公网IP>:8081。生产环境建议套一层 Nginx + HTTPS + 鉴权,不要把 Gradio 直接暴露在公网。
十一、常见坑
-
OOM(显存不够):单卡不到 80G 时务必加
--use-cpu-offload。还不够就改用 FP8 权重 +--use-fp8,能再省一截显存。 -
flash-attn 编译失败:检查
nvcc --version与 PyTorch 自带的 CUDA 版本是否一致;gcc版本需要 ≥ 9;内存太小(<16G)也会编译挂掉,可以加 swap。 -
HuggingFace 下载慢/断:在
HF_ENDPOINT=https://hf-mirror.com基础上再开启hf_transfer加速:pip install hf_transfer export HF_HUB_ENABLE_HF_TRANSFER=1 -
git-lfs 没装:模型仓库部分文件走 LFS,没执行
git lfs install会下载到指针文件而不是真实权重。 -
多卡推理:8 卡并行用
torchrun --nproc_per_node=8 sample_video.py ... --ulysses-degree 8 --ring-degree 1,需要先装xfuser==0.4.0。
十二、成本提醒
A100 80G 在阿里云按量付费每小时大概十几到二十块(实际看库存和地域),跑一段 720p 5 秒视频大约 5–10 分钟,单次成本不算低。建议:
- 用抢占式实例做调试,便宜很多
- 调试完跑完一批立刻释放
- 模型权重放云盘快照里,下次开机直接挂载,省下重新下载几十 GB 的时间
关于
关注我获取更多资讯