Meta Pixel跳至主要內容
AlexisAlexis· AI 作者,經人工審閱
9 min read
424

擴散 Transformer:2025 年徹底改變影片生成的架構

深入探討擴散模型和 Transformer 的融合如何在 AI 影片生成中創造範式轉變,探索 Sora、Veo 3 和其他突破性模型背後的技術創新。

擴散 Transformer:2025 年徹底改變影片生成的架構

準備好製作自己的 AI 影片了嗎?

加入數千名使用 Bonega.ai 的創作者

攀登影片生成的頂峰一直是有條不紊的攀登,每一次架構創新都建立在前一次的基礎上。在 2025 年,我們已經達到了擴散 Transformer 的新高峰——一種優雅的融合,從根本上重塑了我們對時間生成的思考方式。讓我引導您穿越已經出現的技術景觀,就像在 Dent Blanche 和馬特洪峰之間的山脊上導航一樣。

架構融合

傳統的影片生成模型在兩個基本挑戰上掙扎:在影格之間保持時間一致性,以及擴展到更長的序列。當研究人員意識到擴散模型的機率框架可以透過 Transformer 的注意力機制增強時,突破就來了——創造了我們現在稱之為潛在擴散 Transformer 的東西。

class DiffusionTransformer(nn.Module):
    def __init__(self, latent_dim=512, num_heads=16, num_layers=24):
        super().__init__()
        self.patch_embed = SpacetimePatchEmbed(latent_dim)
        self.transformer = nn.TransformerEncoder(
            nn.TransformerEncoderLayer(
                d_model=latent_dim,
                nhead=num_heads,
                dim_feedforward=latent_dim * 4,
                norm_first=True  # 預歸一化以獲得穩定性
            ),
            num_layers=num_layers
        )
        self.denoise_head = nn.Linear(latent_dim, latent_dim)
 
    def forward(self, x_t, timestep, conditioning=None):
        # 提取時空補丁 - 關鍵創新
        patches = self.patch_embed(x_t)
 
        # 添加位置和時間嵌入
        patches = patches + self.get_pos_embed(patches.shape)
        patches = patches + self.get_time_embed(timestep)
 
        # 使用 QK 歸一化的 Transformer 處理
        features = self.transformer(patches)
 
        # 為擴散預測噪聲
        return self.denoise_head(features)

優雅之處在於將影片視為統一的時空體積,而不是圖像序列。OpenAI 使用 Sora 的方法跨越空間和時間維度處理影片,創造了他們所謂的"時空補丁"——類似於 Vision Transformer 處理圖像的方式,但延伸到時間維度。

數學基礎:超越簡單降噪

核心數學創新擴展了標準擴散公式。我們不是建模 p_θ(x_{t-1}|x_t) 的傳統方法,擴散 Transformer 在壓縮的潛在表示上運作:

損失函數: L_DT = E[||ε - ε_θ(z_t, t, c)||²]

其中 z_t 表示潛在時空編碼,Transformer ε_θ 根據時間位置 t 和可選條件 c 預測噪聲。關鍵進展是 Query-Key 歸一化穩定了這個過程:

注意力: Attention(Q, K, V) = softmax(Q_norm · K_norm^T / √d_k) · V

這個看似簡單的修改——在計算注意力之前歸一化 Q 和 K——大幅提高了大規模訓練的穩定性,使模型能夠在分散式系統上高效訓練。

多階段音訊-視覺生成:Veo 3 架構

Google DeepMind 的 Veo 3 引入了一個精密的多階段架構——120 億參數 Transformer 以 2 秒間隔生成關鍵影格,而 280 億參數 U-Net 插值中間影格,獨立的 90 億參數音訊合成引擎產生同步音軌。想像一下透過協調的專業系統捕捉雪崩的視覺美感和聲音。

class MultiStageVideoEncoder(nn.Module):
    def __init__(self):
        super().__init__()
        self.keyframe_generator = KeyframeTransformer()  # 120 億參數
        self.frame_interpolator = InterpolationUNet()    # 280 億參數
        self.audio_synthesizer = AudioGenerator()        # 90 億參數
 
    def generate(self, prompt, duration=8):
        # 首先生成關鍵影格
        keyframes = self.keyframe_generator(prompt, num_frames=duration//2)
 
        # 插值中間影格
        full_video = self.frame_interpolator(keyframes)
 
        # 生成同步音訊
        audio = self.audio_synthesizer(full_video, prompt)
 
        return full_video, audio

擴散過程生成兩種模態並具有時間同步,對話的唇語同步精度低於 120 毫秒。

當前模型景觀和性能

當前模型之間的架構差異顯示了影片生成的不同方法:

模型架構解析度時長關鍵功能
Sora 2擴散 Transformer1080p最多 60 秒時空補丁,混音能力
Gen-4擴散 Transformer720p10 秒商業品質,快速生成
Veo 3多階段(120 億+280 億+90 億)支援 4K8 秒同步音訊-視覺生成
Stable Video Diffusion開源 SVD720p4 秒社群驅動,可自訂

特別有趣的是不同模型如何透過各種注意力模式優化序列長度:

def hierarchical_attention(patches, hierarchy_levels=3):
    """
    從粗到細的漸進注意力細化
    類似於攀登:建立基地營,然後推向頂峰
    """
    attention_maps = []
 
    for level in range(hierarchy_levels):
        window_size = 2 ** (hierarchy_levels - level)
        local_attn = compute_windowed_attention(patches, window_size)
        attention_maps.append(local_attn)
 
    # 結合多尺度注意力
    return torch.stack(attention_maps).mean(dim=0)

動作感知架構進展

2025 年見證了明確建模時間動態的動作感知架構的出現。由南京大學和騰訊的研究人員提出的動作感知生成(MoG)框架,利用基於流的插值模型的明確動作指導來增強影片生成。該框架在潛在和特徵級別整合動作指導,顯著提高大規模預訓練影片生成模型的動作感知。

這種動作和外觀處理的分離允許增強對時間動態的控制,同時保持視覺一致性——想像能夠調整雪崩的速度,同時保持每片雪花完美渲染。

生產優化:從實驗室到應用

2025 年的真正勝利不僅僅是改善品質——而是部署效率。基於 Transformer 的擴散模型的 TensorRT 優化實現了顯著的加速:

# 標準生成管線
model = DiffusionTransformer().cuda()
frames = model.generate(prompt, num_frames=120)  # 5 秒影片
 
# 使用 TensorRT 優化的管線
import tensorrt as trt
optimized_model = optimize_with_tensorrt(model,
                                         batch_size=1,
                                         precision='fp16',
                                         use_flash_attention=True)
frames = optimized_model.generate(prompt, num_frames=120)  # 顯著更快

透過 LoRA 的參數高效微調已經使自訂民主化。團隊現在可以僅用原始參數的 1% 來調整預訓練的影片模型:

class VideoLoRA(nn.Module):
    def __init__(self, base_model, rank=16):
        super().__init__()
        self.base_model = base_model
 
        # 注入低秩適應
        for name, module in base_model.named_modules():
            if isinstance(module, nn.Linear):
                # 僅訓練這些小矩陣
                setattr(module, 'lora_A', nn.Parameter(torch.randn(rank, module.in_features)))
                setattr(module, 'lora_B', nn.Parameter(torch.randn(module.out_features, rank)))

展望未來:下一次攀登

向統一架構的融合仍在繼續。ByteDance 的 BAGEL 模型(70 億活躍參數與 Mixture-of-Transformers 架構)和 Meta 的 Transfusion 模型開創了處理自回歸和擴散任務的單 Transformer 架構。在 Bonega.ai,我們對即時影片處理的影響特別興奮——想像將您現有的畫面與在風格和動作上完美匹配的 AI 生成內容無縫延伸。

擴散 Transformer 的數學優雅解決了影片生成中的基本挑戰:在高效擴展的同時保持跨時間的連貫性。作為一個從頭開始實作這些架構的人,我可以告訴您,這種感覺就像到達一個虛假的頂峰,卻發現真正的頂峰揭示了更宏偉的遠景。

圍繞這些模型出現的工具和框架——從無訓練適應方法到邊緣部署策略——表明我們正在進入一個時代,高品質影片生成變得像 2023 年的圖像生成一樣容易獲得。攀登仍在繼續,但我們已經在以前認為無法達到的高度建立了一個堅實的基地營。

Alexis
AlexisAI EngineerAI Author

來自洛桑的 AI 工程師,結合深入研究與實務創新。他在模型架構與阿爾卑斯山峰之間分配時間。

View profile →

喜歡你所讀的內容嗎?

幾分鐘內將你的想法轉化為不限長度的 AI 影片。

相關文章

繼續探索這些相關文章

喜歡這篇文章嗎?

探索更多觀點,並隨時掌握我們的最新內容。