「多模態(tài)大模型」解讀 | 突破單一文本模態(tài)局限 原創(chuàng) 精華
編者按:理想狀況下,世界上的萬事萬物都能以文字的形式呈現(xiàn),如此一來,我們似乎僅憑大語言模型(LLMs)就能完成所有任務(wù)。然而,理想很豐滿,現(xiàn)實很骨感——數(shù)據(jù)形態(tài)遠不止文字一種,大多數(shù)數(shù)據(jù)也不是以文本的形式呈現(xiàn)的,我們?nèi)粘=佑|到的數(shù)據(jù)涵蓋了圖像、視頻、音頻、語音(images or video, audio, speech)等多種形態(tài),形式豐富多元。因此,能夠同時理解和處理多種數(shù)據(jù)形式的多模態(tài)大語言模型(Multimodal Large Language Model,MLLM)應(yīng)運而生。
構(gòu)建 MLLM 的關(guān)鍵在于將大語言模型與各種模態(tài)的編碼器(如圖像編碼器)相結(jié)合,實現(xiàn)跨模態(tài)的語義一致性映射。著名的 CLIP 模型就是一個典范,它能將語義相似的圖像和文本映射到向量空間中的相鄰位置。通過這種方式,機器不僅能夠“讀懂”圖像、視頻的內(nèi)容,更能在多模態(tài)數(shù)據(jù)的基礎(chǔ)上展開復(fù)雜的推理、創(chuàng)作等高級認知活動。
本文闡述了多模態(tài)技術(shù)的重要意義,深入剖析了 MLLM 的核心架構(gòu)和運作原理,并盤點了三種主流的多模態(tài)系統(tǒng)構(gòu)建方式。無疑,這是一篇觀點透徹,內(nèi)容豐富,極具科普價值的佳作。相信通過這篇文章,各位讀者一定能夠?qū)?MLLM 有更加全面深入的了解。
作者 | Ignacio de Gregorio
編譯 | 岳揚
盡管 AGI 可能不會很快出現(xiàn),但大語言模型確實正通過一種名為“多模態(tài)”的形式迎來革新。這一進展使前沿模型從單一的文字處理模型進化為能夠同時處理多種數(shù)據(jù)類型的全能模型,即所謂的多模態(tài)大語言模型(MLLMs)。
當下,諸如 ChatGPT、Gemini、Claude 等許多模型,已不再局限于大語言模型(LLMs)范疇,而是升級為多模態(tài)大語言模型(MLLMs),因為它們具備處理文本、圖像的能力,甚至部分情況下還能處理視頻。
然而,在進一步探討之前,我們有必要思考:我們?yōu)槭裁葱枰嗄B(tài)模型?
01 為何我們需要多模態(tài)?
理想狀況下,世界上的萬事萬物都能以文字的形式呈現(xiàn),如此一來,我們似乎僅憑大語言模型(LLMs)就能完成所有任務(wù)。然而,理想很豐滿,現(xiàn)實很骨感——數(shù)據(jù)形態(tài)遠不止文字一種,大多數(shù)數(shù)據(jù)也不是以文本的形式呈現(xiàn)的,我們?nèi)粘=佑|到的數(shù)據(jù)涵蓋了圖像、視頻、音頻、語音(images or video, audio, speech)等多種形態(tài),形式豐富多元。
事實上,使用 AI 解決那些最具挑戰(zhàn)性的問題時,恰恰需要依賴多模態(tài)的處理能力。
試想一下,當我們使用虛擬助手(virtual assistant)時,可能希望它能識別并解答手部新出現(xiàn)的劃痕或炎癥問題;或是當我們在亞洲旅行途中偶遇一道陌生美食,期待它能生動描述這道佳肴的具體細節(jié)。
在這里插入圖片描述
source: ??https://github.com/kohjingyu/gill?tab=readme-ov-file??
那么,究竟如何才能搭建出一個多模態(tài)大語言模型(MLLM)呢?
02 深入解析多模態(tài)模型架構(gòu)
簡而言之,目前大多數(shù)多模態(tài)大語言模型(MLLMs)的核心構(gòu)成包括兩大部分:大語言模型(LLM)及另一種模態(tài)的編碼器。讓我們逐步揭開其神秘面紗。
2.1 大語言模型(LLMs),AI 領(lǐng)域的中流砥柱
LLMs 這類模型屬于 sequence-to-sequence 架構(gòu),其工作原理為接收文本輸入,然后輸出統(tǒng)計學上最有可能的后續(xù)序列。
換言之,它們通過不斷預(yù)測下一個詞匯,生成流暢且文采斐然的文本。自 2022 年 ChatGPT 發(fā)布以來,大語言模型迅速成為了全球逾 2 億用戶手中的生產(chǎn)力利器,同名應(yīng)用程序也一舉創(chuàng)下了史上增長速度最快的 C 端應(yīng)用記錄。
尤其值得一提的是,它們卓越的模擬邏輯推理(imitate reasoning)和激發(fā)創(chuàng)新思維(enhance creative processes)的能力,激起了業(yè)界關(guān)于能否將此類系統(tǒng)作為基礎(chǔ)架構(gòu),應(yīng)用于更為復(fù)雜多變、不局限純文本處理場景的廣泛討論。
然而,要實現(xiàn)這一目標,還需引入一個關(guān)鍵的輔助模塊。
2.2 編碼器:連接至多元數(shù)據(jù)世界的橋梁
大語言模型(LLMs)主要處理文本(在某些情況下也會處理代碼,因其與自然語言有相似的性質(zhì))。因此,要處理圖像甚至視頻等其他數(shù)據(jù)類型,模型需引入另一個新部件 —— 編碼器(encoder)。
其原因在于,LLMs 屬于純解碼器架構(gòu)的 Transformer,意味著它們會采用一種特殊手法來對數(shù)據(jù)進行編碼。
但,“對數(shù)據(jù)進行編碼”是什么意思呢?
無論處理的是文本里的字詞(words)或是圖像中的像素點(pixels),對輸入序列進行編碼的核心思想是將其轉(zhuǎn)化為一系列數(shù)字,即所謂的向量嵌入(vector embeddings)。這種向量形式的表征(representation),能夠捕捉輸入序列的語義信息。
特別是 LLMs 擁有 embedding look-up matrices(譯者注:就像是一個巨大的字典,每個詞匯對應(yīng)著一個在高維空間中的向量表征。例如,假設(shè)有一個包含 10000 個詞匯的詞匯表,每個詞匯都有一個 50 維的向量表征,那么這個 embedding look-up matrices 就會是一個 10000 行、50 列的矩陣。每一行對應(yīng)詞匯表中的一個詞,存儲了該詞的 50 維向量。在模型處理文本時,它會根據(jù)輸入內(nèi)容的詞匯索引在這個矩陣中查找相應(yīng)的向量,作為該詞的嵌入表征。)。這些矩陣的作用是從輸入序列的令牌中,提取出對應(yīng)的詞嵌入。換言之,模型在訓(xùn)練階段會學習如何將輸入的詞(或tokems)轉(zhuǎn)換為向量表征(即嵌入),這一過程是通過優(yōu)化模型參數(shù)完成的,在推理階段,當新的輸入序列傳入模型時,模型會直接使用已學習到的參數(shù)來產(chǎn)生相應(yīng)的嵌入向量,而不需要再經(jīng)歷一個單獨的、顯式的編碼步驟。
這是一種經(jīng)濟高效的數(shù)據(jù)編碼方式,無需每次處理都啟動編碼網(wǎng)絡(luò)(encoder network)。
對數(shù)據(jù)進行編碼(Encoding data)有兩種基本形式:獨熱編碼(one-hot)或稠密編碼(dense)。獨熱編碼(One-hot encoding)的原理是,把每個詞匯轉(zhuǎn)換成一串數(shù)字,其中大部分數(shù)字為‘0’,而唯一的一個數(shù)字標記為‘1’:
在這里插入圖片描述
source: ??https://medium.com/intelligentmachines/word-embedding-and-one-hot-encoding-ad17b4bbe111??
但就 MLLMs 而言,嵌入是 “稠密(dense)” 的,這意味著,現(xiàn)實生活中相近的概念在向量空間中也會擁有相近的向量表征,包括向量的大小和方向,反之亦然:
在這里插入圖片描述
source: ??https://arize.com/blog-course/embeddings-meaning-examples-and-how-to-compute/??
為了達成目標,我們需要編碼器 —— 一種基于 Transformer 設(shè)計的工具,它的任務(wù)是接收各種輸入數(shù)據(jù),并巧妙地將其轉(zhuǎn)化為向量嵌入。舉個例子,當編碼器面對的是圖像時,它能夠?qū)D像信息轉(zhuǎn)換為“圖像嵌入(image embedding)”形式。
不管處理的是何種數(shù)據(jù)模態(tài),我們的目標始終一致:構(gòu)建出一個向量空間,在這里,現(xiàn)實中意義相近的概念會被映射為接近的向量,而意義迥異的概念則會轉(zhuǎn)化成相距甚遠的向量。 通過這種方式,我們把對世界語義的理解轉(zhuǎn)變成了一項數(shù)學問題;向量間的距離越短,意味著它們代表的概念含義越接近。
最關(guān)鍵的是,這種處理方法并不局限于文本領(lǐng)域,圖像等其他數(shù)據(jù)模態(tài)也同樣適用,這正是其獨特魅力所在。
在這里插入圖片描述
Encoding images. Image generated by author
但對于圖像來說,事情就變得棘手了。
我們不僅希望圖像的嵌入過程(image embedding)能將相似的圖像(比如哈士奇的圖像)歸類到相似的向量類別中,而且還希望這些向量與同一圖像的文字描述也保持相似性。例如,如下圖所示,一幅描繪波浪的圖像和一段描述相同場景的文本,盡管來自不同的模態(tài),但應(yīng)該具有相似的向量嵌入。
為了達到這一目的,OpenAI 等實驗室開發(fā)了像 CLIP 這樣的模型,這些模型創(chuàng)建了 mixed embedding spaces(譯者注:在 mixed embedding spaces 中,不同模態(tài)的輸入數(shù)據(jù)通過特定的編碼器映射到同一向量空間內(nèi),這樣即使數(shù)據(jù)的原始模態(tài)不同,也可以基于其內(nèi)在的語義相似性進行比較。),在這個向量空間中,描述語義(text describing semantically)上概念相似的圖像和文本會被賦予相似的向量,從而實現(xiàn)了跨模態(tài)的語義一致性。
在這里插入圖片描述
source: ??https://blog.dataiku.com/leveraging-joint-text-image-models-to-search-and-classify-images??
由于 CLIP 這類模型的出現(xiàn),如今的機器已經(jīng)具備了處理圖像并洞察其含義的能力。
Masked AutoEncoders(MAEs)是另一種訓(xùn)練圖像編碼器(image encoders)的主流方法。在這種情況下,模型接收到的是一幅部分信息被掩蓋的圖像,模型需要重建完整圖像。這些編碼器之所以強大,是因為它們必須學會從殘缺的信息中推斷出“遮擋之下”的真相(what’s hiding behind the masked parts),即識別出“被隱藏的部分”是什么(what’s missing)。
不過,對于多模態(tài)語言模型(MLLMs)而言,CLIP 編碼器的應(yīng)用更為廣泛,主要是由于其與文本處理之間存在著天然的聯(lián)系。
然而,如果我們希望建立一個像 ChatGPT 那樣,能夠同時處理圖像和文本的模型,我們又該如何著手搭建這樣一個系統(tǒng)呢?
03 多模態(tài)系統(tǒng)的主要類型
創(chuàng)建多模態(tài)系統(tǒng)主要有三種方法。
3.1 從通過工具實現(xiàn)多模態(tài)系統(tǒng)到真正的多模態(tài)大語言模型(MLLM)
有三類方法構(gòu)建 MLLM 系統(tǒng),但僅兩類可稱得上是真正的多模態(tài)大語言模型。
- Tool-Augmented LLMs:這類方案是將大語言模型(LLMs)與可以處理其他類型數(shù)據(jù)的外部系統(tǒng)相結(jié)合。這些系統(tǒng)并不算作多模態(tài)大語言模型,因為我們僅僅是通過集成另一個模型或工具來擴展大語言模型的功能。以 ChatGPT 的語音/音頻處理功能為例,實際上它是將大語言模型與語音轉(zhuǎn)文本(Speech-to-Text)及文本轉(zhuǎn)語音(Text-to-Speech)兩個獨立模型相連。這樣,每當模型接收到音頻,就將其轉(zhuǎn)交給這些系統(tǒng)處理,而非真正的多模態(tài)大語言模型直接處理數(shù)據(jù)。
- Grafting:該方法是指將兩個已經(jīng)訓(xùn)練完成的組件 —— 編碼器(encoder)和大語言模型(LLMs) —— 拼接起來形成多模態(tài)大語言模型。因為它具有很高的成本效益比,這種方法在開源社群中極為流行,通常只需訓(xùn)練一個適配器(adapter)來連接這兩個預(yù)訓(xùn)練模型。
- Native MLLM(Generalist Systems):此途徑為那些最熱門且財力充足的人工智能研究機構(gòu)所采納。其核心在于一開始就將大語言模型和編碼器連接在一起,從零開始進行訓(xùn)練。雖然這種方式能帶來最優(yōu)效果,但同時也是最燒錢的。GPT-4V(ChatGPT)、Grok 1.5V、Claude 3 與 Gemini 等皆屬此類方法的應(yīng)用實例。
我們或許還可以考慮另一種方法,那就是在不使用 separate encoder(譯者注:在多模態(tài)或多任務(wù)學習架構(gòu)中獨立處理不同類型輸入數(shù)據(jù)的編碼器。) 的情況下構(gòu)建MLLM,Adept 的 MLLMs 就屬于這種情況。不過,使用這種方法構(gòu)建的多模態(tài)模型相當罕見。
不論是選擇第二種還是第三種方案(再次強調(diào)一次,第一種方案其實并非純粹的 MLLM 模型,而是一套 MLLM 系統(tǒng)),它們的工作原理是什么呢?
3.2 The MLLM pipeline
我們將重點討論最常見的 MLLM 方案(即結(jié)合圖像編碼器(image encoder)和 LLMs 的第二種方案)構(gòu)建能同時處理圖像與文本的多模態(tài)模型。有一點需要在此強調(diào),這種方案只要更換編碼器,也能處理其他模態(tài)的數(shù)據(jù),比如使用音頻編碼器處理音頻信號。 LLMs 因其具備與用戶交流及在某些特定情形下處理復(fù)雜問題的能力,始終是不可或缺的組成部分。
向 MLLM 輸入數(shù)據(jù),通常遵循兩種模式:
- 純文本:在這種情況下,我們僅向模型輸入文本信息,因此我們只希望讓模型如同常規(guī) LLM 一樣運行。若想深入了解這一過程的具體細節(jié),請閱讀此處有關(guān) Transformers 的博文(??https://thewhitebox.ai/transformers-the-great-paradigm-shift/?? )。
- 圖文并茂:在此情形下,模型接收到的是一張圖片及其相關(guān)的文本描述。接下來,我們將重點探討這種情況。
以 Sphinx 為例,這是一個開源的多模態(tài) LLM,讓我們以此為參照。
在這里插入圖片描述
source: ??https://arxiv.org/pdf/2311.07575.pdf??
- 目前,我們手頭的數(shù)據(jù)是一幅描繪獅身人面像的卡通圖像,以及對該圖像的文本描述,我們希望 MLLM 能夠同時解析這兩部分內(nèi)容,并能夠描述圖像所描繪的內(nèi)容。
- 隨后,圖像被劃分為若干小塊(本例中,他們還額外生成了一個低分辨率的小塊(patch),以較低的分辨率表示完整的圖像)
- 這些小塊隨后被送入圖像編碼器,由其進行處理并生成相應(yīng)的嵌入向量(patch embeddings)。每一項嵌入都精準地反映了其所代表圖像區(qū)域的含義。
此時,會有兩種情況發(fā)生。如果采用的是先分別預(yù)訓(xùn)練圖像編碼器和 LLM,后續(xù)再結(jié)合的方法,一般會使用一個適配器(adapter),將圖像嵌入轉(zhuǎn)化為與 LLM 嵌入空間相匹配的形式。而如果使用的是通用方法,圖像編碼器在設(shè)計之初就已具備為 LLM 生成有效嵌入的能力。
- 與此同時,圖像的文本描述同樣被輸入至模型中。在本例中,文本序列(text sequences)遵循了我們之前在介紹 Transformer LLMs 時所述的流程(分詞、查找嵌入向量、拼接位置嵌入(positional embedding)以及執(zhí)行插入(insertion)操作)
- 至此,LLM 將所有輸入整合為單一序列,并依據(jù)圖像與文本輸入共同提供的信息,生成新的序列。
04 Final Thoughts
多模態(tài)大語言模型(Multimodal Large Language Models,簡稱 MLLMs)是當前生成式人工智能最先進技術(shù)的重要組成部分。MLLMs 憑借單一模型即可實現(xiàn)多種模態(tài)數(shù)據(jù)的處理,開啟了以前只能想象的許多前景廣闊的應(yīng)用場景。
多模態(tài)也拉近了機器與人類的距離,因為人類生來就是通過多種感官實現(xiàn)多模態(tài)的。所以,機器遲早會模仿人類的這一特性。
在追求構(gòu)建通用人工智能(Artificial General Intelligence,簡稱 AGI)或超人工智能(Artificial Super Intelligence,簡稱 ASI)的過程中,多模態(tài)起著至關(guān)重要的作用。因為人類之所以能夠成為今天的智能生物,很大程度上歸功于我們具備處理和理解多種模態(tài)數(shù)據(jù)的能力,這讓我們能夠適應(yīng)并駕馭周遭的生存環(huán)境。
因此,多模態(tài)對于機器人而言是進入物理世界的關(guān)鍵要素,它使得機器能夠像人類一樣觀察、感知、聆聽并和我們所處的物理世界進行互動。
Thanks for reading!
Ignacio de Gregorio
I break down frontier AI systems in easy-to-understand language for you. Sign up to my newsletter here: ??https://thetechoasis.beehiiv.com/subscribe??
END
原文鏈接:
??https://thewhitebox.ai/mllm-multiple-modalities-one-model/??
