一款實用的影片擴散模型,透過幀上下文壓縮實現恆定顯存佔用,僅需6GB顯存即可生成長達60秒的高品質影片
FramePack - 實用化的影片擴散模型
專案概述
FramePack 是一個突破性的下一幀預測神經網路結構,專為實用化的影片生成而設計。該專案由史丹佛大學和麻省理工學院的研究團隊開發,旨在讓影片擴散模型像圖像擴散模型一樣輕量化和易用。
核心特性
1. 恆定顯存佔用 (O(1) 記憶體複雜度)
FramePack 的最大創新在於將輸入幀上下文壓縮到恆定長度,使得生成工作量與影片長度無關。這意味著:
- 僅需 6GB 顯存即可生成 60 秒 (1800 幀, 30fps) 的影片
- 生成 1 秒影片和 1 分鐘影片消耗相同的顯存
- 支援在筆記型電腦 GPU (如 RTX 3060/3070Ti) 上運行 13B 參數模型
- 訓練批次大小可達 64 (單個 8×A100/H100 節點),與圖像擴散訓練相當
2. 幀上下文壓縮技術
FramePack 使用可變分塊大小 (variable patch size) 對每個歷史幀進行標記化,根據幀的重要性分配不同的上下文長度:
- 時間接近度權重:距離當前幀越近的幀獲得更長的上下文
- 特徵相似度權重:與當前內容相關的幀保留更多細節
- 混合度量:結合上述兩種策略優化壓縮效果
範例:在 HunyuanVideo 中,一個 480p 幀使用 (1, 2, 2) 分塊核通常產生 1536 個 tokens。
3. 防漂移技術 (Anti-Drifting)
FramePack 針對自迴歸影片生成中的誤差累積問題,提出了多種防漂移方法:
FramePack-F1 (前向生成版本)
- 單向前向幀預測
- 適用於即時串流媒體場景
- 透過新的防漂移正規化防止錯誤累積
FramePack-P1 (計畫生成版本)
包含兩項核心設計:
a) 計畫式防漂移 (Planned Anti-Drifting)
- 先生成遠端的關鍵幀端點
- 再填充中間段落
- 確保幀不會在計畫端點之間漂移
b) 歷史離散化 (History Discretization)
- 將所有歷史幀轉換為離散化 tokens (對整個資料集應用 K-Means)
- 減少訓練和推論之間的歷史表示差異
- 防止端點本身發生漂移
4. 雙向取樣策略
- 支援從結束幀向開始幀反向生成
- 結合首尾幀錨點的雙向上下文
- 打破因果預測鏈,有效減少觀察偏差
性能表現
生成速度
- RTX 4090 桌上型電腦:
- 未優化:2.5 秒/幀
- 使用 teacache:1.5 秒/幀
- 筆記型電腦 GPU (3070Ti/3060):約 4-8 倍慢於 RTX 4090
- 支援即時視覺回饋 (下一幀預測特性)
顯存要求
- 最低:6GB VRAM
- 推薦:RTX 30XX/40XX/50XX 系列 (支援 fp16 和 bf16)
- 作業系統:Windows 或 Linux
訓練效率
- 在單個 8×A100-80G 節點上可達批次大小 64
- 480p 解析度,13B HunyuanVideo 模型,LoRA 訓練
- 視窗大小 2 或 3 時批次大小 64,視窗大小 4 或 5 時批次大小 32
- 適合個人或實驗室規模的訓練
使用方式
Windows 安裝 (一鍵包)
- 下載一鍵安裝包:
https://github.com/lllyasviel/FramePack/releases/download/windows/framepack_cu126_torch26.7z
解壓縮檔案
運行更新腳本:
update.bat
- 啟動程式:
run.bat
注意:首次運行需要從 HuggingFace 下載超過 30GB 的模型檔案
Linux 安裝
要求 Python 3.10 環境:
# 安裝 PyTorch
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126
# 安裝依賴
pip install -r requirements.txt
# 啟動 GUI
python demo_gradio.py
支援的命令列參數:
--share:啟用公共連結共享--port:指定埠號--server:指定伺服器位址
可選加速元件
專案支援多種注意力機制優化:
- PyTorch attention (預設)
- xformers
- flash-attn
- sage-attention
安裝 sage-attention 範例 (Linux):
pip install sageattention==1.0.6
使用介面
基礎工作流程
- 左側面板:上傳初始圖像並編寫提示詞
- 右側面板:查看生成的影片和潛在空間預覽
- 進度顯示:即時顯示每個片段的進度條和下一片段的潛在預覽
影片生成機制
由於採用下一幀段預測模型,影片會逐段生成:
- 初始可能只看到 1 秒的短影片
- 繼續等待,更多片段會陸續生成
- 最終完成完整長度的影片
推薦工作流程
快速原型:
- 開啟 teacache 加速
- 快速測試想法和提示詞
最終輸出:
- 關閉 teacache
- 使用完整擴散過程獲得高品質結果
注意:teacache、sage-attention、bnb 量化、gguf 等優化方法會影響結果品質,建議僅在快速迭代時使用。
提示詞編寫技巧
推薦格式
簡潔的動作導向提示詞效果最佳:
主體 + 動作描述 + 其他細節
範例:
- "The girl dances gracefully, with clear movements, full of charm." (女孩優雅地跳舞,動作清晰,充滿魅力。)
- "The man dances powerfully, with clear movements, full of energy." (男人有力地跳舞,動作清晰,充滿活力。)
- "The woman spins elegantly among cherry blossoms, with flowing sleeves." (女人在櫻花中優雅地旋轉,衣袖飄逸。)
ChatGPT 提示詞生成模板
可以使用以下模板讓 ChatGPT 輔助生成提示詞:
You are an assistant that writes short, motion-focused prompts for animating images.
When the user sends an image, respond with a single, concise prompt describing visual motion
(such as human activity, moving objects, or camera movements). Focus only on how the scene
could come alive and become dynamic using brief phrases.
Larger and more dynamic motions (like dancing, jumping, running, etc.) are preferred over
smaller or more subtle ones (like standing still, sitting, etc.).
Describe subject, then motion, then other things.
For example: "The girl dances gracefully, with clear movements, full of charm."
If there is something that can dance (like a man, girl, robot, etc.), then prefer to
describe it as dancing.
Stay in a loop: one image in, one motion prompt out. Do not explain, ask questions,
or generate multiple options.
版本歷史
2025 年 7 月 14 日
- 上傳 FramePack-P1 的純文字轉影片防漂移壓力測試結果
- 使用常見提示詞,無需參考圖像
2025 年 6 月 26 日
- 發布 FramePack-P1 結果展示
- 引入計畫式防漂移和歷史離散化設計
2025 年 5 月 3 日
- 發布 FramePack-F1 前向生成版本
- 提供更大動態範圍和更少約束的單向預測
技術架構
基礎模型
FramePack 可以與現有影片擴散模型結合使用:
- HunyuanVideo:主要測試平台 (改進版)
- Wan 2.1:官方 Wan 模型支援
模型改進 (HunyuanVideo 版本)
- 添加 SigLip-Vision 模型 (google/siglip-so400m-patch14-384) 作為視覺編碼器
- 移除對騰訊內部 MLLM 的依賴
- 凍結 LLama3.1 作為純文字模型
- 在高品質資料上繼續訓練
架構相容性
- 支援文字轉影片 (Text-to-Video) 和圖像轉影片 (Image-to-Video)
- 無需架構修改即可自然支援兩種模式
- 可對現有預訓練影片擴散模型進行微調
應用場景
1. 圖像轉影片 (Image-to-Video)
將靜態圖像轉換為動態影片,支援詳細的動作描述
2. 長影片生成
- 生成長達 60 秒的連貫影片
- 支援數千幀的處理能力
- 保持時空一致性
3. 提示詞旅行 (Prompt Travelling)
特別適合 F1 版本,支援在影片生成過程中漸變提示詞
4. 即時串流媒體
F1 版本支援串流生成,適合即時應用場景
社區資源
ComfyUI 整合
- ComfyUI-FramePackWrapper:https://github.com/kijai/ComfyUI-FramePackWrapper
- ComfyUI_RH_FramePack:https://github.com/HM-RunningHub/ComfyUI_RH_FramePack
線上使用
- RunningHub 平台提供免費線上使用
- 包含預配置的工作流程
重要提示
官方網站聲明
唯一官方網站:https://github.com/lllyasviel/FramePack
以下域名均為假冒和垃圾網站,請勿訪問或支付:
- framepack.co, frame_pack.co
- framepack.net, frame_pack.net
- framepack.ai, frame_pack.ai
- framepack.pro, frame_pack.pro
- framepack.cc, frame_pack.cc
- framepackai.co 及其他所有變體
硬體敏感性
下一幀段預測模型對雜訊和硬體的細微差異非常敏感:
- 不同設備可能產生略微不同的結果
- 總體視覺效果應保持相似
- 某些情況下可獲得完全相同的結果
性能優化建議
如果生成速度明顯慢於參考速度:
- 檢查是否正確安裝了 CUDA 和 PyTorch
- 確認 GPU 驅動為最新版本
- 關閉不必要的後台程式
- 參考 Issue #151 的故障排除指南
引用資訊
如果您在研究中使用 FramePack,請引用以下論文:
@inproceedings{zhang2025framepack,
title={Frame Context Packing and Drift Prevention in Next-Frame-Prediction Video Diffusion Models},
author={Lvmin Zhang and Shengqu Cai and Muyang Li and Gordon Wetzstein and Maneesh Agrawala},
booktitle={The Thirty-ninth Annual Conference on Neural Information Processing Systems},
year={2025},
}
@article{zhang2025framepackv1,
title={Packing Input Frame Contexts in Next-Frame Prediction Models for Video Generation},
author={Lvmin Zhang and Maneesh Agrawala},
journal={Arxiv},
year={2025}
}
專案意義
FramePack 透過創新的幀上下文壓縮和防漂移技術,成功將影片擴散的記憶體成本降低到恆定水平,讓長影片生成在消費級硬體上成為可能。這一突破使得:
- 個人創作者可以在筆記型電腦上生成高品質長影片
- 研究人員可以在實驗室規模的設備上進行影片模型訓練
- 開發者可以更容易地整合影片生成能力到應用中
FramePack 讓影片生成真正變得實用化,就像 Stable Diffusion 讓圖像生成變得觸手可及一樣。