极致的显存管理!6G显存运行混元Video模型

本文涉及的产品
视觉智能开放平台,视频通用资源包5000点
视觉智能开放平台,分割抠图1万点
视觉智能开放平台,图像通用资源包5000点
简介: 混元 Video 模型自发布以来,已成为目前效果最好的开源文生视频模型,然而,这个模型极为高昂的硬件需求让大多数玩家望而却步。魔搭社区的开源项目 DiffSynth-Studio 近期为混元 Video 模型提供了更高效的显存管理的支持,目前已支持使用24G显存进行无任何质量损失的视频生成,并在极致情况下,用低至 6G 的显存运行混元 Video 模型!

 混元 Video 模型自发布以来,已成为目前效果最好的开源文生视频模型,然而,这个模型极为高昂的硬件需求让大多数玩家望而却步。魔搭社区的开源项目 DiffSynth-Studio 近期为混元 Video 模型提供了更高效的显存管理的支持,目前已支持使用24G显存进行无任何质量损失的视频生成,并在极致情况下,用低至 6G 的显存运行混元 Video 模型!

模型官网:

https://aivideo.hunyuan.tencent.com/

魔搭社区模型链接:

https://modelscope.cn/models/AI-ModelScope/HunyuanVideo

开源项目 DiffSynth-Studio 链接:

https://github.com/modelscope/DiffSynth-Studio

01.样例展示

先来看几个由 混元 Video 模型,在DiffSynth-Studio 引擎上基于无损的优化实现,在仅占用24G显存的情况下生成的视频!

活泼可爱的动物:

https://developer.aliyun.com/live/254774?spm=a2c6h.26396819.creator-center.22.404f3e184PVTfF

精细的人像:

https://vod-yq-aliyun.taobao.com/vod-7651a3/00794f30c73a71efb77a4531958c0102/7fc7d3103f314e02892329a560085393-ce371cf9913df3934aeab91a35610ca0-hd.mp4

复杂的多人场景:

https://vod-yq-aliyun.taobao.com/vod-7651a3/908da305c73a71efbfcd5107e0c90102/fd2f8277eb634777b9fa40f9a55a8695-5f81a875a9ac37cab89cbdf822f86533-hd.mp4

大幅度的运镜:

https://vod-yq-aliyun.taobao.com/vod-7651a3/d09c9f14c73a71ef9a6e5017e1f90102/7bbf7068da414fc1832febd9c52aec6c-ade97ed35fbbe62fd137007950f7f34b-hd.mp4

呼之欲出的画作:

https://vod-yq-aliyun.taobao.com/vod-7651a3/f074873ec73a71ef86614531958d0102/0ede628d0eb84861a5eec1712b41e669-7204770bb1bd9efc8ebca2459f3b0989-hd.mp4

02.显存管理

image.gif 编辑

混元 Video 模型沿用了自 Latent Diffusion 以来的经典“三段式”模型结构,包括 Text encoder、DiT、VAE。这三部分是按顺序调用的,所以我们可以进行 offload,在不调用模型时将其从显存中移动到内存中。但只做 offload 是远远不够的,我们还需要对每一个模块进行优化。

VAE

image.gif 编辑

显存的第一个瓶颈在 VAE。VAE 部分基于 CausalConv3D 构建,这个结构与 OpenSoraPlan、CogVideoX 非常相似。在空间维度上,每个 8*8 的区域合并成一组向量;在时间维度上,把第一帧单独编码,其后的每 4 帧压缩成一组向量。

CogVideoX 的实践经验表明,以滑动窗口的方式进行 VAE 编解码不会对结果产生明显影响,但能够显著减少显存需求。以 129 帧 720P 视频为例,不开启滑动窗口时,80G 显存也无法进行推理,当滑动窗口大小为 17*16*16(对应 65 帧 128*128 分辨率的视频)时,显存需求可以降低到 6G。这部分优化在官方原版代码中已经实现,我们在 DiffSynth-Studio 中进行了重构以便更方便地控制窗口大小和步长。

DiT

image.gif 编辑

显存的第二个瓶颈在 DiT 部分,模型的参数量非常大,视频的向量表示也很大,所以我们做了非常激进的显存管理策略——逐个 Layer offload。把整个 DiT 模型放在内存中,在每个 Layer 推理时临时加载进显存,这样一来模型所占的显存几乎可以忽略不计。在大部分模型上,这种激进的显存管理策略会显著增加推理时间,但对于混元 DiT 模型来说,模型本身前向推理一次就需要 60s(A100 上的测试结果),显存管理只会增加约 3s 的推理时间,这部分时间完全可以接受。DiT 的优化足以把显存需求降低到 24G。

Text Encoder

129 帧 720P 视频的显存优化已经接近极限,但我们也注意到近期开源社区中出现的在低分辨率下训练的 LoRA 模型。混元 Video 模型在低分辨率下的效果并不好,但是这些 LoRA 可以很好地改善模型在低分辨率下的效果。例如 WalkingAnimation(可在 CivitAI:https://civitai.com/models/1032126/walking-animation-hunyuan-video 或魔搭社区:https://modelscope.cn/models/AI-ModelScope/walking_animation_hunyuan_video/summary下载),其训练分辨率为 512*384。在这个分辨率下,显存的第三个瓶颈出现在 Text Encoder 上。

image.gif 编辑

混元 Video 的 Text Encoder 有两个——CLIP 和 LLaVA,其中 CLIP 所需的显存很小,但 LLaVA 作为一个 LLM,需要至少 16G 显存。与 DiT 类似,我们在 LLaVa 上也进行逐个 Layer offload,成功将其显存需求降低到 6G 以内。

03.代码样例

首先 clone 并安装 DiffSynth-Studio:https://github.com/modelscope/DiffSynth-Studio

git clone https://github.com/modelscope/DiffSynth-Studio.git
cd DiffSynth-Studio
pip install -e .

image.gif

我们提供了三种显存限制下的样例脚本,用于应对不同的硬件限制。

80G

代码链接

https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/HunyuanVideo/hunyuanvideo_80G.py

运行命令:

python examples/HunyuanVideo/hunyuanvideo_80G.py

帧数:129

分辨率:720*1280

对于 A100 和 H100 等大显存 GPU,无需显存管理。我们把原版模型代码中的 flash attention 替换为了 torch 的 scaled_dot_product_attention,这个函数会自动根据硬件选择最佳的注意力机制实现。以下是这个脚本生成的视频:

https://vod-yq-aliyun.taobao.com/vod-7651a3/60804320c73a71ef9f690675b3ed0102/c979d93875cd4968a9b7c18364a503ce-6a83a1aeb77004d6dd4f4e728b997f07-hd.mp4

24G

代码链接

https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/HunyuanVideo/hunyuanvideo_24G.py

运行命令:

python examples/HunyuanVideo/hunyuanvideo_24G.py

帧数:129

分辨率:720*1280

这个脚本启用了本文中提到的所有显存管理。由于没有使用模型量化,所以不存在任何量化误差,生成的视频与脚本hunyuanvideo_80G.py完全一致。

6G

代码链接

https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/HunyuanVideo/hunyuanvideo_6G.py

运行命令:

python examples/HunyuanVideo/hunyuanvideo_6G.py

帧数:129

分辨率:512*384

这个脚本使用了 WalkingAnimation(可在 CivitAI 或魔搭社区下载)这个 LoRA 来改善混元 Video 底模在低分辨率下的效果。这个 LoRA 可以生成各种人物的行走动作。通过在代码中修改 prompt,我们可以生成各种动漫角色行走动作的视频,以下是这个脚本生成的视频:

https://vod-yq-aliyun.taobao.com/vod-7651a3/c0a2bb57c73a71efbb694531949c0102/7752d1885dd2412fb1cf9afca38afbff-27630f794e8b87f6b162f57ca428d47b-hd.mp4

此外,我们还额外提供了视频生视频的功能。

代码链接:

https://github.com/modelscope/DiffSynth-Studio/blob/main/examples/HunyuanVideo/hunyuanvideo_v2v_6G.py

运行命令:

python examples/HunyuanVideo/hunyuanvideo_v2v_6G.py

帧数:129

分辨率:512*384

使用这个脚本可以实现视频编辑,例如把以下视频中角色的衣服颜色修改为紫色,所需的显存仍然是 6G。

https://vod-yq-aliyun.taobao.com/vod-7651a3/00a8ae4cc73a71ef81a96723b78e0102/ab5c5e4d661a402e8deef3c04bb78c05-7d2dedf4372096e2b2272e4de304b370-hd.mp4

点击链接阅读原文:腾讯混元视频生成HunyuanVideo

 


目录
打赏
0
11
12
1
253
分享
相关文章
FlashMLA:DeepSeek最新开源!MLA解码内核让NVIDIA Hopper开启性能狂暴模式,推理速度飙升至3000GB/s
FlashMLA 是 DeepSeek 开源的高效 MLA 解码内核,专为 NVIDIA Hopper 架构 GPU 优化,支持 BF16 精度和页式 KV 缓存,适用于大语言模型推理和自然语言处理任务。
139 2
Liger kernel训练加速,一行代码训练吞吐量提高 20%,显存使用量降低 60%
在LLM的训练/微调过程中,开发者通常会遇到一些瓶颈,包括GPU显存不够,经常遇到OOM,GPU使用率100%而且非常慢等。
Liger kernel训练加速,一行代码训练吞吐量提高 20%,显存使用量降低 60%
StableDiffusion-01本地服务器部署服务 10分钟上手 底显存 中等显存机器 加载模型测试效果 附带安装指令 多显卡 2070Super 8GB*2
StableDiffusion-01本地服务器部署服务 10分钟上手 底显存 中等显存机器 加载模型测试效果 附带安装指令 多显卡 2070Super 8GB*2
108 0
腾讯开源HunyuanVideo-I2V图生视频模型+LoRA训练脚本,社区部署、推理实战教程来啦!
继阿里的通义万相wan2.1模型之后,腾讯混元又出大招,重磅发布HunyuanVideo-I2V图生视频模型。
222 9
GPU 加速与 PyTorch:最大化硬件性能提升训练速度
【8月更文第29天】GPU(图形处理单元)因其并行计算能力而成为深度学习领域的重要组成部分。本文将介绍如何利用PyTorch来高效地利用GPU进行深度学习模型的训练,从而最大化训练速度。我们将讨论如何配置环境、选择合适的硬件、编写高效的代码以及利用高级特性来提高性能。
1553 1
Valley:字节跳动开源小体积的多模态模型,在小于 10B 参数的模型中排名第二
Valley 是字节跳动推出的多模态大模型,能够处理文本、图像和视频数据,在电子商务和短视频领域表现优异,并在 OpenCompass 测试中排名第二。
232 10
Valley:字节跳动开源小体积的多模态模型,在小于 10B 参数的模型中排名第二
一键开启 GPU 闲置模式,基于函数计算低成本部署 Google Gemma 模型服务
本文介绍如何使用函数计算 GPU 实例闲置模式低成本、快速的部署 Google Gemma 模型服务。
165095 58
函数计算产品使用问题之在部署 Stable Diffusion 时,是否可以自定义显存占用
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
基于阿里云eRDMA的GPU实例大幅提升多机训练性能
2023年3月23日14:00(中国时间),NVIDIA GTC开发者大会,阿里云开发者社区观看入口正式开放,阿里云高级技术专家李伟男;阿里云弹性计算产品专家宋迪共同带来了题为《基于阿里云eRDMA的GPU实例大幅提升多机训练性能》的分享
基于阿里云eRDMA的GPU实例大幅提升多机训练性能

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等