一、引言
刚刚,阿里云视频生成大模型万相2.1(Wan)重磅开源,此次开源采用Apache2.0协议,14B和1.3B两个参数规格的全部推理代码和权重全部开源,同时支持文生视频和图生视频任务,全球开发者可在Github、HuggingFace、魔搭社区下载体验。
此次开源的两个参数版本模型:14B版本万相模型和1.3B版本万相模型。
1.1、14B版本万相模型
14B版本万相模型在指令遵循、复杂运动生成、物理建模、文字视频生成等方面表现突出,在权威评测集Vbench中,万相2.1以总分86.22%大幅超越Sora、Luma、Pika等国内外模型,稳居榜首位置。
1.2、1.3B版本万相模型
1.3B版本万相模型不仅超过了更大尺寸的开源模型,甚至还和一些闭源的模型结果接近,同时能在消费级显卡运行,仅需8.2GB显存就可以生成480P视频,适用于二次模型开发和学术研究。
从2023年开始,阿里云就坚定大模型开源路线,千问(Qwen)衍生模型数量已超过10万个,是全球最大的AI模型家族。随着万相的开源,阿里云两大基模全部开源,实现了全模态、全尺寸大模型的开源。
二、模型关键创新技术解读
基于主流的DiT和线性噪声轨迹Flow Matching范式,万相2.1通过一系列技术创新实现了生成能力的重大进步。包括自研高效的因果3D VAE、可扩展的预训练策略、大规模数据链路构建以及自动化评估指标,这些创新共同提升了模型的最终性能表现。
2.1、高效的因果3D VAE
在算法设计上,万相基于主流DiT架构和线性噪声轨迹Flow Matching范式,研发了高效的因果3D VAE、可扩展的预训练策略等。以3D VAE为例,为了高效支持任意长度视频的编码和解码,万相在3D VAE的因果卷积模块中实现了特征缓存机制,从而代替直接对长视频端到端的编解码过程,实现了无限长1080P视频的高效编解码。此外,通过将空间降采样压缩提前,在不损失性能的情况下进一步减少了29%的推理时内存占用。
2.2、视频Diffusion Transformer
万相2.1模型架构基于主流的视频DiT结构,通过Full Attention机制确保长时程时空依赖的有效建模,实现时空一致的视频生成。模型的整体训练则采用了线性噪声轨迹的流匹配(Flow Matching)方法。如模型架构图所示,模型首先使用多语言umT5编码器对输入文本进行语义编码,并通过逐层的交叉注意力层,将文本特征向量注入到每个Transformer Block的特征空间,实现细粒度的语义对齐。此外,我们通过一组在所有Transformer Block中共享参数的MLP,将输入的时间步特征T映射为模型中AdaLN层的可学习缩放与偏置参数。我们的实验发现,在相同参数规模下,这种共享时间步特征映射层参数的方法在保持模型能力同时可以显著降低参数和计算量。
2.3、模型训练和推理效率优化
训练阶段,对于文本、视频编码模块,我们使用DP 和 FSDP 组合的分布式策略;对于DiT模块,我们采用 DP、FSDP、RingAttention、Ulysses混合的并行策略。基于万相2.1 模型参数量较小和长序列带来的计算量较大的特征,结合集群计算性能和通信带宽,我们采用 FSDP 切分模型,并在 FSDP 外嵌套DP 提升多机拓展性,FSDP 和 DP 的通信均能够完全被计算掩盖。为了切分长序列训练下的activation,DiT 部分使用了 Context Parallelism (CP) 对 sequence 维度进行切分,并使用外层RingAttention、内层Ulysses的2D CP 的方案减少 CP 通信开销。此外,为了提升端到端整体效率,我们在文本、视频编码和DiT模块间进行高效策略切换,避免计算冗余。具体来说,文本、视频编码模块每个device读不同数据,在进入DiT之前,通过循环广播不同device上的数据来保证CP组里的数据一样。
显存优化方面,我们采用分层的显存优化策略,选择一些层进行offload,其他层根据不同算子计算量和显存占用的分析使用细粒度Gradient Checkpointing (GC) 进一步优化 activation 显存。最后我们也利用PyTorch 显存管理机制,解决显存碎片问题。
在训练稳定性方面借助于阿里云训练集群的智能化调度、慢机检测以及自愈能力,在训练过程中自动识别故障节点并快速重启任务,平均重启时间为39秒,重启成功率超过98.23%。
在推理阶段,为了使用多卡减少生成单个视频的延迟,我们需要选择CP来进行分布式加速。此外,当模型较大时,还需要进行模型切分。
-
模型切分策略:单卡显存不足时必须考虑模型切分。鉴于序列长度通常较长,与张量并行(TP)相比,FSDP的通信开销更小,并且可以被计算掩盖。因此,我们选择FSDP方法进行模型切分(注意:这里仅做切分权重,而不做数据并行)。
-
序列并行策略:采用与训练阶段相同的2D CP方法:外层(跨机器)使用RingAttention,内层(机器内)使用Ulysses。
在万相2.1 140亿参数模型上,使用FSDP和2D CP的组合方法,在多卡上具有如下图所示的近线性加速。
为了减少DiT实际计算量,我们使用了效果无损的step间cache和CFG cache的方法,仅对若干关键去噪步骤进行实际计算并缓存结果,其他步骤则复用这些缓存,最终性能提升约 61%。
在推理过程中,我们也使用了量化方法,我们在部分层(qkvo projection和FFN)使用fp8 gemm,同时实现了FlashAttention3 INT8和FP8混合算子进行attention部分的8bit 量化,在保证效果无损的情况下,端到端性能提升30% 以上。
万相团队的实验结果显示,在运动质量、视觉质量、风格和多目标等14个主要维度和26个子维度测试中,万相均达到了业界领先表现,并且实现了5项第一。尤其在复杂运动和物理规律遵循上的表现上大幅提升,万相能够稳定展现各种复杂的人物肢体运动,如旋转、跳跃、转身、翻滚等;能够精准还原碰撞、反弹、切割等复杂真实物理场景。
得益于上述关键技术,万相大模型在多个内部和外部基准测试中,均大幅超越现有的开源模型以及顶尖商业闭源模型。万相能够稳定展现各种复杂的人物肢体运动,如旋转、跳跃、转身、翻滚等;能够精准还原碰撞、反弹、切割等复杂真实物理场景。
在指令遵循能力方面,能够准确理解中英文长文本指令,还原各种场景切换、角色互动。
以红色新年宣纸为背景,出现一滴水墨,晕染墨汁缓缓晕染开来。文字的笔画边缘模糊且自然,随着晕染的进行,水墨在纸上呈现“福”字,墨色从深到浅过渡,呈现出独特的东方韵味。背景高级简洁,杂志摄影感。
三、开源社区友好
万相已经在Github、HuggingFace、魔搭社区平台开源,全面支持了多种主流框架,已支持Gradio体验、xDiT并行加速推理,Diffusers和ComfyUI也在快速接入中,以方便开发者一键推理部署。这不仅降低了开发门槛,还为不同需求的用户提供了灵活的选择,无论是快速原型开发还是高效生产部署都能轻松实现。开源社区链接:
3.1、Github
3.2、HuggingFace
3.3、魔搭社区
3.4、在线体验
四、万相模型生成demo效果
万相模型生成demo效果展示,开启视觉世界的无限可能。
首个具备支持中文文字生成能力,且同时支持中英文文字特效生成的视频生成模型:
更稳定的复杂运动生成能力:
更灵活的运镜控制能力:
更好的物理规律理解、更好的模拟真实的世界:
高级质感、多种风格、多长宽比:
图生视频,让创作更可控:
中国古典风格的动画角色,一个身穿淡紫色汉服的女孩站在樱花树下。她有着大大的眼睛和精致的五官,头发上装饰着粉色的花朵。女孩表情温柔,眼神中带着一丝忧郁,仿佛在思考什么。背景是朦胧的古建筑轮廓,花瓣在空中轻轻飘落,营造出一种宁静而梦幻的氛围。近景特写镜头,强调女孩的面部表情和细腻的光影效果。