自回歸和Rectified Flow完美融合統一多模態理解和生成!DeepSeek&北大等開源JanusFlow
論文鏈接:https://arxiv.org/pdf/2411.07975
github鏈接:https://github.com/deepseek-ai/Janus
亮點直擊
- 統一多模態框架: 提出JanusFlow,一個同時處理圖像理解和文本到圖像生成任務的統一模型,解決了任務分離帶來的架構復雜性問題。
- 創新優化策略: 采用任務解耦和表示對齊兩大關鍵策略,提高理解與生成任務的獨立性與語義一致性。
- 卓越性能表現:在多模態理解與文本到圖像生成基準測試中超越現有專用模型和統一模型,取得領先成績。
- 緊湊高效的設計:僅用1.3B 參數實現性能突破,展示出高效模型在多模態任務中的巨大潛力。
效果展示
文生圖
多模態理解
總結速覽
解決的問題
當前圖像理解與生成任務通常由專門的模型完成,統一模型在性能和效率上仍然存在局限性,難以在兩個領域中同時達到優異表現。
提出的方案
提出 JanusFlow 框架,采用極簡架構,將自回歸語言模型與rectified flow相結合,實現圖像理解與生成的統一。
應用的技術
- Rectified Flow:作為生成建模的先進方法,簡化了在大語言模型框架中訓練的復雜性。
- 理解與生成解碼器的解耦:分別優化理解與生成任務的編碼器。
- 表示對齊:在統一訓練過程中對理解和生成的表示進行對齊,增強統一模型的表現力。
達到的效果
- 性能提升:在標準基準上顯著優于現有的統一模型,并在各領域中表現出與專用模型媲美甚至更優的性能。
- 模型簡化:無需復雜的架構修改,即可在統一框架內有效訓練,提升效率和通用性。
JanusFlow
本節介紹 JanusFlow 的架構以及我們的訓練策略。
背景
多模態大語言模型(MLLMs)
多模態理解與生成的統一框架
JanusFlow 提供了一個統一的框架,用于處理視覺理解和圖像生成任務。以下概述了 JanusFlow 如何在單一 LLM 架構中處理這兩類任務。
多模態理解
訓練方案
如下圖 3 所示,分三個階段依次訓練模型,具體如下。
階段 1:隨機初始化組件的適配
在第一階段,我們僅訓練隨機初始化的組件,包括線性層、生成編碼器和生成解碼器。這一階段旨在使這些新模塊與預訓練的 LLM 和 SigLIP 編碼器有效配合,實質上是為新引入的組件進行初始化。
階段 2:統一預訓練
在適配階段之后,我們訓練整個模型,但不包括視覺編碼器,與先前方法一致 [57, 63]。訓練數據包括三種類型:多模態理解、圖像生成和僅文本數據。最初分配較高比例的多模態理解數據,以建立模型的理解能力。隨后逐步增加圖像生成數據的比例,以滿足基于擴散模型的收斂需求。
階段 3:監督微調(SFT) 最后階段,使用指令調優數據對預訓練模型進行微調,包括對話、任務特定的交流以及高質量的文本條件圖像生成示例。在此階段,還解凍 SigLIP 編碼器參數。這一微調過程使模型能夠有效響應用戶指令,完成多模態理解和圖像生成任務。
訓練目標
實驗
研究者們進行了一系列實驗,以評估 JanusFlow 在多模態理解和生成任務中的能力。首先,我們描述了我們的實驗設置和實現細節。然后,展示了在多模態理解和圖像生成的標準基準上的結果。最后,進行了一些消融實驗,以驗證關鍵設計選擇。
實驗設置和實現細節
本文的框架基于 DeepSeek-LLM(1.3B)的增強版。LLM 由 24 個變換器塊組成,支持序列長度為 4,096。在本文的模型中,理解和生成任務都使用分辨率為 384 的圖像。
對于數據預處理,分別處理理解和生成數據。對于理解任務,通過將長邊調整為目標大小,并將圖像填充為正方形來保持所有圖像信息。對于生成任務,將短邊調整為目標大小,并應用隨機方形裁剪,以避免填充偽影。在訓練過程中,為提高訓練效率,將多個序列打包成一個長度為 4,096 的單一序列。
實現基于 HAI-LLM 平臺,使用 PyTorch。訓練是在 NVIDIA A100 GPU 上進行的,每個模型需要約 1,600 A100 GPU 天。
訓練數據設置
遵循 Janus 構建訓練數據。每個訓練階段的數據配置如下。
階段 1 和階段 2 的數據
本文框架的前兩個階段使用三種類型的數據:多模態理解數據、圖像生成數據和僅文本數據。
- 多模態理解數據。此類數據包含幾個子類別:
- (a) 圖像描述數據。結合了來自 [20, 41, 50, 51, 53, 79] 的描述數據集,并使用開源多模態理解模型為來自 [16, 43] 的圖像生成附加描述。數據遵循模板格式,例如:“<image>生成此圖片的描述。<caption>”。
- (b) 圖表和表格。直接采用來自 DeepSeek-VL 訓練數據的圖表和表格數據。
- (c) 任務數據。使用 ShareGPT4V 數據,以促進預訓練期間的基本問答能力,數據結構為:“<image><question><answer>”。
- (d) 交替文本-圖像數據。此子類別來源于 [42, 81]。
- 圖像生成數據。圖像生成數據集結合了來自 [16, 21, 41, 43, 67, 69, 79, 82] 的高質量圖像和 200 萬個內部數據。我們使用多模態理解模型增強它們,生成機器生成的描述。篩選了來自 [16, 79] 的圖像,按縱橫比和美學評分進行過濾,保留約 20% 的原始數據集。25% 的數據包含單句描述,這類數據幫助模型能夠處理簡短的提示。所有數據點格式為:“<prompt><image>”。
- 僅文本數據。直接使用 DeepSeek-LLM的文本語料庫。
階段 3 的數據SFT 階段同樣使用三種類型的數據:
- 多模態指令數據。利用來自 [29, 33, 35, 47, 64, 78] 的指令調優數據集。
- 圖像生成數據。將來自 [16, 79, 82] 的高質量文本-圖像對重新格式化為指令格式:“User:<user prompt>\n\n Assistant:<image>”。
- 僅文本數據。直接合并了來自 [47] 的僅文本數據。
評估設置
圖像生成
使用視覺質量和語義準確性指標來評估生成的圖像。對于視覺質量評估,采用 Fréchet Inception DistanceFID)指標,并計算 30,000 張生成圖像與其對應的來自 MJHQ 數據集的參考圖像之間的 FID。FID 的計算遵循 GigaGAN的實現。為了評估語義準確性,使用兩個專門的框架:GenEval和 DPG-Bench。這些框架旨在評估生成的圖像是否準確包含了輸入提示中指定的對象和關系,從而提供廣泛的生成能力評估。
多模態理解通過一系列多樣化的視覺-語言基準測試來評估 JanusFlow 的多模態理解能力,這些基準測試涉及一般的理解能力,包括 POPE、MME、MMBench、SEEDBench、VQAv2、GQA、MM-Vet 和 MMMU。
定量結果
圖像生成性能本文報告了在 GenEval、DPG-Bench 和 MJHQ FID-30k 上的性能。在下表 2 中,給出了 GenEval 的比較,包括所有子任務的分數和總體分數。JanusFlow 在總體得分上達到了 0.63,超過了之前的統一框架以及多個生成特定模型,包括 SDXL 和 DALL-E 2。在下表 3 中,展示了 DPG-Bench 上的結果及其相應的比較。需要注意的是,表 3 中的所有方法都是生成特定模型,除了本文的模型之外。GenEval 和 DPG-Bench 上的結果展示了本文模型的指令跟隨能力。
在下表 4 中給出了 MJHQ FID-30k 的比較。計算 FID 的圖像是通過 CFG 因子 ?? = 2 和采樣步數 30 生成的。對 CFG 因子和采樣步數進行了掃頻。本文的方法在所有 1.3B LLM 模型中表現最好。結果證明,Rectified Flow能夠改善生成圖像的質量,優于自回歸模型,如 Janus。
多模態理解性能
在下表 5 中展示了我們的方法與其他方法的比較,包括理解特定模型和統一的理解與生成模型。我們的模型在所有具有相似參數數量的模型中達到了最佳性能,甚至超過了多個規模更大的理解特定方法。我們的結果表明,我們的方法協調了自回歸 LLM 和Rectified Flow,在理解和生成任務中都取得了令人滿意的表現。
消融研究
本文進行了全面的消融研究,以驗證關鍵設計選擇的有效性。為了提高計算效率,所有消融實驗均在 256 × 256 分辨率的圖像上進行。除理解-only 和生成-only 變體外,所有模型均在我們的統一預訓練數據集上訓練了 50,000 次迭代,而理解-only 和生成-only 變體則根據其在預訓練階段的數據比例進行了相應較少的訓練迭代。這些消融研究的定量結果見下表 6。
表示對齊的影響
視覺編碼器解耦的影響通過 Exp. B、C 和 F 之間的比較驗證了使用強大預訓練視覺編碼器在多模態理解中的有效性。在 Exp. B 中,采用類似 Transfusion 的設計,在 SDXL-VAE 潛在空間中為理解和生成編碼器實現了共享的 ConvNeXt 塊。Exp. C 則使用獨立的編碼器,架構和初始化參數相同,但進行了獨立訓練。不同配置之間的性能差異驗證了在改進我們統一模型能力方面解耦視覺編碼器的必要性。此外,Exp. C 和 F 中的優越結果突出了利用預訓練語義視覺編碼器進行多模態理解任務的好處。
與理解/生成-only 模型的公平比較
為了建立有意義的基準,評估了在相同條件下訓練的任務特定模型——使用相同的預訓練數據集、基礎設施和超參數。Exp. D 和 E 代表了這些專門的模型,它們使用與統一模型相匹配的數據量進行了訓練,如前面表 6 所示。Exp. F 與這些任務特定基線之間的最小性能差距表明,本文的統一框架成功地將理解和生成能力集成在一起,且不會在任何任務的性能上造成顯著的妥協。
定性結果
本文展示了 JanusFlow 方法在圖像生成和理解任務上的定性評估。下圖 1(b) 和圖 4 展示了 JanusFlow 在圖像生成方面的能力。這些結果展示了我們生成的圖像在視覺質量上的優越性,并且證明了我們的框架能夠忠實地執行各種指令。
在多模態理解方面,下圖 5 展示了示例對話,展示了我們的模型在不同場景下的理解能力。這些互動展示了模型在自然語言對話中理解和推理視覺內容的能力。
結論
本文提出了 JanusFlow,一種成功地將自回歸模型和Rectified Flow模型融合的統一框架,適用于多模態理解和生成任務。廣泛的實驗表明,這種統一方法在性能上與任務特定模型相當。成功整合這兩種根本不同的模型架構,不僅解決了當前多模態學習中的挑戰,還為未來訓練統一模型的研究開辟了新的可能性。
本文轉自AI生成未來 ,作者:AI生成未來
