本文由 资源共享网 – ziyuan 发布,转载请注明出处,如有问题请联系我们!视频生成模型Self Forcing
Self Forcing 是 Adobe Research 与德克萨斯大学奥斯汀分校联合推出的新型自回归视频生成算法,解决传统生成模型在训练与测试时的暴露偏差问题。通过在训练阶段模拟自生成过程,以先前生成的帧为条件生成后续帧,而非依赖真实帧,弥合训练与测试分布的差异。Self Forcing 引入滚动 KV 缓存机制,支持理论上无限长的视频生成,在单个 H100 GPU 上实现 17 FPS 的实时生成能力,延迟低于一秒。突破为直播、游戏和实时交互应用提供了新的可能性,例如实时生成虚拟背景或特效。Self Forcing 的高效性和低延迟成为未来多模态内容创作的重要工具。
主要功能
高效实时视频生成:Self Forcing 能在单个 GPU 上实现高效的实时视频生成,帧率达到 17 FPS,延迟低于一秒。
无限长视频生成:通过滚动 KV 缓存机制,Self Forcing 支持理论上无限长的视频生成。可以持续生成视频内容,不会因长度限制而中断,为动态视频创作提供了强大的支持。
弥合训练与测试差距:Self Forcing 在训练阶段模拟自生成过程,以生成的帧为条件生成后续帧,而非依赖真实帧。有效解决了自回归生成中的暴露偏差问题,弥合了训练与测试阶段的分布差异,提高了生成视频的质量和稳定性。
低资源需求
:Self Forcing 优化了计算资源的使用,能在单张 RTX 4090 显卡上实现流式视频生成,降低了对硬件资源的依赖,更易于在普通设备上部署和使用。
支持多模态内容创作:Self Forcing 的高效性和实时性使其能够为多模态内容创作提供支持,例如在游戏直播中实时生成背景或特效,或者在虚拟现实体验中动态生成视觉内容,为创作者提供了更广阔的应用空间。
原理
自回归展开与整体损失监督:Self Forcing 在训练阶段模拟了推理时的自回归生成过程,即每一帧的生成都基于模型自身之前生成的帧,而非真实帧。通过视频级别的整体分布匹配损失函数对整个生成序列进行监督,不仅是逐帧评估。模型能直接从自身预测的错误中学习,有效减轻暴露偏差。
滚动 KV 缓存机制:为了支持长视频生成,Self Forcing 引入了滚动键值(KV)缓存机制。该机制维护一个固定大小的缓存区,存储最近几帧的 KV 嵌入。当生成新帧时,缓存区会移除最旧的条目并添加新的嵌入。
少步扩散模型与梯度截断策略:为了提高训练效率,Self Forcing 采用了少步扩散模型,结合随机梯度截断策略。具体来说,模型在训练时随机选择去噪步骤的数量,并仅对最终去噪步骤执行反向传播。
动态条件生成机制:在生成每一帧时,Self Forcing 动态结合两类条件输入:过去时间步已生成的清晰帧和当前时间步的噪声帧。通过迭代去噪完成生成,确保了生成过程的连贯性和自然性。
场景
直播与实时视频流:Self Forcing 能在单个 GPU 上实现 17 FPS 的实时视频生成,延迟低于一秒。适合用于直播场景,例如在直播中实时生成虚拟背景、特效或动态场景,为观众带来全新的视觉体验。
游戏开发:在游戏开发中,Self Forcing 可以实时生成游戏场景和特效,无需预先制作大量的视频资源。根据玩家的实时操作生成动态的环境变化或特效,增强游戏的沉浸感和交互性。
虚拟现实与增强现实:Self Forcing 的低延迟和高效生成能力能为虚拟现实(VR)和增强现实(AR)应用提供实时的视觉内容。在 VR 体验中实时生成逼真的虚拟场景,或在 AR 应用中实时叠加虚拟元素。
内容创作与视频编辑:Self Forcing 可以用于短视频创作工具,帮助创作者快速生成高质量的视频内容。
世界模拟与训练:Self Forcing 可以用于世界模拟和训练场景,例如生成逼真的自然环境或城市景观,用于军事训练、城市规划或环境模拟。
用法:
一、安装环境
conda create -n self_forcing python=3.10 -y
conda activate self_forcing
pip install -r requirements.txt
pip install flash-attn --no-build-isolation
python setup.py develop
二、下载模型
huggingface-cli download Wan-AI/Wan2.1-T2V-1.3B --local-dir-use-symlinks False --local-dir wan_models/Wan2.1-T2V-1.3B
huggingface-cli download gdhe17/Self-Forcing checkpoints/self_forcing_dmd.pt --local-dir .
三、运行
python demo.py

