GPT-4o 提供的全雙工語音對話帶來了一股研究熱潮,目前諸多工作開始研究如何利用 LLM 來實現端到端的語音到語音(Speech-to-Speech)對話能力,但是目前大部分開源方案存在以下兩個問題:
LLM 災難性遺忘:由于現有方案在語音模態與 LLM 進行對齊時,會或多或少對 LLM 進行微調,但由于要采集到與 LLM 本身訓練的文本數據同等量級的語音數據是非常困難的,所以這一微調過程往往會導致 LLM 出現遺忘現象,造成 LLM 的聰明度下降
語音問答(Spoken Question Answering)任務的評估:多數工作對于語音問答的準確性并沒有進行定量評估,從已有的一些評估結果也可以看出同一模型語音問答和文本問答相比準確性會有明顯的差距
針對上述這些問題,近日騰訊&西工大&南大的研究人員提出了一種低延遲的端到端語音雙工對話模型 Freeze-Omni(VITA 大模型系列第二個工作),其可以在完全凍結 LLM 的情況下,為 LLM 接入語音輸入和輸出,使其能夠支持端到端的語音對話能力,且通過一系列優化使得其具備低延遲的雙工對話能力,其主要特性如下:
在整個訓練過程中,LLM 的參數被完全凍結,確保大型語言模型的知識能力被完全保留;
訓練過程中所依賴的數據規模較小,消耗的計算資源也較少。Freeze-Omni 僅需要文本-語音配對數據(如 ASR 和 TTS 訓練數據,比較容易獲得)以及僅少量的文本模態的問答數據,語音問答準確性顯著超越 Moshi 與 GLM-4-Voice 等目前 SOTA 的模型;
Freeze-Omni 可以支持任何具有文本模態的(多模態)大語言模型,能夠保留基底大語言模型的能力,如提示服從和角色扮演等。此外,如果有必要改變大語言模型的領域或者回應方式,只需要用相應的文本數據對大語言模型進行微調即可,不需要采集大量語音的問答和對話數據。
論文標題:
Freeze-Omni: A Smart and Low Latency Speech-to-speech Dialogue Model with Frozen LLM
論文鏈接:
https://arxiv.org/abs/2411.00774
項目主頁:
https://freeze-omni.github.io/
開源代碼:
https://github.com/VITA-MLLM/Freeze-Omni
三階段訓練策略實現語音輸入輸出能力
Freeze-Omni 的整體結構如圖 1 所示,其包含有語音編碼器(Speech Encoder)和語音解碼器(Speech Decoder)以及基底 LLM 三部分。 在運行過程中,流式的語音輸入通過語音編碼器形成分塊(Chunk)特征,然后通過 Adapter 連接到 LLM,LLM 生成的 Hidden State 和文本 Token 的在分塊分割后,分別以塊的形式送入非自回歸前綴語音解碼器(NAR Prefix Speech Decoder)和非自回歸語音解碼器(NAR Speech Decoder)以進行 Prefill 操作。 最后自回歸語音解碼器(AR Speech Decoder)將會完成 Generate 操作以生成語音 Token,并由 Codec Decoder 將其流式解碼為語音信號輸出。
▲ 圖1. Freeze-Omni框架圖 Freeze-Omni 各個模塊的三階段訓練策略如下: 流式語音編碼器的三階段訓練:如圖 2 所示,第一階段(a)會先使用 ASR 數據訓練一個具有 ASR 能力的語音編碼。 第二階段(b)會以 ASR 任務為優化目標,將語音編碼器與 LLM 做模態對齊,這個過程中 LLM 是處于凍結狀態的。 第三階段(c)會使用由 TTS 系統合成的語音輸入-文本回答的多輪 QA 數據進行訓練,這里會使用第二階段訓練好的語音編碼器,但是其參數保持凍結以保留其語音魯棒性,而可訓練的參數只有每個問題前的 Prompt Embedding,用于指導 LLM 從 ASR 任務遷移到 QA 任務中。
▲ 圖2. 流式語音編碼器的三階段訓練示意圖 流式語音解碼器的三階段訓練:如圖 3 所示,第一階段(a)會先訓練一個單碼本的語音編解碼模型,使用單碼本的目的主要是為了降低計算復雜度和時延。 第二階段(b)將會訓練 NAR 語音編碼器和 AR 語音編碼器,這里會使用文本-語音的 TTS 數據,其文本會通過基底 LLM 的 Tokenizer 轉化為 Token,再經過基底 LLM 的 Embedding 層轉化為文本特征,這個過程中 Embedding 的參數是凍結的,訓練目標的語音 Token 是由第一階段的語音編碼器提供。 第三階段(c)將會凍結第二階段訓練得到的所有網絡,但同時加入了一個 NAR Prefix 語音編碼器,其用于接受 LLM 輸出的 Hidden State,并將輸出的 kv-cache 作為第二階段模型的初始 kv-cache,該過程使用的數據是文本輸入-語音輸出的 QA 數據,主要目的是為了使得語音編碼器遷移到 LLM 的輸出領域中。
▲ 圖3. 流式語音解碼器的三階段訓練示意圖 雙工對話的狀態標簽訓練:如圖 4 所示,為了實現雙工交互,Freeze-Omni 在語音編碼器訓練的第三階段中,會為每個 Chunk 的最后一個語音幀對應的 LLM 輸出 Hidden State 加入一個額外的分類層進行多任務訓練,其目的主要是為了輸出狀態標簽。 當使用 VAD 激活語音流輸入后,狀態標簽 0 表示 LLM 將會繼續接受語音 Chunk 的輸入,狀態標簽 1 表示 LLM 將會停止接收語音,且會打斷用戶并進入 LLM 的 Generate 階段輸出回復,狀態標簽 2 表示 LLM 也會停止接收語音,但不會打斷用戶,相當于對這次語音激活做了拒識。
▲ 圖4. 全雙工對話的狀態標簽訓練示意圖
模型性能測評
訓練配置:Freeze-Omni 在訓練過程中,使用了開源 Qwen2-7B-Instruct 作為基底模型,語音編碼器在訓練過程中使用了 11 萬小時中文英文混合的 ASR 數據,語音解碼器訓練過程使用了 3000 小時由 TTS 系統合成的文本-語音數據,所提到的 QA 數據是由 6 萬條從 moss-003-sft-data 中抽取的多輪對話經過 TTS 系統合成得到的。 語音輸入理解能力評估:Freeze-Omni 提供了其在常見的英文測試集上的 ASR 性能測試結果,從中可以看出,其 ASR 準確性處于較為領先的水平。
▲ 圖5. 語音理解能力評估 語音輸出質量評估:Freeze-Omni 提供了其在 1000 條 LLM 輸出的 Hidden State 與 Text Token 上語音解碼器生成的語音在使用 ASR 模型測試得到的詞錯誤率(CER),從結果中可以看出 NAR Prefix 語音解碼器的引入會有效降低詞錯誤率,提高生成語音的質量。
▲ 圖6. 語音輸出質量評估 語音問答準確性評估:Freeze-Omni 提供了其在 LlaMA-Questions, Web Questions, 和 Trivia QA 三個集合上的語音問答準確率評估。 從結果中可以看出 Freeze-Omni 的準確率具有絕對的領先水平,超越 Moshi 與 GLM-4-Voice 等目前 SOTA 的模型,并且其語音模態下的準確率相比其基底模型 Qwen2-7B-Instruct 的文本問答準確率而言,差距明顯相比 Moshi 與其文本基底模型 Helium 的要小,足以證明 Freeze-Omni 的訓練方式可以使得 LLM 在接入語音模態之后,聰明度和知識能力受到的影響最低。
▲ 圖7. 語音問答準確性評估 系統延遲評估:Freeze-Omni 還提供了端到端時延分析(即用戶說完后到 LLM 輸出音頻的時間差),作者將其分為了可統計時延和不可統計時延兩部分,其中可統計時延的總時長平均數僅為 745ms,而作者也提到如果經過測量考慮到網絡延遲和不可統計時延部分,則系統的平均響應時延在 1.2s 左右,在行業內仍為領先水平。
▲ 圖8. 系統延遲評估
-
模型
+關注
關注
1文章
3226瀏覽量
48807 -
LLM
+關注
關注
0文章
286瀏覽量
327
原文標題:準確性超Moshi和GLM-4-Voice!端到端語音雙工模型Freeze-Omni
文章出處:【微信號:tyutcsplab,微信公眾號:智能感知與物聯網技術研究所】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論