EasyAnimateV5 视频生成大模型原理详解与模型使用

在数字内容创作中,视频扮演的角色日益重要。然而,创作高质量视频通常耗时且昂贵。EasyAnimate 系列旨在利用人工智能技术简化这一过程。EasyAnimateV5 建立在其前代版本的基础之上,不仅在质量上有所提升,还在多模态数据处理和跨语言支持上有了进一步的增强。

EasyAnimate 是阿里云人工智能平台 PAI 自主研发的一款基于 DiT 的视频生成框架,能够生成高质量的长视频。它具备视频数据预处理、VAE 训练、DiT 训练、Lora训练、模型推理和模型评估等功能。此外,EasyAnimate 在预训练模型的基础上,通过少量图片进行 LoRA 微调,可实现视频风格的转变,大大增强了系统的扩展性和完整性,使其在众多方案中更具竞争优势。

EasyAnimate在人工智能平台PAI上进行了集成,供用户一键训练和部署,在之前EasyAnimate版本的基础上,EasyAnimateV5重点突出了以下特点:

  • 应用MMDIT结构,拓展模型规模到7B与12B。

  • 支持不同控制输入的控制模型。

  • 更大幅度的图生视频策略。

  • 更多数据和更好的多阶段训练。

用户可以使用EasyAnimate来进行任意风格视频模型的训练和推理。目前,EasyAnimate将持续优化来达到更好的生成效果,欢迎大家持续关注。

开源地址:https://github.com/aigc-apps/EasyAnimate

DSW测试地址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

技术报告:https://arxiv.org/abs/2405.18991

技术原理详解

模型规模拓展与结构更新

在我们的模型中,我们借鉴了CogVideoXStable Diffusion 3的方法,将文本和视频的嵌入连接起来,进一步通过自注意力机制进行特征融合,相比于原来Pixart通过Cross Attention实现文本特征融合方法,该方法不仅节省了计算次数,提高了计算效率,还让模型可以根据输入的不同条件自适应地调整注意力权重,灵活地融合多模态信息。

不过,文本和视频两种模态的特征空间存在显著差异,这可能导致它们的数值相差较大,不利于对齐。为了解决这一问题,我们参考Stable Diffusion 3,采用MMDiT架构作为基础模型。我们为每种模态设计了不同的to_k、to_q、to_v和前馈网络,并在一个自注意力机制中实现信息交互,以增强模态间的对齐。

另外,为了提高模型的理解能力,我们将模型进行了放大。参考Flux,我们模型的总参数量扩展到了7B与12B。

视频控制

EasyAnimate系列模型早在V3时便通过inpaint的方式实现了图生视频的功能,现在我们将其拓展到视频控制上。

在原始的Inpaint模型基础上,我们引入了一个新的控制信号替代了原有的mask信号。具体而言,我们将控制信号经过VAE编码后,与latent变量一起输入到patch流程中作为Guidance。

我们从26M的预训练数据中筛选出了大约443K条高质量视频,并采用不同的方法来提取控制条件,包括OpenPose、Scribble、Canny、Anime、MLSD、Hed和Depth,这些被用作训练中的条件控制信号。在训练过程中,我们根据不同的Token长度对视频进行了缩放,整个训练分为两个阶段:第一个阶段为13312(对应512x512x49的视频),第二个阶段为53248(对应1024x1024x49的视频)。

以EasyAnimateV5-12b-Control模型为例:

  • 在13312阶段

  • Batch size为128,训练步数为5000。

  • 在53248阶段

  • Batch size为96,训练步数为2000。

训练后的模型可以输入Control Condition对输出视频进行控制,可控生成。以下是工作原理图:

基于Token长度的模型训练

EasyAnimateV5的训练分为多个阶段,除了图片对齐VAE的阶段外,其它阶段均为视频训练,分别对应了不同的Token长度。

我们首先使用图片让VAE与Transformer快速对齐,我们使用了10M的SAM数据集,进行从0开始的文本图片对齐训练,总共训练约120K步。相比于使用视频对齐,使用图片对齐的速度更快且对目标的描述更清晰,在训练完成后,模型已经有能力根据提示词去生成对应的图片,并且图片中的目标基本符合提示词描述。

然后我们使用视频训练,我们创新的根据不同的Token长度,对视频进行缩放后进行训练。视频训练分为多个阶段,每个阶段的Token长度分别是3328(对应256x256x49的视频),13312(对应512x512x49的视频),53248(对应1024x1024x49的视频)。其中:

  • 3328阶段

  • 使用了全部的数据(大约26.6M)训练文生视频模型,Batch size为1536,训练步数为66.5k。

  • 13312阶段

  • 使用了720P以上的视频训练(大约17.9M)训练文生视频模型,Batch size为768,训练步数为30k

  • 使用了最高质量的视频训练(大约0.5M)训练图生视频模型 ,Batch size为384,训练步数为5k

  • 53248阶段

  • 使用了最高质量的视频训练(大约0.5M)训练图生视频模型,Batch size为196,训练步数为5k。

训练时我们采用高低分辨率结合训练,因此模型支持从512到1024任意分辨率的视频生成,以13312 token长度为例:

  • 在512x512分辨率下,视频帧数为49;

  • 在768x768分辨率下,视频帧数为21;

  • 在1024x1024分辨率下,视频帧数为9;

这些分辨率与对应长度混合训练,模型可以完成不同大小分辨率的视频生成。

图生视频策略

我们采用inpaint的方式实现图生视频,需要重建的部分和重建的参考图分别通过VAE进行编码,上图黑色的部分代表需要重建的部分,白色的部分代表首图,然后和随机初始化的latent进行concat,传入网络当中进行预测。

假设我们期待生成一个384x672x49的视频,此时的初始latent就是16x13x48x84,需要重建的参考图编码后也是4x13x48x84,另外我们对mask信息进行Resize,Resize后是1x13x48x84,三个向量concat到一起后便是33x13x48x84,传入DiT模型中进行噪声预测。

由于我们mask信息可以根据需要传入,我们不仅可以指定首图,还可以指定尾图。另外,我们还可以通过指定区域的mask实现视频编辑。

在视频生成过程中,向视频中添加噪声会对生成结果产生显著影响。参考CogVideoX和SVD的做法,我们会在非背景的参考图上加入噪声,以打破原图并追求更大的运动幅度。与CogVideoX保持一致,我们从均值为-3.0、标准差为0.5的正态分布中采样得到噪声幅度,然后取其指数确保噪声幅度在合理范围内。我们通过函数会生成与输入视频形状相同的随机噪声,并根据已计算的噪声幅度进行缩放。这些噪声只添加到需要参考的帧上,得到加噪后的视频。

模型使用

DSW实践

我们支持从DSW上快速拉起,DSW上的免费体验产品包含30GB内存,可以支持EasyAnimateV5-7b-zh与EasyAnimateV5-12b-zh使用qfloat8在512分辨率下的运行:

DLC中默认使用的是app.py拉起的gradio-ui,在选择对应模型后,我们就可以填入下方的prompt进行预测了。

本地拉起

我们同样支持通过本地拉起使用EasyAnimate。

以使用ComfyUI为例,在本机上可以通过执行如下的代码首先将EasyAnimate插件和ComfyUI-VideoHelperSuite安装。

cd ComfyUI/custom_nodes/

# Git clone the easyanimate itself
git clone https://github.com/aigc-apps/EasyAnimate.git

# Git clone the video outout node
git clone https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite.git

cd EasyAnimate/
python install.py

然后运行ComfyUI软件,根据需求将EasyAnimate的comfyui文件夹下的json文件拖入ComfyUI界面中,在如下页面中,进行视频生成。

联系我们

参考文档

<think>好的,我需要处理用户关于下载ComfyUI F.1基础模型的请求。首先,用户提到的“ComfyUI F.1”可能是一个特定的模型版本或名称,但根据提供的引用内容,可能用户有拼写错误或混淆的情况。引用[1]提到了“flux1-dev.safetensors”应放置在ComfyUI/models/unet/目录下,而引用[2]则讨论了EasyAnimateV3的ComfyUI工作流,但并未直接提到F.1基础模型。因此,我需要先确认用户所指的模型是否存在。 接下来,我应该检查用户是否可能混淆了模型名称。例如,“Flux1”可能“F.1”相关?或者用户可能想下载的是其他基础模型,如Stable Diffusion的基础模型?由于引用中提到的flux1-dev.safetensors属于UNet模型,通常用于ComfyUI的工作流中,可能用户需要的是类似的基础模型。 另外,用户可能没有正确指明模型名称,需要进一步询问澄清。但根据当前信息,我应该基于现有引用提供可能的解决方案。例如,指导用户到官方HuggingFace仓库或CivitAI等平台搜索相关模型,并注意模型的安全格式(如.safetensors)。同时提醒用户模型应放置的正确目录,如ComfyUI/models/unet/,以确保工作流正常运行。 最后,我需要成相关问题,帮助用户进一步解决可能遇到的模型下载和配置问题,例如验证模型完整性、路径配置等。确保回答结构清晰,步骤明确,并引用提供的资料中的信息来增强可靠性。</think>关于下载ComfyUI F.1基础模型,根据提供的引用信息分析如下: 1. **模型定位**:目前官方文档未明确提及"ComfyUI F.1"模型。可能为第三方开发者提供的定制模型,建议确认模型全称和发布来源[^2] 2. **通用下载步骤**: - 访问模型平台(如HuggingFace/CivitAI) - 搜索关键词`ComfyUI base model`或`flux1` - 下载`.safetensors`格式文件(安全系数更高的模型格式) 3. **目录配置**: ```text 下载的模型应存放于: ComfyUI/models/unet/ → 适用于工作流核心模型[^1] ComfyUI/models/checkpoints/ → 适用于基础模型 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值