僅用4塊GPU、不到3天訓練出「開源版GPT-4o」,這是國內團隊最新研究

机器之心發表於2024-09-23
LLaMA-Omni能夠接收語音指令,同步生成文字和語音響應,響應延遲低至 226ms,低於 GPT-4o 的平均音訊響應延遲 320ms。

以 ChatGPT 為代表的大型語言模型(LLM)已成為強大的通用任務解決器,但大多數 LLM 僅支援基於文字的互動,這限制了它們在不適合文字輸入輸出的場景中的應用。GPT-4o 的出現使得透過語音與 LLM 進行互動成為可能。然而,開源社群對於構建此類基於 LLM 的語音互動模型仍然缺乏探索。

實現與 LLM 進行語音互動最簡單的方法是採用基於自動語音識別(ASR)和語音合成(TTS)模型的級聯絡統,其中 ASR 模型將使用者的語音指令轉錄為文字, TTS 模型將 LLM 的響應合成為語音。

然而,由於級聯絡統依次輸出轉錄文字、文字響應和語音響應,整個系統往往具有較高的延遲。相比之下,一些多模態語音 - 語言模型將語音離散化為 token 並擴充套件 LLM 的詞表以支援語音輸入和輸出。這種語音 - 語言模型理論上可以直接從語音指令生成語音響應,無需生成中間文字,從而實現極低的響應延遲。然而,在實踐中,由於涉及語音之間複雜的對映,直接語音到語音的生成通常極具挑戰性。

為了解決上述問題,來自中國科學院計算技術研究所、中國科學院大學的研究者提出了一種新型模型架構 ——LLaMA-Omni,它可以實現與 LLM 的低延遲、高質量互動。

圖片

  • 論文:https://arxiv.org/pdf/2409.06666
  • 程式碼:https://github.com/ictnlp/LLaMA-Omni
  • 模型:https://huggingface.co/ICTNLP/Llama-3.1-8B-Omni
  • 論文標題:LLaMA-Omni: Seamless Speech Interaction with Large Language Models

LLaMA-Omni 由語音編碼器、語音介面卡、LLM 和流式語音解碼器組成。使用者的語音指令由語音編碼器進行編碼,經過語音介面卡後輸入到 LLM。LLM 直接從語音指令中解碼文字響應,無需首先將語音轉錄為文字。語音解碼器是一個非自迴歸(NAR)流式 Transformer,它將 LLM 的輸出表示作為輸入,並使用連線時序分類(Connectionist Temporal Classification, CTC)來預測與語音響應相對應的離散單元序列。

在推理過程中,當 LLM 自迴歸生成文字響應時,語音解碼器同步生成相應的離散單元。為了更好地契合語音互動場景的特點,該研究透過重寫現有的文字指令資料並進行語音合成,構建了名為 InstructS2S-200K 的資料集。實驗結果表明,LLaMA-Omni 可以同步生成高質量的文字和語音響應,延遲低至 226ms。

此外,與 SpeechGPT 等語音 - 語言模型相比,LLaMA-Omni 顯著減少了所需的訓練資料和計算資源,從而能夠基於最新的 LLM 高效開發強大的語音互動模型。僅用4塊GPU、不到3天訓練出「開源版GPT-4o」,這是國內團隊最新研究
LLaMA-Omni 模型概覽

如圖 2 所示,LLaMA-Omni 由語音編碼器、語音介面卡、LLM 和語音解碼器組成,其中將使用者的語音指令、文字響應和語音響應分別表示為 X^S、Y^T 和 Y^S。

圖片

語音編碼器

該研究使用 Whisper-large-v3 (Radford et al., 2023)的編碼器作為語音編碼器 E。Whisper 是一種在大量音訊資料上訓練的通用語音識別模型,其編碼器能夠從語音中提取有意義的表徵。

具體來說,對於使用者的語音指令 X^S,編碼後的語音表徵由 H = ε(X^S) 給出,其中 H = [h_1, ..., h_N ] 是長度為 N 的語音表徵序列,語音編碼器的引數在整個訓練過程中都被凍結。

語音介面卡

為了使 LLM 能夠理解輸入語音,LLaMA-Omni 結合了一個可訓練的語音介面卡 A,它將語音表徵對映到 LLM 的嵌入空間中。語音介面卡首先對語音表徵 H 進行下采樣以減少序列長度。具體來說,每 k 個連續幀沿特徵維度拼接:

圖片

接下來,H′ 透過具有 ReLU 啟用的 2 層感知器,得到最終的語音表徵 S:

圖片

大型語言模型

該研究使用 Llama-3.1-8B-Instruct(Dubey et al., 2024)作為 LLM M,它是目前 SOTA 開源 LLM,具有很強的推理能力,並且與人類偏好進行了對齊。prompt 模板 P (・) 如圖 3 所示。

圖片

將語音表徵序列 S 填充到對應位置,然後將整個序列 P (S) 輸入到 LLM 中。最後,LLM 直接根據語音指令自迴歸生成文字響應 Y^T = [y^T_1 , ..., y^T_M],並使用交叉熵損失進行訓練:

圖片

語音解碼器

為了與文字響應同步生成語音響應,LLaMA-Omni 在 LLM 之後新增了一個流式語音解碼器 D。它由幾個標準 Transformer 層組成,其架構與 LLaMA (Dubey et al., 2024) 相同,每個層都包含一個因果自注意力模組和一個前饋網路。

語音解碼器以非自迴歸方式執行,將 LLM 的輸出表示經過上取樣後作為輸入,並生成與語音響應相對應的離散單元序列。

訓練

如圖 2 所示,LLaMA-Omni 採用兩階段訓練策略。第一階段訓練模型直接根據語音指令生成文字響應的能力。具體來說,語音編碼器被凍結,語音介面卡和 LLM 使用公式 (3) 中的目標 L_LLM 進行訓練。語音解碼器在此階段不參與訓練。第二階段訓練模型來生成語音響應。在此階段,語音編碼器、語音介面卡和 LLM 都被凍結,僅使用公式 (5) 中的目標 L_CTC 來訓練語音解碼器。

圖片

推理

在推理過程中,LLM 根據語音指令自迴歸生成文字響應。同時,由於語音解碼器使用因果注意力,一旦 LLM 生成文字響應字首圖片,相應的輸出狀態圖片就可以被輸入到語音解碼器中以生成部分對齊圖片,進而產生與生成的文字字首相對應的離散單元。

為了進一步實現語音波形的流式合成,當生成的離散單元數量達到預定義的塊大小 Ω 時,即將該離散單元片段輸入到聲碼器中以合成語音片段,然後立即播放給使用者。因此,使用者無需等待生成完整的文字響應即可開始收聽語音響應,從而確保低響應延遲。演算法 1 描述了上述過程。

圖片

語音指令資料的構建:INSTRUCTS2S-200K

為了訓練 LLaMA-Omni,需要構建三元組資料:語音指令,文字響應,語音響應。
對於語音指令資料而言,包含三步:指令重寫、響應生成、語音合成

對於基礎文字指令,作者從 Alpaca 資料集中收集了大約 50K 條指令,該資料集涵蓋了廣泛的主題。此外,作者從 UltraChat 資料集中收集了大約 150K 條指令,該資料集主要由有關世界的問題組成。值得注意的是,UltraChat 是一個大規模多輪對話資料集,但作者僅選擇了前 150K 條條目並僅使用第一輪指令。最終獲得 200K 語音指令資料,稱為 InstructS2S-200K。

實驗結果

訓練資料。作者採用 InstructS2S-200K 資料集,其包括 200K 語音指令資料。

模型配置。作者使用 Whisper-large-v3 編碼器作為語音編碼器,使用 Llama-3.1-8B-Instruct 作為 LLM。

訓練。LLaMA-Omni 遵循兩階段訓練過程:在第一階段,作者訓練語音介面卡和 LLM,批處理大小為 32,共 3 個 epoch;在第二階段,作者訓練語音解碼器,使用與第一階段相同的批處理大小、step 數等。整個訓練過程在 4 個 NVIDIA L40 GPU 上大約需要 65 小時。

在評估方面,作者從以下方面對模型進行了評估:

  • ChatGPT 得分;
  • 語音 - 文字對齊;
  • 語音質量;
  • 響應延遲。

除此以外,語音 - 語言模型的基線系統包含 SpeechGPT 、 SALMONN (+TTS) 、 Qwen2-Audio (+TTS) 。

主要結果

表 1 給出了 InstructS2S-Eval 基準測試主要結果。

首先,在 S2TIF 任務中,從內容(content)角度來看,LLaMA-Omni 相比之前的模型有了顯著提升,這主要是因為 LLaMA-Omni 是基於最新的 Llama-3.1-8B Instruct 模型開發的,充分利用了其強大的文字指令跟隨能力。

從風格(style)角度來看,SALMONN 和 Qwen2-Audio 得分較低,因為它們是語音 - 文字模型,輸出風格與語音互動場景不太對齊,經常產生格式化的內容,包含大量冗餘解釋。相比之下,SpeechGPT 作為語音 - 語音模型,獲得了更高的風格得分。

LLaMA-Omni 獲得了最高的風格得分,這說明在 InstructS2S-200K 資料集上訓練後,模型輸出風格已經與語音互動場景很好地對齊。

對於 S2SIF 任務,LLaMA-Omni 在內容和風格得分上也都優於之前的模型。這進一步證實了 LLaMA-Omni 能夠以簡潔、高效的方式透過語音有效地處理使用者指令。

此外,在語音和文字響應的對齊方面,LLaMA-Omni 的 ASR-WER 和 ASR-CER 得分最低。相比之下,SpeechGPT 在對齊語音和文字響應方面表現不佳,這可能是因為它是序列生成文字和語音的。

級聯絡統(如 SALMONN+TTS 和 Qwen2-Audio+TTS)的語音 - 文字對齊也不是最理想的,主要是因為生成的文字響應可能包含無法合成語音的字元。這個問題在 Qwen2-Audio 中尤為明顯,它偶爾會輸出中文字元,從而導致語音響應錯誤。

相比之下,LLaMA-Omni 的 ASR-WER 和 ASR-CER 得分最低,表明生成的語音和文字響應之間的對齊程度更高,進一步驗證了 LLaMA-Omni 在同時生成文字和語音響應方面的優勢。

圖片

語音質量和響應延遲之間的權衡

為了更好地理解 Ω 的影響,作者對系統延遲、語音和文字響應之間的對齊以及不同 Ω 設定下生成的語音質量進行了探索。

如表 2 所示,當 Ω 設定為 10 時,系統的響應延遲低至 226ms,甚至低於 GPT-4o 的平均音訊延遲 320ms。

綜合來看,可以根據不同的場景調整 Ω 的值,以實現響應延遲和語音質量之間的權衡。

圖片

解碼時間

表 3 列出了不同模型在 S2TIF 和 S2SIF 任務上的平均解碼時間。

LLaMA-Omni 直接提供簡潔的答案,從而顯著縮短解碼時間,平均每條指令僅為 1.49 秒。

LLaMA-Omni 同時輸出文字和語音響應,並採用非自迴歸架構生成離散單元,總生成時間僅增加 1.28 倍,體現出 LLaMA-Omni 在解碼速度上的優勢。

圖片

案例研究

為了直觀的瞭解不同模型的響應差異,作者在表 4 中提供了一個示例。

可以觀察到 Qwen2-Audio 的響應相當冗長,並且包含換行符和括號等無法合成語音的元素。

SALMONN 的響應也有點長。

SpeechGPT 的響應風格更適合語音互動場景,但其響應所包含的資訊量較少。

相比之下,LLaMA-Omni 給出的響應在保持簡潔風格的同時更加詳細和有幫助,在語音互動場景中的表現優於之前的模型。

圖片

相關文章