Vary-toy:開源的小型視覺多模態模型

AI工具8個月前發佈新公告 AI管理員
9 0

Vary-toy是什麼

Vary-toy是一個小型的視覺語言模型(LVLM),由來自曠視、國科大、華中大的研究人員共同提出,旨在解決大型視覺語言模型(LVLMs)在訓練和部署上的挑戰。對於資源有限的研究者來說,大型模型通常擁有數十億參數,難以在消費級GPU上(如GTX 1080Ti)進行訓練和部署。Vary-toy的核心目標便是讓研究人員能夠在有限的硬件資源下,體驗到當前LVLMs的所有功能(文檔OCR、視覺定位、圖像描述、視覺文答等)。

Vary-toy:開源的小型視覺多模態模型

Vary-toy的主要功能

  • 文檔級光學字符識別(OCR):Vary-toy能夠識別和理解文檔圖像中的文字,這在處理掃描文檔、PDF文件等場景中非常有用。
  • 圖像描述:模型能夠生成圖像的描述性文本,這對於圖像內容的理解和生成圖像描述任務(如VQA)至關重要。
  • 視覺問答(VQA):Vary-toy能夠回答關於圖像內容的問題,這涉及到理解圖像的視覺信息以及與之相關的文本信息。
  • 對象檢測:通過強化的視覺詞彙,Vary-toy具備了自然對象感知(定位)的能力,能夠在圖像中識別和定位物體。
  • 圖像到文本的轉換:Vary-toy可以將圖像內容轉換爲結構化的文本格式,例如將PDF圖像轉換爲Markdown格式。
  • 多模態對話:Vary-toy模型支持多模態對話,能夠理解和生成與圖像內容相關的對話。

Vary-toy:開源的小型視覺多模態模型

Vary-toy的官方入口

  • 官方項目主頁:https://varytoy.github.io/
  • Arxiv研究論文:https://arxiv.org/abs/2401.12503
  • Demo運行地址:https://vary.xiaomy.net/
  • GitHub代碼庫:https://github.com/Ucas-HaoranWei/Vary-toy

Vary-toy的技術原理

Vary-toy的工作原理基於幾個關鍵的技術和設計決策,這些決策共同作用於提高模型在視覺語言任務上的性能,同時保持模型的小型化。以下是Vary-toy工作原理的主要組成部分:

  1. 視覺詞彙生成:Vary-toy利用一個小型的自迴歸模型(OPT-125M)來生成新的視覺詞彙網絡。這個網絡通過處理PDF圖像文本對和自然圖像中的對象檢測數據來學習如何有效地編碼視覺信息。與傳統的Vary模型相比,Vary-toy在生成視覺詞彙時,不再將自然圖像作爲負樣本,而是將其視爲正樣本,從而更充分地利用網絡的容量。
  2. 視覺詞彙與CLIP的融合:在生成新的視覺詞彙後,Vary-toy將其與原始的CLIP(Contrastive Language-Image Pre-training)模型相結合。CLIP是一個強大的視覺-語言模型,能夠將圖像和文本映射到共享的嵌入空間。通過這種方式,Vary-toy能夠利用CLIP的圖像理解能力,同時通過新的視覺詞彙網絡增強對文本信息的處理。
  3. 多任務預訓練:Vary-toy在預訓練階段採用了多任務學習策略,這意味着模型在訓練過程中同時處理多種類型的數據,如圖像描述、PDF OCR、對象檢測、純文本對話和視覺問答(VQA)。這種多任務訓練有助於模型學習更豐富的視覺和語言表示,提高其在各種下游任務上的泛化能力。
  4. 模型結構:Vary-toy遵循Vary的管道設計,但在結構上有所調整。當輸入圖像時,新的視覺詞彙分支會將圖像調整到1024×1024的分辨率,而CLIP分支則通過中心裁剪獲取224×224的圖像。兩個分支輸出的圖像特徵被合併,作爲輸入到1.8B參數的Qwen-1.8B語言模型中。
  5. 數據輸入格式:爲了適應不同的任務,Vary-toy需要處理多種輸入格式。例如,對於PDF圖像-文本對,模型使用了一個特定的提示(如“Provide the OCR results of this image.”)來指導輸出正確的結果。對於對象檢測任務,模型使用不同的提示模板來處理圖像中的多個對象。
  6. 微調(SFT):在預訓練之後,Vary-toy通過指令調優(SFT)階段進一步優化模型。這個階段使用LLaVA-80K數據集,這是一個包含詳細描述和提示的圖像數據集,由GPT4生成。這有助於模型更好地理解和生成與圖像內容相關的文本。

通過這些工作機制,Vary-toy能夠在保持模型小型化的同時,實現對複雜視覺語言任務的有效處理。這種設計使得Vary-toy成爲一個在資源受限環境中進行視覺語言研究的有力工具。

如何使用Vary-toy

  1. 訪問Vary-toy的官方demo體驗地址(vary.xiaomy.net)
  2. 點擊上傳一張圖片或者在左側選擇示例圖片
  3. 輸入提示指令如描述圖像內容、檢測圖像中的物體等
  4. 等待模型生成結果即可
© 版權聲明

相關文章

暫無評論

暫無評論...