跳轉到

2024 - Sora 世界模型#

案件摘要#

2024 年 2 月,OpenAI 發表 Sora:以 DiT(Diffusion Transformer) 架構生成最長 60 秒、維持物體一致性與物理合理感的視訊模型。核心概念是時空 patch(spacetime patches)——把影片壓縮到潛空間後切成時空小塊,像語言 token 一樣送入 Transformer:

\[ \text{video} \to \mathcal{E} \to \text{spacetime patches} \to \text{DiT 去噪} \to \mathcal{D} \to \hat{\text{video}} \]

OpenAI 的主張野心勃勃:「影片生成模型是世界模擬器」。但兇手的難題不在生成,而在宣稱——生成像素的逼真是否等於理解世界的因果律?這樁案件是一場關於「什麼才是理解世界」的路線對決,LeCun 陣營的 V-JEPA(見「2024-VJEPA世界模型.md」)站在對面。

前因 -- 為什麼會有這個案子#

  • 2020 年 DDPM(見「2020-DDPM擴散模型.md」)與 2022 年 Stable Diffusion(見「2022-StableDiffusion開源擴散.md」)確立潛空間擴散與條件生成的標準,但都限於靜態影像——時間軸是最後一塊拼圖。
  • 2022 年底 DiT(Peebles & Xie)把 U-Net 換成 Transformer,並證明DiT 的損失隨計算量冪律下降——「Transformer 化一切」的規模法則在擴散模型上成立,為 Sora 的架構直接鋪路。
  • 2021 年 ViT(見「2021-ViT視覺Transformer.md」)的 patch 哲學:「把模態翻譯成 token 序列,其餘交給 Transformer」——Sora 把它從 2D 推廣到 3D 時空。
  • 2023 年 GPT-4(見「2023-GPT-4多模態.md」)後,OpenAI 需要下一個前沿;輸入多模態已完成,輸出多模態(影片生成)是明顯的下一步。
  • Google 的 Lumiere、Meta 的 Emu Video 等同時競逐,但 Sora 以「長影片 + 世界一致性」的宣稱跳出。
  • 動機:Sutskever 的假說「預測下一個 token = 智能」在影片上的自然延伸——「預測下一幀 = 理解世界」;若影片模型能預測物理,它就是世界模擬器。

線索與推理 -- 數學式、程式、理論#

第一條線索:時空 patch——從 2D 到 3D#

Stable Diffusion 把影像壓縮 8 倍;Sora 先把影片壓縮到低維潛空間,再切成時空 patch:

\[ \text{video} \in \mathbb{R}^{T \times H \times W \times 3} \xrightarrow{\ \mathcal{E}\ } z \in \mathbb{R}^{T' \times h \times w \times c} \xrightarrow{\ \text{flatten}\ } \text{patch tokens} \]

每個 patch 就像一個語言 token——ViT 的「16×16 words」變成「時空 words」。統一表示使 Transformer 直接適用,且可變長寬比、可變時長解析度訓練成為可能。

第二條線索:DiT 的擴散目標#

Sora 的訓練目標延續擴散傳統,在潛空間預測雜訊(或 velocity):

\[ L = \mathbb{E}_{z_0,\, \epsilon,\, t,\, c}\left[ \|\epsilon - \epsilon_\theta(z_t, t, c)\|^2 \right] \]

但骨幹從 U-Net 換成 Transformer,條件(文字、時間步)以 adaptive layer norm 或 cross-attention 注入。DiT 論文的關鍵證據:生成品質隨 Transformer 算力冪律下降——Sora 的龐大算力(推估 \(10^{25}\) FLOPs 級)正是沿這條曲線投入。

第三條線索:湧現的世界一致性#

Sora 示範影片展示的能力,並未顯式編程:

能力 說明
3D 一致性 鏡頭平移旋轉時,人物與場景維持幾何合理
物體持久性 物體被遮擋後再出現仍一致(部分案例失敗)
全局互動 咬一口漢堡留下咬痕;倒出果汁有物理感
模擬數位世界 Minecraft 風格的規則遵循

OpenAI 的判詞:這些是規模化湧現——「我們相信影片生成模型是世界模擬器」。但爭議就在這裡:這些能力是否等於因果理解?Sora 仍會犯物理錯誤(物體消失、左右手互換、玻璃不碎)。

第四條線索:兩條世界模型路線的對決#

LeCun 陣營的異議:生成像素太浪費、太淺。V-JEPA(見「2024-VJEPA世界模型.md」)主張智能的本質是在表徵空間預測:

\[ \text{Sora:預測/生成像素} \qquad \text{vs} \qquad \text{V-JEPA:預測表徵,不生成} \]
維度 生成式(Sora) 表徵式(V-JEPA)
目標 重建每個像素 預測表徵空間的未來
算力 極高 較低
適合 生成應用 理解與規劃
哲學 預測即智能 世界的本質在表徵

這場對決的裁判尚未出:生成派的產品統治了市場,表徵派承諾的是理解與具身規劃。

V-JEPA 的訓練目標值得一記:遮蔽影片片段,在表徵空間預測被遮蔽部分的表徵,不做像素重建:

\[ L = \mathbb{E}\left[ \|\text{stopgrad}(f(x)) - g(x_{\text{visible}})\|^2 \right] \]

LeCun 的論證:像素級生成把算力花在不可預測的細節(樹葉的確切形狀、水面波紋)上,而智能只需要預測可預測的抽象結構——「世界模型」的本質是抽象預測器,不是渲染引擎。

結案 -- 後果與影響#

  • 視訊生成產業爆發:Runway Gen-2/3、Kling、Luma Dream Machine、Veo 相繼問世;影視、廣告、動畫產業劇變,同時引發深度偽造與版權爭議。
  • 「影片生成 = 世界模擬器」成為爭議命題:支援者視之為通往具身智能與機器人模擬的路;反對者(LeCun 等)稱之為「生成不等於理解」——世界模型的定義之戰正式開打。
  • DiT 統一擴散模型:影像、視訊、音訊生成全面 Transformer 化,U-Net 時代落幕。
  • 資料與算力的新天花板:高品質影片資料稀缺、時空擴散算力極高,催生資料效率與蒸餾(如加快取樣)研究。
  • 埋下伏筆:Sora vs V-JEPA 是本書的兩條世界模型路線——生成派(預測像素)與表徵派(預測表徵)在具身智能上交會(見「2024-VJEPA世界模型.md」);而 RT-2(見「2023-RT-2視覺語言動作模型.md」)站在中間:理解世界、輸出動作、不生成世界。真正的世界模擬器——機器人能在腦中「排練」未來——是本書通往下一卷的懸案。
  • 在本書主線中,Sora 是「對話革命與多模態世界卷」的壓軸:語言(ChatGPT)、影像(Stable Diffusion)、語音(Whisper)、動作(RT-2)、世界(Sora)——智慧模型的五大載體在此合流。
  • 偵探結語:這樁案件的真相分兩層。第一層是技術事實:時空 patch + DiT + 規模化算力,三個零件的乘積造出了 60 秒的物理感影片——這部分證據確鑿。第二層是宣稱:「世界模擬器」——這部分是哲學訴訟,尚未宣判。偵探的裁決是:Sora 能重演世界的外觀,但能否預言世界的因果,取決於「預測下一幀」與「理解因果律」之間那道尚未量測的鴻溝——這道鴻溝正是本書下一卷的入口。

關鍵人物與文獻#

  • Tim Brooks、Bill Peebles 等(OpenAI):Sora 技術報告《Video generation models as world simulators》(2024)。
  • William Peebles、Saining Xie:《Scalable Diffusion Models with Transformers》(2022,DiT)。
  • Robin Rombach 等:《High-Resolution Image Synthesis with Latent Diffusion Models》(2022)。
  • Adrien Bardes 等:《RE-VLaM / V-JEPA: Revisiting Feature Prediction for Learning Visual Representations from Video》(2024,Meta)。
  • Alexey Dosovitskiy 等:《An Image is Worth 16x16 Words》(2021,ViT)。
  • 相關案件:2020-DDPM擴散模型.md、2022-StableDiffusion開源擴散.md、2023-GPT-4多模態.md、2023-RT-2視覺語言動作模型.md、2024-VJEPA世界模型.md

補充 -- 程式實作(python + pytorch)#

本案時空 patch 化+DiT 去噪(L = E||ε−ε_θ(z_t,t,c)||²)的最小可執行版本,見 _code/2024-Sora.py(已實測可跑,CPU 約 1 分鐘;8 幀 8×8 移動方塊):

# 2024 - Sora: video -> E -> spacetime patches -> DiT 去噪 -> D -> video
import torch
import torch.nn as nn


class DiTBlock(nn.Module):  # adaLN 調製 + 注意力 + MLP
    def __init__(self, d=48, h=4):
        super().__init__()
        self.n1 = nn.LayerNorm(d)
        self.attn = nn.MultiheadAttention(d, h, batch_first=True)
        self.n2 = nn.LayerNorm(d)
        self.mlp = nn.Sequential(nn.Linear(d, d * 2), nn.GELU(), nn.Linear(d * 2, d))
        self.mod = nn.Sequential(nn.SiLU(), nn.Linear(d, 6 * d))  # t+c -> 6組調製

    def forward(self, z, cond):
        sh, ga, a1, a2, g1, g2 = self.mod(cond).unsqueeze(1).chunk(6, -1)
        h = self.n1(z) * (1 + sh) + ga
        h, _ = self.attn(h, h, h, need_weights=False)
        z = z + a1 * h
        h2 = self.n2(z) * (1 + g1) + g2
        return z + a2 * self.mlp(h2)


def main():
    torch.manual_seed(0)
    T, H = 8, 8
    V = torch.zeros(200, T, H, H)  # 影片: 方塊等速移動 (位置連續即世界一致性縮影)
    for i in range(200):
        x0, v = torch.randint(0, 4, (1,)).item(), 1 if i % 2 == 0 else -1
        for t in range(T):
            x = min(max(x0 + v * t, 0), 5)
            V[i, t, 2:5, x:x + 3] = 1.0
    V = V + torch.randn_like(V) * 0.05
    patches = V.unfold(1, 2, 2).unfold(2, 4, 4).unfold(3, 4, 4)  # 4×2×2=16 tokens
    Z = patches.reshape(200, 16, 32)
    # (DiT 去噪訓練略, 見 _code/2024-Sora.py 全文)


if __name__ == "__main__":
    main()

執行結果(python3 _code/2024-Sora.py,torch 2.12.0):

時空 tokens: 影片->16 tokens (4時×2×2); DiT 去噪 MSE=0.0245 (從~1.0 降下)
結論: 影片即 token 序列 -- 縮放 patch 預算縮放世界; 生成派 vs V-JEPA 表徵派見下章

程式解說:unfold 三連即本文第一條線索的時空 patch 化——8 幀 8×8 壓成 16 個 token,每 token 含 2 幀×4×4(時間被一起切,ViT 只切空間)。DiTBlock 的 adaLN 調製(t+c → 6 組係數)是條件注入的標準答案:時間步與文本提示不拼進序列,用縮放平移調製每一層——條件與內容解耦。去噪 MSE 從 ~1.0 降到 0.0245:DiT 學會在 token 空間去噪。把 16 tokens 換成數萬、MLP 換成深 DiT、方塊換成自然影片——骨架不變,規模改寫結局;世界一致性(位置連續、遮擋守恆)是縮放的湧現,不是寫進去的規則。

本卷壓軸註記:對話革命(ChatGPT)→ 推理革命(o1);開源革命(LLaMA)→ 效率革命(DeepSeek-R1);世界模型兩條路線(Sora 生成派 vs V-JEPA 表徵派)——三大懸案皆留待下一卷開庭。