今天要來跟大家介紹一下,如何在 FramePack 中安裝 Sage Attention,來加速影片生成的速度,大幅減少超過 30% 的影片生成時間!
前幾天我有介紹了 Lvmin Zhang 大神所開源的影片生成專案 FramePack。它生成的速度雖然以影片生成來說還算是不錯了,但對於大多數人的電腦來講,等待的時間還是長得有點煎熬。
而在我 YouTube 影片的下方,有一位位 Joe 大大的提醒了我說,FramePack 要安裝 Sage Attention 才能加速生成的速度。於是我才發現,在 FramePack 專案中提供的整合包裡,並沒有像 Flash Attention、Sage Attention 這類可以加速 AI 生成的函式庫。而 Sage Attention 在 Windows 上安裝時又很容易遇到問題。
所以今天我們就來跟大家介紹一下如何安裝,並且測試一下它在安裝後,能夠提升多少的影片生成速度。
提醒: Sage Attention 理論上會稍微降低輸出的畫面品質,但沒有像 TeaCache 這麼誇張,個人感覺 Sage Attention 的影響幾乎可以忽略,不管是開 TeaCache 或不開 TeaCache,幾乎都和不裝 Sage Attention 時的品質一樣。我們可以跟 TeaCache 混用,或是關閉 TeaCache,來在只降低一點生成品質的情況下提高生成速度。
方法一:一鍵安裝包 (推薦新手)
首先,這邊先提供給大家一個簡單的安裝版本。在 FramePack 的 Issue 裡,這位 FlowDownTheRiver 大大有製作了一個可以一鍵安裝的安裝包。我有下載下來看過了,裡面的東西基本上沒有問題,可以放心使用。
操作步驟:
-
下載壓縮檔: 從下方資訊欄提供的連結下載壓縮檔。
-
解壓縮: 將下載下來的壓縮檔解壓縮放到 FramePack 整合包的根目錄。
-
執行安裝: 執行
package_installer.bat
(舊版一鍵安裝包是這個名稱) 或package_installer_triton_fixed.bat
檔案。 -
開始安裝: 在彈出來的命令提示字元視窗裡,隨便按個 Enter,它就會開始安裝了。
-
運行 FramePack: 安裝完成後,直接運行
run.bat
。稍等一下,如果安裝成功的話,就會看到啟動訊息中有寫著xformer, FlashAttention, SageAttention
已經安裝。- (這個一鍵安裝包會把三個都裝好,但根據我的測試,速度跟只安裝 SageAttention 幾乎一樣,推測 FramePack 如果都有裝的話會優先只調用 Sage Attention)
接下來的操作方法就不變,你可以輸入圖片、提示詞、調整影片時長等,最後按下生成,就可以體會到生成加速的效果了!
方法二:標準手動安裝 (了解原理)
接下來跟大家介紹比較標準的安裝操作,順便講一下剛剛那一個一鍵安裝包的原理。不想聽技術細節的觀眾可以直接跳到下一段看實測效果。
安裝 Sage Attention 的主要難點在於其依賴的 Triton 函式庫。Triton 官方主要支援 Linux,要在 Windows 系統上安裝 Triton,需要使用由熱心開發者維護的 Triton Windows 版本。
安裝步驟:
步驟 1: 安裝 Triton Windows
- 開啟命令提示字元: 在 FramePack 的資料夾裡,找到
system/python
這個資料夾,在此處打開命令提示字元 (CMD) 或 PowerShell。 (可以在檔案總管的路徑列輸入cmd
並按 Enter) - 執行安裝指令: 輸入以下指令並執行,來安裝特定版本的 Triton Windows (版本需匹配):
(請注意,版本號可能需要根據 FramePack 或 Sage Attention 的更新調整,但此版本是撰文當下確認可行的)
1
python -m pip install triton-windows==3.2.0.post13
步驟 2: 複製 Python 3.10.6 依賴檔案
安裝完 Triton 還沒結束,直接使用可能會遇到問題。我們還需要將 Python 3.10.6 版本的 libs
和 include
這兩個資料夾,複製到 FramePack 所使用的 Python 環境裡面 (也就是 system/python
資料夾內)。
如何找到或取得這兩個資料夾?
-
確認 FramePack 的 Python 版本: 在剛剛的命令提示字元中輸入
python --version
,確認是否為3.10.6
。1
python --version
-
尋找 Python 安裝路徑: 輸入
pip show pip
可以快速得知 Python 的安裝路徑。1
pip show pip
複製
Location:
後顯示的路徑,去掉最後的Lib\site-packages
,就能找到 Python 的主安裝目錄。例如,如果顯示c:\users\yourname\appdata\local\programs\python\python310\lib\site-packages
,那麼主目錄就在c:\users\yourname\appdata\local\programs\python\python310\
。 -
複製資料夾: 進入 Python 3.10.6 的主安裝目錄,找到
libs
和include
這兩個資料夾,將它們複製到 FramePack 的system/python
資料夾下。 -
沒有安裝 Python 3.10.6?
- 你可以選擇到 Python 官網 下載並安裝 Python 3.10.6,然後再去複製資料夾。
- 或者,如果你信任我,我這邊會放上這兩個資料夾的壓縮檔,提供給大家下載解壓縮使用:
Python 3106 libs+include.zip
步驟 3: 安裝 Sage Attention (使用 .whl 檔案)
由於 Sage Attention 直接在 Windows 上透過 pip 安裝也比較困難,我們這邊直接安裝已經編譯好的 .whl
檔案。
|
|
等到它安裝完成,就可以回到 FramePack 的根目錄,點開 run.bat
開始使用加速後的專案了!
實測加速效果比較
接下來我們就來簡單看一下,經過 Sage Attention 加速過後,和原本的速度相差多少。
測試硬體規格:
- CPU: Intel i5-14400F
- GPU: NVIDIA GeForce RTX 4070 Super
- RAM: 32GB(DDR5 16GB 5600 x 2)
情況一:開啟 TeaCache
- 原始 (無 Sage Attention):
- 每步約需 6 - 12 秒 (TeaCache 有時會連噴幾步)
- 生成 5 秒影片約需 16 分鐘 (平均每秒影片約 3 分鐘)
- 加速後 (有 Sage Attention):
- 每步約需 4 秒
- 生成 5 秒影片縮短為 12 分鐘
- 細看 Log,除了第一輪因 Text Encoding 耗時較長 (約 4 分鐘),後續每輪 (生成約 1.2 秒影片) 約 2 分 13 秒。相當於 不到 2 分鐘就能生成 1 秒 的影片!
- 效率提升約 25% (1 - 12/16)
情況二:關閉 TeaCache
- 原始 (無 Sage Attention):
- 每步約需 10 秒 以上
- 生成 5 秒影片約需 30 分鐘 (平均每秒影片約 6 分鐘)
- 加速後 (有 Sage Attention):
- 每步約需 10 秒 左右 (與原始不開 TeaCache 差異不大,但總體更快)
- 生成 5 秒影片縮短為 18 分鐘 (平均每秒影片約 3.6 分鐘)
- 效率提升約 40% (1 - 18/30)
小結: 無論是否開啟 TeaCache,安裝 Sage Attention 後都能帶來顯著的速度提升,大約 節省了 1/3 左右的時間。
結論
雖然說理論上 Sage Attention 也會降低一些生成的品質,但根據我的觀察,它的影響相對比較小,幾乎和原生的品質一樣,無論有沒有開 TeaCache。
然而速度提升卻相當明顯。在安裝了 Sage Attention 後,不使用 TeaCache 的生成速度,和原本使用 TeaCache 的速度差距縮小,讓我們可以在需要較好的生成品質時,即便關閉 TeaCache 也不會等到天荒地老。
如果你有在使用 FramePack 生成影片,強烈建議試試看安裝 Sage Attention,使用體驗會大幅提升!