AI 的影片生成:為什麼一秒要算這麼久

artificial%20intelligence%20concept%2C%20digital%2...
發表時間:2026 年 10 月 28 日 | 更新日期:2026 年 10 月 28 日 | 編輯:雅寶社區編輯團隊
AI 的影片生成:為什麼一秒要算這麼久 - 雅寶社區 · 頂客論壇

時間維度帶來的不只是資料量,而是約束。模型必須確保第 37 格畫面裡的女孩,跟第 12 格畫面裡是同一個人;必須確保背景的窗外光影,隨著時間推移是連續變化而不是隨機跳動;必須確保鏡頭推近時,物體的透視關係合理。這些約束無法靠「每格獨立生成」達成,只能靠模型在計算時讓不同時間點的特徵互相關注。

而「互相關注」這件事,在 Transformer 架構裡就等於注意力矩陣——也就是下一節要說的成本核心。這也解釋了為什麼影片生成模型往往會在訓練與推論時加入額外的時序模組(temporal attention、3D 卷積、時空注意力層),每一層都會再往上疊加成本。

三、算力解剖:一次生成背後的五道關卡

要理解「一秒影片為什麼要算這麼久」,最好的方式是把它拆成流水線上的五道關卡。每一道都有自己的成本特性,而且幾乎都不是能靠「買更好的顯卡」就線性解決的。

關卡一:文字編碼與條件注入

提示詞進入模型後,會先經過文字編碼器(例如 T5、CLIP 或大型語言模型)轉成向量序列,再透過交叉注意力(cross-attention)注入到每一個去噪步驟中。這一步本身的成本不高,但它是「每一步都要做一次」的——也就是說,它的成本會被去噪步數放大幾十次。對於長提示詞、多段描述的場景(例如「鏡頭一:…;鏡頭二:…」),文字序列會變長,交叉注意力的成本也會跟著上升。

關卡二:擴散去噪的 N 次前向傳播

這是整個流程最直觀的成本來源。擴散模型的生成過程,是從一團隨機噪聲開始,一步一步地「去噪」,最終還原出畫面。傳統的 DDPM 採樣可能需要 1000 步,實務上的 DDIM、DPM-Solver 等加速採樣器可以壓到 20 到 50 步,但每一步都是一次完整的神經網路前向傳播。

換句話說,生成一段影片,不是「算一次」,而是「算 30 次、50 次」。而每一次前向傳播,都要處理前面提到的那個四十多萬 token 的巨大張量。這就是為什麼光是步數,就能讓成本乘上一個數量級。

值得強調的是,這個過程在影片模型裡通常還更複雜:許多模型會採用「先低解析度、再逐級放大」的多階段生成,或是「先關鍵影格、再補齊中間影格」的階層式策略。每一階段都是一輪完整的去噪流程,成本要再加總。

關卡三:時空注意力的平方級成本

這是真正的核心。Transformer 中的自注意力機制,需要計算序列中「每一個 token 對每一個 token」的關聯分數。序列長度為 N 時,注意力分數矩陣的大小是 N²。這個平方關係,是影片生成成本爆炸的主因。

回到剛才的例子:四十多萬 token 的序列,注意力矩陣的元素數量是 43.2 萬的平方,大約是 1.87 × 10¹¹。而這還只是一層、一個注意力頭的規模。一個現代影片模型動輒數十層、每層多個注意力頭,每一層都要算一次這個矩陣,每一步去噪又都要重算一遍所有層。

這也是為什麼研究社群這幾年幾乎把所有精力都投入在「如何讓注意力不要那麼貴」:FlashAttention 減少記憶體讀寫、時空分離注意力把 3D 注意力拆成「空間 × 時間」兩步、稀疏注意力只讓鄰近影格互相關注、線性注意力試圖把平方壓成線性。每一項技術,本質上都是在跟這 N² 搏鬥。

關卡四:3D VAE 解碼與像素重建

去噪完成後,模型得到的是潛空間中的時空特徵。要把它變成你看得到的影片,必須經過解碼器——把壓縮的特徵還原成 T × H × W × 3 的像素張量。這一步常被忽略,但它其實相當吃重:解碼器要輸出 120 個影格、每格 1280 × 720 × 3 的資料,也就是超過 3 億個數值。

而且影片的解碼器通常是 3D 卷積或時空注意力結構,計算量遠高於 2D 解碼。實務上,解碼階段往往佔整體生成時間的 10% 到 30%,在高解析度長片段的情境下比例還會更高。

關卡五:上採樣、補幀與後處理

最後還有隱形的成本:如果你的模型在低解析度生成後還要上採樣到 1080p,如果還要補幀把 16fps 補到 30fps,如果還要加入運動模糊、色彩校正、浮水印、安全過濾(內容審查模型本身也是一次推論),這些都會再往上加。很多平台顯示的「生成中」時間,其實包含了這整條後處理流水線。

四、為什麼是「一秒」?影格率、解析度與時間長度的三角習題

理解了上述結構後,就可以回答一個更細的問題:為什麼單單「一秒」的影片,成本會高到這種程度?答案藏在三個彼此糾纏的變數裡。

第一個變數是影格率。「一秒」在 24fps 下是 24 張影格,在 16fps 下是 16 張,在 30fps 下是 30 張。影片生成模型經常用較低的影格率生成(例如 16fps 或 12fps),再靠補幀演算法補到目標影格率。這不是偷懶,而是不得已:影格數直接影響潛在序列長度,而序列長度在注意力機制下是平方級成本。

第二個變數是解析度。解析度對成本的影響比多數人想像得更劇烈。從 720p 到 1080p,像素數大約增加 2.25 倍,token 數也增加 2.25 倍,但注意力成本會增加約 5 倍。這也是為什麼很多模型會先在 480p 或 576p 生成,再用超解析度模型放大——因為在高解析度上直接跑完整去噪,成本會失控。

第三個變數是時間長度。影片長度的增加,不像圖片數量那樣線性。因為模型必須維持整段影片的一致性,越長的影片意味著越長的上下文,注意力矩陣越大,記憶體占用也越誇張。這就是為什麼目前多數商用模型輸出的是 5 秒、8 秒、10 秒的短片段,而不是一次生成一分鐘。

三者交乘的結果,就是一個很現實的結論:「一秒影片」不是一個小單位,而是一個被壓縮、被折衷、被多階段處理之後的產物。你在平台上看到的 5 秒成品,背後可能是好幾輪不同解析度、不同階段的生成所疊加出來的。

五、真正的瓶頸往往不是算力,而是頻寬與記憶體

談到這裡,很多人會直覺地想:那就用更強的 GPU 啊。但實務上,影片生成的速度瓶頸,有很大一部分不在「浮點運算次數」,而在記憶體容量與記憶體頻寬。

首先是容量。前面那個四十多萬 token 的張量,加上注意力矩陣、中間層激活值、KV 快取,在推論時會佔用極大的記憶體。一張高階顯示卡的記憶體往往只有數十 GB,要完整跑一段 720p、5 秒的影片,經常需要把模型切分、把張量分塊、把部分計算卸載到系統記憶體——而一旦資料搬到系統記憶體,速度就會慢上一個數量級。

其次是頻寬。Transformer 的運算密度(arithmetic intensity)其實不高:大量的矩陣乘法需要不斷從記憶體讀取權重與激活值。很多時候 GPU 的運算單元並非滿載,而是在等資料。這也是為什麼 FlashAttention 這類「不改變數學結果、只改變記憶體存取方式」的技術,能帶來數倍的實際加速——它減少的是資料搬移,而不是計算量。

所以當你看到「生成時間很長」,背後可能是三件事的疊加:算不完、放不下、搬不動。而這三者之中,後兩者往往更難靠單純堆硬體解決。

六、數字會說話:不同條件下的實際耗時量級

以下是一個粗略的量級對照,用來建立直覺。實際數字會因模型架構、採樣步數、硬體配置與平台排隊策略而有極大差異,請把它當作「數量級參考」而非精確 benchmark。

情境

解析度

長度 / 影格率

潛在 token 量級

相對成本(概念性)

單張圖片

720p

1 格

約 1.4 萬

1×

短影片

480p

2 秒 / 16fps

約 6 萬

約 10–25×

標準商用片段

720p

5 秒 / 24fps

約 43 萬

約 300–1000×

高規格短片

1080p

10 秒 / 24fps

約 155 萬

數千倍以上

注意最後一欄:從單張圖片到 10 秒 1080p,token 數量只增加了約一百倍,但實際成本會增加數千倍。這個巨大的落差,正是注意力平方項與多階段生成流程共同造成的結果。

也正因如此,平台在定價與排隊策略上通常會做取捨:訂閱制用戶往往被分配較低的優先級,免費生成要排隊,付費生成可以插隊。你等的那五分鐘,有一部分其實不是「算」,而是「等排隊」。

七、加速正在發生:讓「等很久」變成「等一下」

如果故事停在這裡,那就太悲觀了。過去兩年,影片生成的實際延遲其實改善得非常快。主要來自以下幾條技術路線。

少步採樣與模型蒸餾

擴散模型最大的成本是「步數」。於是研究者發展出「蒸餾」技術:讓一個小模型去模仿大模型多步採樣的結果,學會「一步到位」或「四步到位」。這類技術(例如一致性模型、對抗性蒸餾、分佈匹配蒸餾)可以把原本需要 30 到 50 步的流程壓縮到 4 到 8 步,速度提升一個數量級,畫質損失卻往往在可接受範圍內。

這是目前最有效的單一加速手段。你用過的那些「快速模式」或「Turbo 模式」,背後多半就是這種蒸餾模型。

潛空間壓縮與時空 token 稀疏化

另一條路線是「減少要處理的 token 數量」。提高 VAE 的壓縮倍率、在時間維度上做更激進的壓縮、使用階層式生成(先做低解析度全片,再關鍵區塊加密)、或者只對畫面中「有變化的區域」重新計算,都能有效降低序列長度。序列短一半,注意力成本就掉到四分之一,效果非常直接。

快取與快取重用:讓相鄰影格不要重算

影片有一個特性:相鄰影格高度相似。於是有了「特徵快取」與「跨步快取」的想法——把前一個去噪步驟或前一個時間區塊的中間特徵存起來,下一個步驟只計算差異部分。此外,KV 快取(把注意力中的 key、value 向量暫存起來避免重算)也是推論加速的標準做法。

這類技術的巧妙之處在於,它們利用了影片本身的冗餘性,而這種冗餘在單張圖片上是不存在的。

硬體與分散式推論

硬體面也有進展。新一代加速器的記憶體容量與頻寬持續提升,Tensor Core 與專用矩陣運算單元讓注意力計算更有效率;軟體面上,張量平行、序列平行、管線平行等分散式推論技術,讓一段影片的計算可以拆到多張顯卡上同時進行。

不過要注意:分散式推論的通訊成本不低。當模型被切到多張卡上,卡與卡之間的資料交換會成為新瓶頸。這是一場「算得更快」與「傳得更慢」之間的拉鋸戰。

八、使用者能做什麼:在等待中拿到更好的結果

雖然我們無法改變模型架構,但在使用層面,還是有一些能顯著影響等待時間與輸出品質的做法。

第一,控制長度與解析度。如果只是要測試提示詞效果,先用最短長度、最低解析度跑一次,確認構圖與運動方向對了,再放大重跑。這個「先草稿、後定稿」的流程,能省下大量無效等待。

第二,提示詞要具體,但不要過度堆疊。過長的提示詞會拉長文字序列,增加交叉注意力成本,而且常常讓模型無所適從。與其寫三十個形容詞,不如寫清楚「主體、動作、鏡頭、光線」四個要素。

第三,理解「一致性」需要代價。如果你要求角色在各鏡頭間長相一致,模型就得處理更長的上下文,成本自然上升。把複雜需求拆成多段短生成,再用剪輯接起來,往往是更經濟的選擇。

第四,善用固定種子與參考圖。好的模型配合好的初始條件,可以大幅減少「重跑」的次數。很多人抱怨生成慢,其實是因為跑了十次都不滿意——而真正的時間成本,是「無效生成」的總和。

九、結語:那一秒的重量

回到最初的問題:為什麼 AI 生成一秒影片,要算這麼久?

答案可以拆成三層。第一層是資料量:影片是時空張量,不是圖片的堆疊,token 數量本就高出一個量級。第二層是演算法結構:擴散模型需要數十步去噪,而每一步都要對整段時空序列做注意力計算,成本隨序列長度的平方成長。第三層是物理限制:記憶體容量與頻寬構成了看不見的天花板,讓算力無法被完全釋放。

把這三層疊起來,你就得到了那「五分鐘」。它不是工程師偷懶,也不是廠商刻意限速,而是當前技術路線下,一個相當誠實的物理結果。

但同時也要看到另一面:這個數字正在快速下降。蒸餾讓步數少了十倍,快取讓冗餘計算被跳過,硬體與分散式推論讓成本被攤平。幾年前生成一段可用的短影片要等上大半小時,如今已經壓到幾分鐘以內,而「接近即時」的影片生成,已經不再是科幻情節。

下一次當你按下生成鍵,看著進度條緩慢前進時,或許可以換個角度想:那條進度條背後,是幾十萬個 token 在時空中彼此協商,是數十億次乘加運算在數十層網路中流動,是記憶體頻寬被推到極限的一場小型工程。區區一秒的畫面,其實承載了整個世代對算力的極限試探。

而當有一天,這一切都變成「即時」的時候,我們大概又會理所當然地忘記,曾經有一秒,需要等上五分鐘。

```

🏠 返回首頁