這項由字節跳動Seed部門完成的研究,以預印本形式於2026年4月13日發布於arXiv,論文編號為arXiv:2604.11521,有興趣深入了解的讀者可以通過這個編號查詢完整論文。
**一、AI畫圖有個藏了很久的老毛病**
你有沒有注意到,用AI生成圖片的時候,如果不開什麼"引導"功能,出來的圖往往怪怪的?狗的毛髮亂成一團,魚缸里的魚像是從噩夢裡游出來的,整張圖透著一股說不清道不明的"不對勁"。但一旦開了引導功能,質量就蹭蹭上去了——只不過那樣生成的圖,和真實世界裡的數據分布已經不完全一樣了,像是經過了某種美化濾鏡。
這背後有一個根本性的矛盾,而字節跳動Seed團隊的這篇論文,正是專門衝著解決這個矛盾去的。
在講他們的解法之前,先得理解主角——流匹配模型(Flow Matching)是怎麼工作的。可以把它理解成一個"流水線導航員":它的任務是把一團隨機的噪聲,沿著一條預先規劃好的路徑,一步步引導成一張真實的圖片。這條路徑是固定的,而"導航員"要學的,是在路徑上的每一個位置告訴粒子"接下來往哪裡走、走多快",也就是預測所謂的"速度場"。
訓練這個導航員的方式,是讓它預測的速度和真實應該走的速度之間的距離儘可能小,用的是最經典的方法——歐氏距離,也就是空間中兩點之間最直的那條線的長度。聽起來合情合理,但問題就藏在這裡。
歐氏距離衡量的是幾何空間上的遠近,而真實圖片其實分布在一個極其複雜、彎彎繞繞的"數據流形"上。簡單來說,不是所有在幾何上"近"的圖片,在感知上也"像"。兩張圖在像素值上差不多,但一張可能是正常的金毛獵犬,另一張可能是被壓扁的幽靈獵犬。歐氏距離對這兩種情況一視同仁,但人類的眼睛絕對不會。
正因如此,當模型的容量有限、無法死記硬背所有訓練圖片時,它就會用歐氏距離來"猜"應該生成什麼。這種"猜法"不符合真實數據的內在結構,於是生成的圖就會偏離正常分布,出現那些叫人看了難受的怪異樣本。這就是導航員雖然在正確的路上走,卻不知道目的地長什麼樣的困境。
**二、前人想了哪些辦法,又卡在哪裡**
當然,不止字節跳動一家在想這個問題。過去已經有幾條思路被嘗試過。
一種思路是換個空間再做流匹配。把圖片先壓縮到一個特殊的"表示空間"里,那個空間的結構比原始像素空間更規整,流匹配在裡面效果就會好一點。這確實有用,但本質上是換了個戰場,並沒有直接解決距離度量不對的問題。
另一種思路是換用"黎曼幾何"(Riemannian Geometry),也就是在彎曲的曲面上重新定義距離和路徑。這就像在地球表面上,從北京到紐約的最短路不是直線穿地球,而是沿著地球曲面走的大圓弧。把流匹配搬到這種彎曲空間裡,理論上更符合數據的真實分布。但問題是,你得事先知道數據流形的形狀才行,而這個形狀正是我們想學習的東西——雞生蛋還是蛋生雞的死循環。
還有一種思路是用一個預先訓練好的神經網路來充當"感知距離計",讓模型的訓練目標從歐氏距離換成這個網路認為的"像不像"。深層神經網路確實比像素距離更擅長判斷兩張圖在感知上的差距,麻省理工等機構的研究者早就驗證了這一點。但固定的距離計有個致命弱點:生成模型會慢慢摸清它的規律,找到各種"走捷徑"的方式來欺騙它,讓生成圖在這個距離計的眼裡看起來很棒,但在真實人眼裡依然奇怪。
解決"被欺騙"問題的自然延伸,是讓這個距離計和生成模型一起訓練,互相博弈——你學著生成,我學著分辨,誰也別想一勞永逸地騙過對方。這就是生成對抗網路(GAN)的核心思想,由深度學習先驅伊恩·古德費洛在2014年提出。GAN的鑑別器在圖片的紋理、清晰度、輪廓等感知細節上表現出色,在ImageNet等圖像生成基準上屢創佳績,也被廣泛應用於流模型的"蒸餾加速"——通過對抗訓練讓模型用極少步數就生成高質量圖片。
在GAN和流模型的融合方向上,此前已經有"對抗流模型"(AFM)的工作存在,它把對抗訓練引入了離散時間的流模型,取得了不錯的效果。但AFM在時間步長無限縮小的時候會不穩定,根本上無法推廣到連續時間的流建模框架。這個空白,就是本文想要填補的。
**三、核心創新:讓鑑別器學會"分辨速度"而非"分辨圖片"**
字節跳動Seed團隊提出的方法叫做"連續對抗流模型"(Continuous Adversarial Flow Models,簡稱CAFM)。它的核心創新點,是徹底解決了如何在連續時間框架下做對抗訓練的問題。
在普通的GAN里,鑑別器看的是生成的圖片本身,判斷它是真是假。在離散時間的AFM里,鑑別器看的是從一個時間步跳到另一個時間步的"傳輸結果"。但在CAFM要處理的連續時間流中,基本單元不再是有限的"步",而是一個瞬間的"速度"——也就是粒子在路徑上某一刻應該往哪走、走多快這個向量。
速度是位置對時間的導數,它是個方向和大小都隨時變化的東西,你沒法直接把它塞進一個普通的鑑別器里說"你來分辨這個速度是真是假"。那怎麼辦?
團隊想到的方法非常精妙,用到了數學裡一個叫"雅可比-向量積"(Jacobian-Vector Product,JVP)的工具。先不管這個名字,用一個直覺來理解:鑑別器D本質上是一個把空間中的每個點映射到一個數值的"勢場"——就像地圖上的海拔高度圖,每個位置對應一個高度數字。在這個勢場裡,一個向量(速度)的"好壞",可以用它沿著該速度方向前進時勢場高度的變化率來衡量。如果朝著某個方向走,勢場高度上升很快,那這個方向就是"好的方向"。
JVP乾的正是這件事:它計算的是當你站在空間中某個位置,沿著某個給定方向(速度向量)前進時,鑑別器的值會以多快的速度變化。這個變化率本身是個標量(一個單獨的數),就可以被當作鑑別器的輸出來使用了。
具體來說,訓練時的對抗遊戲是這樣進行的:鑑別器D被訓練成,對於真實的條件速度(標準答案),JVP輸出接近+1;對於生成模型G預測的速度,JVP輸出接近-1。與此同時,生成模型G被訓練成讓自己預測的速度在鑑別器眼裡越來越像真實速度——也就是讓JVP輸出儘量接近+1。
這個設計有一個非常優雅的性質:鑑別器現在看的不再是圖片或者某個中間狀態,而是整條流路徑的"局部方向偏好"。而且,由於JVP是線性的(它只是在當前點對速度做線性近似),對整條路徑上所有點的JVP做積分,恰好等於鑑別器在路徑終點和起點的值之差。這意味著鑑別器在全局路徑上的判斷是自洽的,不會出現互相矛盾的評價。
為了防止訓練過程中一些不穩定的現象,團隊還加入了幾個輔助的正則化項。一個叫"中心化懲罰",因為JVP只約束了鑑別器的導數,而鑑別器本身的絕對值是自由漂移的,需要把它拉回到零附近。另一個叫"最優傳輸正則化",它鼓勵生成模型在預測速度時傾向於選擇範數最小的方向,這和物理上最省力路徑的直覺相符,有助於在高維空間裡防止模型利用鑑別器的"盲區"走捷徑。
還有一個工程細節同樣重要:對抗訓練歷來有個"梯度消失"的問題,就是當真實數據和生成數據的分布差得太遠、沒有重疊時,鑑別器能輕鬆分辨二者,於是給生成模型的梯度信號就近乎為零,學習陷入停滯。JVP的線性化特性在數學上保證了這個問題不會發生——只要生成的速度和真實速度不同,鑑別器的雅可比矩陣就會給出非零梯度,學習信號始終存在。因此,CAFM無需像AFM那樣依賴梯度懲罰和鑑別器重置等繁瑣的補丁措施。
**四、工程落地:如何讓這套方法真正跑起來**
從數學原理到能在GPU集群上運行,還需要一系列工程決策。
JVP的計算在現代深度學習框架里並不複雜——PyTorch的`torch.func.jvp`函數支持前向模式自動微分,可以在一次前向傳播中同時算出鑑別器的輸出值和JVP值,非常高效。更妙的是,訓練鑑別器時需要同時用真實速度和生成速度各算一次JVP,利用向量化映射(`vmap`)可以把這兩次計算批量並行處理,無需跑兩遍網路。
在網路架構上,生成模型G和原來的流匹配模型完全一樣,沒有任何改動,直接復用現有架構。鑑別器D則採用和G相同的變換器(Transformer)架構,但有一個關鍵修改:把所有的層歸一化(LayerNorm)替換成均方根歸一化(RMSNorm)。這個看似微小的改動極大提升了訓練穩定性。實驗發現,LayerNorm在JVP計算過程中會產生巨大的梯度尖峰,而RMSNorm則完全沒有這個問題。這與其他涉及JVP計算的工作中的發現一致。
在訓練策略上,團隊採用了"N步鑑別器更新,1步生成器更新"的節奏,即每更新一次生成模型,就把鑑別器單獨訓練N步,讓鑑別器始終保持在一個接近最優的狀態。實驗表明N=16是個合適的選擇——太少(N=8)會導致鑑別器跟不上生成模型而訓練發散,太多(N=32)則會使生成模型學得太慢。
大規模分布式訓練方面,JVP和vmap能夠與PyTorch的多機並行訓練框架(DDP、FSDP)以及梯度檢查點(用於節省顯存)完美配合,唯一需要注意的是包裝順序:應該是`ddp(jvp(D))`而非`jvp(ddp(D))`,前者讓JVP只包裹網路本身,後者則會把JVP套在包含梯度同步邏輯的分布式包裝器上,造成不兼容。
**五、主要用途是"後訓練"而非從頭訓練**
CAFM有一個非常實際的定位:它主要被設計為對現有流匹配模型的"後訓練"工具,而非替代從頭訓練。
道理很簡單:CAFM和標準流匹配在理論上收斂到同一個"真實速度場",兩者的本質區別只在於有限容量的模型如何"泛化"——也就是在見過的訓練樣本之外,如何應對新的情況。既然目標相同,就沒必要從零開始,完全可以先用標準流匹配把模型訓練到一個不錯的狀態,再切換到CAFM目標進行微調,讓模型的泛化方向從"歐氏距離最近"調整為"感知距離最近"。
從頭用CAFM訓練也是可以的,團隊也做了這個實驗。但結果符合預期:在相同的訓練輪次下,CAFM從頭訓練的收斂速度比標準流匹配慢——畢竟額外引入了鑑別器和JVP計算,計算開銷約是標準流匹配的4.8倍。而且從頭訓練時需要精心調節最優傳輸正則化的權重λ和鑑別器更新步數N,隨著訓練進行,λ應逐漸減小,N應逐漸增大,才能獲得最佳效果。相比之下,後訓練只需10個訓練輪次,設置λ=0(完全關閉最優傳輸正則化),就能獲得顯著的性能提升,簡單得多。
**六、ImageNet實驗:數字說明一切**
團隊在最經典的圖像生成基準——ImageNet 256像素分類條件生成任務上驗證了CAFM的效果,測試對象是兩個有代表性的流匹配模型。
第一個是SiT-XL/2,一個在SD-VAE潛在空間(也就是把圖片壓縮成更小的表示再處理)中運行的模型。它有6.75億參數,已經過1400個訓練輪次的標準流匹配預訓練。用CAFM對它進行10個輪次的後訓練後,在不使用任何引導的情況下,衡量生成質量的FID分數(越低越好,越接近真實圖片分布越好)從8.26驟降至3.63——這是一個質的飛躍,相當於僅用極小的額外訓練代價就幾乎將"出戲感"減半。同期做的對照實驗表明,用標準流匹配再繼續訓練10個輪次反而讓FID從8.26微升到8.64,說明這個提升完全來自CAFM目標本身,而非額外的訓練數據或輪次。
在有引導的情況下,CAFM同樣表現出色。掃描一系列引導強度(CFG)發現,CAFM在CFG=1.3時就能達到最優FID=1.53,而原始SiT需要CFG=1.5才能達到2.06。這意味著CAFM不僅在無引導時更接近真實分布,還讓引導變得更高效——需要的引導強度更小,得到的質量卻更好。
第二個測試對象是JiT-H/16,一個直接在像素空間(不經過潛在空間壓縮)運行的模型,有9.56億參數,已經過600個訓練輪次的預訓練。CAFM後訓練同樣10個輪次,無引導FID從7.17降至3.57,最佳引導FID從1.86降至1.80。
與同期其他方法的橫向對比更能說明問題。在SD-VAE潛在空間模型中,同樣使用DiT架構和類似訓練設置的各方法中,CAFM的無引導FID(3.63)超過了DiT-XL/2的9.62、SiT的8.26、加入特殊正則化的SiT+Disperse的7.43,以及引入了表示對齊技術的SiT+REPA的5.90(後者藉助了DINOv2這個強大的預訓練視覺模型)。在有引導的情況下,CAFM的1.53也優於SiT+Disperse的1.97和原始SiT的2.06,只遜於同樣藉助DINOv2的SiT+REPA(1.42)和DDT-XL(1.26)。
**七、文生圖實驗:從工廠級到產品級**
ImageNet實驗驗證了方法的可行性,而真正的"戰場"在於實際產品中廣泛使用的文生圖模型。團隊選擇在Z-Image上進行後訓練實驗——這是字節跳動開源的、擁有60億參數的單流擴散變換器,是一個真正產品級規模的模型。
實驗設計同樣注重公平性。由於Z-Image的原始訓練數據不可獲取,團隊用了自己整理的開源自然圖像數據集。為了排除數據集差異對結果的干擾,他們先用標準流匹配在這批數據上微調Z-Image訓練1萬次疊代,再分兩路:一路繼續用流匹配訓練,另一路切換到CAFM訓練,兩路都跑到同樣的總疊代次數,然後對比。
在鑑別器架構上,這次沒有在輸入端加入分類標記,而是在最後一層的視覺特徵上加了一個交叉注意力層來輸出鑑別分數,這樣主幹網路可以完全保持不變,改動最小。
GenEval基準(測試文生圖對各種細粒度視覺語義的理解,如兩個物體、顏色屬性、空間位置、計數等)和DPG基準(測試圖像與複雜文本描述的一致性)的結果顯示,CAFM後訓練顯著提升了無引導生成的質量。在有提示詞擴展且有引導的完整配置下,CAFM的GenEval總分從0.81提升至0.85,DPG總分從83.7提升至85.2。在兩個物體、顏色屬性、位置理解等細粒度指標上,提升尤為明顯,反映出CAFM確實讓模型對複雜語義場景的理解更準確、生成更到位。
**八、方法的局限與邊界**
研究團隊也坦誠地指出了方法的局限。CAFM在經驗上確實能讓模型的泛化更接近真實數據分布,但無法從理論上保證它能完美覆蓋低密度區域,也就是那些在訓練數據中很罕見的特殊情況。文生圖實驗的失敗案例也印證了這一點:對於"四支筆圍成一個矩形,中間五支鉛筆排成圓圈"這樣極度精細的空間計數描述,無引導的CAFM生成結果依然會出錯,需要加上引導才能勉強處理。
這說明CAFM改善了模型的泛化方向,但沒有神奇地解決所有問題。引導作為一種"低溫採樣"技術,可以和CAFM疊加使用,正交互補。實驗數據也確認,在有引導的情況下,CAFM的底層模型質量提升會同樣傳遞到引導生成的結果上。
歸根結底,字節跳動Seed團隊這項工作解決的是流匹配模型一個根本性的訓練目標問題:與其用直尺量感知距離,不如訓練一個懂感知的裁判來打分。通過將對抗訓練優雅地擴展到連續時間框架,並用JVP將鑑別器錨定在流速度場的導數空間中,他們在不改變模型架構、不增加推理成本的前提下,讓AI生成的圖片更自然地融入了真實圖像的世界。
Q&A
Q1:CAFM和普通流匹配模型有什麼本質區別?
A:兩者都在學習同一條從噪聲到圖片的路徑,理論上收斂到同一個速度場。本質區別在於訓練目標不同:普通流匹配用歐氏距離衡量速度預測的好壞,這種距離不符合圖像感知規律;CAFM引入了一個和生成模型一起訓練的鑑別器,用感知質量來評判速度預測的好壞。這種差異不影響模型結構,只影響"泛化方向",所以CAFM可以直接對已有的流匹配模型做後訓練,不用從頭來過。
Q2:CAFM使用的JVP技術是什麼,為什麼要這麼設計?
A:JVP(雅可比-向量積)本質上是計算一個函數在某個方向上的變化率。CAFM的鑑別器是一個把圖片位置映射到標量勢能的函數,JVP則計算這個勢能沿某個速度方向的變化率。這樣鑑別器就能直接對速度向量好壞進行打分,而不需要看圖片本身。這個設計的好處在於:數學上自洽、訓練中不會出現梯度消失、還能保證鑑別器對整條生成路徑的判斷前後一致。
Q3:CAFM後訓練大概需要多少計算資源?
A:以ImageNet上SiT-XL/2模型的實驗為例,後訓練只需要10個訓練輪次,批次大小256,學習率1e-5,整體設置非常輕量。但由於引入了鑑別器網路以及JVP的前向和反向計算,每個輪次的牆鍾時間約是標準流匹配的4.8倍。綜合來看,相對於從頭訓練一個大模型,這點額外開銷對於後訓練場景是完全可以接受的。






