為多模態(tài)LLM指明方向,邱錫鵬團(tuán)隊(duì)提出具有內(nèi)生跨模態(tài)能力的SpeechGPT
「 SpeechGPT 為打造真正的多模態(tài)大語言模型指明了方向:將不同模態(tài)的數(shù)據(jù)(視覺,語音等)統(tǒng)一表示為離散單元集成在 LLM 之中,在跨模態(tài)數(shù)據(jù)集上經(jīng)過預(yù)訓(xùn)練和指令微調(diào),來使得模型具有多模態(tài)理解和生成的能力,從而離 AGI 更進(jìn)一步?!埂?復(fù)旦大學(xué)計(jì)算機(jī)學(xué)院教授邱錫鵬
大型語言模型(LLM)在各種自然語言處理任務(wù)上表現(xiàn)出驚人的能力。與此同時,多模態(tài)大型語言模型,如 GPT-4、PALM-E 和 LLaVA,已經(jīng)探索了 LLM 理解多模態(tài)信息的能力。然而,當(dāng)前 LLM 與通用人工智能(AGI)之間仍存在顯著差距。首先,大多數(shù)當(dāng)前 LLM 只能感知和理解多模態(tài)內(nèi)容,而不能自然而然地生成多模態(tài)內(nèi)容。其次,像圖像和語音這樣的連續(xù)信號不能直接適應(yīng)接收離散 token 的 LLM。
當(dāng)前的語音 - 語言(speech-language)模型主要采用級聯(lián)模式,即 LLM 與自動語音識別(ASR)模型或文本到語音(TTS)模型串聯(lián)連接,或者 LLM 作為控制中心,與多個語音處理模型集成以涵蓋多個音頻或語音任務(wù)。一些關(guān)于生成式口語語言模型的先前工作涉及將語音信號編碼為離散表示,并使用語言模型對其進(jìn)行建模。
雖然現(xiàn)有的級聯(lián)方法或口語語言模型能夠感知和生成語音,但仍存在一些限制。首先,在級聯(lián)模型中,LLM 僅充當(dāng)內(nèi)容生成器。由于語音和文本的表示沒有對齊,LLM 的知識無法遷移到語音模態(tài)中。其次,級聯(lián)方法存在失去語音的附加語言信號(如情感和韻律)的問題。第三,現(xiàn)有的口語語言模型只能合成語音,而無法理解其語義信息,因此無法實(shí)現(xiàn)真正的跨模態(tài)感知和生成。
在本文中,來自復(fù)旦大學(xué)的張棟、邱錫鵬等研究者提出了 SpeechGPT,這是一個具有內(nèi)生跨模態(tài)對話能力的大型語言模型,能夠感知和生成多模態(tài)內(nèi)容。他們通過自監(jiān)督訓(xùn)練的語音模型對語音進(jìn)行離散化處理,以統(tǒng)一語音和文本之間的模態(tài)。然后,他們將離散的語音 token 擴(kuò)展到 LLM 的詞匯表中,從而賦予模型感知和生成語音的內(nèi)生能力。
- 論文鏈接:https://arxiv.org/pdf/2305.11000.pdf
- demo 地址:https://0nutation.github.io/SpeechGPT.github.io/
- GitHub 地址:https://github.com/0nutation/SpeechGPT
為了為模型提供處理多模態(tài)指令的能力,研究者構(gòu)建了第一個語音 - 文本跨模態(tài)指令遵循數(shù)據(jù)集 SpeechInstruct。具體而言,他們將語音離散化為離散單元(discrete unit),并基于現(xiàn)有的 ASR 數(shù)據(jù)集構(gòu)建跨模態(tài)的單元 - 文本(unit-text)對。同時,他們使用 GPT-4 構(gòu)建了針對多個任務(wù)的數(shù)百個指令,以模擬實(shí)際用戶的指令,具體見附錄 B。此外,為了進(jìn)一步增強(qiáng)模型的跨模態(tài)能力,他們設(shè)計(jì)了「Chain-of-Modality」指令數(shù)據(jù),即模型接收語音命令,用文本思考過程,然后以語音形式輸出響應(yīng)。
為了實(shí)現(xiàn)更好的跨模態(tài)遷移和高效的訓(xùn)練,SpeechGPT 經(jīng)歷了三個階段的訓(xùn)練過程:模態(tài)適應(yīng)預(yù)訓(xùn)練、跨模態(tài)指令微調(diào)和 chain-of-modality 指令微調(diào)。第一階段通過離散語音單元連續(xù)任務(wù)實(shí)現(xiàn)了 SpeechGPT 的語音理解能力。第二階段利用 SpeechInstruct 改進(jìn)了模型的跨模態(tài)能力。第三階段利用參數(shù)高效的 LoRA 微調(diào)進(jìn)行進(jìn)一步的模態(tài)對齊。
為了評估 SpeechGPT 的有效性,研究者進(jìn)行了廣泛的人工評估和案例分析,以評估 SpeechGPT 在文本任務(wù)、語音 - 文本跨模態(tài)任務(wù)和口語對話任務(wù)上的性能。結(jié)果表明,SpeechGPT 在單模態(tài)和跨模態(tài)指令遵循任務(wù)以及口語對話任務(wù)方面展現(xiàn)出強(qiáng)大的能力。
SpeechInstruct
由于公開可用的語音數(shù)據(jù)的限制和語音 - 文本任務(wù)的多樣性不足,研究者構(gòu)建了 SpeechInstruct,這是一個語音 - 文本跨模態(tài)指令遵循數(shù)據(jù)集。該數(shù)據(jù)集分為兩個部分,第一部分叫做跨模態(tài)指令,第二部分叫做 Chain-of-Modality 指令。SpeechInstruct 的構(gòu)建過程如圖 2 所示。
SpeechGPT
研究者設(shè)計(jì)了一個統(tǒng)一的框架,以實(shí)現(xiàn)不同模態(tài)之間的架構(gòu)兼容性。如圖 2 所示,他們的模型有三個主要組件:離散單元提取器、大型語言模型和單元聲碼器。在這個架構(gòu)下,LLM 可以感知多模態(tài)輸入并生成多模態(tài)輸出。
離散單元提取器
離散單元提取器利用 Hidden-unit BERT(HuBERT)模型將連續(xù)的語音信號轉(zhuǎn)換為一系列離散單元的序列。
HuBERT 是一個自監(jiān)督模型,它通過對模型的中間表示應(yīng)用 k-means 聚類來為掩蔽的音頻片段預(yù)測離散標(biāo)簽進(jìn)行學(xué)習(xí)。它結(jié)合了 1-D 卷積層和一個 Transformer 編碼器,將語音編碼為連續(xù)的中間表示,然后使用 k-means 模型將這些表示轉(zhuǎn)換為一系列聚類索引的序列。隨后,相鄰的重復(fù)索引被移除,得到表示為的離散單元序列,K 表示聚類總數(shù)。
大型語言模型
研究者采用 Meta AI 的 LLaMA 模型作為他們的大型語言模型。LLaMA 包括一個嵌入層、多個 Transformer 塊和一個語言模型頭層。LLaMA 的參數(shù)總數(shù)范圍從 7B 到 65B 不等。通過使用包含 1.0 萬億 token 的大規(guī)模訓(xùn)練數(shù)據(jù)集,LLaMA 在各種自然語言處理基準(zhǔn)測試中展現(xiàn)出與規(guī)模更大的 175B GPT-3 相當(dāng)?shù)男阅堋?/span>
單元聲碼器
由于 (Polyak et al., 2021) 中單個說話人單元聲碼器的限制,研究者訓(xùn)練了一個多說話人單元的 HiFi-GAN,用于從離散表示中解碼語音信號。HiFi-GAN 的架構(gòu)包括一個生成器 G 和多個判別器 D。生成器使用查找表(Look-Up Tables,LUT)來嵌入離散表示,并通過一系列由轉(zhuǎn)置卷積和具有擴(kuò)張層的殘差塊組成的模塊對嵌入序列進(jìn)行上采樣。說話人嵌入被連接到上采樣序列中的每個幀上。判別器包括一個多周期判別器(Multi-Period Discriminator,MPD)和一個多尺度判別器(Multi-Scale Discriminator,MSD),其架構(gòu)與 (Polyak et al., 2021) 相同。
實(shí)驗(yàn)
跨模態(tài)指令遵循
如表 1 所示,當(dāng)提供不同的指令時,模型能夠執(zhí)行相應(yīng)的任務(wù)并根據(jù)這些輸入生成準(zhǔn)確的輸出。
口語對話
表 2 展示了 SpeechGPT 的 10 個口語對話案例。對話表明,在與人類的交互中,SpeechGPT 能夠理解語音指令并用語音作出相應(yīng)回應(yīng),同時遵守「HHH」標(biāo)準(zhǔn)(無害、有幫助、誠實(shí))。
局限性
盡管 SpeechGPT 展示出令人印象深刻的跨模態(tài)指令遵循和口語對話能力,但仍存在一些限制:
- 它不考慮語音中的語音外語言信息,例如無法以不同的情緒語調(diào)生成回應(yīng);
- 它在生成基于語音的回應(yīng)之前需要生成基于文本的回應(yīng);
- 由于上下文長度的限制,它無法支持多輪對話。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。