一致性模型 是什麼?

Consistency Model:一致性模型 的完整解釋

一種生成模型,通過學習將任意噪音水平的數據映射到同一最終樣本,實現單步或少步生成,不需要逐步去噪過程。

核心概念

一致性模型(Consistency Model)基於一個優雅的數學思想:在擴散過程中,所有不同噪音水平的中間狀態實際上對應於同一最終樣本。一致性模型學習一個映射 f_θ(x, t),使得沿著擴散軌跡的任何點都被映射到軌跡的終點(清潔樣本)。

更正式地,設擴散軌跡為 (x_t)_{t ∈ [ε, T]},其中 x_ε 接近清潔數據,x_T 是純噪音。一致性模型應該滿足: f_θ(x_t, t) = f_θ(x_s, s) 對所有 s, t ∈ [ε, T]

這個「一致性」性質是該模型名稱的來源。

一致性模型的關鍵洞察是,擴散過程產生了一個從噪音到數據的連續軌跡。如果我們能夠學習一個單步映射,直接將任何中間狀態映射到最終樣本,那麼我們就無需遵循原始的多步軌跡。推理可以直接從起點(T)到終點(ε),甚至可以在中途的任何點開始,一步到達清潔樣本。

一致性模型與擴散模型的關係是:擴散模型學習去噪過程(預測噪音或評分),而一致性模型學習一個單步映射。一致性模型可以從預訓練的擴散模型蒸餾而來,也可以獨立訓練。

運作原理

一致性模型的訓練涉及兩種主要方法:蒸餾和獨立訓練。

在蒸餾方法中,給定一個預訓練的擴散模型(教師),一致性模型(學生)學習在一個 ODE 步中模仿教師的多步去噪過程。訓練目標為: L = E_{x_0, t, t'}[||f_θ(x_t, t) - f_θ'(x_{t'}, t')||²_2] 其中 (x_t, x_{t'}) 是沿著擴散軌跡的兩個點,對應於相同的清潔樣本 x_0。θ 是學生參數(可訓練),θ' 是教師參數(停止梯度)。

通過這個損失,一致性模型學習將不同時間步的狀態映射到同一最終結果。實踐中,可以使用多步或單步的去噪步驟來計算 x_{t'},然後一致性模型學習一步達到相同的結果。

在獨立訓練方法中,一致性模型直接在原始數據分佈上訓練,無需擴散模型教師。損失函數涉及強制一致性條件和與真實數據接近的邊界條件。

在推理時,採樣非常簡單:

  1. 從先驗 x_T ~ N(0, I) 採樣
  2. 一步計算:x_ε = f_θ(x_T, T)
  3. 返回 x_ε

這是一次前向傳播,與 GAN 的生成過程類似,但使用了擴散模型的理論基礎。

如果需要更高的質量,可以進行少步採樣:從 x_T 開始,執行多步的「一致性步」,每一步都應用一致性映射,逐步降低噪音。

實際應用

一致性模型在加速生成方面有重大實用價值。在文本到圖像生成中,一致性模型可以實現接近實時的生成速度,使得互動式應用成為可能。

在圖像編輯應用中,一致性模型的靈活性(可以從任意噪音水平開始)使得精細的編輯控制成為可能。用戶可以在原始圖像的基礎上進行編輯,然後一步到達編輯後的版本。

在實時視頻處理中,一致性模型的高效性允許逐幀實時視頻生成或編輯。

在移動和邊緣設備上,一致性模型的單步特性使得生成模型可以在資源受限的設備上部署。

在科學模擬中,一致性模型可以加速物理模擬和數據生成,提高研究效率。

一致性模型也被應用於其他任務,如條件生成(與無分類器引導結合)、圖像恢復(去模糊、去噪)等。

常見誤區

一個常見的誤區是認為一致性模型的單步生成質量會明顯低於多步擴散模型。實際上,通過精心的蒸餾或訓練,一致性模型可以達到與多步模型相近甚至更好的質量。

另一個誤區是認為一致性模型只能用於圖像生成。實際上,一致性模型的框架對所有使用擴散過程的數據都適用,包括視頻、音頻、3D 數據等。

還有人誤以為一致性模型訓練比擴散模型訓練複雜。實際上,從預訓練擴散模型蒸餾一致性模型相對簡潔。獨立訓練可能更複雜,但已有開源實現。

與相關技術的比較

一致性模型與擴散模型的關係是相輔相成的。擴散模型學習複雜的多步過程,一致性模型學習直接的單步映射。一致性模型可以蒸餾自擴散模型,也可以與擴散模型並行使用。

與流匹配相比,一致性模型和流匹配都旨在加快生成速度。流匹配通過學習 ODE 軌跡實現高效,一致性模型通過學習直接映射實現。流匹配基於最優傳輸理論,一致性模型基於擴散過程的一致性性質。兩者都是有效的方向,各有優缺點。

與蒸餾方法相比,一致性模型使用蒸餾作為訓練策略之一,但蒸餾不是必須的。一致性模型代表了對推理加速的更深層理解。

與 GAN 相比,一致性模型是確定性的(單步)或隨機的(多步),而 GAN 通常涉及對抗訓練。一致性模型繼承了擴散模型的訓練穩定性,避免了 GAN 的模式崩潰問題。

常見問題