我們知道,預訓練LLM已經取得了諸多驚人的成就, 然而其明顯的劣勢是不支持其他模態(包括圖像、語音、視頻模態)的輸入和輸出,那么如何在預訓練LLM的基礎上引入跨模態的信息,讓其變得更強大、更通用呢?本節將介紹“大模型+多模態”的3種實現方法。
01
以LLM為核心,調用其他多模態組件
2023年5月,微軟亞洲研究院(MSRA)聯合浙江大學發布了HuggingGPT框架,該框架能夠以LLM為核心,調用其他的多模態組件來合作完成復雜的AI任務(更多細節可參見Yongliang Shen等人發表的論文“HuggingGPT: Solving AI Tasks with ChatGPT and its Friends in HuggingFace”)。HuggingGPT框架的原理示意圖如圖1所示。下面根據論文中提到的示例來一步一步地拆解 HuggingGPT框架的執行過程。
圖1
假如現在你要執行這樣一個復雜的AI任務:生成一張一個小女孩正在讀書的照片,要求她的姿勢和示例照片中的小男孩的姿勢相同,然后用你的聲音來描述新生成的照片。HuggingGPT框架把執行這個復雜AI任務的過程分成了4個步驟。
(1)任務規劃(Task Planning)。使用LLM了解用戶的意圖,并將用戶的意圖拆分為詳細的執行步驟。如圖5-10左上部分所示,將輸入指令拆分為6個子步驟。
子步驟1:根據小男孩的圖像Image-1,生成小男孩的姿勢輪廓Image-2。
子步驟 2:根據提示文本“小女孩正在讀書”及小男孩的姿勢輪廓Image-2生成小女孩的圖像Image-3。
子步驟3:根據小女孩的圖像Image-3,對圖像信息進行分類。
子步驟4:根據小女孩的圖像Image-3,對圖像信息進行目標檢測,生成帶目標框的圖像Image-4。
子步驟5:根據小女孩的圖像Image-3,對圖像信息進行描述,生成描述文本,并在Image-4中完成目標框和描述文本的配對。
子步驟6:根據描述文本生成語音Audio-1。
(2)模型選擇(Model Selection)。根據步驟(1)中拆分的不同子步驟,從Hugging Face平臺(一個包含多個模型的開源平臺)中選取最合適的模型。對于子步驟1中的輪廓生成任務,選取OpenCV的openpose control模型;對于子步驟2中的圖像生成任務,選取sd-controlnet-openpose模型;對于子步驟3中的圖像分類任務,選取谷歌的vit-base-patch16-224模型;對于子步驟4中的目標檢測任務,選取Facebook的detr-resnet-101模型;對于子步驟5中的圖像描述任務,選取nlpconnect開源項目的vit-gpt2-Image-captioning模型;對于子步驟6中的語音生成任務,選取Facebook的fastspeech2-en- ljspeech模型。
(3)任務執行(Task Execution)。調用步驟(2)中選定的各個模型依次執行,并將執行的結果返回給LLM。
(4)響應生成(Response Generation)。使用LLM對步驟(3)中各個模型返回的結果進行整合,得到最終的結果并進行輸出。
HuggingGPT框架能夠以LLM為核心,并智能調用其他多模態組件來處理復雜的AI任務,原理簡單,使用方便,可擴展性強。另外,其執行效率和穩定性在未來有待進一步加強。
02
基于多模態對齊數據訓練多模態大模型
這種方法是直接利用多模態的對齊數據來訓練多模態大模型,《多模態大模型:技術原理與實戰》一書5.3節中介紹了諸多模型,例如VideoBERT、CLIP、CoCa、CoDi等都是基于這種思路實現的。
這種方法的核心理念是分別構建多個單模態編碼器,得到各自的特征向量,然后基于類Transformer對各個模態的特征進行交互和融合,實現在多模態的語義空間對齊。
由此訓練得到的多模態大模型具備很強的泛化能力和小樣本、零樣本推理能力,這得益于大規模的多模態對齊的預訓練語料。與此同時,由于訓練參數量較大,往往需要較多的訓練資源和較長的訓練時長。
03
以LLM為底座模型,訓練跨模態編碼器
這種方法的特色是以預訓練好的LLM為底座模型,凍結LLM的大部分參數來訓練跨模態編碼器,既能夠有效地利用LLM強大的自然語言理解和推理能力,又能完成復雜的多模態任務。這種訓練方法還有一個顯而易見的好處,在訓練過程中對LLM的大部分參數進行了凍結,導致模型可訓練的參數量遠遠小于真正的多模態大模型,因此其訓練時長較短,對訓練資源的要求也不高。下面以多模態大模型LLaVA為例介紹這種方法的主要構建流程。
2023年4月,威斯康星大學麥迪遜分校等機構聯合發布了多模態大模型LLaVA。LLaVA模型在視覺問答、圖像描述、物體識別、多輪對話等任務中表現得極其出色,一方面具有強大的自然語言理解和自然語言推理能力,能夠準確地理解用戶輸入的指令和意圖,支持以多輪對話的方式與用戶進行交流,另一方面能夠很好地理解輸入圖像的語義信息,準確地完成圖像描述、視覺問答、物體識別等多模態任務。LLaVA模型的原理示意圖如圖2所示。
圖2
在訓練數據上,LLaVA模型使用了高質量的多模態指令數據集,并且這些數據都是通過GPT-4生成的。這個指令數據集包含基于圖像的對話數據、詳細描述數據和復雜推理數據,共15萬條,數據的質量和多樣性較高。LLaVA模型將多模態指令數據集應用到了多模態任務上,這是指令微調擴展到多模態領域的第一次嘗試。
在模型架構上,LLaVA模型使用Vicuna模型作為文本編碼器,使用CLIP模型作為圖像編碼器。
第一個階段,基于59.5萬條CC3M文本-圖像對齊數據,訓練跨模態編碼器,以便將文本特征和圖像特征進行語義對齊。這里的跨模態編碼器其實是一個簡單的投影映射層,在訓練時凍結LLM的參數,僅僅對投影映射層的參數進行更新。
第二個階段,基于15萬條多模態指令數據,對多模態大模型進行端到端的指令微調,具體針對視覺問答和多模態推理任務進行模型訓練。值得注意的是,LLaVA模型在訓練的第二個階段會對LLM和投影映射層的參數都進行相應的更新,仍然存在一定的時間開銷和訓練資源依賴,這也是后續研究工作的一個重要方向。
2023年5月2日,LLaVA官方發布了輕量級的LLaVA Lightning模型(可以翻譯為輕量級的LLaVA模型),使用8個RTX A100型號的顯卡,3小時即可完成訓練,總訓練成本僅為40美元。
審核編輯:劉清
-
編碼器
+關注
關注
45文章
3638瀏覽量
134427 -
GPT
+關注
關注
0文章
352瀏覽量
15342 -
大模型
+關注
關注
2文章
2423瀏覽量
2643 -
LLM
+關注
關注
0文章
286瀏覽量
327
原文標題:大模型+多模態的3種實現方法|文末贈書
文章出處:【微信號:AI前線,微信公眾號:AI前線】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論