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