【难道有钱就可以为所欲为吗?】腾讯发布混元Video一个13B的DiT视频生成模型
2025-06-24 11:55:22
来源:新华网
我们介绍的混元视频是一种新颖的开源视频基础模型,它在视频生成方面的性能可与领先的闭源模型相媲美,甚至更胜一筹。 浑源视频是一个综合框架,集成了多个关键贡献,包括数据整理、图像视频联合模型训练以及旨在促进大规模模型训练和推理的高效基础架构。 此外,通过有效的模型架构和数据集扩展策略,我们成功训练了一个拥有超过 130 亿个参数的视频生成模型,使其成为所有开源模型中最大的模型。
我们进行了大量的实验,并实施了一系列有针对性的设计,以确保高视觉质量、运动多样性、文本视频对齐和生成稳定性。 根据专业的人工评估结果,混元视频的性能优于之前的最先进模型,包括 Runway Gen-3、Luma 1.6 和 3 个性能最好的中文视频生成模型。 通过发布基础模型及其应用的代码和权重,我们旨在缩小闭源和开源视频基础模型之间的差距。 这一举措将使社区中的每个人都有能力尝试自己的想法,从而促进更具活力和生机的视频生成生态系统。
混元视频总体架构
混元视频是在时空压缩的潜空间上进行训练的,该潜空间通过因果三维 VAE 进行压缩。 文本提示使用大型语言模型进行编码,并用作条件。 将高斯噪声和条件作为输入,我们的生成模型会生成输出潜码,并通过 3D VAE 解码器将其解码为图像或视频。
混元Video主要功能
统一图像和视频生成架构
混元Video引入了 Transformer 设计,并采用了 Full Attention 机制,实现了图像和视频的统一生成。 具体来说,我们采用 "双流到单流 "混合模型设计来生成视频。 在双流阶段,视频和文本令牌通过多个变换器模块独立处理,从而使每种模式都能学习到自己合适的调制机制,而不受干扰。 在单流阶段,我们将视频和文本标记串联起来,并将其输入后续的 Transformer 模块,以实现有效的多模态信息融合。 这种设计可以捕捉视觉和语义信息之间的复杂交互,从而提高模型的整体性能。
MLLM 文本编码器
以前的一些文本到视频模型通常使用预训练的 nCLIP 和 T5-XXL 作为文本编码器,其中 CLIP 使用变换器编码器,T5 使用编码器-解码器结构。 相比之下,我们使用经过预训练的多模态大语言模型(MLLM)和纯解码器结构作为文本编码器,具有以下优势: (i)与 T5 相比,经过视觉指令微调后的 MLLM 在特征空间中具有更好的图像-文本对齐性,从而减轻了扩散模型中指令跟随的困难;(ii)与 CLIP 相比,MLLM 在图像细节描述和复杂推理方面的能力更胜一筹;(iii)MLLM 可以扮演零镜头学习者的角色,根据用户提示预置系统指令,帮助文本特征更加关注关键信息。 此外,MLLM 基于因果注意,而 T5-XXL 则利用双向注意,为扩散模型提供更好的文本引导。 因此,我们引入了一个额外的双向标记细化器来增强文本特征。
3D VAE
混元视频利用 CausalConv3D 训练 3D VAE,将像素空间的视频和图像压缩到一个紧凑的潜空间。 我们将视频长度、空间和通道的压缩率分别设置为 4、8 和 16。 这可以大大减少后续扩散变换器模型的标记数量,使我们可以在原始分辨率和帧速率下训练视频。
提示语改写
为了解决用户提供的提示语在语言风格和长度上的差异性,我们对浑源-拉格模型进行了微调,将其作为我们的提示语改写模型,以将原始用户提示语调整为模型首选提示语。
我们提供了两种改写模式: 普通模式和大师模式,可使用不同的提示进行调用。 普通模式旨在加强视频生成模型对用户意图的理解,便于更准确地解释所提供的指令。 大师模式加强了对构图、照明和摄像机移动等方面的描述,从而倾向于生成视觉质量更高的视频。 不过,这种强调偶尔会导致一些语义细节的丢失。
提示重写模型可以直接使用Hunyuan-Large 的原始代码进行部署和推断。 我们在此发布提示重写模型的权重。
📈 比较
为了评估混元Video的性能,我们从闭源视频生成模型中选择了五个较强的基线。 我们总共使用了 1,533 个文本提示,在一次运行中生成了与混元Video相同数量的视频样本。 为了进行公平比较,我们只进行了一次推理,避免了对结果的挑剔。 在与基线方法进行比较时,我们对所有选定的模型都保留了默认设置,以确保视频分辨率的一致性。 视频根据三个标准进行评估: 文本对齐、动作质量和视觉质量。 60 多名专业评估人员进行了评估。 其中,浑源影视的综合表现最佳,尤其是在动态质量方面表现突出。
Model | Open Source | Duration | Text Alignment | Motion Quality | Visual Quality | Overall | Ranking |
---|---|---|---|---|---|---|---|
HunyuanVideo (Ours) | ✔ | 5s | 61.8% | 66.5% | 95.7% | 41.3% | 1 |
CNTopA (API) | ✘ | 5s | 62.6% | 61.7% | 95.6% | 37.7% | 2 |
CNTopB (Web) | ✘ | 5s | 60.1% | 62.9% | 97.7% | 37.5% | 3 |
GEN-3 alpha (Web) | ✘ | 6s | 47.7% | 54.7% | 97.5% | 27.4% | 4 |
Luma1.6 (API) | ✘ | 5s | 57.6% | 44.2% | 94.1% | 24.8% | 6 |
CNTopC (Web) | ✘ | 5s | 48.4% | 47.2% | 96.3% | 24.6% | 5 |
📜 要求
下表列出了运行 HunyuanVideo 模型(批量大小 = 1)生成视频的要求:
Model | GPU | Setting (height/width/frame) | Denoising step | GPU Peak Memory |
---|---|---|---|---|
HunyuanVideo | H800 | 720px1280px129f | 30 | 60G |
HunyuanVideo | H800 | 544px960px129f | 30 | 45G |
HunyuanVideo | H20 | 720px1280px129f | 30 | 60G |
HunyuanVideo | H20 | 544px960px129f | 30 | 45G |
需要支持 CUDA 的英伟达™(NVIDIA®)图形处理器。
- 我们在单个 H800/H20 GPU 上进行了测试。
- 最低配置: 建议:720px1280px129f 至少需要 60GB GPU 内存,544px960px129f 至少需要 45G。
- 我们建议使用 80GB 内存的 GPU,以获得更好的生成质量。
- 已测试操作系统: Linux
🛠️ 依赖关系和安装
从克隆版本库开始:
gitclone https://github.com/tencent/HunyuanVideocdHunyuanVideo
Linux 安装指南
我们提供了用于设置 Conda 环境的 environment.yml 文件。 我们推荐使用 CUDA 11.8 和 12.0 以上版本。
# 1. Prepare conda environmentconda envcreate -fenvironment.yml# 2. Activate the environmentconda activate HunyuanVideo# 3. Install pip dependenciespython -mpip install-rrequirements.txt# 4. Install flash attention v2 for acceleration (requires CUDA 11.8 or above)python -mpip installgit+https://github.com/Dao-AILab/flash-attention.git@v2.5.9.post1
此外,混元Video还提供了一个预构建的 Docker 镜像:docker_hunyuanvideo。
# 1. Use the following link to download the docker image tar file (For CUDA 12).wgethttps://aivideo.hunyuan.tencent.com/download/HunyuanVideo/hunyuan_video_cu12.tar# 2. Import the docker tar file and show the image meta information (For CUDA 12).dockerload -ihunyuan_video.tardockerimage ls# 3. Run the container based on the imagedockerrun -itd--gpusall --init--net=host --uts=host --ipc=host --namehunyuanvideo --security-opt=seccomp=unconfined --ulimit=stack=67108864--ulimit=memlock=-1 --privilegeddocker_image_tag
🔑 推论
我们在下表列出了支持的高度/宽度/框架设置。
Resolution | h/w=9:16 | h/w=16:9 | h/w=4:3 | h/w=3:4 | h/w=1:1 |
---|---|---|---|---|---|
540p | 544px960px129f | 960px544px129f | 624px832px129f | 832px624px129f | 720px720px129f |
720p (recommended) | 720px1280px129f | 1280px720px129f | 1104px832px129f | 832px1104px129f | 960px960px129f |
cd HunyuanVideopython3 sample_video.py \ --video-size 7201280\ --video-length 129\ --infer-steps 30\ --prompt "a cat is running, realistic."\ --flow-reverse \ --seed 0\ --use-cpu-offload \ --save-path ./results
Argument | Default | Description |
---|---|---|
--prompt | None | The text prompt for video generation |
--video-size | 720 1280 | The size of the generated video |
--video-length | 129 | The length of the generated video |
--infer-steps | 30 | The number of steps for sampling |
--embedded-cfg-scale | 6.0 | Embeded Classifier free guidance scale |
--flow-shift | 9.0 | Shift factor for flow matching schedulers |
--flow-reverse | False | If reverse, learning/sampling from t=1 -> t=0 |
--neg-prompt | None | The negative prompt for video generation |
--seed | 0 | The random seed for generating video |
--use-cpu-offload | False | Use CPU offload for the model load to save more memory, necessary for high-res video generation |
--save-path | ./results | Path to save the generated video |
评语
在此前,开源的视频生成的DiT都尚未将参数超过6B,主要原因就是没钱。毕竟要将大量资源用于训练Sora这类模型,纯纯风险投资。当然回报也是丰厚的,Ilya大神曾在OpenAI提出大模型Scaling Law(当然,近期 Anthropic 创始人 Dario Amodei 在一档播客节目中爆料:最早在百度工作时发现Scaling Law。有兴趣可以找找《DEEP LEARNING SCALING IS PREDICTABLE, EMPIRICALLY》17年小众论文)——随着你给它们提供更多数据,随着你让模型变大,随着你训练它们的时间越来越长,模型的表现开始越来越好。
由于 Transformer 框架才出现几年,对于它的研究尚在初期,这时候商业化采用资源垄断的方式属于较为明智的策略,可以高效、快速地实现产品落地。当然,也会造成资源分配的极度不平衡,对于较为自由的学术派而言,就会像 OpenAI的研究人员一样产生分歧,出走创业来维持多样性的研究。这也是我之前为什么说目前只能玩硬件的现状之一。