ExVideo+CogVideoX,更长、更优!再次升级的开源视频生成能力

简介: DiffSynth-Studio 再次为 CogVideoX 带来新的增强模块——ExVideo-CogVideoX-LoRA-129f-v1

上个月,DiffSynth-Studio 支持了 CogVideoX 模型,并提供了一系列配置拉满的生成能力,今天,DiffSynth-Studio 再次为 CogVideoX 带来新的增强模块——ExVideo-CogVideoX-LoRA-129f-v1,这个模块沿用了 ExVideo 的设计思路,通过后训练(post-training)来扩展模型的能力,让模型能够生成更长的视频。

01

样例展示

我们来看几个样例!先是跟随无人机从皑皑雪山的上空掠过,俯瞰雪域盛景。

再是来到万籁俱寂的极地,欣赏如梦似幻的极光与斗转星移的夜空。

image.png

然后穿越到遥远的火星,穿上宇航服,坐在马背上,踏入科幻电影的想象世界!

累了,就回家陪陪家人吧~

image.png

想必大家已经领略到了这个模型的魅力,这个模型能够生成 16 秒的长视频

image.png

16 秒有多长呢?我们用最后一个例子说明。我们生成两个人握手的画面,是的,连续握手 16 秒!视频中左侧的角色在视频结尾已经握手握到不想握了,露出了生无可恋的有趣表情。

02

模型介绍

这个模型是基于两个模型构建的——CogVideoX-5B 和 ExVideo-SVD,CogVideoX-5B 是由智谱团队开源的文生视频模型,我们在往期文章中对这个模型做过详细介绍。这个模型是目前开源模型中很强大的视频生成模型,感兴趣的同学可以在魔搭社区下载和体验这个模型。

CogVideoX-5B 生成的视频

模型链接:

https://modelscope.cn/models/ZhipuAI/CogVideoX-5b

模型Demo体验:

https://www.modelscope.cn/studios/ZhipuAI/CogVideoX-5b-demo

而 ExVideo 则是由魔搭社区的 DiffSynth-Studio 团队提出的视频生成模型“后训练”(post-training)方法,ExVideo 通过在视频生成模型的基础上添加额外的扩展模块并继续进行训练,大幅度增加模型能够生成的视频长度。此前,DiffSynth-Studio 团队开源了模型 ExVideo-SVD,在模型 Stable Video Diffusion 上验证了训练方案的可行性。

image.png

ExVideo-SVD 生成的视频

模型链接:

  • ExVideo-SVD

https://modelscope.cn/models/ECNU-CILab/ExVideo-SVD-128f-v1

  • stable-video-diffusion-img2vid-xt

https://modelscope.cn/models/ai-modelscope/stable-video-diffusion-img2vid-xt


而今天的新模型,则是这两个模型的结合,利用 ExVideo 扩展训练的思路,增强 CogVideoX-5B 模型的生成能力。由于 CogVideoX-5B 是基于 DiT 的模型结构,与 Stable Video Diffusion 模型不同,没有卷积部分,取而代之的是大量全连接层,所以 LoRA 很适合作为扩展模块的架构,这次的模型正是以 LoRA 的形式发布。

LoRA 模型结构

在 CogVideoX-5B 上实现扩展训练的难点在于,加长的视频数据大幅度增加了显存的需求。原本的模型支持生成 49 帧(由于模型结构限制,第一帧单独编码,因此帧数为 4 的倍数 +1)视频,把视频加长到 129 帧后,即使是 80G 显存的显卡也无法训练。DiffSynth-Studio 团队为此做了很多工程优化,包括:

  • Parameter freezing:冻结除了扩展模块以外的所有参数
  • Mixed precision:扩展模块部分以全精度维护,其他部分以 BFloat16 精度维护
  • Gradient checkpointing:在前向传播时丢弃中间变量,并反向传播时重新计算
  • Flash attention:在所有注意力机制上启用加速过的注意力实现
  • Shard optimizer states and gradients:基于 DeepSpeed 把部分参数分拆到多个 GPU 上
  • Text Encoder & VAE offload:将 Text Encoder 和 VAE 的相关计算拆分运行,训练进程仅加载 DiT


训练数据集包括 InternVid 和 Panda70M 中的数千个视频,该模型在 8*A100 上训练了数天,最终得到了大家目前看到的版本。对比一下不加 ExVideo 扩展模块的模型,原模型在生成长视频时出现了明显的细节缺失,ExVideo 扩展模块非常显著地提升了画面的细节。

不使用 ExVideo 扩展模块

image.png

使用 ExVideo 扩展模块

03

模型体验

下载并安装 DiffSynth-Studio:

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

运行样例脚本(模型会自动下载):

from diffsynth import ModelManager, CogVideoPipeline, save_video, download_models
import torch
download_models(["CogVideoX-5B", "ExVideo-CogVideoX-LoRA-129f-v1"])
model_manager = ModelManager(torch_dtype=torch.bfloat16)
model_manager.load_models([
    "models/CogVideo/CogVideoX-5b/text_encoder",
    "models/CogVideo/CogVideoX-5b/transformer",
    "models/CogVideo/CogVideoX-5b/vae/diffusion_pytorch_model.safetensors",
])
model_manager.load_lora("models/lora/ExVideo-CogVideoX-LoRA-129f-v1.safetensors")
pipe = CogVideoPipeline.from_model_manager(model_manager)
torch.manual_seed(6)
video = pipe(
    prompt="an astronaut riding a horse on Mars.",
    height=480, width=720, num_frames=129,
    cfg_scale=7.0, num_inference_steps=100,
)
save_video(video, "video_with_lora.mp4", fps=8, quality=5)

DiffSynth-Studio开源项目:

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


(点击链接👇直达,欢迎star)

https://modelscope.cn/models/ZhipuAI/CogVideoX-5b?from=alizishequ__text

相关文章
|
3月前
|
测试技术
优化if-else的11种方案
优雅编码不仅提升程序效率,也增进代码可读性与维护性。通过早返回减少嵌套逻辑、运用三元运算符简化条件判断、采用`switch-case`优化多分支结构、实施策略模式灵活应对不同情境、利用查找表快速定位处理方式、封装函数明确职责划分、应用命令模式解耦操作与调用、引入状态模式管理复杂状态变化、重构条件表达式以增强清晰度、运用断言确保前提条件、及合理异常处理等十大技巧,使代码更加精炼与优雅。
67 4
优化if-else的11种方案
|
22天前
|
机器学习/深度学习 并行计算 算法
GPU加速与代码性能优化:挖掘计算潜力的深度探索
【10月更文挑战第20天】GPU加速与代码性能优化:挖掘计算潜力的深度探索
|
4月前
|
存储 缓存 监控
通用研发提效问题之动态调整干预能力,如何解决
通用研发提效问题之动态调整干预能力,如何解决
|
3月前
|
存储 缓存 弹性计算
解读大模型时代的数据加速:性能、稳定性与一致性一个都不能少
本文探讨了在大模型时代,如何在数据加速中平衡性能、稳定性和一致性,通过阿里云ACK Fluid的实例,详细解析了优化策略与最佳实践,旨在帮助用户高效应对数据管理挑战。
|
6月前
|
机器学习/深度学习 缓存 算法
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]
LLM 大模型学习必知必会系列(十二):VLLM性能飞跃部署实践:从推理加速到高效部署的全方位优化[更多内容:XInference/FastChat等框架]
|
4月前
|
固态存储 测试技术 数据库
最新测试揭秘:TDengine 线性扩展能力能否满足你的性能需求?
**摘要:** TDengine 的线性扩展能力通过CPU和磁盘测试得以验证。在CPU测试中,使用TDengine V3.3.0.0和taosBenchmark,随着CPU核数从4增至12,写入性能线性提升,每个CPU增加对应约50W条/秒的提升,保持CPU在瓶颈状态。磁盘IO测试中,使用低速机械盘,增加磁盘数量导致写入性能成比例增长,充分利用新增磁盘IO。测试结果表明,无论CPU还是磁盘扩展,TDengine都能有效利用资源,展示出出色的线性扩展能力。
63 0
|
缓存 算法 大数据
倚天710规模化应用 - 性能优化 - 软件预取分析与优化实践
软件预取技术是编程者结合数据结构和算法知识,将访问内存的指令提前插入到程序,以此获得内存访取的最佳性能。然而,为了获取性能收益,预取数据与load加载数据,比依据指令时延调用减小cachemiss的收益更大。
|
数据采集 算法 编译器
倚天710规模化应用 - 性能优化 -自动反馈优化分析与实践
编译器优化分成静态优化与动态优化,静态优化指传统编译器gcc/llvm时,增加的优化等级,如O1,O2,O3,Ofast,此时,编译器会依据编译优化等级增加一些优化算法,如函数inline、循环展开以及分支静态预测等等。一般情况下,优化等级越高,编译器做的优化越多,性能会更会好。在阿里生产环境中,单纯依赖于静态优化,并不能达到程序运行流畅目的,通过分析CPU硬件取指令、执行指令,往往会出现一些分支预测失败导致iCacheMiss率高的场景,限制了程序的性能进一步提升。基于此,业务引入了动态反馈优化工具,依据生产环境的实际运行数据,反哺指导编译器对程序代码进一步调整编译优化策略,提高分支预准确率
|
存储 运维 容灾
带你读《多媒体行业质量成本优化及容灾方案白皮书》1. 成本优化概述
带你读《多媒体行业质量成本优化及容灾方案白皮书》1. 成本优化概述
392 0
|
存储 机器学习/深度学习 人工智能
训练时间减少71.4%,存储成本节省99.9%,厦大指令调优新方案MMA让羊驼模型实现多模态
训练时间减少71.4%,存储成本节省99.9%,厦大指令调优新方案MMA让羊驼模型实现多模态
166 0