通义万相2.1首尾帧模型开源!细节真实生动+过渡丝滑,指令遵循表现出色!

通义万相不久前开源的Wan2.1视频模型凭借其优秀的技术表现和广泛的应用潜力,迅速在开源社区中引发关注。在Wan2.1文生视频大模型的助力下,通义万相同期发布了图生视频模型和1.3B参数的小型化模型。这一系列更新,不仅丰富了内容创作的工具库,也为不同场景的应用提供了更灵活的选择。截至目前,Wan2.1 github star 超1w,全网下载数超过220w。


4月17日,万相再次发布一个令人兴奋的更新——首尾帧生视频模型正式开源!用户只需提供首帧和尾帧,模型便能自动生成丝滑流畅的过渡效果,让画面在起始与终点之间自然演变。基于Wan2.1文生视频14B大模型,万相提供的首尾帧模型支持生成时长5s的720p高清视频,为创作者们带来了更高效、更灵活的视频制作方式。


github:

https://github.com/Wan-Video/Wan2.1


模型:

https://www.modelscope.cn/models/Wan-AI/Wan2.1-FLF2V-14B-720P


直接体验入口:

https://tongyi.aliyun.com/wanxiang/videoCreation


01

首尾帧模型效果



万相首尾帧模型能够完美复刻输入图像的细节,而且生成的视频具有非常生动真实的动作


case 1

首帧

尾帧


提示词:“写实风格,脸部特写,一个红发碧眼的小女孩,镜头微微左移,记录她被阴影遮住的侧脸。”


case 2

首帧

尾帧


提示词:“写实风格,一只剑齿虎在森林中移动,它看向镜头后转身离开。”


在输入内容跨度比较大的情况下,万相首尾帧也能实现丝滑的画面过渡


case 3 

首帧

尾帧


提示词:“二次元风格,一艘巨大的宇宙飞船向从左向右移动,飞船上的蓝色灯光逐渐熄灭,镜头下方的人物走向飞船。”


case 4 

首帧

尾帧


提示词:“写实风格,海底世界,一名潜水员向前游动,直到水与火的交界处,镜头紧紧跟随他的背影。”



在一些具有创意性的测试用例上,万相首尾帧模型也能完美胜任


case 5

首帧

尾帧


提示词:“黑暗的环境,一群人站成一列,背对镜头,站在一束光前,镜头上移,俯拍出光源全貌。”


万相首尾帧对提示词的遵循上也有着出色的表现


case 6

首帧

尾帧


提示词:“卡通风格,一个打着红色雨伞的蓝色卡通人物站在雨中。它的眼神充满忧郁”

“充满忧郁”的效果表现细腻


在一些特效变换上,万相首尾帧能跟实现炫酷的过渡效果


case 7

首帧

尾帧


提示词:“奇幻风格,一个蓝色的漩涡,镜头逐渐拉远,漩涡逐渐变成一朵蓝色的莲花。”


02

模型架构



万相发布的Wan2.1系列模型,采用了先进的DiT架构,在技术上实现了多项突破。其中,高效的视频压缩VAE模型显著降低了运算成本,让高清视频生成更加高效且经济。同时,模型的Transformer部分基于主流的视频DiT结构,通过Full Attention机制精准捕捉长时程的时空依赖关系,确保了生成视频在时间与空间上的高度一致性。


万相模型结构图


本次发布的首尾帧模型在基础架构模型上,引入了额外的条件控制分支,用户输入的首帧和尾帧作为控制条件,通过这一分支实现了流畅且精准的首尾帧变换。具体而言,首帧与尾帧同若干零填充的中间帧拼接,构成控制视频序列。该序列进一步与噪声及掩码(mask)进行拼接,最终作为扩散变换模型(DiT)的输入。此外,为实现画面稳定性控制,万相首尾帧模型提取了首帧和尾帧的CLIP语义特征,并通过交叉注意力机制(Cross-Attention Mechanism)将其注入到DiT的生成过程中。


万相首尾帧模型架构图


03

训练&推理优化



万相首尾帧模型仍然采用了基于线性噪声轨迹的流匹配(Flow Matching)方法。在训练阶段,对于文本与视频编码模块,我们采用了数据并行(DP)与完全分片数据并行(FSDP)相结合的分布式策略;而对于扩散变换模型(DiT)模块,我们则运用了数据并行(DP)、完全分片数据并行(FSDP)、环形注意力机制(RingAttention)以及Ulysses混合的并行策略。这些并行策略使得模型能够支持分辨率为720p、时长为5秒的视频切片训练。


在推理阶段,为了在有限内存资源的条件下支持高清视频推理,万相首尾帧模型分别采用了模型切分策略以及序列并行策略。此外,万相首尾帧模型采用了效果无损的步骤间缓存和CFG cache方法,以及在部分层(如qkvo投影层和前馈网络FFN)中使用FP8 GEMM运算,同时实现了FlashAttention3 INT8与FP8混合算子以对注意力机制部分进行8比特量化。在确保推理效果无损的前提下,这些优化措施显著缩短了推理时间。


04

数  据


万相首尾帧模型的训练过程分为三个阶段。第一阶段在训练过程中采用了与基模型相同的数据集,并在480p分辨率下对图生视频、任意位置插帧、视频续写以及首尾帧模型进行了混合训练。该阶段使模型学习到了有效的掩码(mask)机制。第二阶段构建了专门用于首尾帧模式的训练数据,筛选出首帧与尾帧内容差异较大的视频片段。在这一阶段,训练继续在480p分辨率下进行,且仅专注于首尾帧模型的训练。在第三阶段中,采用了高质量的专为首尾帧训练构建的数据集,并且在720p分辨率下进行训练。



05

使用DiffSynth-Studio进行模型推理


魔搭社区的DiffSynth-Studio项目是社区针对AIGC模型生态,提供的全链路的推理和训练优化的开源工具(https://github.com/modelscope/DiffSynth-Studio)。


我们在第一时间也支持了Wan2.1首尾帧模型,开发者可以基于 DiffSynth-Studio 实现方便的推理。


首先,下载并安装 DiffSynth-Studio:

git clone https://github.com/modelscope/DiffSynth-Studio.gitcd DiffSynth-Studiopip install -e .

运行推理代码,模型会自动下载,输入参数可直接在代码中修改:

python examples/wanvideo/wan_14B_flf2v.py

同时DiffSynth-Studio还支持对于模型显存的精准控制。可以让模型推理在显存较小的GPU上也能跑起来。具体而言,在代码中,我们提供了num_persistent_param_in_dit 参数,来控制推理过程中常驻显存的参数量。该数值越大,则常驻参数越多,显存需求越大,同时推理速度也越快。当该参数为None 时,则表示无限制。对于显存较少的 GPU,可以将num_persistent_param_in_dit 从默认的None,修改为较小的数值。


实际推理过程使用的显存需求,会与 num_persistent_param_in_dit、分辨率、帧数有关。


以 81 帧 960 * 960 分辨率的视频为例

  • 设置 num_persistent_param_in_dit=None 时需要46G显存

  • 设置 num_persistent_param_in_dit=4*10**9 时需要24G显存,但推理速度会有所下降


点击阅读原文,直达模型~



??点击关注ModelScope公众号获取
更多技术信息~