讓大模型能聽會說,國內機構開源全球首個端到端語音對話模型Mini-Omni
本文出自啟元世界多模態算法組,共同一作是來自清華大學的一年級碩士生謝之非與啟元世界多模態負責人吳昌橋,研究興趣為多模態大模型、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
論文地址:
代碼倉庫:
針對多層級的音頻編碼方案,本文采用不同層級延遲并行輸出的方案減小音頻推理長度,有效解決實時性問題。同時還提出了多任務同時推理的生成方法進一步加強模型的語音推理能力。另一方面,本文所采用訓練方案可有效遷移至任意語言大模型,通過增加少量參數及分階段訓練,在盡可能保留模型原始推理能力的同時,為模型加上 「聽、說」的語音交互能力。
為了驗證方案的有效性,Mini-Omni 在使用僅 0.5B 的小模型和少量開源及合成數據的情況下,在實時語音問答及語音識別等方面表現出令人驚喜的效果。
總結來說,本文主要貢獻為:
提出了首個開源的端到端、實時語音交互的多模態模型解決方案,支持語音流式輸出,不需要額外的 ASR 或 TTS 系統。
推理過程中,可同時生成語音和文本信息,通過文本指導語音生成,有效降低語音推理的學習難度。
提出多階段的訓練方案,可通過少量開源或合成數據使任意語言模型具備語音交互能力。
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 的具體表現。
更多研究細節,可參考原論文。
- 免責聲明
- 本文所包含的觀點僅代表作者個人看法,不代表新火種的觀點。在新火種上獲取的所有信息均不應被視為投資建議。新火種對本文可能提及或鏈接的任何項目不表示認可。 交易和投資涉及高風險,讀者在采取與本文內容相關的任何行動之前,請務必進行充分的盡職調查。最終的決策應該基于您自己的獨立判斷。新火種不對因依賴本文觀點而產生的任何金錢損失負任何責任。