DeepSeek多模態(tài)大模型Janus、Janus-Pro模型架構(gòu)及優(yōu)化方法淺談 原創(chuàng)
deepseek開源的多模態(tài)大模型-Janus再次升級,也來簡單看下Janus的架構(gòu)設(shè)計。核心創(chuàng)新點:傳統(tǒng)的多模態(tài)模型通常使用單一視覺編碼器來處理多模態(tài)理解和生成任務(wù),這會導(dǎo)致任務(wù)之間的沖突,因為這兩種任務(wù)對視覺信息的需求粒度不同。Janus 通過將視覺編碼解耦為獨立的路徑,分別處理多模態(tài)理解和生成任務(wù),使兩個任務(wù)得到統(tǒng)一,并取得了比較好的性能。
- 多模態(tài)理解:使用 SigLIP 編碼器提取圖像的高級語義信息,適合理解任務(wù)。
- 視覺生成:使用 VQ Tokenizer 或 LlamaGen Tokenizer 提取圖像的細節(jié)信息,適合生成任務(wù)。
方法架構(gòu)
文本理解路徑直接通過 LLM 的分詞器處理。 多模態(tài)理解路徑通過 SigLIP 編碼器和理解適配器處理。 視覺生成路徑通過 VQ Tokenizer 和生成適配器處理。 所有路徑的特征序列最終被拼接并輸入到統(tǒng)一的 Transformer 中進行處理
Janus 的架構(gòu)設(shè)計:
- 文本理解:使用語言模型(LLM)自帶的分詞器將文本轉(zhuǎn)換為離散 ID,并獲取對應(yīng)的特征表示。
- 多模態(tài)理解:使用 SigLIP 編碼器從圖像中提取高維語義特征,然后通過理解適配器(Und. Adaptor)將這些特征映射到 LLM 的輸入空間。
- 視覺生成:使用 VQ Tokenizer 將圖像轉(zhuǎn)換為離散 ID,然后通過生成適配器(Gen. Adaptor)將這些 ID 映射到 LLM 的輸入空間。
將上述特征序列拼接后輸入到統(tǒng)一的自回歸 Transformer 中進行處理。
訓(xùn)練過程
訓(xùn)練過程
- 第一階段:訓(xùn)練適配器和圖像頭
在嵌入空間內(nèi)創(chuàng)建視覺和語言元素之間的概念聯(lián)系,使 LLM(語言模型)能夠理解圖像中顯示的實體(讓LLM學(xué)會將SigLIP特征與實體名詞關(guān)聯(lián)),并具備初步的視覺生成能力。方法:凍結(jié)視覺編碼器和 LLM,只更新理解適配器、生成適配器和圖像頭中的可訓(xùn)練參數(shù)。這一階段主要關(guān)注于讓模型學(xué)會如何將視覺信息和語言信息進行初步的融合和理解。 - 第二階段:統(tǒng)一預(yù)訓(xùn)練
通過多模態(tài)語料庫的訓(xùn)練,讓 Janus 能夠同時學(xué)習(xí)多模態(tài)理解和生成任務(wù)。方法:解凍 LLM,訓(xùn)練除了encoder的所有部分,并利用多種類型的訓(xùn)練數(shù)據(jù),包括純文本數(shù)據(jù)、多模態(tài)理解數(shù)據(jù)和視覺生成數(shù)據(jù)。受 Pixart 的啟發(fā),首先使用 ImageNet-1k 數(shù)據(jù)集進行簡單的視覺生成訓(xùn)練,幫助模型掌握基本的像素依賴性。 隨后,使用通用的文本到圖像數(shù)據(jù)增強模型的開放域視覺生成能力。 這一階段的訓(xùn)練數(shù)據(jù)包括純文本數(shù)據(jù)、多模態(tài)理解數(shù)據(jù)(如 WikiHow 和 WIT 數(shù)據(jù)集)和視覺生成數(shù)據(jù)(如 ImageNet-1k 和其他圖像-標題對數(shù)據(jù))。 - 第三階段:監(jiān)督微調(diào)
通過指令調(diào)整數(shù)據(jù)對預(yù)訓(xùn)練模型進行微調(diào),增強其指令跟隨和對話能力。方法: 微調(diào)除生成編碼器(繼續(xù)凍結(jié)生成編碼器)之外的所有參數(shù)。 專注于監(jiān)督答案,同時屏蔽系統(tǒng)和用戶提示。 使用混合數(shù)據(jù)進行微調(diào),包括純文本對話數(shù)據(jù)、多模態(tài)理解數(shù)據(jù)和視覺生成數(shù)據(jù),確保模型在各種場景下的多功能性。
Janus-Pro
Janus-Pro的網(wǎng)絡(luò)結(jié)構(gòu)和Janus基本一致,主要的改進點是在訓(xùn)練策略、數(shù)據(jù)、模型大小上。
訓(xùn)練改進
三個階段訓(xùn)練過程改進:
- 第一階段:增加了在ImageNet數(shù)據(jù)集上的訓(xùn)練步數(shù),即使在固定LLM參數(shù)的情況下,模型也能有效建模像素依賴關(guān)系,并基于類別名稱生成合理圖像。
- 第二階段:去掉了ImageNet數(shù)據(jù),直接使用正常的文本到圖像數(shù)據(jù)進行訓(xùn)練,使模型能夠根據(jù)密集描述生成圖像。這種重新設(shè)計的方法提高了訓(xùn)練效率和整體性能。
- 第三階段:在監(jiān)督微調(diào)過程中,調(diào)整了不同類型數(shù)據(jù)的比例,將多模態(tài)數(shù)據(jù)、純文本數(shù)據(jù)和文本到圖像數(shù)據(jù)的比例從7:3:10調(diào)整為5:1:4。這種調(diào)整在保持視覺生成能力的同時,提高了多模態(tài)理解性能。
數(shù)據(jù)擴展
Janus-Pro在多模態(tài)理解和視覺生成方面擴展了訓(xùn)練數(shù)據(jù):
1、多模態(tài)理解
- 在第二階段預(yù)訓(xùn)練數(shù)據(jù)中,參考DeepSeekVL2,增加了約9000萬樣本,包括圖像字幕數(shù)據(jù)集(如YFCC)以及表格、圖表和文檔理解數(shù)據(jù)(如Docmatix)。
- 在第三階段監(jiān)督微調(diào)數(shù)據(jù)中,加入了DeepSeek-VL2中的額外數(shù)據(jù)集,如MEME理解、中文對話數(shù)據(jù)和增強對話體驗的數(shù)據(jù)集。
2、視覺生成
觀察到Janus中使用的現(xiàn)實世界數(shù)據(jù)質(zhì)量較低且噪聲較大,導(dǎo)致文本到圖像生成不穩(wěn)定。Janus-Pro加入了約7200萬合成美學(xué)數(shù)據(jù)樣本,使現(xiàn)實數(shù)據(jù)與合成數(shù)據(jù)的比例達到1:1。這些合成數(shù)據(jù)的提示是公開可用的,實驗表明,模型在合成數(shù)據(jù)上訓(xùn)練時收斂更快,生成的文本到圖像輸出不僅更穩(wěn)定,而且美學(xué)質(zhì)量顯著提高。
模型擴展
Janus-Pro將模型規(guī)模從1.5B擴展到7B,驗證了解耦視覺編碼方法的可擴展性。使用更大的LLM時,多模態(tài)理解和視覺生成的損失收斂速度顯著提高。進一步證明了解耦視覺編碼方法的可擴展性。
實驗
參考文獻
- janus:Janus:DecouplingVisualEncoding for Unified Multimodal Understanding and Generation,https://arxiv.org/pdf/2410.13848
- janus_pro:https://github.com/deepseek-ai/Janus/blob/main/janus_pro_tech_report.pdf
本文轉(zhuǎn)載自公眾號大模型自然語言處理 作者:余俊暉
