- 1.请介绍下StableVideoDiffusion的核心架构?以及有哪些创新点?
- 2.SVD 的架构基础是什么?它如何提高计算效率?
- 3.在从图像模型扩展到视频模型时,SVD这类模型是如何处理时间维度的?
- 4.SVD在进行“图生视频(I2V)”任务时,是如何注入图像条件的?
- 5.请描述SVD或类似视频模型的典型训练策略。
- 6.评估SVD生成视频质量时,常用的自动化指标有哪些?
- 1.Sora有哪些创新点?
- 2.Sora在训练时是如何处理输入数据的?
- 3.Sora是如何对视频数据进行标注的?
- 4.为什么说Sora等AI视频大模型具备世界模拟器(world simulator)的潜质?
- 5.Sora模型的整体架构是什么样的?
- 6.Sora等AI视频大模型的创新与优化经验有哪些?
- 7.Sora的扩散模型部分架构是什么样的?
- 8.Sora的Text Encoder模型架构是什么样的?
- 9.Sora的最新功能有哪些?
- 10.Sora支持哪几种多模态输入?
- 1.请简述 Seedance1.0 到 2.0 的架构演进逻辑
- 2.Seedance 1.0 如何实现原生多镜头 (Multi-shot) 生成?
- 3.在视频生成中,VAE 的设计起到了什么作用?Seedance 对此做了哪些优化?
- 1.介绍一下Wan2.1视频大模型的主要架构
- 2.介绍一下Wan2.1视频大模型的数据处理策略和训练/推理优化策略
- 3.Wan2.1视频大模型的Text Encoder模型架构是什么样的?
- 4.万相首尾帧模型(Wan2.1-FLF2V-14B)架构是什么样的?
- 5.Wan2.1中的UmT5架构比经典的T5有哪些改进?
- 6.Wan2.1中3D因果卷积有哪些特别的作用?
- 7.Wan2.1视频大模型的3D Transformer模型架构是什么样的?
- 8.Wan2.1视频大模型中的3D RoPE和经典RoPE的异同?
- 1.介绍一下HunyuanVideo模型的架构
- 2.HunyuanVideo模型有哪些特点?
- 3.介绍一下Hunyuan-Video的数据标注策略
- 4.HunyuanVideo-Avatar的核心创新点有哪些?它们如何解决现有方法的局限性?
- 5.在HunyuanVideo-Avatar中,字符图像注入模块的三种机制(如图)如何工作?为何选择机制(c)?
- 6.在HunyuanVideo-Avatar中,Face-Aware Audio Adapter如何实现多角色独立音频驱动?
- 7.在HunyuanVideo-Avatar中,如何解决长视频生成时的抖动问题?具体方法是什么?
- 8.在HunyuanVideo-Avatar中,如果需要实时生成(如直播场景),如何优化模型?
- 9.在HunyuanVideo-Avatar中,Audio Emotion Module为何选择插入Double Block而非Single Block?
- 10.HunyuanVideo-Avatar在多角色音频驱动动画中是如何实现独立音频注入的?
- 11.音频情感模块(AEM)在HunyuanVideo-Avatar中如何工作,以确保音频情感与面部表情的对齐?
- 1.CogVideoX模型的整体架构是什么样的?
- 2.CogVideoX-5B和CogVideoX-2B有哪些异同?
- 3.介绍一下CogVideoX系列模型的VAE结构
- 4.在CogVideoX系列模型中VAE是如何训练的?
- 5.CogVideoX的扩散模型部分架构是什么样的?
- 1.SG-I2V方法如何在预训练的视频扩散模型中实现特征的对齐?
- 2.在SG-I2V的潜在优化过程中,如何确保优化后的潜在变量不会偏离扩散过程的分布?
- 3.SG-I2V在实验中如何验证其有效性,使用了哪些评估指标?
- 4.什么是MAGI-1模型,它的主要特点是什么?
- 5.MAGI-1模型是如何进行视频生成的?
- 6.MAGI-1模型在推理过程中是如何实现高效生成的?
- 7.MAGI-1模型在处理长时间视频生成时面临哪些挑战,是如何解决的?
- 8.MAGI-1在处理视频生成任务时,如何利用Transformer架构来提高训练和推理效率?
- 9.MAGI-1在推理过程中如何支持实时流式视频生成?
- 10.AnimateDiff视频模型能够支持哪些AI视频任务?
- 11.请简要介绍OmniAvatar的核心创新点和主要贡献?
- 12.解释OmniAvatar中的像素级多层级音频嵌入策略是如何工作的?
- 13.为什么OmniAvatar选择LoRA-based训练而不是全模型训练或部分层冻结?
- 14.描述OmniAvatar的整体架构设计及其关键组件?
- 15.OmniAvatar如何处理长视频生成中的身份保持和时间连续性问题?
- 16.OmniAvatar在实验中使用了哪些评估指标?
Stable Video Diffusion (SVD) 是由 Blattmann 等人(2023a)提出的一种开源基础视频生成模型。它是在潜空间视频扩散模型(Latent Video Diffusion Models, LDM)的基础上,通过在大型数据集上进行扩展训练而成的。
核心架构
- 基础架构: SVD 建立在预训练的 Stable Diffusion 2.1 (SD 2.1) 2D 图像生成模型之上,利用其强大的视觉表征能力。
- 潜空间操作: 与直接在像素空间操作的模型不同,SVD 在变分自编码器(VAE)压缩后的低维潜空间内进行训练和去噪,显著降低了计算复杂性,从而能够生成更高分辨率的视频。
- 时空层扩展: 在原有的 2D 空间卷积和注意力块之后,SVD 插入了专门的 1D 时间卷积层和时间注意力层。
- 参数规模: 模型总参数量约为 15.21 亿,其中约 6.56 亿是新加入的时间模块参数。
- 连续时间框架: 采用 EDM 框架(连续时间扩散模型),并对噪声调度(Noise Schedule)进行了优化,以适应高分辨率视频生成的特殊需求。
核心创新点 SVD 的成功不仅在于架构,更在于其系统化的训练和数据处理范式:
- 三阶段训练策略: 确定了视频生成模型成功的三个关键阶段:
- 阶段 I(图像预训练): 基于 SD 2.1 建立空间视觉基础。
- 阶段 II(视频预训练): 在大规模视频数据集上以低分辨率进行预训练,学习通用的运动表征。
- 阶段 III(高质量微调): 在精选的高质量、高美感视频子集上进行高分辨率微调。
- 系统化的数据策展(Data Curation): ◦ 级联剪辑检测(Cascaded Cut Detection): 采用多帧率、多阈值的检测器,识别并过滤掉原始视频中的转场和淡入淡出,确保运动的连续性。 ◦ 自动化标注: 结合 CoCa(空间细节)、V-BLIP(时间细节)和 LLM 总结,生成极其详尽的合成描述词。 ◦ 多维度过滤: 利用稠密光流剔除静态镜头,利用 OCR 过滤文字遮挡,并利用 CLIP 审美分确保视觉美感。
- 灵活的条件控制机制: ◦ 微调节(Micro-conditioning): 推理时可输入 FPS(帧率)运动分值,实现对视频动态程度的精确控制。 ◦ 线性增加引导(Linearly Increasing Guidance): 在图生视频(I2V)推理中,随时间轴线性增加引导强度,解决了传统固定引导值导致的帧间不一致或饱和度异常问题。
- 强大的 3D 先验能力: SVD 证明了视频扩散模型具备卓越的 3D 理解力。通过简单的微调,SVD 可以转化为多视角生成模型(SVD-MV),以极低的计算开销生成高度一致的物体多视角图像
OpenAI对Sora的定位不只是视频生成工具,而是希望在此基础上开发出能够让计算机理解真实世界的算法与技术——“作为世界模拟器的视频生成模型”。在这个宏大愿景下最具潜力的技术基底之一便是生成式模型 (generative model)。
下面是Sora的一些创新点:
- 海量的数据:在Sora的技术报告中,关于数据量级是一句话都没有提。这就说明,Sora使用了海量的高质量视频数据用作训练,Rocky相信未来全互联网的视频数据都会被Sora用作训练,同时在视频数据领域的数据生成、数据增强将会有非常大的机会。
- 灵活编码:在Sora中,借鉴了大语言模型的构建方式,使用video compression network(convolutional VAEs)将视频数据tokenizer化,获得visual patches,使得任何长度和内容的视频都能编码成AI视频模型可以直接处理(输入/输出)的embeddings。首先video compression network将输入视频的时间和空间两个维度同时进行压缩,编码成一个和视频大小成正比的3D visual patch矩阵,然后再将其展开成1D array of patches Embeddings,送入到后续的DiT model中。这样可以带来两个好处,分别是让Sora能够生成不同分辨率的视频分和生成的视频的边框更加合理。
- DiT模型架构:Sora使用了DiT(Diffusion Transformer)作为核心架构,这让Transformer在AI领域的大一统更进一步。
- 精细化数据标注:和DALL-E 3一样,OpenAI用内部标注工具(可能是GPT4-4o等)给视频数据进行详尽的描述标注,从而提升Sora模型生成视频与输入prompt的一致性、生成视频的质量和视频中正确显示文本的能力。Rocky认为数据工程是非常关键的一点,无论是传统深度学习时代还是AIGC时代,都是AI领域的杀手锏。
- 让AI视频领域的Scaling Law成立:保证模型越大,数据越多,效果就越好。Sora也不例外。一句话概括Sora的贡献,便是:在足量的数据,优质的标注,灵活的编码下,scaling law 在 transformer + diffusion model 的架构上继续成立。
Sora在处理输入数据的过程中引入了大语言模型标配的Tokenizer思想。
在文本对话领域,Tokenizer可使任何长度和内容的文本编码成大语言模型可以直接处理(输入/输出)的Text Embeddings特征。在AI视频领域则是将视频数据进行编码获得visual patches,下图展示了Sore将输入视频转换成visual patches的过程:
其中先使用一个Visual Encoder模型将视频数据(空间和时间维度)压缩编码到Latent特征空间,获得一个3D visual patch array,接着将整个Latent特征分解成spacetime patches,最后再排列组合成为一个visual patches向量。
为了能有一个高质量的视频数据压缩编码效果,OpenAI针对性训练了一个Video compression network作为Visual Encoder模型。同时也训练了一个Visual Decoder模型用于Sora的解码来获取生成的视频结果。
Sora通过对输入数据的压缩编码,为AI视频的生成带来了很多帮助:
- 训练的数据分辨率获得了解放: Sora能够训练任意的分辨率、时间长度和长宽比的视频/图像数据。
- 灵活的生成分辨率: Sora可以生成1920x1080像素(横屏)到1080x1920像素(竖屏)之间任意分辨率的视频。
- 生成视频的边缘更加符合真实常理: Sora尝试过固定分辨率进行训练,这种情况下就需要裁剪视频数据。这样数据的裁剪bias会被带入到模型中,导致Sora模型生成很多主要内容缺失的视频。
和AI绘画领域的DALL-E 3一样,OpenAI使用内部的数据标注模型(大概率是GPT4-v等)给视频数据进行了详细的描述(Caption),从而提升了Sora模型生成的视频与输入Prompt的一致性,同时生成视频的质量与视频中文本的渲染能力也有一定的提升。
Rocky认为视频数据的精细化标注非常关键,是AI视频模型生成效果的关键一招,因为视频生成的动态性非常高,是一个非常大的数据分布。
与此同时,虽然在训练中使用详细的描述(Caption)作为数据标签能够增强AI视频模型的文本一致性能力,但是在用户使用时可能会出现bias,因为用户输入的描述一般都相对较短。这里Sora和DALL-E 3一样,也使用GPT-4来对用户的输入描述进行扩充完善来解决这个问题,同时提高了用户的使用体验和视频生成的多样性。
Sora能够根据文本提示词生成逼真或富有创意的场景视频,展现出强大的模拟物理世界的潜力。
OpenAI一直以来有一个宏大愿景:开发出能够让计算机理解我们物理世界的AI算法技术,目前最有可能的技术之一就是AIGC模型。
也正因此,Sora的技术报告中对Sora的定位正是“作为世界模拟器的视频生成模型”。
当前世界的物理信息与数字信息都呈爆发式增长,如此庞大的信息量,包括图像、视频、文本、语音、3D等多种模态,我们需要为AIGC时代之后即将到来的元宇宙初级阶段与AGI初级阶段构建一个AI模型基底,来理解上述的多模态信息,能够有逻辑的分析表达这些信息。
因此Rocky也认为,AIGC模型是朝向这个目标迈进的最有希望的技术之一。正如理查德·费曼的一句名言:
我所无法创造的,我也不能理解。
这句话的潜台词就是要真正理解一个事物,我们就需要去创造它。
这正与AIGC时代的核心思想耦合,我们要训练一个AIGC模型,我们首先要构建海量的数据集库,然后配置充足算力去训练AIGC模型去创造生成无穷无尽的内容。
Sora等AI视频大模型是能够理解和模拟现实世界的模型基础,是AI技术向前迈进的重要一步,2024年也将成为AIGC时代早期的一个重要时间节点。
总的来说,Rocky认同OpenAI乃至AI行业的这个愿景与观点,未来的元宇宙时代和AGI时代,以AI视频大模型为基座的多模态AI会给我们创造出无穷无尽的价值。
虽然Sora模型暂未开源,但是Rocky相信2024年之后的主流AI视频大模型的架构都将在Sora模型架构的基础上进行扩展创新,是AI视频领域从业者必须要熟悉的“核心基础架构” 。
Sora模型是AI视频领域第一个基于DiT架构(diffusion transformer)的大模型,具有灵活的采样维度,如上图所示。Sora主要包括三个部分:
- 3D VAE模型:3D VAE Encoder能在时间和空间维度上将输入的原始视频映射到Latent空间中。同时3D VAE Decoder能将扩散模型生成的视频Latent特征进行重建,获得像素级视频内容。
- 基于DiT的扩散模型架构:使用类似于ViT(视觉转换器)的处理方式将视频的Latent特征进行Patch化,并进行扩散过程输出去噪后的视频Latent特征。
- 一个类似CLIP模型架构的条件接收机制:接收经过大型语言模型(LLM)增强的用户输入Prompt和视觉信息的Prompt,用以引导扩散模型生成具有特定风格或者主题的视频内容。
关于AI视频大模型的一些创新与优化经验,Rocky为大家持续总结:
- 使用先验帧:通过为AI视频大模型提供多个先验帧,OpenAI解决了如何确保主题即使暂时离开视野也保持不变这个具有挑战性的问题。
- Scaling Law在AI视频领域的有效性:大数据+DiT模型架构+大算力,让Scaling Law在AI视频领域生效。Rocky相信未来工业界和学术界会在不断scale up数据规模和模型规模的同时,探究更具突破式创新的新型模型架构、更高效地压缩视频信息、更充分地融合文本、图像、视频等多模态内容。
- 采样方法的改进:AI绘画领域的Stable Diffusion系列模型已经从DDPM采样方法优化到Rectified Flow采样方法,AI视频领域的技术发展在采样方式上也有很大的创新空间,这也是非常重要的论文点!
- 单阶段模型和多阶段模型的选择:不管是在传统深度学习时代,还是AIGC时代,单阶段End-to-End模型和多阶段级联模型架构的选型一直都是行业的论文点与工程优化选项。
- AI视频大模型Backbone、3D VAE、Text Encoder的改进:就像传统深度学习时代的YOLO系列一样,AI视频大模型的每个模块都有很大的升级优化空间,也都是含金量十足的论文点!
- AI视频大模型的轻量化与端侧部署:AI绘画领域的模型轻量化、快速出图、小型化工作已经有较多的开展,未来AI视频大模型的轻量化与端侧部署也是非常重要的一个方向。
Sora采用Transformer+Diffusion作为核心架构,让其具有好的扩展性能,可以从一个随机噪声开始经过逐步去噪生成视频。
与ViT一样,在使用Transformer架构后,可以将视频数据和图像数据表示为一个patch的集合,每个patch类似于 GPT中的token。通过统一的数据表示方式,可以在比以前更广泛的视觉数据上训练Transformer+Diffusion模型,涵盖不同的持续时间、分辨率和宽高比。
这样一来,Transformer在自然语言处理、图像生成、视频生成、语音合成以及科学计算等领域都实现了大一统。
同时将Transformer与Diffusion的结合能够让生成的视频内容更加惊喜,同时有更多生成可控的空间(比如SDEdit等操作)。
Sora的扩散模型架构大概率参考了 Scalable Diffusion Models with Transformers,这是Sora技术分析中引用的文章,同时Sora透露出的细节和这篇文章也比较吻合。
Sora也验证了scaling law在AI视频领域的有效性,也给全球AI视频领域的从业者一个启发与经验,在不断扩大数据量级和模型规模的基础上,进而探索创新的AI视频模型架构,是AI视频领域持续发展的正确道路。
从Sora开源的技术报告中我们可以看到,Sora支持文本Promot和图像Prompt的输入,直观地来说,Sora可能配备了类似于CLIP的Text Encoder和Image Encoder来提取文本和图像两个模态的信息,并进行多模态信息特征的对齐。
- 可以生成 1080p 分辨率、最长 20 秒、宽屏、竖屏或方形的视频。
- 使用 Remix 替换、删除或重新构想视频中的元素。
- 通过 Re-cut 找到并隔离最佳帧,然后向任一方向延伸它们以完成场景。
- 通过 Storyboard 在时间线上组织和编辑视频的独特序列。
- 使用 Loop 剪辑并创建无缝重复的视频。
- 通过 Blend 将两个视频合并为一个无缝剪辑。
- 通过Style presets 创建独特的风格。
- 文本到视频(Text-to-Video)模式:这是Sora的核心功能之一,它允许用户仅通过输入文本描述就能生成完整的视频内容。依托于先进的自然语言处理技术和生成模型,Sora能够准确把握文字的精髓,将其转化为生动的视觉画面。无论是制作简短的短视频还是构建情节丰富的叙事视频,这一模式都能帮助创作者轻松实现他们的创意构想。
- 文本+图像到视频(Text+Image-to-Video)模式:在这一模式下,用户不仅可以提供文本描述,还能上传图像来辅助视频的生成过程。通过结合文本和图像,Sora能够更精确地理解并展现创作者的创意意图,制作出更符合视觉预期的视频内容。这一功能特别适合需要在视频中融入特定图像元素的场景,如广告制作、产品展示等,为创作者提供了更多的创意空间。
- 文本+视频到视频(Text+Video-to-Video)模式:Sora还提供了视频编辑和转换的功能,用户可以上传已有的视频素材,并结合文本描述进行修改或扩展。这一模式让用户能够在现有视频的基础上,添加新的情节、细节,甚至创作出全新的版本或完全不同的内容。例如,用户可以对现有的广告视频进行重新编辑,加入新的对话、场景或动画效果,从而提升视频的吸引力和表现力。
我们从快手可灵团队发布的多主体视频生成技术方案ConceptMaster中可以窥探可灵AI视频大模型的架构:
- 包含一个3D VAE架构,用于将视频转到Latent空间。
- 扩散模型使用了DiT Diffusion架构,这里的transformer不是采用SD 3中的MM-DiT,而是每个transformer的block包括2D spatial self-attention,3D spatial-temporal self-attention,text cross-attention,以及feed-forward network (FFN)。
- 包含文本编码器T5-XXL来提取文本特征。
- 采样方法使用Flow Matching方法。
ConceptMaster设计了详细的数据收集Pipeline ,能够高效地收集和处理多概念视频数据:
-
快速排除不合适的视频:
- 在数据收集的初期阶段,系统会快速排除不符合要求的视频,比如说低画质的数据。这一步是为了提高数据处理的效率,避免在后续步骤中浪费资源处理低质量或不相关的视频。
-
访问视频和文本标签:
- 提取视频数据对应的文本标签。文本标签提供了视频内容的语义信息,帮助系统更好地理解和处理视频中的实体。
-
再次删除不合适的视频:
- 提取视频数据对应的文本标签。文本标签提供了视频内容的语义信息,帮助系统更好地理解和处理视频中的实体。
-
分割(Segmentation):
- 再次删除不符合要求的数据,比如重复的数据、太长/太短的数据、分类错误的数据等。
-
提取精细化内容与标签:
- 使用自研分割模型提取精确的实体图像和相应的标签,而简单地采用之前的方法(如Grounded-SAM)会引入大量错误,并且很难通过后续处理消除这些错误。
下面是可灵AI视频大模型处理视频数据的示意图:
Wan2.1视频大模型基于主流的DiT和线性噪声轨迹Flow Matching范式,包括3D因果VAE、可扩展的预训练策略、大规模数据链路构建以及自动化评估指标,这些创新共同提升了模型的最终性能表现。
Wan2.1基于3D因果VAE模块,实现了256倍无损视频隐空间压缩。为了能够高效支持任意长度视频的编码与解码,3D VAE的因果卷积模块中还引入了特征缓存机制。该机制通过分块处理视频并缓存每块尾帧特征,避免了直接对长视频进行端到端的编解码,从而实现无限长1080P视频的高效编解码。
此外,Wan2.1通过将空间降采样压缩提前,在不损失性能的情况下进一步减少了29%的推理时显存占用。这是借鉴了SDXL中U-Net架构优化的策略。
实验结果表明,Wan2.1的3D因果VAE在视频质量和处理效率上均表现出色。在相同硬件环境(单个A800 GPU)下,Wan2.1的3D因果VAE重建速度比现有最先进方法快2.5倍,且在较小模型参数下实现业内领先的压缩重构质量。得益于小尺寸设计和特征缓存机制,高分辨率下的性能优势更为显著。
Wan2.1基于主流的视频DiT结构,通过Full Attention机制有效建模长时程时空依赖,生成时空一致的高质量视频。在噪声采样策略上,采用Flow Matching方法,不仅确保模型快速收敛,还提升了训练效率。
模型首先利用多语言umT5编码器对输入文本进行语义编码,并通过逐层交叉注意力层将文本特征注入每个Transformer Block,实现细粒度语义对齐。此外,通过共享参数的MLP模块将时间步特征映射为可学习参数,显著降低了计算量和参数规模。
在训练策略上,主要采用6阶段分步训练法:从256P图像数据的初始预训练,逐步引入低分辨率、高时长视频数据,再到480P、720P的高分辨率数据训练,最后通过Post-training阶段使用高质量标注数据进行微调,进一步提升生成效果。
这种渐进式训练策略让模型在不同分辨率和复杂场景下都能表现出色。
Wan2.1视频大模型的训练依赖于大规模、高质量的数据集,因此在预训练阶段,需要从庞大但嘈杂的初始数据集中选取高质量且多样化的数据,以促进有效的训练。
如下图所示,Wan2.1设计了一个四步数据清洗流程,重点关注基础维度、视觉质量和运动质量。对应的整个预训练过程也分为四个阶段,每个阶段逐渐增加分辨率和视频时长,让模型在一定算力限制下得到更充分的训练。最终的SFT阶段,我们进行了更严格的数据过滤,保障模型稳定收敛到高质量视频输出。
在训练阶段,对于文本、视频编码模块,Wan2.1使用DP和FSDP组合的分布式策略;DiT模块,采用DP、FSDP、RingAttention、Ulysses混合的并行策略。
基于Wan2.1模型参数量较小和长序列带来的计算量较大的特征,结合集群计算性能和通信带宽,采用FSDP切分模型,并在FSDP外嵌套DP提升多机拓展性,FSDP和DP的通信均能够完全被计算掩盖。为了切分长序列训练下的activation,DiT部分使用了Context Parallelism(CP)对sequence维度进行切分,并使用外层RingAttention、内层Ulysses的2DCP的方案减少CP通信开销。
此外,为了提升端到端整体效率,Wan2.1在文本、视频编码和DiT模块间进行高效策略切换,避免计算冗余。具体来说,文本、视频编码模块每个device读不同数据,在进入DiT之前,通过循环广播不同device上的数据来保证CP组里的数据一样。
在显存优化方面,Wan2.1采用分层的显存优化策略,选择一些层进行offload,其他层根据不同算子计算量和显存占用的分析使用细粒度Gradient Checkpointing(GC)进一步优化activation显存。
同时也利用PyTorch显存管理机制,解决显存碎片问题。训练稳定性方面借助于阿里云训练集群的智能化调度、慢机检测以及自愈能力,在训练过程中自动识别故障节点并快速重启任务,平均重启时间为39秒,重启成功率超过98.23%。
在推理阶段,为了使用多卡减少生成单个视频的延迟,Wan2.1需要选择CP来进行分布式加速。此外,当模型较大时,还需要进行模型切分。
模型切分策略:单卡显存不足时必须考虑模型切分。鉴于序列长度通常较长,与张量并行(TP)相比,FSDP的通信开销更小,并且可以被计算掩盖。因此,Wan2.1选择FSDP方法进行模型切分(注意:这里仅做切分权重,而不做数据并行)。序列并行策略:采用与训练阶段相同的2D CP方法,外层(跨机器) 使用RingAttention,内层(机器内)使用Ulysses。在Wan2.1 140亿参数模型上,使用FSDP和2D CP的组合方法,在多卡上具有如下图所示的近线性加速。
为了减少DiT实际计算量,Wan2.1使用了效果无损的step间cache和CFG cache的方法,仅对若干关键去噪步骤进行实际计算并缓存结果,其他步骤则复用这些缓存,最终性能提升约61%。在推理过程中,Wan2.1也使用了量化方法,在部分层(qkvo projection和FFN)使用fp8gemm,同时实现了FlashAttention3 INT8和FP8混合算子进行attention部分的8bit 量化,在保证效果无损的情况下,端到端性能提升30%以上。
Wan2.1的Text Encoder架构使用了umT5来编码输入文本。通过大量实验,Wan2.1官方发现 umT5 在Wan2.1的框架中具有多个优势:
- 它拥有强大的多语言编码能力,能够有效理解中文和英文,以及输入的视觉文本。
- 在相同条件下,Wan2.1发现 umT5 在组合性能上优于其他单向注意力机制的 LLM。
- 它展现出卓越的收敛性,umT5 在相同参数规模下能够更快收敛。
基于这些发现,Wan2.1最终选择 umT5 作为文本编码器。
万相首尾帧大模型是一个百亿参数规模(14B)的首尾帧生视频大模型,其核心架构设计旨在实现高可控性、高质量的视频生成。
- 基础框架:基于扩散模型(Diffusion Model)与Transformer的融合架构,专为AI视频生成设计。DiT通过Full Attention机制捕捉视频的长时程时空依赖关系,确保生成视频在时间(帧间连贯性)和空间(画面细节一致性)上的高度统一。
- 功能:将输入视频压缩至低维潜在空间,减少计算复杂度。支持720p高清视频的无损压缩,压缩比达256倍。
- 创新设计:
- 因果性约束:在编码和解码过程中引入时间维度的因果性约束,防止信息泄漏,确保首尾帧与中间帧的逻辑连贯性。
- 首尾帧输入处理:用户提供的首帧和尾帧图像与若干零填充中间帧拼接,形成控制视频序列。该序列与噪声及掩码(Mask)拼接后,作为DiT的输入。
- 指令遵循:通过文本提示词(如“镜头移动”“特效变化”)控制生成内容,模型结合CLIP语义特征与交叉注意力机制动态调整生成细节。
- 功能:将首尾帧的语义特征(通过CLIP编码器提取)注入DiT生成过程,强化条件控制。
- 实现方式:
- 首尾帧的CLIP特征与扩散模型的潜在特征进行注意力交互。
| 改进维度 | UmT5 | T5 |
|---|---|---|
| 激活函数 | 支持 GEGLU(门控线性单元 + Gaussian Error) | 仅使用 ReLU |
| 位置编码 | 动态相对位置编码,支持 RoPE 扩展 | 固定相对位置编码(T5 原始实现) |
| 多语言支持 | 原生适配多语言混合数据(如 mT5 扩展) | 主要针对单语言(如英语)优化 |
| 参数效率 | 编码器-解码器共享嵌入,Softmax 层独立 | 完全共享嵌入矩阵 |
| 训练目标 | 统一文本到文本框架,强调多任务迁移学习 | 侧重单任务微调 |
| 长序列优化 | 通过动态分桶和缓存管理支持更长序列 | 原始 T5 对长序列支持较弱 |
-
GEGLU 激活函数
# UmT5 实现 hidden_gelu = self.act(self.wi_0(hidden_states)) # GELU 门控 hidden_linear = self.wi_1(hidden_states) hidden_states = hidden_gelu * hidden_linear # 门控融合
- 相比 T5 的简单 ReLU,GEGLU 通过门控机制增强非线性表达能力。
-
动态位置编码
# UmT5 中的分桶逻辑 relative_position_bucket = self._relative_position_bucket(relative_position) values = self.relative_attention_bias(relative_position_bucket)
- 引入更灵活的分桶策略,适应不同距离的相对位置关系。
-
多语言适配
- 词汇表扩展至 250,000+ token,支持 SentencePiece 多语言分词。
- 嵌入层独立初始化策略优化(
_init_weights方法)。
-
显存优化
- 通过
UmT5LayerNorm(RMS Norm 变体)减少半精度训练时的数值不稳定:variance = hidden_states.pow(2).mean(-1, keepdim=True) hidden_states = hidden_states * torch.rsqrt(variance + eps)
- 通过
| 任务类型 | UmT5 优势 | T5 局限性 |
|---|---|---|
| 多语言文本分类 | 支持混合语言输入,GEGLU 提升跨语言特征提取 | 需额外微调适配多语言 |
| 长文档编码 | 动态位置编码和分桶策略支持 8k+ tokens | 长序列性能下降明显 |
| 低资源迁移学习 | 预训练任务统一,微调时参数效率更高 | 需任务特定调整 |
| 实时推理 | 纯编码器架构延迟更低 | 完整 Seq2Seq 结构计算开销大 |
技术本质的升级:从“通用 Seq2Seq 编码器”到“高效、多语言友好的文本表示引擎”。
Wan2.1设计了一个3D因果卷积(3D Causal Convolution),主要用于处理视频这样的时序数据(还有音频等)。它继承自传统深度学习时代经典的3D卷积架构,并且在此基础上扩展了因果性和缓存机制。
- 因果性设计:在时间维度上,当前时刻的输出特征仅依赖于当前及过去时刻的输入特征,不依赖未来输入数据。具体的实现方式是在时间维度(time dimension)上,仅在前部填充 kernel_dimension - 1,后部不填充,确保卷积核不会“看到”未来数据。
- 缓存机制设计:在推理时,缓存部分历史输入,避免重复计算,提高效率。逐帧处理视频或音频时,可以复用之前计算的特征。
下面是Wan2.1 3D因果卷积的代码:
class WanCausalConv3d(nn.Conv3d):
def __init__(
self,
in_channels: int,
out_channels: int,
kernel_size: Union[int, Tuple[int, int, int]],
stride: Union[int, Tuple[int, int, int]] = 1,
padding: Union[int, Tuple[int, int, int]] = 0,
) -> None:
super().__init__(
in_channels=in_channels,
out_channels=out_channels,
kernel_size=kernel_size,
stride=stride,
padding=padding,
)
# Set up causal padding
self._padding = (self.padding[2], self.padding[2], self.padding[1], self.padding[1], 2 * self.padding[0], 0)
self.padding = (0, 0, 0)
def forward(self, x, cache_x=None):
padding = list(self._padding)
if cache_x is not None and self._padding[4] > 0:
cache_x = cache_x.to(x.device)
x = torch.cat([cache_x, x], dim=2)
padding[4] -= cache_x.shape[2]
x = F.pad(x, padding)
return super().forward(x)通过cache_x缓存前一时间块的最后CACHE_T个帧(一般定义CACHE_T为2),在进行卷积时与当前块拼接(concat),模拟完整时序上下文,从而实现无限时长视频的编码。
下图是Rocky梳理的Wan2.1系列 3D Transformer的完整结构图:
从上面的完整架构图中我们可以看到,Wan2.1 3D Transformer架构中包含了两种核心注意力机制:
- 3D Self-Attention机制:在经典Self-Attention机制的基础上,整体上升维处理3D特征,同时加入了3D旋转位置嵌入 (3D Rotary Position Embedding)模块 + RMSNorm层。
- 3D Cross-Attention机制:在经典Cross-Attention机制的基础上,整体上升维处理3D特征,和3D Self-Attention机制一样加入3D旋转位置嵌入模块 + RMSNorm层。
其中3D旋转位置嵌入模块能够处理视频等3D数据(时间+空间),生成视频数据的旋转位置嵌入,旋转位置嵌入通过旋转矩阵操作将位置信息注入注意力分数,比绝对位置嵌入更灵活,且能更好地处理长序列。
正是3D Self-Attention机制和3D Cross-Attention机制,配合AdaLayerNorm层和FeedForward层构建了Wan2.1 3D Block模块,作为Wan2.1 3D Transformer架构的核心组成部分。在每个Wan2.1 3D Block模块内部,构建了有效的时空上下文关系 (spatio-temporal contextual relationships),并将文本条件 (text conditions)与时间步 (time steps)一同嵌入。
旋转机制的本质相同:
# 两者都使用相同的底层函数
get_1d_rotary_pos_embed(dim, max_seq_len, theta, ...)- 都基于旋转矩阵(Rotation Matrix)注入位置信息
- 都使用复数形式的位置编码(返回cos和sin值)
- 都遵循相同的频率生成公式:
θ_i = 10000^{-2i/d} - 核心目标:使注意力分数能感知位置关系
Q_m^T K_n = (R_m Q)^T (R_n K)
| 特性 | 经典RoPE | Wan 2.1 (3D RoPE) |
|---|---|---|
| 适用数据 | 1D序列(文本) | 3D时空数据(视频) |
| 位置坐标 | 单索引 pos |
三维索引 (t, h, w) |
| 维度分配 | 均匀分布 | 三分支非均匀分配 |
# Wan的特有维度分配
h_dim = w_dim = 2 * (attn_dim // 6)
t_dim = attn_dim - h_dim - w_dim # 显式分离时空经典RoPE生成:
# 伪代码示例
positions = [0, 1, 2, ..., seq_len-1]
freqs = [sin(pos/θ_i), cos(pos/θ_i) for i in range(dim//2)]- 单一定位轴:序列位置索引
- 所有维度均匀参与旋转
Wan 2.1的3D生成:
# 三维分离式生成
freqs_t = get_1d_rotary_pos_embed(t_dim, max_frames)
freqs_h = get_1d_rotary_pos_embed(h_dim, max_height)
freqs_w = get_1d_rotary_pos_embed(w_dim, max_width)
# 三维网格扩展
freqs_f = freqs_t[:ppf].view(ppf,1,1,-1).expand(ppf,pph,ppw,-1)
freqs_h = freqs_h[:pph].view(1,pph,1,-1).expand(ppf,pph,ppw,-1)
freqs_w = freqs_w[:ppw].view(1,1,ppw,-1).expand(ppf,pph,ppw,-1)- 三维独立编码:时间(t)、高度(h)、宽度(w)分别生成
- 网格化扩展:通过广播机制构建3D位置网格
- 动态截取:根据实际输入尺寸截取编码
[:ppf], [:pph], [:ppw]
维度分离策略:
# 维度三分支(示例:attn_dim=96)
t_dim = 32 # 时间维度
h_dim = 32 # 高度维度
w_dim = 32 # 宽度维度- 物理意义绑定:将网络维度显式关联到时空坐标
- 非均匀分配:允许不同维度的重要性差异(通过尺寸调整)
多尺度适配:
ppf = num_frames // p_t # 时间块数
pph = height // p_h # 高度块数
ppw = width // p_w # 宽度块数- 层级位置感知:在patch级别而非像素级别操作
- 计算高效:位置编码独立于batch size
| 特性 | 经典RoPE | Wan 3D RoPE |
|---|---|---|
| 最佳数据 | 文本/语音 | 视频/医学影像 |
| 位置关系 | 顺序依赖 | 时空邻近性 |
| 处理挑战 | 长程依赖 | 各向异性缩放 |
经典RoPE旋转操作:
[ q_i ] [ cos mθ_i -sin mθ_i ] [ q_i ]
[ q_j ] = [ sin mθ_i cos mθ_i ] [ q_j ]
Wan 3D RoPE扩展:
[ q_{t} ] [ cos tθ_t -sin tθ_t ] [ q_t ]
[ q_{h} ] = [ sin tθ_t cos tθ_t ] [ q_h ]
[ q_{w} ] [ cos tθ_w -sin tθ_w ] [ q_w ]
... (独立旋转)
- 解耦旋转:每个物理维度独立旋转
- 组合效应:最终位置感知是三维旋转的复合结果
-
维度解耦设计
将多头注意力的维度显式拆分为三个物理轴,实现位置编码的几何意义绑定 -
层级位置感知
在patch级别而非原始像素级别操作,适配视频的时空层级结构 -
动态空间适配
通过广播机制和切片操作,自动适配不同分辨率的输入视频 -
各向异性处理
允许时间、高度、宽度维度使用不同的编码强度(通过维度分配控制)
HunyuanVideo是一个基于Latent空间的AI视频扩散模型。它设计了一个3D VAE架构,用于在训练中压缩时间维度和空间维度的特征。同时通过一个大语言模型来对文本Prompts进行编码,作为额外条件输入模型中,来引导模型通过对高斯噪声的多步去噪,输出一个AI视频的Latent空间表示。最后,在HunyuanVideo推理时通过3D VAE解码器将Latent空间表示解码为AI视频。
下面是HunyuanVideo模型架构的示意图:
HunyuanVideo模型采用了Transformer架构,设计了一个“双流到单流”的混合模型用于视频生成。在双流阶段,视频特征和文本token通过并行的Transformer Block独立处理,使得每个模态可以学习适合自己的调制机制而不会相互干扰。在单流阶段,再将视频特征和文本token连接起来并将它们输入到后续的Transformer Block中进行有效的多模态信息融合。这种设计和FLUX.1这个AI绘画大模型有异曲同工之妙,捕捉了视觉和语义信息之间的复杂交互,增强了整体模型性能。
下面是HunyuanVideo模型的单-双流TransFormer架构示意图:
之前的AI视频大模型通常使用预训练的CLIP和T5-XXL作为文本编码器。而HunyuanVideo则是使用了一个预训练的Multimodal Large Language Model (MLLM)作为文本编码器,其具有以下优势:
- 与T5-XXL相比,MLLM模型基于图文数据指令微调后在特征空间中具有更好的图像-文本对齐能力,这就减轻了扩散模型中的图文特征对齐的难度。
- 与CLIP相比,MLLM模型在图像的细节描述和复杂推理方面表现出更强的能力。
- MLLM模型可以通过遵循系统指令实现零样本生成,从而帮助文本特征更多地关注关键信息。
- 由于MLL模型是基于Causal Attention机制的,而T5-XXL使用了Bidirectional Attention机制为扩散模型提供更好的文本引导。因此,HunyuanVideo引入了一个额外的token优化器来增强文本特征的引导。
下面是HunyuanVideo模型中MLLM文本编码器的示意图:
HunyuanVideo的VAE部分采用了CausalConv3D作为AI视频的编码器和解码器,用于压缩视频的时间维度和空间维度,其中时间维度压缩 4 倍,空间维度压缩 8 倍,压缩为 16 channels。这样可以显著减少后续 Transformer 模型的 token 数量,使我们能够在原始分辨率和帧率下训练AI视频大模型。
下面是HunyuanVideo的3D VAE部分的示意图:
为了解决用户输入文本提示的多样性和不一致性的困难,官方微调了Hunyuan-Large model模型作为HunyuanVideo的prompt改写模型,将用户输入的提示词改写为更适合HunyuanVideo模型偏好的写法。
Hunyuan-Large model模型提供了两个改写模式:正常模式和导演模式。正常模式旨在增强视频生成模型对用户意图的理解,从而更准确地解释提供的指令。导演模式增强了诸如构图、光照和摄像机移动等方面的描述,倾向于生成视觉质量更高的视频。注意,这种增强有时可能会导致一些语义细节的丢失。
在AI视频领域,数据标签的精确性和全面性在提高AI视频生成模型的提示遵循能力和输出质量方面起着至关重要的作用。以前的工作主要集中在提供简短的字幕或密集字幕。然而,这些方法因信息不完整、冗余话语和不准确而受到批评。
为了实现更高全面性、信息密度和准确性的字幕,Hunyuan-Video开发并应用了了一个内部的视觉语言模型(VLM),旨在为图像和视频生成结构化字幕。这些结构化字幕采用JSON格式,提供多维度的描述信息,从各个角度包括:
- 简短描述:捕捉场景的主要内容。
- 密集描述:详细描述场景内容,特别包括场景转换和摄像机运动,这些内容与视觉内容相结合,例如摄像机跟随某个主体。
- 背景:描述主体所处的环境。
- 风格:描述视频的风格,例如纪录片、电影、现实主义或科幻。
- 镜头类型:识别突出或强调特定视觉内容的视频镜头类型,例如航拍镜头、特写镜头、中镜头或长镜头。
- 照明:描述视频的照明条件。
- 氛围:传达视频的氛围,例如舒适、紧张或神秘。
同时Hunyuan-Video还训练了一个摄像机运动分类器,能够预测14种不同的摄像机运动类型,包括放大、缩小、向上摇摄、向下摇摄、左摇摄、右摇摄、向上倾斜、向下倾斜、向左倾斜、向右倾斜、向左旋转、向右旋转、静态镜头和手持镜头。
 - **字符图像注入模块**(Character Image Injection Module): 解决传统参考图像使用导致的动态性与一致性权衡问题。通过将图像特征沿通道维度注入,避免直接使用潜在空间导致的训练-推理不匹配,提升前景和背景的运动质量。 - **音频情感模块**(Audio Emotion Module, AEM): 通过情感参考图像提取情感线索并迁移到生成视频中,确保面部表情与音频情感精确对齐,改善表情自然度。 - **面部感知音频适配器**(Face-Aware Audio Adapter, FAA): 利用潜在空间的人脸掩码实现局部音频驱动,支持多角色独立动画(如不同角色响应不同音频输入),解决多角色场景的驱动难题。对比现有方法:
- 传统方法(如Hallo-3、CyberHost)仅支持单角色或静态背景,而HunyuanVideo-Avatar支持动态多角色交互;
- 现有方法常因参考图像复制导致动作不自然,本模型通过注入模块保持动态性。
- 机制(a):参考图像与视频通过同一tokenizer处理后拼接,可能导致信息冗余。
- 机制(b):字符图像重复T次后与原始视频在通道维度拼接,再分别tokenizer处理,但可能引入噪声。
- 机制(c):参考图像重复T次后通过tokenizer2处理,直接与视频潜在特征相加,效果最佳:
- 保留动态性(避免填充帧的静态问题);
- 确保一致性(通过潜在空间融合减少训练-推理差异);
- 加速模型收敛(额外tokenizer2复用预训练权重)。
- 人脸掩码生成:使用InsightFace检测每帧的人脸区域,生成二值掩码(初始帧为1,其余为0)。
- 时序对齐:将音频特征(每帧10个token)压缩至与视频潜在特征相同的时序长度(通过4倍下采样)。
- 交叉注意力:
- 对每个时间步,仅将对应人脸掩码区域的视频潜在特征与音频特征通过交叉注意力融合;
- 掩码移动时,音频信息仅作用于当前目标角色。 优势:避免多角色场景中音频信息混淆,实现独立控制。
- 问题:HunyuanVideo-13B模型仅支持129帧生成,而音频可能更长。
- 方法:采用Sonic的时间感知位置偏移融合(Time-aware Position Shift Fusion):
- 将音频分段输入模型,每次预测一段潜在特征;
- 通过偏移量(α=3-7)平滑连接相邻片段,减少突变;
- 无需额外训练成本,仅调整推理逻辑。
- 效果:显著降低长视频中的动作不连贯问题(算法1)。
- 模型轻量化:
- 使用蒸馏技术压缩HunyuanVideo-13B;
- 替换部分模块为轻量级设计(如简化Cross-Attention)。
- 推理加速:
- 混合精度训练(FP16/BF16);
- 并行化处理(如GPU多卡推理)。
- 缓存机制:复用前一帧的潜在特征以减少计算量。
挑战:需在速度与质量间权衡(当前生成10s视频需60分钟)
- Double Block结构:包含更复杂的残差连接和注意力机制,能捕捉情感细节的层次化表示;
- 实验验证:插入Single Block时情感迁移效果差,而Double Block能更好地融合情感参考图像的特征。
- 原因:情感表达需要多尺度特征交互,Double Block提供更丰富的上下文信息。
HunyuanVideo-Avatar通过引入面部感知音频适配器(FAA)来实现多角色音频驱动动画中的独立音频注入。具体实现步骤如下:
- 使用InsightFace方法检测面部区域的边界框,并使用Whisper提取音频特征。
- 将音频特征在时间上压缩,并与视频潜在表示在时间上对齐。
- 对视频潜在表示进行面部掩码处理,生成面部遮蔽的视频潜在表示。
- 通过交叉注意力机制将音频信息注入到被掩蔽的面部区域,具体公式如下:
其中,αA 是一个权重,控制音频特征的影响。通过这种方式,模型能够独立地驱动不同角色的表情,从而实现多角色对话生成。
音频情感模块(AEM)通过从情感参考图像中提取情感线索,并将其转移到目标生成视频中,从而实现细粒度和准确的情感风格控制。具体实现步骤如下:
- 使用预训练的3D VAE将情感参考图像压缩成特征表示 Eref。
- 将情感参考图像特征作为Key和Value,原始视频潜在表示作为Query,通过一个全连接层和空间交叉注意力机制将这些特征注入到视频潜在表示中。
- 具体公式如下:
其中,γE是一个可学习的缩放因子,控制情感参考特征对视频潜在的影响。通过这种方式,模型能够更好地理解音频情感与面部表情之间的关系,从而生成更自然的动画。
CogVideoX是基于DiT架构的AI视频大模型,可以说DiT架构已经经过考验,成为AI视频领域的核心基底模型。
CogVideoX主要包括三个部分:
- 3D Causal VAE模型:3D Causal VAE Encoder能在时间和空间维度上将输入的原始视频映射到Latent空间中。同时3D Causal VAE Decoder能将扩散模型生成的视频Latent特征进行重建,获得像素级视频内容。
- DiT Expert模型:将视频信息的Latent特征和文本信息的Embeddings特征进行Concat后,再Patch化,并进行扩散过程输出去噪后的视频Latent特征。
- Text Encoder模型:Text Encoder模型将输入的文本Prompt编码成Text Embeddings,作为条件注入DiT Expert模型中。CogVideoX中选用T5-XXL作为Text Encoder,Text Encoder具备较强的文本信息提取能力。
目前CogVideoX-2B的输入Prompt提示词上限为226个tokens,可以生成的视频长度为6秒,帧率为8帧/秒,生成视频分辨率为720*480。
CogVideoX-5B模型是CogVideoX-2B模型的升级版本,CogVideoX-2B模型的特点是入门级模型,兼顾兼容性。运行、二次开发成本低。CogVideoX-5B模型的特点是视频生成质量更高,视觉效果更好,同时模型参数量也更大。
下面汇总了CogVideoX-5B模型和CogVideoX-2B模型的异同,供大家参考:
和Sora类似,CogVideoX模型在输入端也是设计了一个3D Causal VAE结构对输入视频数据进行Latent编码。
视频数据比起图像数据,本质上是增加了时间信息,所以其数据量级和计算量级也远超图像数据,处理难度也更高。3D VAE架构主要通过3D卷积同时压缩视频的空间和时间维度,从而实现了对视频数据更高的压缩编码效率和更好的重建质量与连续性。 下图展示了3D VAE的结构示意图,主要包括一个Encoder(编码器)、一个Decoder(解码器)以及一个Latent Space Regularizer(潜在空间正则器):
- 编码器:用于将输入视频数据转换为Latent Feature。这一过程中,编码器会通过四个下采样阶段逐步减少视频数据的空间和时间分辨率。
- 解码器:将视频数据的Latent Feature转换成原始的像素级视频。解码器也包含四个对称的上采样阶段,用于恢复视频数据的空间和时间分辨率。
- 潜在空间正则化器:通过KL散度来约束高斯Latent空间,对编码器生成的Latent Feature进行正则化。这对于AI视频大模型的生成效果和稳定性至关重要。
值得注意的是,编码器的前两个下采样阶段和解码器的最后两个上采样阶段涉及空间和时间维度,而最后一个阶段仅应用于空间采样。所以3D VAE在时间维度上实现了4倍的压缩,而在空间维度上实现了8×8倍的压缩。总的来说,实现了视频数据从像素级到Latent Feature的4×8×8压缩比率,整体压缩效率还是非常高的。
同时在3D VAE中采用了时间因果卷积,这是一种特殊的卷积网络,该卷积将所有填充放置在时间卷积的开头,如上图(b)中所示。这确保了未来帧的信息不会影响现在或过去的预测。这对于时间序列数据的处理非常重要,因为它保留了因果关系,使得模型的预测不会违反时间顺序。
由于处理视频数据的所有帧会消耗大量的GPU显存,CogVideoX为了适应大规模视频的处理,在时间维度上应用了上下文并行(context parallel)的策略进行3D卷积操作,将时间维度上的计算分配到多个GPU设备上进行并行计算,如上图中(b)所示。每个GPU设备只需要处理一部分时间段的数据,并将必要的信息传递给下一个GPU设备,这减少了GPU设备间的通信开销,并有效地分配了计算资源。由于卷积的因果性。
下图是Rocky梳理的CogVideoX 3D VAE的完整结构图,大家可以感受一下其魅力,看着这个完整结构图学习CogVideoX 3D VAE模型部分,相信大家脑海中的思路也会更加清晰:
为了节省计算资源并提高模型的泛化能力,CogVideoX系列模型在3D VAE的训练过程中设计了两阶段的训练策略:
第一阶段:在低分辨率和较少帧的视频数据(短视频)上训练3D VAE模型,这样既能让模型学习到基础的视频编码和解码能力,同时也节省了计算资源。经过第一阶段的训练后,3D VAE模型在较大分辨率的编码上有较好的泛化能力,但是在扩展要编码的帧数时则不那么顺畅。
第二阶段:在长视频上进行进一步微调训练。使用上下文并行的方法,在长视频上继续训练3D VAE模型,使其能够处理更多的视频帧数,同时保持高效的显存使用。
3D VAE模型的两个阶段训练都使用了三种损失函数的加权组合,分别是:
- L2损失:衡量重建图像与原始图像之间的像素级差异。
- LPIPS感知损失:用于衡量重建图像与原始图像之间的感知差异,即从视觉感知的角度来评估重建质量。
- GAN损失:通过3D鉴别器,使用对抗训练策略,进一步提升重建图像的真实性。
在CogVideoX的3D VAE将视频数据的每一帧编码为一个形状为
值得注意,CogVideoX并未在时间维度上进行补丁化处理,这样做的目的是实现图像和视频的联合训练。
同时,CogVideoX的Text Encoder部分将输入的文本Prompt编码层文本嵌入
为了在同一序列中更好地处理它们,CogVideoX设计了Expert Adaptive Layernorm来分别处理每个模态。如下图所示,我们使用扩散过程中的时间步长
同时在CogVideoX中还引入了旋转位置嵌入(Rotary Position Embedding, RoPE),这是一种相对位置编码技术,已被证明在LLMs中能够有效捕捉词元间关系,尤其擅长处理长序列数据。为了适应视频数据,CogVideoX将RoPE技术扩展为3D-RoPE。视频张量中的每个潜在向量都可以由三维坐标
在之前的AI视频模型中,通常采用分离的空间注意力机制和时间注意力机制,这样虽然能减少计算复杂性。但是这种注意力分离的方法需要视觉信息的隐式传递,这显著增加了学习的复杂性与难度,并且AI视频模型很难学到大幅度运动物体的一致性。如下图所示,第i帧中的人物的头部无法直接关注到第i+1帧中的人物头部。
为了解决这个问题,CogVideoX设计了一种3D文本-视频混合注意力机制(3D Full Attention)。3D Full Attention充分利用了长上下文训练和FlashAttention技术的优势,实现了高效且精确的多模态数据处理。
下图是Rocky梳理的CogVideoX 3D Expert Transformer的完整结构图,大家可以感受一下其魅力,看着这个完整结构图学习CogVideoX 3D Expert Transformer部分,相信大家脑海中的思路也会更加清晰:
SG-I2V通过对自注意力层进行修改来实现特征的对齐。具体来说,原始的SVD模型在每个帧上独立应用空间自注意力,这导致跨帧的特征对应关系较弱。 为了解决这个问题,SG-I2V将每个帧的自注意力层的键和值替换为第一帧的键和值,从而使得所有帧的特征在语义上对齐。 这种修改后的自注意力层能够更好地捕捉跨帧的语义信息,使得优化过程能够更有效地控制视频元素的轨迹。
为了确保优化后的潜在变量不会偏离扩散过程的分布,SG-I2V采用了一种基于频率的后处理方法。 具体来说,使用快速傅里叶变换(FFT)和逆快速傅里叶变换(IFFT)来分离原始潜在变量zt∗的低频和高频分量。 然后,保留低频分量, 并将高频分量替换为原始潜在变量的对应分量。 这种方法有效地保留了原始潜在的低频信号,同时消除了可能引入的不必要的高频干扰,从而保持了生成视频的视觉质量。
SG-I2V在VIPSeg数据集的验证集上进行了评估。实验中使用了多种评估指标来验证其有效性,包括Frechet Inception Distance(FID)、 Frechet Video Distance(FVD)和ObjMC。FID和FVD用于衡量生成视频的视觉质量,而ObjMC用于衡量运动保真度。
具体来说,FID和FVD越低,表示生成视频的质量越高;ObjMC越低,表示生成视频的运动越接近目标轨迹。
实验结果表明,SG-I2V在视觉质量和运动保真度上都优于所有零样本基线方法,并且在某些指标上甚至与监督基线方法竞争。
MAGI-1是一个大规模的自回归视频生成模型,通过自回归地预测固定长度的视频块序列来生成视频。其主要特点包括:
- 自回归生成:视频块按顺序生成,确保因果时间建模和实时流式生成。
- 高时间一致性:通过逐步增加的噪声水平训练,确保视频的时间一致性。
- 可扩展性:支持长达400万token的上下文长度,适用于大规模视频生成任务。
- 实时流式生成:由于自回归设计和固定峰值推理成本,支持实时流式视频生成。

MAGI-1模型通过以下步骤处理视频生成:
- 视频分块:将视频分割成固定长度的块,每个块包含多个连续帧。
- 自回归生成:按顺序生成每个块,当前块的生成依赖于之前生成的所有块。
- 去噪过程:在每个块的去噪过程中,逐步减少噪声,直到生成清晰的视频块。
- 并行处理:利用多GPU并行处理多个块,提高生成效率。
MAGI-1模型在推理过程中通过以下方式实现高效生成:
- KV Cache:利用KV缓存机制,避免重复计算,提高生成效率。
- 动态调整引导强度:在生成过程中动态调整引导强度,减少时间伪影,提高视频质量。
- 多阶段训练和数据调整:通过多阶段训练和动态调整数据分布,确保模型在不同阶段的性能优化。
MAGI-1模型在处理长时间视频生成时面临以下挑战:
- 计算资源需求高:长时间视频生成需要大量的计算资源。
- 时间一致性维护:确保长时间视频的时间一致性是一个挑战。
解决方案:
- 分块生成:将视频分割成固定长度的块,按顺序生成,减少单次计算的复杂度。
- KV Cache:利用KV缓存机制,避免重复计算,提高生成效率。
- 动态调整引导强度:在生成过程中动态调整引导强度,减少时间伪影,提高视频质量。
MAGI-1采用了基于Transformer的变体自编码器(VAE)来提高训练和推理效率。
具体来说,MAGI-1的VAE架构包括一个编码器和一个解码器,编码器将输入视频分割成固定长度的块,并对其进行去噪处理,解码器则将这些块重构为原始视频。
Transformer架构的优势在于其高效的自我关注和并行计算能力,这使得MAGI-1能够在保持高训练效率的同时,处理大规模的视频数据。
此外,MAGI-1还进行了多项优化,如块因果注意力、并行注意力块、QK-Norm和GQA、三明治归一化和SwiGLU等,进一步提升了模型的性能和稳定性。
MAGI-1通过自回归方式生成视频块,每个块包含多个连续帧。每个块的去噪过程是逐步进行的,前一个块去噪到一定程度后,才开始下一个块的生成。
这种方法利用了并行性,减少了后续块获取清洁块的延迟,支持实时流式视频生成。
具体实现上,MAGI-1采用了分布式打包和填充(PnP)策略,在线批量处理视频数据,减少GPU气泡,提高整体训练效率。
此外,MAGI-1还使用了多模型异构服务管道,将T5和MAGI-1部署在高性能GPU上,同时将VAE解码器部署在成本较低的硬件上,从而实现高效的并行推理。
通过这些优化措施,MAGI-1能够在保证高质量生成的同时,实现低延迟的实时流式视频生成。
- 在文生视频任务中,可以与Stable Diffusion(以及其他文生图大模型)+ LoRA + ControlNet等AI绘画工作流完美结合,产生丰富的玩法。
- 在图生视频任务中,可以与IPadapter等一致性模型一起使用,通过输入一张图像来生成动图,之前火爆全网的《一个男人/女人的一生》视频的底层技术逻辑就是来源于此。
- 在视频生视频任务中,AnimateDiff依旧可以与Stable Diffusion(以及其他文生图大模型)+ LoRA + ControlNet等AI绘画工作流配合,将原视频进行逐帧转绘和编辑,从而生成不同风格或者不同内容的新视频。
OmniAvatar是一个创新的音频驱动全身视频生成模型,主要解决了现有方法在全身动画生成中的三个关键挑战:
- 通过像素级多层级音频嵌入策略(multi-hierarchical audio embedding)改进了唇部同步精度
- 采用LoRA-based训练方法在保持基础模型能力的同时有效整合音频特征
- 实现了自然流畅的全身动画生成和精确的文本控制能力
主要贡献包括:
- 提出基于LoRA的音频条件肖像视频生成模型,实现自然自适应身体动作
- 多层级像素级音频嵌入方法显著提高唇同步精度
- 能够生成具有自然人体动作、可控情绪和手势以及动态背景的视频
像素级多层级音频嵌入策略是OmniAvatar的核心创新之一,其工作流程如下:
- 音频特征提取:使用Wav2Vec2提取音频序列特征
- 时间对齐处理:
- 对音频特征进行填充以匹配视频潜在空间的时间长度
- 按照VAE的压缩率(4倍)对音频特征进行分组
- 音频压缩映射: 通过Audio Pack模块将重排后的音频线性映射到潜在空间
- 像素级融合:
- 将音频潜在特征投影到与视频潜在空间对齐的空间
- 在像素级别将音频潜在特征嵌入到视频潜在空间中
- 多层级嵌入:
- 在DiT块的第二层到中间层之间进行多层级音频嵌入
- 各层权重不共享,保持独立的音频学习路径
OmniAvatar选择LoRA-based训练基于以下原因:
- 全模型训练的问题:
- 会导致模型生成能力退化
- 容易过拟合人类语音数据集
- 生成内容可能出现不真实或静态化
- 细节捕捉能力下降(如手部和嘴部)
- 部分层冻结的问题:
- 音频-视频对齐性能差
- 唇同步效果不佳
- 难以准确映射音频特征到真实面部动作
- LoRA的优势:
- 通过低秩矩阵更新注意力层和FFN层
- 保持基础模型能力的同时高效适应音频条件
- 训练参数少(rank=128,alpha=64)
- 避免过拟合,保持良好泛化能力
- 保留Wan2.1基础模型的高质量视频生成能力
OmniAvatar的整体架构如图2所示,关键组件包括:
- 基础模型:
- 基于Wan2.1-T2V-14B扩散Transformer(DiT)
- 采用潜在扩散模型(LDM)框架
- 使用3D VAE进行视频潜在空间编码
- 音频处理模块:
- Wav2Vec2音频特征提取器
- Audio Pack音频压缩和潜在空间映射
- 多层级像素级音频嵌入
- 训练策略:
- LoRA-based参数高效微调
- 两阶段训练(先低分辨率后高分辨率)
- 分类器无关指导(CFG=4.5)
- 长视频生成机制:
- 参考图像嵌入策略保持身份一致性
- 帧重叠策略(13帧)保证时间连续性
- 潜在重叠拼接算法
OmniAvatar采用以下策略解决长视频生成的挑战:
- 身份保持:
- 参考图像嵌入策略:提取参考帧的潜在表示并重复匹配视频长度
- 在每个时间步将参考潜在与视频潜在拼接
- 固定参考帧作为身份引导锚点
- 时间连续性:
- 潜在重叠策略:训练时混合使用单帧和多帧前缀潜在
- 推理时使用前一batch的最后帧作为后续batch的前缀
- 13帧的视频重叠保证平滑过渡
- 固定参考帧同时指导身份一致性
- 算法实现:
- 如Algorithm 1所示的长视频推理流程
- 动态计算循环次数和填充长度
- 分段处理并保留重叠区域作为下一段前缀
- 图像质量:
- FID(Frechet Inception Distance):衡量生成图像与真实图像的分布距离
- IQA(Image Quality Assessment):使用Q-align视觉语言模型评估视频质量
- 视频质量:
- FVD(Frechet Video Distance):评估视频序列质量
- ASE(Aesthetic Score):美学评分
- 唇同步:
- Sync-C:唇同步置信度(越高越好)
- Sync-D:唇同步距离(越低越好)























