下一帧预测模型中的输入帧上下文打包用于视频生成
Hacker News 摘要原标题:Packing Input Frame Context in Next-Frame Prediction Models for Video Generation
本网页介绍了一种名为FramePack的下一帧预测模型,用于视频生成。该模型由斯坦福大学的Lvmin Zhang和Maneesh Agrawala开发。FramePack旨在以高效的方式处理输入帧的上下文,以生成新的视频帧。
主要内容:
核心技术
• FramePack能够在仅使用6GB的笔记本GPU内存的情况下,以30帧每秒(fps)的速度扩展数千帧,使用的是13B模型。
• 在单个8xA100/H100节点上,能够以64的批处理大小微调13B视频模型,适用于个人或实验室项目。
• 使用个人的RTX 4090显卡,未优化情况下每帧生成速度为2.5秒,而使用teacache时会降至1.5秒。
• FramePack支持视频扩散,但操作感觉类似于图像扩散。
理解FramePack的机制
FramePack的下一帧预测模型依赖于多个输入帧来扩散新帧,其基本思想是将输入帧编码为GPU可以处理的布局。通过不同的补丁内核(patchifying kernel)来改变每帧的上下文长度。比如,480p的帧在使用(1, 2, 2)的内核时,可能产生1536个标记(tokens),而如果使用(2, 4, 4)的内核,则仅为192个标记。更靠近“下一帧预测”目标的帧会被分配更多的GPU资源。
调度机制
FramePack允许不同的帧重要性设置,比如想要不同的压缩率或处理图像到视频时,某些帧需要更高的重要性设置。所有这些调度均达到O(1)的计算复杂度。文中提到有详细的调度评估,可以参考相关论文获取更多信息。
反漂移采样
“漂移”是下一帧预测模型中常见的问题,指的是随着视频时长延长,质量下降的现象。可能被称为错误累积或曝光偏差。通常情况下,重复使用最后生成的帧来生成长视频时,视频的质量会在第5或6帧后迅速下降。为根本解决漂移问题,FramePack采用了双向采样的方法,包括“反漂移采样”和“反向反漂移采样”,后者在所有推理中将第一帧视为近似目标,特别适用于图像到视频的生成。
生成实例
• 使用RTX 3060 6GB笔记本,FramePack能生成30fps的视频,从图像到5秒或60秒的长视频,均采用了特定的压缩设置以适应GitHub的存储要求。
这一切的研究与实验细节均在论文中展开,读者可通过论文链接获取更多信息。此外,感谢DSINE提供的网站模板,大部分输入图像来自Midjourney。