多模態大模型數據構造方法 原創
?本文將以LLaVA和MiniGPT-4為例介紹多模態大模型數據構造的方式。
數據質量是決定多模態模型性能的關鍵因素。高質量的數據能夠減少噪聲干擾,提高模型的學習和預測準確性。同時多模態數據的多樣性直接影響模型的泛化能力。一個包含豐富多樣數據的集合能夠訓練出更加健壯的模型,使其能夠在不同的應用場景中表現良好。
本文以LLaVA和MiniGPT-4為例,介紹相關多模態數據的構造過程,給大家在訓練或者微調自己的多模態模型提供思路。
LLava數據構造
LLaVA利用圖文對創建了兩個數據集:簡單的對話數據集(低質量,數據量大,標注成本低),復雜的對話數據集(高質量,數據量小,標注成本高)。
- 簡單的圖文對對話數據。首先利用已有的圖文對數據集(圖片+對應描述caption),然后利用ChatGPT生成不同的提問方式(描述該圖),并將caption作為問題的答案:
"Describe the image concisely."
"Provide a brief description of the given image."
"Offer a succinct explanation of the picture presented."
"Summarize the visual content of the image."
"Give a short and clear explanation of the subsequent image."
"Share a concise interpretation of the image provided."
"Present a compact description of the photo’s key features."
"Relay a brief, clear account of the picture shown."
"Render a clear and concise summary of the photo."
"Write a terse but informative summary of the picture."
"Create a compact narrative representing the image presented."
- 更復雜的圖文對對話數據。為了生成多輪對話數據并提高訓練數據的多樣性。為了使用ChatGPT成帶圖片的多輪對話數據,作者使用目標檢測將圖片變成ChatGPT可以讀懂的圖片描述,如下圖所示,更定更加精確的坐標信息等:
MiniGPT-4數據構造
MiniGPT-4細致構建了一個專為對齊任務設計的優質圖像與文本數據集,以微調MiniGPT-4模型。在第一階段,圖像與文本的初始對齊是通過使用第一個預訓練階段得到的模型來完成的,該模型能夠為給定的圖像生成詳盡的描述。
首先設置了一個通用的問答對話模版:
###Human: <Img><ImageFeature></Img> Describe this image in detail. Give as many details as possible. Say everything you see. ###Assistant:
其中,<ImageFeature>是指由線性投影層產生的視覺特征。為了識別不完整的句子,檢查生成的句子是否超過80個tokens。如果沒有,會添加一個額外的提示:
###Human: Continue ###Assistant:
此外,由于生成的圖像描述中存在諸多問題,如噪聲較多、錯誤頻出(包括單詞或句子的重復)以及陳述不連貫等,為了解決這些問題,我們采用了ChatGPT,并借助特定的提示來優化和完善這些描述。
修正給定段落中的錯誤。刪除任何重復的句子、無意義的字符、非英語句子等等。刪除不必要的重復。重寫任何不完整的句子。直接返回結果,無需解釋。如果輸入的段落已經正確,則直接返回該段落,無需解釋。
Fix the error in the given paragraph. Remove any repeating sentences, meaningless characters, not English sentences, and so on. Remove unnecessary repetition. Rewrite any incomplete sentences. Return directly the results without explanation. Return directly the input paragraph if it is already correct without explanation.
在上述后處理步驟完成后,要對每張圖像的描述進行細致人工審核,以確保其達到高標準的質量。具體而言,逐個檢查生成的圖像描述是否符合預期的格式,并對ChatGPT未能識別的冗余詞匯或句子進行了手動編輯和潤色,即可用來進行第一階段的訓練。
在第二階段微調時,使用以下模板中預定義的提示:
###Human: <Img><ImageFeature></Img> <Instruction> ###Assistant:
在此提示中,<Instruction>表示從預定義的指令集中隨機采樣的指令,其中包含各種形式的指令,如“詳細描述此圖像”或“您能為我描述此圖像的內容嗎”。
?
文轉載自公眾號瓦力算法學研所,作者:喜歡瓦力的卷卷
