pipeline_tag: 文本转视频
license: 其他
license_name: 腾讯混元社区协议
license_link: 许可证
混元视频:大规模视频生成模型训练的系统性框架
本仓库包含我们研究混元视频的论文中涉及的PyTorch模型定义、预训练权重及推理/采样代码。更多可视化效果请访问项目主页。
混元视频:大规模视频生成模型训练的系统性框架
🔥🔥🔥 最新动态!!
- 2024年12月3日:🤗 我们发布了混元视频的推理代码与模型权重。
📑 开源计划
- 混元视频(文生视频模型)
- [x] 推理代码
- [x] 模型权重
- [ ] 企鹅视频评测基准
- [ ] 网页演示(Gradio)
- [ ] ComfyUI插件
- [ ] Diffusers集成
- 混元视频(图生视频模型)
目录
摘要
我们推出混元视频——一个性能媲美甚至超越主流闭源模型的新型开源视频基础模型。该框架整合了数据筛选、图像-视频联合训练、支持大规模模型训练与推理的高效基础设施等关键创新。通过创新的模型架构与数据集扩展策略,我们成功训练了参数量超130亿的视频生成模型,成为当前开源领域规模最大的视频生成模型。
通过大量实验验证与针对性设计,我们确保了视频生成在视觉质量、运动多样性、文本-视频对齐及生成稳定性方面的卓越表现。专业人工评估显示,混元视频在文本对齐度、运动质量和视觉质量三项指标上均超越包括Runway Gen-3、Luma 1.6在内的三大顶尖中文视频生成模型。通过开源基础模型及其应用代码与权重,我们致力于缩小闭源与开源视频基础模型间的差距,赋能社区创新实践,推动视频生成生态繁荣发展。
混元视频整体架构
混元视频在时空压缩的潜在空间中进行训练,该空间通过因果3D变分自编码器进行压缩。文本提示经由大语言模型编码后作为条件输入。高斯噪声与条件信息输入生成模型后,输出潜在表示通过3D变分自编码器解码为图像或视频。
🎉 混元视频核心特性
统一的图像与视频生成架构
混元视频采用Transformer架构与全注意力机制实现图像视频统一生成。具体采用"双流转单流"混合设计:双流阶段视频与文本令牌独立通过多个Transformer块,确保各模态自主调节;单流阶段拼接多模态令牌进行深度融合。该设计有效捕捉视觉与语义信息的复杂交互,显著提升模型性能。
多模态大语言模型文本编码器
相比传统CLIP+T5组合,我们采用经过视觉指令微调的多模态大语言模型(MLLM)作为文本编码器,具备三大优势:(1) 相比T5具有更优的图文对齐特征空间;(2) 相比CLIP具备更强的细节描述与复杂推理能力;(3) 支持通过系统指令引导关注关键信息。此外,我们引入双向令牌精炼器增强文本特征。
3D变分自编码器
采用因果卷积3D的变分自编码器实现视频空间压缩,视频长度、空间和通道的压缩比分别设为4、8和16,显著减少后续扩散Transformer的令牌数量,支持原始分辨率与帧率训练。
提示词改写
针对用户提示词的语言风格差异,我们基于混元大模型微调得到提示词改写模型,提供标准模式与大师模式:标准模式增强意图理解,大师模式侧重构图光影等影视级描述(可能损失部分语义细节)。改写模型权重已发布于此。
📈 性能对比
我们选取5个闭源视频生成强基线模型,使用1,533条文本提示进行公平单次推理生成(无结果筛选)。专业评估显示混元视频在运动质量方面表现尤为突出,综合排名第一。
模型 | 开源 | 时长 | 文本对齐 | 运动质量 | 视觉质量 | 综合 | 排名 |
混元视频(本工作) | ✔ | 5秒 | 61.8% | 66.5% | 95.7% | 41.3% | 1 |
CNTopA (API) | ✖ | 5秒 | 62.6% | 61.7% | 95.6% | 37.7% | 2 |
CNTopB (网页版) | ✖ | 5秒 | 60.1% | 62.9% | 97.7% | 37.5% | 3 |
GEN-3 alpha (网页版) | ✖ | 6秒 | 47.7% | 54.7% | 97.5% | 27.4% | 4 |
Luma1.6 (API) | ✖ | 5秒 | 57.6% | 44.2% | 94.1% | 24.8% | 6 |
CNTopC (网页版) | ✖ | 5秒 | 48.4% | 47.2% | 96.3% | 24.6% | 5 |
📜 系统要求
下表展示混元视频模型(批次大小=1)生成视频的运行要求:
模型 |
设置 (高/宽/帧数) |
GPU峰值内存 |
混元视频 |
720像素×1280像素×129帧 |
60GB |
混元视频 |
544像素×960像素×129帧 |
45GB |
- 需要支持CUDA的NVIDIA GPU
- 测试环境:单卡80G GPU
- 最低要求:720p需60GB显存,544p需45GB
- 推荐配置:建议使用80GB显存GPU以获得更佳生成质量
- 测试操作系统:Linux
🛠️ 依赖安装
首先克隆代码库:
git clone https://github.com/tencent/HunyuanVideo
cd HunyuanVideo
Linux系统安装指南
我们提供environment.yml
文件用于配置Conda环境。
Conda安装指南参见此处。
推荐CUDA版本11.8或12.0+。
# 1. 准备conda环境
conda env create -f environment.yml
# 2. 激活环境
conda activate HunyuanVideo
# 3. 安装pip依赖
python -m pip install -r requirements.txt
# 4. 安装flash attention v2加速(需CUDA 11.8+)
python -m pip install git+https://github.com/Dao-AILab/flash-attention.git@v2.5.9.post1
另提供预构建Docker镜像:
docker_hunyuanvideo。
# 1. 下载docker镜像文件(CUDA 12版本)
wget https://aivideo.hunyuan.tencent.com/download/HunyuanVideo/hunyuan_video_cu12.tar
# 2. 导入镜像并查看元信息(CUDA 12版本)
docker load -i hunyuan_video.tar
docker image ls
# 3. 运行容器
docker run -itd --gpus all --init --net=host --uts=host --ipc=host --name hunyuanvideo --security-opt=seccomp=unconfined --ulimit=stack=67108864 --ulimit=memlock=-1 --privileged docker_image_tag
🧱 下载预训练模型
预训练模型下载详情参见此处。
🔑 推理指南
支持的分辨率/宽高比配置如下表:
分辨率 |
高:宽=9:16 |
高:宽=16:9 |
高:宽=4:3 |
高:宽=3:4 |
高:宽=1:1 |
540p |
544像素×960像素×129帧 |
960×544×129帧 |
624×832×129帧 |
832×624×129帧 |
720×720×129帧 |
720p(推荐) |
720像素×1280像素×129帧 |
1280×720×129帧 |
1104×832×129帧 |
832×1104×129帧 |
960×960×129帧 |
命令行使用
cd HunyuanVideo
python3 sample_video.py \
--video-size 720 1280 \
--video-length 129 \
--infer-steps 30 \
--prompt "奔跑的猫咪,写实风格" \
--flow-reverse \
--seed 0 \
--use-cpu-offload \
--save-path ./results
更多配置选项
常用参数配置说明:
参数 |
默认值 |
描述 |
--prompt |
无 |
视频生成的文本提示词 |
--video-size |
720 1280 |
生成视频的分辨率 |
--video-length |
129 |
生成视频的帧数 |
--infer-steps |
30 |
采样步数 |
--embedded-cfg-scale |
6.0 |
嵌入式分类器自由引导系数 |
--flow-shift |
9.0 |
流匹配调度器的位移因子 |
--flow-reverse |
否 |
若启用则从t=1向t=0反向学习/采样 |
--neg-prompt |
无 |
视频生成的负面提示词 |
--seed |
0 |
视频生成的随机种子 |
--use-cpu-offload |
否 |
启用CPU卸载以节省显存(高清视频生成必需) |
--save-path |
./results |
视频保存路径 |
🔗 引用格式
若混元视频对您的研究有所帮助,请引用:
@misc{kong2024hunyuanvideo,
title={混元视频:大规模视频生成模型的系统性框架},
author={孔维杰, 田奇, 张子健, Min Rox, 戴祚卓, 周瑾, 熊江峰, 李鑫, 吴波, 张建伟, Kathrina Wu, 林勤, 王安东, 王安德, 李长林, 黄铎钧, 杨芳, 谭皓, 王红梅, Jacob Song, 柏佳旺, 吴建兵, 薛金宝, Joey Wang, 袁俊坤, 王凯, 刘梦阳, 李鹏宇, 李帅, 王伟彦, 余文清, 邓昕驰, 李阳, 龙彦欣, 陈毅, 崔玉涛, 彭元博, 于振涛, 何志勇, 徐志勇, 周子翔, 陶洋宇, 卢青林, 刘松涛, 周达, 王宏发, 杨勇, 王迪, 刘宇宏等及Caesar Zhong},
year={2024},
archivePrefix={arXiv预印本 arXiv:2412.03603},
primaryClass={计算机视觉}
}
致谢
感谢SD3、FLUX、Llama、LLaVA、Xtuner、diffusers和HuggingFace等开源项目的前沿探索。同时感谢腾讯混元多模态团队在文本编码器方面的支持。