中國(guó)人民大學(xué)盧志武:ChatGPT對(duì)多模態(tài)通用生成模型的重要啟發(fā)
以下為盧志武教授在機(jī)器之心舉辦的 ChatGPT 及大模型技術(shù)大會(huì)上的演講內(nèi)容,機(jī)器之心進(jìn)行了不改變?cè)獾木庉嫛⒄恚?/span>
大家好,我是中國(guó)人民大學(xué)盧志武。我今天報(bào)告的題目是《ChatGPT 對(duì)多模態(tài)通用生成模型的重要啟發(fā)》,包含四部分內(nèi)容。
首先,ChatGPT 帶給我們一些關(guān)于研究范式革新的啟發(fā)。第一點(diǎn)就是要使用「大模型 + 大數(shù)據(jù)」,這是一個(gè)已經(jīng)被再三被驗(yàn)證過的研究范式,也是 ChatGPT 的基礎(chǔ)研究范式。特別要強(qiáng)調(diào)一點(diǎn),大模型大到一定程度的時(shí)候才會(huì)有涌現(xiàn)(emergent)能力,比如 In-context learning、CoT 推理等能力,這些能力令人感到非常驚艷。
第二點(diǎn)是要堅(jiān)持「大模型 + 推理」,這也是 ChatGPT 讓我印象最深刻的一點(diǎn)。因?yàn)樵跈C(jī)器學(xué)習(xí)或者人工智能領(lǐng)域,推理被公認(rèn)為是最難的,而 ChatGPT 在這一點(diǎn)上也有所突破。當(dāng)然,ChatGPT 的推理能力可能主要來自代碼訓(xùn)練,但是否有必然的聯(lián)系還不能確定。在推理方面,我們應(yīng)該下更多的工夫,搞清楚它到底來自什么,或者還有沒有別的訓(xùn)練方式把它的推理能力進(jìn)一步增強(qiáng)。
第三點(diǎn)是大模型一定要和人類對(duì)齊(alignment),這是 ChatGPT 在工程角度或模型落地角度給我們的重要啟示。如果沒有與人類對(duì)齊的話,模型會(huì)生成很多有害的信息,讓模型無法使用。第三點(diǎn)不是說提高模型的上限,而是模型的可靠性和安全性的確非常重要。
ChatGPT 的問世對(duì)很多領(lǐng)域,包括我自己,都有非常大的觸動(dòng)。因?yàn)槲易约鹤龆嗄B(tài)做了好幾年,我會(huì)開始反思為什么我們沒有做出這么厲害的模型。
ChatGPT 是在語言或者文字上的通用生成,下面我們來了解一下多模態(tài)通用生成領(lǐng)域的最新進(jìn)展。多模態(tài)預(yù)訓(xùn)練模型已開始向多模態(tài)通用生成模型轉(zhuǎn)變,并有了一些初步的探索。首先我們看一下谷歌 2019 年提出的 Flamingo 模型,下圖是它的模型結(jié)構(gòu)。
Flamingo 模型架構(gòu)的主體是大型語言模型的解碼器(Decoder),即上圖右側(cè)藍(lán)色模塊,在每個(gè)藍(lán)色模塊之間加了一些 adapter 層,左側(cè)視覺的部分是添加了視覺編碼器(Vision Encoder)和感知器重采樣器(Perceiver Resampler)。整個(gè)模型的設(shè)計(jì)就是要把視覺的東西通過編碼和轉(zhuǎn)換,經(jīng)過 adapter,跟語言對(duì)齊,這樣模型就可以為圖像自動(dòng)生成文本描述。
Flamingo 這樣的架構(gòu)設(shè)計(jì)有什么好處呢?首先,上圖中的藍(lán)色模塊是固定不動(dòng)的(frozen),其中包括語言模型 Decoder;而粉色模塊本身的參數(shù)量是可以控制的,所以 Flamingo 模型實(shí)際上訓(xùn)練的參數(shù)量是很少的。所以大家不要覺得多模態(tài)通用生成模型很難做,其實(shí)沒有那么悲觀。經(jīng)過訓(xùn)練的 Flamingo 模型就可以做很多基于文本生成的通用任務(wù),當(dāng)然輸入還是多模態(tài)的,比如做視頻描述、視覺問答、多模態(tài)對(duì)話等。從這個(gè)角度看 Flamingo 算是一個(gè)通用生成模型。
第二個(gè)例子是前段時(shí)間新發(fā)布的 BLIP-2 模型,它是基于 BLIP-1 改進(jìn)的,它的模型架構(gòu)和 Flamingo 特別像,基本還是包含圖像編碼器和大型語言模型的解碼器,這兩部分是固定不動(dòng)的, 然后中間加了一個(gè)具有轉(zhuǎn)換器作用的 Q-Former—— 從視覺轉(zhuǎn)換到語言。那么,BLIP-2 真正需要訓(xùn)練的部分就是 Q-Former。
如下圖所示,首先將一張圖(右邊的圖)輸入到 Image Encoder,中間的 Text 是用戶提出的問題或者指令,經(jīng)過 Q-Former 編碼以后輸入到大型語言模型里,最后把答案生成出來,大概是這樣一個(gè)生成過程。
這兩種模型的缺點(diǎn)很明顯,因?yàn)樗鼈兂霈F(xiàn)的比較早或者剛出現(xiàn),還沒有考慮 ChatGPT 用到的工程手段,至少在圖文對(duì)話或者多模態(tài)對(duì)話上沒有做指令微調(diào),所以它們整體的生成效果不盡如人意。
第三個(gè)是微軟最近發(fā)布的 Kosmos-1,它的結(jié)構(gòu)特別簡(jiǎn)單,并且只用圖文對(duì)進(jìn)行訓(xùn)練,多模態(tài)數(shù)據(jù)比較單一。Kosmos-1 跟上面兩個(gè)模型最大的差別是:上面兩個(gè)模型中的大語言模型本身是固定不動(dòng)的,而 Kosmos-1 中的大型語言模型本身是要經(jīng)過訓(xùn)練的,因此 Kosmos-1 模型的參數(shù)量只有 16 億,而 16 億參數(shù)的模型未必有涌現(xiàn)能力。當(dāng)然,Kosmos-1 也沒考慮圖文對(duì)話上的指令微調(diào),導(dǎo)致它有時(shí)也會(huì)胡說八道。
下一個(gè)例子是谷歌的多模態(tài)具身視覺語言模型 PaLM-E。PaLM-E 模型和前三個(gè)例子是大同小異的,PaLM-E 也用了 ViT + 大型語言模型。PaLM-E 最大的突破是它終于在機(jī)器人領(lǐng)域探索了一下多模態(tài)大語言模型的落地可能性。PaLM-E 嘗試了第一步探索,但是它考慮的機(jī)器人任務(wù)類型很有限,并不能達(dá)到真正的通用。
最后一個(gè)例子是 GPT-4—— 在標(biāo)準(zhǔn)數(shù)據(jù)集上給出了特別驚人的結(jié)果,很多時(shí)候它的結(jié)果甚至比目前在數(shù)據(jù)集上訓(xùn)練微調(diào)過的 SOTA 模型還要好。這可能會(huì)讓人特別震驚,但實(shí)際上這個(gè)評(píng)測(cè)結(jié)果并不代表什么。我們?cè)趦赡昵白龆嗄B(tài)大模型時(shí)就發(fā)現(xiàn)大模型的能力不能在標(biāo)準(zhǔn)數(shù)據(jù)集上評(píng)估,在標(biāo)準(zhǔn)數(shù)據(jù)集上表現(xiàn)好并不代表實(shí)際使用的時(shí)候效果好,這兩個(gè)之間有很大的 gap。出于這個(gè)原因,我對(duì)目前的 GPT-4 有些許失望,因?yàn)樗唤o出了標(biāo)準(zhǔn)數(shù)據(jù)集上的結(jié)果。而且目前可用的 GPT-4 還不是視覺版的,只是純文字版的。
上面幾個(gè)模型總體來說是做通用的語言生成,輸入是多模態(tài)輸入,下面這兩個(gè)模型就不一樣了 —— 不僅要做通用語言生成,還要做視覺生成,既能生成語言也能生成圖像。
首先是微軟的 Visual ChatGPT,我簡(jiǎn)單評(píng)價(jià)一下。這個(gè)模型的思路特別簡(jiǎn)單,更多是產(chǎn)品設(shè)計(jì)上的考慮。與視覺有關(guān)的生成有很多種,還有一些視覺檢測(cè)模型,這些不同任務(wù)的輸入、指令千差萬別,問題就是怎么用一個(gè)模型把這些任務(wù)全部包含進(jìn)來,所以微軟設(shè)計(jì)了 Prompt 管理器,核心部分用到了 OpenAI 的 ChatGPT,相當(dāng)于把不同視覺生成任務(wù)的指令,通過 ChatGPT 翻譯過來。用戶的問題是自然語言描述的指令,通過 ChatGPT 把它翻譯成機(jī)器能懂的指令。
Visual ChatGPT 就是做了這樣一個(gè)事情。所以從產(chǎn)品的角度看確實(shí)很好,但從模型設(shè)計(jì)的角度看卻沒有新的東西。所以整體從模型的層面看是一個(gè)「縫合怪」,沒有統(tǒng)一的模型訓(xùn)練,導(dǎo)致不同模態(tài)之間沒有互相促進(jìn)。我們?yōu)槭裁醋龆嗄B(tài),因?yàn)槲覀兿嘈挪煌B(tài)數(shù)據(jù)之間一定是互相幫助的。并且 Visual ChatGPT 也沒考慮多模態(tài)生成指令微調(diào),它的指令微調(diào)只是依賴于 ChatGPT 本身。
下一個(gè)例子是清華朱軍老師的團(tuán)隊(duì)發(fā)布的 UniDiffuser 模型。這個(gè)模型從學(xué)術(shù)角度真正做到了多模態(tài)輸入生成文字、生成視覺內(nèi)容,這得益于他們基于 transformer 的網(wǎng)絡(luò)架構(gòu) U-ViT,類似于 Stable Diffusion 最核心的部件 U-Net,進(jìn)而把圖像的生成和文本的生成統(tǒng)一在一個(gè)框架里。這個(gè)工作本身是很有意義的,但還是比較初期,比如只考慮了 Captioning 和 VQA 任務(wù),沒有考慮多輪對(duì)話,也沒有做多模態(tài)生成上的指令微調(diào)。
前面評(píng)價(jià)了這么多,那我們自己也做了一個(gè)產(chǎn)品叫 ChatImg,如下圖所示。總體來說,ChatImg 包含圖像編碼器、圖文多模態(tài)編碼器和文本解碼器,和 Flamingo、BLIP-2 是類似的,但是我們考慮的更多,具體實(shí)現(xiàn)的時(shí)候有細(xì)節(jié)差異。
ChatImg 最大的一個(gè)優(yōu)勢(shì)是可以接受視頻輸入。我們特別重視多模態(tài)通用生成,包括生成文字、生成圖像、生成視頻。我們希望在這一個(gè)框架里實(shí)現(xiàn)多種生成任務(wù),最終希望接入文字生成視頻。
第二,我們特別重視真實(shí)用戶的數(shù)據(jù),我們希望得到真實(shí)用戶數(shù)據(jù)以后不停優(yōu)化生成模型本身,提高它的能力,所以我們發(fā)布了 ChatImg 應(yīng)用。
下圖是我們測(cè)試的一些例子,作為一個(gè)初期模型,雖然還有一些做得不好的地方,但總體來說 ChatImg 對(duì)圖片的理解還是可以的。比如,ChatImg 可以在對(duì)話中生成對(duì)畫作的描述,也能做一些 In-context learning。
上圖第一個(gè)例子描述了《星夜》這幅畫,在描述中 ChatImg 稱梵高是美國(guó)畫家,你告訴它錯(cuò)了,它馬上就可以糾正過來;第二個(gè)例子 ChatImg 對(duì)圖中的物體做出了物理推斷;第三個(gè)例子是我自己拍的一張照片,這個(gè)照片里面有兩道彩虹,它準(zhǔn)確地識(shí)別到了。
我們注意到上圖第三和第四個(gè)例子涉及到情緒方面的問題。這其實(shí)與我們接下來要做的工作有關(guān),我們想把 ChatImg 接入到機(jī)器人里面去。現(xiàn)在的機(jī)器人通常是被動(dòng)的,所有的指令全部是預(yù)設(shè)的,顯得很呆板。我們希望接入 ChatImg 的機(jī)器人可以主動(dòng)和人交流。怎么做到這一點(diǎn)呢?首先機(jī)器人一定要能感受到人,可能是客觀地看到世界的狀態(tài)和人的情緒,也可能是獲得一種反映;然后機(jī)器人才能理解,才能跟人主動(dòng)交流。通過這兩個(gè)例子我感覺這個(gè)目標(biāo)是可以實(shí)現(xiàn)的。
最后,我總結(jié)一下今天的報(bào)告。首先,ChatGPT 和 GPT-4 帶來了研究范式的革新,我們所有人都應(yīng)該去積極擁抱這個(gè)變化,不能抱怨,不能找借口說沒有資源,只要去面對(duì)這個(gè)變化,總有辦法克服困難。多模態(tài)研究甚至也不需要幾百卡的機(jī)器,只要采用對(duì)應(yīng)的策略,少量的機(jī)器也可以做出很好的工作。第二,現(xiàn)有的多模態(tài)生成模型都存在各自的問題,GPT-4 還沒有開放視覺版,我們所有人也都還有機(jī)會(huì)。并且,我認(rèn)為 GPT-4 還有一個(gè)問題,就是多模態(tài)生成模型最終應(yīng)該是什么樣子它沒有給一個(gè)完美答案(實(shí)際上是沒有透露 GPT-4 的任何細(xì)節(jié))。這其實(shí)是一件好事,全世界的人都很聰明,每個(gè)人都有自己的想法,這可能會(huì)形成百花齊放的研究新局面。我的演講就到這里,謝謝大家。