讓大模型能聽會說,國內機構開源全球首個端到端語音對話模型Mini-Omni

机器之心發表於2024-09-06
圖片
AIxiv專欄是機器之心釋出學術、技術內容的欄目。過去數年,機器之心AIxiv專欄接收報導了2000多篇內容,覆蓋全球各大高校與企業的頂級實驗室,有效促進了學術交流與傳播。如果您有優秀的工作想要分享,歡迎投稿或者聯絡報導。投稿郵箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com

本文出自啟元世界多模態演算法組,共同一作是來自清華大學的一年級碩士生謝之非與啟元世界多模態負責人吳昌橋,研究興趣為多模態大模型、LLM Agents 等。本論文上線幾天內在 github 上斬獲 1000+ 星標。

隨著多型別大模型的飛速發展,全球 AI 已經進入到了多模互動時代。

2024 年 5 月,OpenAI 推出了全新的多模態模型 GPT4o,引起全球轟動。其中 GPT4o 展現出了與人類相近的自然語言互動能力,實現了 AI 能同時讀懂人類語音中的內容及情緒,並實時做出反饋。同時,GPT4o 也給眾多語音研究人員帶來「新的春天」,語音文字多模態大模型成為熱門研究方向。

實現類似 GPT4o 實時語音互動能力的核心是模型能夠直接在語音模態上進行理解和推理,這與傳統的語音對話功能有本質的不同。現有的語音對話系統中主要包含 3 個過程:首先將輸入語音內容轉換為文字,其次利用大語言模型進行文字推理,最後利用語音合成系統生成並輸出語音。

然而,類似的多階段串聯絡統存在一些缺陷,比如模型無法理解語音中包含的情緒及其它非文字內容資訊;同時由於額外的語音識別及合成帶來的時間開銷導致 AI 回覆遲緩等實時性問題。

針對以上問題,學術界開始研究支援端到端、語音到語音的多模態大模型。為方便結合大語言模型的研究成果,通常會將語音離散化為 Audio Token,並基於 Audio Token 進行學習和推理。這其中具有代表性的工作包括 SpeechGPT、Spectron 等,它們均採用 QuestionAudio-QuestionText-AnswerText-AnswerAudio 等形式來降低直接對語音進行學習推理的難度。

但同時,這些方法也需要生成完整的 AnswerText 後才能生成 AnswerAudio,無法解決實時性問題。

為解決上述問題,我們提出了 Mini-Omni,第一個開源的端到端實時語音多模態模型,支援語音輸入、流式語音輸出的多模態互動能力。具體來講,我們提出了文字-語音同時生成的方案,透過讓已生成的文字 token 指導生成語音 token,有效降低了直接推理語音內容的難度,同時避免了等待生成完整文字答案帶來的時間消耗。

圖片

  • 論文題目:Mini-Omni: Language Models Can Hear, Talk While Thinking in Streaming
  • 論文地址:https://arxiv.org/abs/2408.16725
  • 程式碼倉庫:https://github.com/gpt-omni/mini-omni

針對多層級的音訊編碼方案,本文采用不同層級延遲並行輸出的方案減小音訊推理長度,有效解決實時性問題。同時還提出了多工同時推理的生成方法進一步加強模型的語音推理能力。另一方面,本文所採用訓練方案可有效遷移至任意語言大模型,透過增加少量引數及分階段訓練,在儘可能保留模型原始推理能力的同時,為模型加上 「聽、說」的語音互動能力

為了驗證方案的有效性,Mini-Omni 在使用僅 0.5B 的小模型和少量開源及合成資料的情況下,在實時語音問答及語音識別等方面表現出令人驚喜的效果。

總結來說,本文主要貢獻為:

  • 提出了首個開源的端到端、實時語音互動的多模態模型解決方案,支援語音流式輸出,不需要額外的 ASR 或 TTS 系統。
  • 推理過程中,可同時生成語音和文字資訊,透過文字指導語音生成,有效降低語音推理的學習難度。
  • 提出多階段的訓練方案,可透過少量開源或合成資料使任意語言模型具備語音互動能力。讓大模型能聽會說,國內機構開源全球首個端到端語音對話模型Mini-Omni
Mini-Omni 模型架構

Mini-Omni 整體模型框架如下圖所示,模型輸入端可以是語音或文字,輸出端同時包含文字和語音。為複用語言模型「預測下一個 token」的學習正規化,輸出側語音採用離散編碼,本文采用了 SNAC 編解碼方案。

針對語音互動場景,輸入語音經過預訓練 whisper 的語音編碼模組進行連續特徵提取,然後透過 2 層 MLP 對齊語音資訊與文字資訊。輸出側,每一步會透過音訊解碼頭和文字解碼頭同時進行文字 token 與語音 token 解碼,然後將輸出的音訊表徵和文字表徵進行特徵融合,再作為下一步的輸入。同時,在推理過程中,可將輸出的語音 token 流式輸入至 SNAC 解碼器中生成語音,實現低延遲的語音互動。

透過採用文字資訊指導語音資訊輸出的形式,有效降低了直接進行語音輸出推理的學習難度,實現少量資料即可使語言模型具備語音問答能力。這種一邊生成文字,一邊生成對應語音的形式功能上類似於「線上 TTS 系統 (online TTS)」,具有較好的靈活性。
圖片
文字指導下的音訊生成

為降低直接推理語音資訊的學習難度,以及減少推理過程中語音 token 長度,我們採用了文字和語音延遲並行生成的方案,其示意圖如下。

圖片

本文所採用的 SNAC 方案,每一幀具有 7 個有效語音 token,對應音訊時長為 80ms。一種語音建模方案是將語音的所有 token 平鋪展開進行順序推理,類似方案在音樂生成領域已被驗證生成效果較好。但也存在語音 token 序列長、學習難度高等問題。為實現實時語音推理,我們採用延遲並行推理的方案

具體來講,模型每一步同時生成 8 個 token,包括 7 個語音 token 和 1 個文字 token。由於音訊依賴文字內容,而音訊的 7 個 token 之間從前到後是由粗到細的建模關係,所以在推理開始時如上圖 (b) 所示。首先生成文字的第一個 token,然後生成文字的第二個 token 和第一層音訊的第一個 token,以此類推。先輸出文字 token 主要為了語音 token 在生成過程中有文字內容進行參考。

同時,由於文字指導語音生成方案的靈活性,我們在實驗中發現,推理時在一個批次中同時進行 audio-to-audio 和 audio-to-text 兩個任務,並用後者的文字 token 替換前者的文字 token 以指導前者的語音生成(如上圖 c 中所示),可有效提升語音對話的能力。

讓每個模型都能「聽說」

我們提出了一種主要基於介面卡的模型能力擴充套件方法,具體學習過程可以分為三個階段:

首先模態對齊:此階段的目標是增強文字模型理解和生成語音的能力。過程中,Mini-Omni 的 LLM 模組完全凍結,只在語音理解和生成兩個介面卡中進行梯度更新。在這個階段,我們使用開源語音識別 (ASR) 和語音合成 (TTS) 資料集來進行訓練。

其次適應訓練:完成新的模態與文字模態的輸入對齊後,將語音介面卡凍結。在這個階段中,我們將可用的文字問答對中的問題部分採用開源多音色的語音合成系統進行語音資料合成,生成語音問答資料集。我們關注於訓練模型在給定音訊輸入時的文字推理能力。模型使用語音識別 (ASR)、語音問答 (AudioTextQA) 和文字問答 (TextTextQA) 任務的資料集進行訓練。

最後多模態微調:在最後階段,我們使用全面的資料對整個模型進行微調,新增如全語音問答 (AudioAudioQA)、文字語音問答 (TextAudioQA) 等形式資料集。此時,除了音訊所有模型權重都會參與訓練。由於介面卡訓練期間已經處理了主要的模態對齊任務,原始模型的能力得以最大限度地保留。

透過上述多階段的訓練流程,結合開源語音資料,本文只需合成少量的語音問答資料即可使任意語言模型具備「聽說」的能力,實現純語音的端到端自然互動

實驗效果

我們主要採用開源語音或文字問答資料進行訓練,具體可參考下表。其中 A1 和 T1 表示音訊及對應的文字內容,A2、T2 同理。針對問答場景,1 表示問題,2 表示對應問答的答案。

圖片

下圖中,我們展示了 Audio-to-Text、Audio-to-Audio、Batch-Audio-to-Audio 三種任務中 Mini-Omni 的具體表現。

圖片

更多研究細節,可參考原論文。

相關文章