【MM-LLM系列】Chinese LLaVA 開源中英文雙語視覺-語言多模態(tài)模型
作者:黃文灝
原文地址:https://zhuanlan.zhihu.com/p/647777504
類型: 技術(shù)分享
本文為 @黃文灝 原創(chuàng)轉(zhuǎn)載!如有侵權(quán),麻煩告知刪除!
新開的【MM-LLM系列】是對多模態(tài)大模型相關(guān)工作的一些思考和總結(jié)。LLM就目前國內(nèi)追趕的GPT3.5的目標來看已經(jīng)是比較確定性的路徑了(別說GPT4,國內(nèi)先把10000張卡連起來訓(xùn)練做好了再說)。多模態(tài)大模型方向還是比較多樣化的,也是決定未來模型高度的關(guān)鍵因素,探索起來也更有意思一些。
介紹一個用LLaMA2中文微調(diào)模型作為中文語言模型底座,加上圖片理解能力的工作Chinese LLaVA。該工作follow LLaVA的結(jié)構(gòu)使用中文數(shù)據(jù)做了兩階段訓(xùn)練。第一階段pretrain from feature alignment,第二階段end-to-end finetuning。
LinkSoul-AI/Chinese-LLaVA
https://github.com/LinkSoul-AI/Chinese-LLaVA
LinkSoul/Chinese-LLaVa
https://huggingface.co/spaces/LinkSoul/Chinese-LLaVa
LLaVA簡介
論文地址:https://https://arxiv.org/pdf/2304.08485.pdf5.pdf
論文名稱:Visual Instruction Tuning
數(shù)據(jù)集準備
LLaVA針對不同的任務(wù),提出了構(gòu)建instruction-following data的方法。為了讓語言模型理解圖片,首先,通過對圖片進行caption,并識別出圖片中的所有box,將兩部分信息通過不同的prompt通過GPT生成Conversation、Detailed description、Complex reasoning任務(wù)類型的instruction-following data。數(shù)據(jù)如下圖所示:
作者一共收集了158K instruction-following文本圖像對數(shù)據(jù), 包含58K in conversations, 23K in detailed description, 77k in complex reasoning。
模型結(jié)構(gòu)如下圖所示,對于輸入圖像 X_v,本文使用預(yù)訓(xùn)練的 CLIP 視覺編碼器 ViT-L/14 進行處理,得到視覺特征 Z_v=g (X_v)。實驗中使用的是最后一個 Transformer 層之前和之后的網(wǎng)絡(luò)特征。作者使用一個簡單的線性層來將圖像特征連接到單詞嵌入空間中。具體而言,應(yīng)用可訓(xùn)練投影矩陣 W 將 Z_v 轉(zhuǎn)換為語言嵌入標記 H_v,H_v 具有與語言模型中的單詞嵌入空間相同的維度:

之后,得到一系列視覺標記 H_v。這種簡單投影方案具有輕量級、成本低等特點,能夠快速迭代以數(shù)據(jù)為中心的實驗。也可以考慮連接圖像和語言特征的更復(fù)雜(但昂貴)的方案,例如 Flamingo 中的門控交叉注意力機制和 BLIP-2 中的 Q-former,或者提供對象級特征的其他視覺編碼器,如 SAM。
具體訓(xùn)練分為兩個階段
pretrain from feature alignment
從CC3M中選取595K image-text pairs,并用上述數(shù)據(jù)構(gòu)造方法生成instruction-following data,把 image-text pair 看作是單輪的對話形式,Xq 從設(shè)計的問題形式中隨機選取。
具體的:freeze 視覺編碼器和 LLM 的權(quán)重,訓(xùn)練變換矩陣(linear layer) W
end-to-end finetuning
freeze視覺編碼器,fine-tuning預(yù)訓(xùn)練的變換矩陣 W 和LLM
Chinese LLaVA
這個工作基于之前的Chinese-Llama-2-7b的工作,給語言模型加入了視覺理解的能力。模型開源且可商用,可以用來做一些中文的視覺-語言任務(wù)。
LinkSoul-AI/Chinese-Llama-2-7b
https://github.com/LinkSoul-AI/Chinese-Llama-2-7b
作者在模型結(jié)構(gòu)沒有對LLaVA做任何改變,主要是將數(shù)據(jù)從英文轉(zhuǎn)成了中文。根據(jù)huggingface上的信息,數(shù)據(jù)集還在整理中。
LinkSoul/Chinese-LLaVA-Vision-Instructions
https://huggingface.co/datasets/LinkSoul/Chinese-LLaVA-Vision-Instructions
實際案例
可以直接在huggingface space試玩
LinkSoul/Chinese-LLaVa
https://huggingface.co/spaces/LinkSoul/Chinese-LLaVa
下面是一些嘗試的case




整體來說,這個多模態(tài)視覺語言模型給大家展示了用開源語言模型,快速增加中文能力和視覺理解能力的的方法,模型在簡單場景下表現(xiàn)不錯。在商用場景上,模型允許完全免費商用,這對于國內(nèi)個人開發(fā)者和初創(chuàng)公司會有很大價值。

