你有沒有想過這樣一件事:一個AI要在你按下"W"鍵的一瞬間,實時生成出你的角色向前走一步的畫面,而且不能卡頓,不能延遲,還得看起來像真的遊戲畫面。
這聽起來好像沒什麼了不起的。但如果我告訴你,市面上大多數能做到"實時"的AI影片生成模型,代價是要麼畫面模糊得像蒙了一層霧,要麼你按了向左轉,畫面卻詭異地往右偏,你可能就會開始理解這件事到底有多難了。
這就是ForgeWM要解決的問題。它來自CUHK、騰訊PCG、復旦大學、上海AI Lab等機構的聯合團隊,目標是造一個能在Minecraft和第一人稱射擊遊戲裡,用鍵盤滑鼠或控制器實時操控的影片生成模型,而且只需要一步到四步的去噪計算,就能吐出流暢、可控、清晰的畫面。
這件事到底難在哪
先說說背景。
現在生成影片靠的是一種叫擴散模型的技術。
**擴散模型:一種通過反覆"去噪"把隨機噪聲一步步還原成清晰圖像或影片的生成模型,通常需要幾十甚至上百步計算才能得到一張乾淨的畫面。**
問題就在這個"幾十甚至上百步"上。如果每生成一幀畫面都要算幾十次,那你按下按鍵到畫面反應過來,中間可能隔了幾百毫秒,這在遊戲裡是完全不能接受的延遲。所以研究者們想辦法把這個步數壓縮到一步、兩步、四步,這種技術叫因果蒸餾。
**因果蒸餾:把一個原本需要看到未來畫面才能生成當前幀的"雙向"模型,改造成一個只能看過去、不能看未來的"單向"模型,同時把生成步數從幾十步壓縮到幾步的訓練方法。**
單看這個技術本身,其實已經有不少團隊做出了不錯的成果,像是Self-Forcing、Causal Forcing這些工作,都在探索怎麼把影片生成做得又快又好。
但ForgeWM團隊盯上了一個所有人都沒太當回事的細節:遊戲操作和普通的攝像機運鏡完全不是一回事。
想想看,如果你在拍電影,導演可以提前設計好攝像機怎麼移動,這個軌跡是連續、平滑、可預測的。但遊戲裡的操作是什麼樣的?你可能手指按住"W"往前沖,同時滑鼠猛地一甩轉身開槍,下一秒又突然鬆開所有鍵站定不動。鍵盤狀態是離散的(按或不按),滑鼠移動是連續的(轉多少度),這兩種信號必須和影片畫面嚴格對齊,每一幀、每一個時間片段都不能錯位。
如果只用攝像機軌跡去近似這些操作,會發生什麼?會發生操作和畫面對不上的問題——你按了跳躍,畫面里角色卻在往前跑。這在一個探索性影片裡可能無傷大雅,但在一個號稱"交互式"的世界模型里,這就是根本性的失敗。
所以ForgeWM的核心挑戰,其實不是"怎麼把擴散模型壓縮到一步",而是"怎麼在壓縮的同時,讓鍵盤和滑鼠的信號始終精確對應到它該對應的那一小段影片裡"。這個信號對齊問題,在生成過程從看"真實歷史"切換到看"自己生成的歷史"時,會被進一步放大。
這就好比你在訓練一個新司機。教練車上有個虛擬方向盤讓學員練習,路況是提前錄好的,學員的每一個轉向指令都精確對應一段固定的路況畫面。這時候學得很順。但真正上路那天,路況是學員自己開出來的,前一秒的失誤會變成下一秒的既定事實,學員必須在自己製造的、可能已經跑偏的路況基礎上繼續開下去。如果教練車訓練時用的路況和真實上路的路況分布完全不同,學員上路後大概率會越開越偏。這正是ForgeWM要解決的"訓練看到的歷史"和"部署時面對的歷史"之間的鴻溝。
四階段怎麼把一個模型改造成能實時對話的世界模型
ForgeWM的做法是設計了一套四階段訓練流程,一步步把一個原本"看得見未來"的雙向影片生成器,改造成一個只能看過去、只需幾步計算就能跑起來的因果模型。
先說這個底子。ForgeWM是在Matrix-Game 2.0這個開源模型基礎上改造的,它本身是一個圖生影片模型,能接收第一幀圖像加上鍵盤滑鼠信號,生成後續影片。ForgeWM保留了它的動作模組設計:離散的鍵盤狀態通過交叉注意力機制注入,連續的滑鼠移動則和視覺特徵直接融合處理,兩條通路互不干擾。
**交叉注意力:一種讓模型在處理某個資訊時,去參考另一路完全不同資訊的機制,這裡是讓視覺畫面的生成過程去"查閱"當前該按了哪些鍵。**
這個設計選擇本身就值得說說。為什麼不乾脆把滑鼠移動也編碼成攝像機軌跡,用統一的方式處理?因為遊戲操作有它自己的語義,滑鼠轉90度和攝像機繞著一個點轉90度,物理上看起來一樣,但在遊戲體驗上,前者是"你甩了一下手腕",後者可能對應完全不同的意圖。保留這種原生控制接口,是為了讓模型學到的是"操作和反應"之間的因果關係,而不是把它簡化成純幾何變換後丟掉的資訊。
好,接下來看四個階段具體怎麼走。
**第零階段:域適應。**
這一步很直接,就是把預訓練好的圖生影片模型,用Minecraft的遊戲錄像繼續訓練一遍,讓它熟悉這個新的遊戲世界長什麼樣。這時候用的還是雙向注意力,也就是說模型在生成某一幀時,可以同時參考前面和後面的畫面資訊,這樣能學得更准更全面。這個階段訓練出來的模型,後面會被凍結下來,充當整個流程里的真實分布的參照標準。
**第一階段:教師強制的因果訓練。**
這一步開始動真格的,把雙向注意力換成了因果注意力,也就是每一幀畫面只能看到它自己所在的這一小段(論文裡叫作"latent chunk",一個chunk壓縮了12幀原始影片),以及更早的chunk,絕對不能偷看未來。
**latent chunk:把連續幾幀影片壓縮打包成的一個處理單元,ForgeWM里每個chunk對應12幀原始影片畫面。**
這裡的"教師強制"是什麼意思?就是訓練時餵給模型的歷史畫面都是真實、乾淨的數據,不是模型自己生成出來的。這樣做的好處是訓練穩定,模型能專心學會"因果執行模式"這件事本身,而不用同時應付自己生成出來的、可能帶瑕疵的歷史畫面。
這個設計選擇有點像新手學做菜時先照著菜譜一步步來,食材都是新鮮的、切好的,你只需要專注學會"炒"這個動作本身。如果一上來就讓你自己切菜、自己配菜,還要同時學炒菜的火候,大概率什麼都學不好。教師強制訓練就是把"因果執行方式"這一件事先單獨拎出來學紮實。
**第二階段:因果一致性蒸餾,用來初始化少步數模型。**
這一步是整個流程里技術含量最密集的部分。目標是把原本需要走幾十步去噪的模型,壓縮成幾步就能生成清晰畫面的模型。
具體做法是這樣的:準備一個48級的噪聲梯度網格,每次訓練隨機挑一對相鄰的噪聲級別。有一個凍結不動的教師模型,先從較高噪聲那一級往較低噪聲那一級走一步(用一種叫歐拉步的數值方法),學生模型則要學會直接從高噪聲級別一步跳到教師走過之後的那個乾淨結果,而不需要真的一步步走。
**歐拉步:一種數值計算里常用的、沿著某個方向前進一小步來逼近目標的近似方法,這裡指教師模型按照擴散過程的"速度"預測往目標方向挪動一步。**
這樣訓練出來的學生模型,學會了"跳步"的本事,為後面變成一步或兩步生成打下底子。這個階段依然使用乾淨的歷史畫面,這一點保持了和第一階段一樣的訓練條件,這也是為什麼教師模型的一步跳躍可以在單次前向計算里完成,不需要真的展開一整段自回歸生成過程。
**第三階段:在策略分布匹配,讓模型適應自己製造的歷史。**
這是壓軸的一步,也是解決前面提到的"訓練歷史和部署歷史不一致"這個根本矛盾的關鍵所在。
這一步讓學生模型真正開始自回歸自我推演,也就是讓它自己生成一段影片,然後用自己剛生成出來的、可能帶瑕疵的畫面作為後續生成的歷史依據,而不再是乾淨的真實數據。同時,凍結在第零階段的那個雙向域適應模型,充當"真實分布"的裁判,和一個可訓練的"偽造"裁判模型一起,給學生模型的輸出評分,引導它朝著更接近真實分布的方向調整。
這個設計的巧妙之處在於,它終於讓模型直面了它在實際部署時會遇到的真實處境:自己生成的、不完美的歷史。前面三個階段不管教得多細緻,如果學生模型從沒在訓練里見過"糟糕的歷史",它上線之後第一次遇到自己生成的瑕疵畫面,大概率會不知所措,錯誤會像滾雪球一樣越滾越大。
這就好比一個學生做數學題,前面幾百道題老師都給標準答案讓你核對著做下一步,你做得很順。可考試的時候,前一道題你自己算錯了,後面所有題目都得基於這個錯誤答案繼續往下算。如果平時訓練從來沒經歷過"基於自己的錯誤繼續做題"這種情況,考場上一步走錯,後面全盤皆輸。第三階段就是刻意讓模型提前經歷這種"基於自己的不完美繼續往下走"的場景,這樣它上線之後才不會一遇到自己的小瑕疵就徹底崩潰。
最終,ForgeWM訓練出三個不同預算的學生模型,分別對應穩定狀態下一步、兩步、四步的去噪計算量。這裡有個細節:一步和兩步模型的第一個生成chunk,實際上偷偷用了四步計算,後面才切換到各自的目標步數,這是借鑑了另一項研究提出的"首幀增強"策略,目的是保證影片一開始的畫質不掉鏈子。
部署時怎麼用:實時互動和事後補救兩條路
模型訓練好了,怎麼用是另一回事。ForgeWM設計了一套雙路徑部署方案。
在線互動的時候,用的是匹配目標延遲預算的那個學生模型(一步、兩步或四步),追求的是絕對的低延遲響應。
但這裡有個現象值得琢磨。研究團隊專門做了個實驗,把一步模型凍結住,只改變它推理時的去噪步數(比如強行讓它跑8步、16步、32步),看看效果會怎麼變化。結果發現,畫質在兩步左右達到峰值,之後就趨於平穩,不再有明顯提升,反而是延遲和計算成本線性往上漲。這說明多花的計算量,大部分被用來增強畫面的運動幅度,而不是提升方向控制的準確性。
這個發現直接催生了一個新想法:既然事後加更多計算主要是能改善畫質,那能不能不重新生成一段全新的影片,而是拿已經生成、玩家已經體驗過的那段影片,做一次"精修"?
這就是Replay-Time Refinement,回放時刷新。
**Replay-Time Refinement:在玩家完成一局互動之後,把當時保存下來的生成草稿重新加一點噪聲,再用同一個模型多走幾步去噪,從而在不改變原本畫面構圖和視角的前提下提升細節質量的技術。**
這個思路的精妙之處在於,它沒有另外訓練一個專門的"精修模型",用的就是原來那個一步模型,只是多給它一點計算預算,重新走一遍去噪流程。而且它是從玩家已經看過的那個草稿出發,加一點可控的噪聲,再去噪回來,而不是從純隨機噪聲重新生成一遍。
這中間的區別其實很關鍵。想像你打遊戲錄了一段回放,如果直接用高畫質設置重新跑一遍這段遊戲,雖然畫面會更精緻,但因為隨機性,你的角色可能走了完全不同的路線,遇到了不同的怪物,這個"回放"其實已經不是你當時經歷的那一局了。而Replay-Time Refinement做的是保留你當時真實走過的路線和視角,只是把畫面細節擦亮一點,這才是真正意義上的"回放",而不是"重新演一遍"。
實驗數據也印證了這個直覺。用LPIPS這個感知相似度指標(數值越低表示兩張圖越像)來衡量,如果直接用四步模型從頭生成一遍新影片,得到的LPIPS是0.6168,而回放刷新方案是0.6155,畫質水平幾乎一樣。但如果用另一個指標Ddraft,專門衡量"生成結果和當時保存的草稿有多像",直接重新生成的偏離度是0.6187,而回放刷新只有0.1970,差了整整三倍多。
**LPIPS:一種用深度神經網路提取的特徵來衡量兩張圖片"感知上"相似程度的指標,數值越低說明兩張圖看起來越接近。**
也就是說,回放刷新用幾乎一樣的計算代價,拿到了和四步模型相當的畫質,同時把原本的遊戲體驗完整地保留了下來,不會因為重新生成而"改寫歷史"。
數據說話:ForgeWM在Minecraft里表現如何
光講原理不夠,得看實際評分。
研究團隊拿ForgeWM和另外兩個交互式世界模型做了對比:Matrix-Game 2.0(ForgeWM改造的原始底座)和HY-WorldPlay。三個模型都用同樣的初始畫面和操作軌跡進行1000條配對軌跡的測試。
| 模型 | 畫質(IQ)↑ | 參考相似度(LPIPS)↓ | 動作準確率(KCtrl)↑ | 滑鼠準確率↑ | 延遲(ms)↓ | 幀率(FPS)↑ |
|---|---|---|---|---|---|---|
| Matrix-Game 2.0 | 0.6282 | 0.6443 | 0.9156 | 0.7061 | 370.9 | 32.35 |
| HY-WorldPlay | 0.6133 | 0.6172 | 0.9286 | 0.5818 | 2164.3 | 7.54 |
| ForgeWM-1(一步) | 0.6776 | 0.6529 | 0.9545 | 0.7848 | **168.2** | **72.10** |
| ForgeWM-2(兩步) | **0.6865** | **0.6171** | **0.9740** | **0.8268** | 239.7 | 50.31 |
| ForgeWM-4(四步) | 0.6788 | 0.6168 | **0.9740** | 0.8102 | 369.6 | 32.47 |
從這張表能看出幾個明顯的趨勢。
ForgeWM系列在七項質量和控制指標里拿下了六項最優,而一步版本ForgeWM-1的推理速度達到72幀每秒,是所有對比模型里最快的,延遲也壓到了168毫秒,只有Matrix-Game 2.0的一半不到,更是甩開HY-WorldPlay十幾倍。
值得多說一句的是KCtrl這個指標,它測的是給模型一對完全相反的操作指令(比如向左轉和向右轉),看模型生成的畫面是不是真的朝相反方向運動了。ForgeWM-2和ForgeWM-4在這項上並列第一,達到0.9740,說明它對操作方向的響應是穩定可靠的,不會出現你往左轉它卻往右偏這種尷尬情況。
研究團隊還找了41名志願者做了一場盲測,同時展示三個模型基於同一初始狀態和操作軌跡生成的影片,讓參與者在不知道哪個是哪個模型的情況下選出最好的那個。結果ForgeWM在視覺質量上拿到68.8%的偏好票,在動作準確度上是57.6%,在時空一致性上是55.6%,綜合偏好份額60.7%,是三者里最受歡迎的。
這套方法不止能用在Minecraft
一個很實際的問題是:這套四階段訓練法,是不是只對Minecraft管用?換個遊戲、換個操作方式還靈不靈?
研究團隊用同一套流程,套在了一個第一人稱射擊遊戲的場景里,操作方式也從鍵盤滑鼠換成了控制器,包括兩個模擬搖桿(移動和視角)加上一堆按鈕(開火、瞄準、跳躍、裝彈、切槍、近戰)。除了把動作模組裡處理連續控制信號的輸入維度從2維擴展到4維(因為控制器有左右兩個搖桿,每個搖桿兩個自由度),整個訓練流程和網路結構幾乎沒有改動。
這裡有個細節挺有意思的。研究人員發現,如果簡單粗暴地用隨機權重初始化新增的兩個輸入通道,這兩個通道會因為在訓練初期梯度太小而"死掉",完全學不到東西。他們的解決辦法是直接從預訓練好的通道里複製一份權重過去,讓新通道從一個已經"活"起來的狀態開始學,而不是從零開始摸索。這就像給新員工分配任務時,與其讓他從完全空白開始試錯,不如先給他一份師傅的工作模板照著改,這樣他才有機會真正上手,而不是在毫無頭緒里原地打轉。
在七款不同的射擊遊戲(包括Halo Infinite、決勝時刻系列等)上測試,LPIPS得分在0.583到0.693之間浮動,運動幅度和參考影片相比,平均達到1.45倍,說明模型傾向於比實際操作更"用力"地移動,這也是論文坦誠指出的一個待改進的地方。
訓練細節和消融實驗裡的發現
論文附錄里做了不少細緻的拆解實驗,值得單獨說說。
研究團隊專門做了個實驗,把訓練到第一、第二、第三階段的模型,都強行用同一套四步推理流程去跑,看看每個階段到底給模型帶來了什麼實質性的提升。
結果顯示,第一階段(教師強制因果訓練)本身的LPIPS只是從0.814略微降到0.806,提升非常有限。真正的轉折點出現在第二階段(因果一致性蒸餾),LPIPS直接從0.806跳到0.605,這個提升幅度遠超其他階段。這說明讓模型學會"跳步"這件事本身,才是讓少步數生成變得可行的關鍵所在,單純把注意力模式改成因果式並不足夠。
第三階段(在策略分布匹配)在LPIPS這個指標上其實沒有明顯提升,甚至略微上漲到0.617,但在Imaging Quality這個無參考畫質指標上,卻從0.659大幅提升到0.716。這說明第三階段主要貢獻的是讓畫面看起來更清晰銳利,而不是讓生成結果更貼近參考軌跡。這也提醒我們,同一個訓練階段在不同評價維度上的效果可能完全不一樣,不能只看一個指標就下結論。
寫在後面
讀完這篇論文,最觸動我的其實是一個很小的細節:研究團隊在移植到控制器操作場景時,發現新增的控制通道如果零初始化就會"死掉",這個失敗經驗被誠實地寫進了附錄。很多論文只會展示成功的方案,但這裡坦白地說明了"直接扔掉舊權重會怎樣"和"零初始化又會怎樣",兩種失敗模式都講清楚了,這種透明度在工程類論文裡其實並不常見。
另一個讓我反覆琢磨的地方是Replay-Time Refinement這個設計。它本質上是在提醒我們一件事:提升質量的額外計算,應該花在什麼地方,是很有講究的。把它花在重新生成一遍上,得到的是一段"更好但不同"的經歷;把它花在精修已有的草稿上,得到的是"更好且相同"的經歷。這種區分在很多需要"事後優化"的場景里都值得借鑑,不只是影片生成。
論文裡還留了一個沒解決的問題,模型傾向於比實際操作"動得更猛",這個1.45倍的運動過沖現象,背後到底是訓練數據的分布偏差,還是蒸餾過程本身放大了運動信號?這個問題論文沒有深挖,但值得繼續追問下去。
Q&A
Q1:ForgeWM是什麼?
A:ForgeWM是一個面向遊戲場景的實時交互式影片生成模型,能夠根據鍵盤滑鼠或控制器操作,只用一步到四步的計算就實時生成對應的遊戲畫面,支持Minecraft和第一人稱射擊遊戲兩種場景。
Q2:ForgeWM和普通影片生成模型有什麼區別?
A:普通影片生成模型往往需要幾十步計算才能生成清晰畫面,延遲太高無法用於實時互動。ForgeWM通過四階段漸進式訓練,把生成步數壓縮到一到四步,同時保證鍵盤滑鼠信號能精確對應到生成的影片畫面,做到低延遲和高可控性兼顧。
Q3:Replay-Time Refinement有什麼用?
A:這是ForgeWM提供的一種事後畫質提升功能。玩家實時互動時用最快的一步模型保證流暢,互動結束後,系統可以拿保存下來的草稿影片重新加噪聲再去噪,在不改變原本視角和場景布局的前提下讓畫面更清晰,相當於給已經玩過的那段遊戲回放做精修,而不是重新生成一段不同的內容。






