多模態(tài)大模型不夠靈活,谷歌DeepMind創(chuàng)新架構(gòu)Zipper:分開(kāi)訓(xùn)練再「壓縮」
最近的一系列研究表明,純解碼器生成模型可以通過(guò)訓(xùn)練利用下一個(gè) token 預(yù)測(cè)生成有用的表征,從而成功地生成多種模態(tài)(如音頻、圖像或狀態(tài) - 動(dòng)作序列)的新序列,從文本、蛋白質(zhì)、音頻到圖像,甚至是狀態(tài)序列。
能夠同時(shí)生成多種模態(tài)輸出的多模態(tài)模型一般是通過(guò)某種形式的詞匯擴(kuò)展(將多模態(tài)表征轉(zhuǎn)換為離散 token 并添加到模型的基本詞匯表中)來(lái)實(shí)現(xiàn)的,即在預(yù)訓(xùn)練階段或在后期微調(diào)階段進(jìn)行跨模態(tài)對(duì)齊。
多模態(tài)預(yù)訓(xùn)練方法具有很強(qiáng)的性能優(yōu)勢(shì)(例如,一個(gè)模型可以原生理解多種模態(tài)),但也有缺點(diǎn)。例如,無(wú)法解決如何在預(yù)訓(xùn)練后添加新模態(tài)的問(wèn)題,也缺乏靈活性,因?yàn)樘砑恿硪环N模態(tài)需要從頭開(kāi)始訓(xùn)練一個(gè)新的模型,并進(jìn)行超參數(shù)搜索,以獲得模態(tài)之間的最佳訓(xùn)練數(shù)據(jù)混合比。因此,這種解決方案不適合小眾模態(tài),特別是 IMU、蛋白質(zhì)序列等。
或者,將詞匯擴(kuò)展到另一種模態(tài)可以在一個(gè)從未見(jiàn)過(guò)該模態(tài)的模型上進(jìn)行預(yù)訓(xùn)練后進(jìn)行。只在文本模態(tài)下訓(xùn)練的解碼器模型可以在上下文中遵循指令并從樣本中學(xué)習(xí),通常是通過(guò)微調(diào)將另一種模態(tài)(如音頻或圖像功能)嫁接到現(xiàn)有的強(qiáng)大文本骨干上,以利用文本模態(tài)的可表達(dá)性和人類用戶的可控性。這樣做的缺點(diǎn)是骨干網(wǎng)絡(luò)的文本到文本功能會(huì)被破壞,由此產(chǎn)生的模型只能執(zhí)行其經(jīng)過(guò)微調(diào)的跨模態(tài)任務(wù)。
總體來(lái)說(shuō),無(wú)論是預(yù)訓(xùn)練還是微調(diào),都需要大量對(duì)齊的跨模態(tài)數(shù)據(jù),因此這兩種方法都不適用于沒(méi)有足夠數(shù)量以對(duì)齊多模態(tài)數(shù)據(jù)的模態(tài)。
Google DeepMind 近期提出了模塊化設(shè)計(jì)的新型架構(gòu) Zipper,它由多個(gè)單模態(tài)預(yù)訓(xùn)練解碼器模型組成。利用豐富的無(wú)監(jiān)督單模態(tài)數(shù)據(jù),Zipper 可以在單一模態(tài)中預(yù)訓(xùn)練強(qiáng)大的純解碼器模型,然后利用交叉注意力將多個(gè)這樣的預(yù)訓(xùn)練解碼器「壓縮」在一起,并利用有限的跨模態(tài)數(shù)據(jù)進(jìn)行微調(diào),實(shí)現(xiàn)多模態(tài)生成能力。預(yù)訓(xùn)練的純解碼器模型可以在新的多模態(tài)組合中靈活地重復(fù)使用和再利用。
- 論文標(biāo)題:Zipper: A Multi-Tower Decoder Architecture for Fusing Modalities
- 論文鏈接:https://arxiv.org/pdf/2405.18669
這是第一項(xiàng)研究靈活組合模態(tài)的工作,通過(guò)組合單獨(dú)預(yù)訓(xùn)練的單模態(tài)解碼器來(lái)實(shí)現(xiàn)多模態(tài)生成能力。
雖然 Zipper 架構(gòu)可在多種模態(tài)和兩種以上模態(tài)的骨干上通用,但這項(xiàng)工作的重點(diǎn)放在了僅融合兩種骨干(語(yǔ)音和文本)的實(shí)驗(yàn)設(shè)置上。論文展示了 Zipper 在同時(shí)跨模態(tài)生成文本(自動(dòng)語(yǔ)音識(shí)別(ASR)任務(wù))和語(yǔ)音(文本到語(yǔ)音任務(wù)(TTS))方面的強(qiáng)大能力。
僅使用部分文本 - 語(yǔ)音對(duì)齊數(shù)據(jù)(低至原始數(shù)據(jù)的 1%)進(jìn)行的實(shí)驗(yàn)表明,首先在無(wú)標(biāo)記數(shù)據(jù)上對(duì)骨干進(jìn)行單模態(tài)預(yù)訓(xùn)練,與使用詞匯擴(kuò)展方法進(jìn)行微調(diào)相比,Zipper 可以依賴更少的對(duì)齊數(shù)據(jù),這為使用解碼器 - 解碼器架構(gòu)融合模態(tài)提供了可能性,對(duì)于成對(duì)數(shù)據(jù)量有限的生成任務(wù)非常有用。
接下來(lái),讓我們看看論文細(xì)節(jié)。
模型
Zipper 架構(gòu)由兩個(gè)自回歸解碼器 tower(或主干)組成,它們通過(guò)門控交叉注意力層「壓縮」在一起。每個(gè)骨干使用下一個(gè) token 預(yù)測(cè)功能分別對(duì)單個(gè)模態(tài)進(jìn)行訓(xùn)練。
圖 1 顯示了 Zipper 架構(gòu)的概覽。與 CALM 類似,在解碼器骨干之間的每 i 層都插入了交叉注意力層。在這些有規(guī)律交錯(cuò)的層中,一種模態(tài)的表征被交叉注意力到另一種模態(tài)中。這與 Flamingo [4] 編碼器 - 解碼器設(shè)置不同,后者只在一個(gè) tower(編碼器)的最后一層定期交叉注意力到另一個(gè) tower(解碼器)的各層。
在交叉注意力過(guò)程中,投影層被插入模態(tài)之間。從功能上講,這可以均衡骨干之間的嵌入維度大小差異。從語(yǔ)義上講,它還能實(shí)現(xiàn)從一種模態(tài)到另一種模態(tài)的表征轉(zhuǎn)換,尤其是當(dāng)一個(gè)或兩個(gè)骨干被凍結(jié)時(shí)。此外,在每個(gè)骨干網(wǎng)的輸入嵌入之后,還直接加入了一個(gè)非線性輸入投影層,以便更好地調(diào)整輸入的單模態(tài)表征,用于多模態(tài)任務(wù)。
在第一個(gè) Transformer 塊之前(嵌入層之后),插入兩個(gè)可學(xué)習(xí)的多層感知器(MLP)投影,然后對(duì)每個(gè)骨干進(jìn)行 ReLU 轉(zhuǎn)換:
這樣做是為了讓單模態(tài)表征更好地適應(yīng)多模態(tài)設(shè)置。
讓 i_A 和 i_B 分別代表 A 層交叉到 B 層和 B 層交叉到 A 層的間隔。將 k 層單模解碼器 A 的隱藏表征法稱為
,其中 d_A 是 transformer A 的隱藏維度;同樣,將 l 層單模解碼器 B 的隱藏表征法稱為
,其中 d_B 是 transformer B 的相應(yīng)隱藏維度。設(shè) fcross (Q, K, V ) 是來(lái)自 [4] 的門控交叉注意力層,其后是前饋層,Q、K、V 分別是查詢、鍵和值。讓
和
分別代表 tower A 和 tower B 的線性前饋投影和全連接投影。
解碼器 A 中第 k 層的新表征。
具體如下:
同樣,解碼器 B 第 l 層的新表征為:
最后,每個(gè) tower 以一個(gè) softmax 層(與同 tower 嵌入層共享)結(jié)束,以便利用下一個(gè) token 預(yù)測(cè)任務(wù)將隱藏表征投射到(特定模態(tài) /tower)token 詞匯的概率分布中。
研究者將交叉注意力機(jī)制用于交錯(cuò)序列的自動(dòng)回歸訓(xùn)練,具體做法是只交叉關(guān)注原始線性序列中當(dāng)前位置之前的另一種模態(tài)的數(shù)據(jù)。
在解碼過(guò)程中,輸出模態(tài)的序列是指定的(例如,[語(yǔ)音]、[文本]、[文本、語(yǔ)音])。模型以序列中的第一種模態(tài)生成輸出,直到遇到特殊的句末 token,這時(shí)才會(huì)切換到序列中的下一種模態(tài)。該過(guò)程一直持續(xù)到序列中的所有模態(tài)都被解碼為止。雖然可以擴(kuò)展模型自動(dòng)選擇輸出生成的模態(tài),但這一設(shè)置的通用化還需要后續(xù)的工作。
實(shí)驗(yàn)
雖然 Zipper 可以擴(kuò)展到任意數(shù)量的模態(tài),研究者率先評(píng)估了語(yǔ)音到文本生成和文本到語(yǔ)音(TTS)生成的自動(dòng)語(yǔ)音識(shí)別(ASR)。
值得注意的是,雖然對(duì) TTS 系統(tǒng)(合成語(yǔ)音)的標(biāo)準(zhǔn)評(píng)估依賴于人類反饋(平均意見(jiàn)分?jǐn)?shù)),可以捕捉到語(yǔ)音的許多整體方面(如文本保真度和聲音質(zhì)量等),但這里的 TTS 評(píng)估只希望捕捉到架構(gòu)選擇對(duì)語(yǔ)義 token 建模和預(yù)測(cè)能力的影響。
表 1 列出了 ASR 任務(wù)的測(cè)試結(jié)果:
將 Zipper 與擴(kuò)展詞匯量的單解碼器基線進(jìn)行比較時(shí),可以發(fā)現(xiàn) Zipper 在 test-clean 子集上的性能略好,而在噪音較高的語(yǔ)音 test-other 子集上的性能則略有下降,總體性能相當(dāng)接近。
表 2 列出了在 LibriTTS 數(shù)據(jù)集的 test-clean 分割上進(jìn)行 TTS 任務(wù)的結(jié)果。
可以看出,Zipper 模型明顯優(yōu)于單解碼器模型,Zipper S/128M unfrozen model 模型提高了 13 個(gè) WER 點(diǎn)(相對(duì)誤差減少 40%),Zipper L/1B unfrozen model 模型提高了 12 個(gè) WER 點(diǎn)(相對(duì)誤差減少 38%)。
研究者還觀察到,與使用凍結(jié)骨干網(wǎng)絡(luò)相比,在訓(xùn)練過(guò)程中解凍語(yǔ)音骨干網(wǎng)絡(luò)可持續(xù)改善所有尺寸 Zipper 模型的性能,這驗(yàn)證了直覺(jué) —— 微調(diào)語(yǔ)音骨干網(wǎng)絡(luò)的參數(shù)比僅依賴交叉注意力產(chǎn)生的模態(tài)對(duì)齊效果更好。
更多研究細(xì)節(jié),可參考原論文。
本文轉(zhuǎn)自 機(jī)器之心 ,作者:機(jī)器之心
