FramePack:消费级 GPU 上的 O(1) 视频扩散
社区文章 发布于 2025 年 4 月 17 日
社区文章 • 发布于 2025-04-17
- GitHub https://github.com/lllyasviel/FramePack
- 论文 在视频生成中打包下一帧预测模型的输入帧上下文 (arXiv, 2025)
- 项目页面 / 演示 https://lllyasviel.github.io/frame_pack_gitpage/
- 网站 https://framepack.ai/
目录
引言
FramePack 是一个下一帧(或下一帧片段)预测框架,它将视频扩散的内存成本压缩为常量,与剪辑长度无关。它可以在低至 6 GB 显存的设备上生成数千个 30 帧/秒的视频帧,使“视频扩散”变得像图像扩散一样轻量级。
与自回归视频模型(误差累积)或传统扩散管道(内存爆炸)相比,FramePack 在每个采样步骤之前压缩时空上下文。因此,一个 13 亿参数的变体可以在笔记本电脑上流畅运行,同时仍可在单个 8 × A100/H100 节点上扩展到 batch 64 训练。
技术创新
恒定长度上下文打包
每个过去的帧都使用可变补丁大小进行标记化,因此总的标记计数保持上限。因此,无论视频长度如何,计算都以 O(1) 缩放。FramePack 调度
内置调度允许您决定哪些帧获得更多标记——例如,为了图像到视频的任务而强调第一帧——而不会破坏恒定成本保证。抗漂移与反向抗漂移采样
两种双向采样策略定期将生成重新锚定到第一帧,从而消除长时间漂移。
主要特点
O(1) 上下文打包
- 将任意长度的上下文压缩到固定的标记预算。
- 在单台 8-GPU 服务器上训练 batch 64、13 亿参数的模型。
抗漂移双向采样
- 打破严格的因果关系,重新采样过去的帧,防止数百或数千帧的质量衰减。
笔记本电脑友好型性能
- 6 GB 显存 → 13 亿参数模型以 30 帧/秒生成 60 秒(1800 帧)视频。
- RTX 4090 → 每帧 1.5 秒(TeaCache)或未优化时每帧 2.5 秒。
开源桌面应用程序
- Gradio GUI:上传初始帧 + 提示,实时观看剪辑扩展。
- 支持 PyTorch attention、
xformers
、flash-attn
、Sage-Attention 和方便的 CLI 标志(--share
、--port
等)。
实际应用
领域 | 示例用例 |
---|---|
创意工具 | 在几分钟内将静态角色表转换为循环舞蹈动画。 |
教育与研究 | 在没有大型集群的情况下研究长时程时间一致性。 |
快速原型制作 | 在投入完整 CG 管道之前预览故事板或预可视化镜头。 |
用户生成内容 | 让非专业人士在消费级硬件上制作表情包或插画动画。 |
伦理考量
- 版权与风格 → 确保您拥有(或获得许可使用)输入帧和任何风格参考。
- 深度伪造风险 → 重新锚定到第一帧能很好地保留身份;请务必获得明确同意。
- 披露 → 明确标注 AI 生成的素材并注明任何伪影。
技术规格
方面 | 详情 |
---|---|
模型大小 | 13 亿参数(HY 变体) |
训练批次 | 单台 8 × A100/H100 上为 64 |
最小显存(推理) | 6 GB (RTX 30/40/50; FP16/BF16) |
帧率 | 高达 30 帧/秒 |
采样速度 | 每帧 1.5 – 2.5 秒 (RTX 4090) |
平台 | Linux 和 Windows;Python 3.10;Gradio GUI |
结论
FramePack 弥合了图像扩散和视频扩散之间的鸿沟:恒定成本上下文打包、双向抗漂移采样以及易于使用的桌面 GUI 将 30 帧/秒的长视频生成推向日常硬件。无论您是独立创作者、研究生还是行业研究员,FramePack 都为您提供了数小时连贯 AI 视频的游乐场,而无需面对常见的内存壁垒。
尝试 演示,给 仓库 点赞,并分享您的实验——让我们像 Stable Diffusion 使图像生成普及一样,让长视频生成触手可及。
参考文献
- Zhang L., & Agrawala M. (2025). 在视频生成中打包下一帧预测模型的输入帧上下文。arXiv。
- FramePack GitHub 仓库。 https://github.com/lllyasviel/FramePack
- FramePack 项目页面与演示。 https://lllyasviel.github.io/frame_pack_gitpage/