炸裂!Deepseek-Janus-Pro能識別圖片地址、看圖講故事
一、Janus-Pro能做5種任務
1.1 圖片描述
1.2 地點識別
1.3 背景推理
1.4 OCR文字識別
1.5 文圖生成
二、Janus-Pro原理
- Janus-Pro的核心設計原則采用自回歸框架,通過解耦視覺編碼,解決多模態理解和生成任務之間的沖突。
- 通過獨立的編碼方法將原始輸入轉換為特征,然后由統一的自回歸變換器進行處理。
- 對于多模態理解任務,使用SigLIP編碼器從圖像中提取高維語義特征,并將其展平為一維序列,通過理解適配器將圖像特征映射到語言模型的輸入空間。
- 對于視覺生成任務,使用VQ標記器將圖像轉換為離散ID,將ID序列展平為一維后,通過生成適配器-將每個ID對應的碼本嵌入映射到語言模型的輸入空間。
- 然后將這些特征序列拼接形成多模態特征序列,輸入到語言模型中進行處理。
- 例如,在多模態理解任務中,模型可以準確識別圖像中的物體、場景和事件,并生成相應的描述。
- 在視覺生成任務中,模型可以根據給定的文本提示生成高質量的圖像。
- 例如,給定提示?
?一個在陽光下盛開的向日葵,上面有一只蜜蜂?
?,Janus-Pro能夠生成一幅展示向日葵和蜜蜂的圖像,其中蜜蜂的翅膀在陽光下閃閃發光,細節豐富且具有美感。
三、模型架構
- Janus-Pro 是一個統一的理解和生成 MLLM,它解耦了視覺編碼,以實現多模態理解和生成。
- Janus-Pro 基于 DeepSeek-LLM-1.5b-base/DeepSeek-LLM-7b-base 構建。
- 對于多模態理解,它使用 SigLIP-Large-Patch16-384 作為視覺編碼器,支持 384 x 384 圖像輸入,生成編碼器的碼本大小為16384,圖像下采樣因子為16。
- 理解適配器和生成適配器均為兩層MLP。
- 對于圖像生成,Janus-Pro 使用此處的分詞器,下采樣率為 16。
四、訓練技巧
Janus-Pro的訓練過程分為三個階段。
- 在第一階段,主要訓練適配器和圖像頭部。
- 通過增加訓練步數,使模型能夠在固定語言模型參數的情況下,通過ImageNet數據集有效建模像素依賴關系,生成合理圖像。
- 在第二階段,預訓練文本到圖像。
- Janus-Pro去掉了ImageNet數據,增加了約9000萬樣本,包括圖像字幕數據集(如YFCC)以及用于表格、圖表和文檔理解的數據(如Docmatix),使用普通文本到圖像數據進行訓練,提高了訓練效率。
- 在第三階段,監督微調。
- Janus-Pro調整了不同類型數據的比例,將多模態數據、純文本數據和文本到圖像數據的比例從7:3:10調整為5:1:4,從而在保持強大視覺生成能力的同時,提升了多模態理解性能。
- 在多模態理解數據中,將圖像的長邊調整到384像素,短邊用背景顏色填充至384像素。
- 在視覺生成數據中,將圖像的短邊調整到384像素,長邊裁剪至384像素。
- 通過序列打包技術提高訓練效率,并在單個訓練步驟中按照指定比例混合所有數據類型。
??https://github.com/deepseek-ai/Janus??
??https://hf-mirror.com/deepseek-ai/Janus-Pro-7B??
??https://bgithub.xyz/deepseek-i/Janus/blob/main/janus_pro_tech_report.pdf??
本文轉載自?? CourseAI??,作者: CourseAI
贊
收藏
回復
分享
微博
QQ
微信
舉報

回復
相關推薦