開源端到端語音大模型:直接從原始音頻輸入,生成語音輸出
目前,大模型LLMs能勝任知識問答、代碼輔助等多種任務,但傳統模型大多只能輸出文本,無法直接生成自然語音,這讓人機音頻交互不夠順暢。
要知道,人類交流和感知環境可不只是靠文字,語音里藏著音色、情感、語調等豐富信息,其他音頻也包含著現實場景的關鍵信息。所以,能根據語音或音頻輸入直接回應的音頻語言模型就很重要,也是邁向AGI的關鍵一步。
所以,Step-Audio團隊開源了一個端到端的語音大模型Step-Audio-AQAA,不需要先把語音轉成文字再生成回答,而是直接聽懂音頻問題后,就能合成自然流暢的語音回答,像跟人聊天一樣直接。
開源地址:https://huggingface.co/stepfun-ai/Step-Audio-AQAA
Step-Audio-AQAA的架構采用了一種完全端到端的音頻語言建模,由雙碼本音頻標記器、骨干LLM和神經聲碼器三個核心模塊組成。
雙碼本音頻標記器是 Step-Audio-AQAA 的前端模塊,其作用是將輸入的音頻信號轉換為結構化的標記序列。該模塊的設計靈感來源于語音信號中豐富的語言和語義信息。為了更好地捕捉這些信息,Step-Audio-AQAA 引入了兩個不同的標記器:語言標記器和語義標記器。語言標記器專注于提取語音的結構化、高層次特征,例如音素和語言屬性,這些特征對于理解語音的語義內容至關重要。
它利用 Paraformer 編碼器的輸出,以 16.7 赫茲的速率將語音信號量化為離散的標記,碼本大小為 1024。這種高頻率的量化能夠確保語音的細節得以保留,同時為后續的處理提供豐富的語言信息。
與此同時,語義標記器則側重于捕捉語音的粗粒度聲學特征。這些特征雖然不像語言標記那樣直接關聯到具體的語言內容,但它們能夠提供語音的情感、語調等副語言信息,這對于生成自然、富有表現力的語音輸出至關重要。語義標記器的設計參考了 CosyVoice 1.0,它以 25 赫茲的速率運行,碼本大小為 4096。這種較高的采樣率和較大的碼本使得語義標記器能夠捕捉到更細微的聲學細節,從而為模型提供更豐富的上下文信息。
這兩個標記器生成的標記并非獨立存在,而是相互參照的。研究團隊發現,當使用雙碼本進行訓練時,語義標記和語言標記的下一個標記預測困惑度相比單碼本訓練時有所降低。這表明雙碼本的設計能夠更好地捕捉語音信號中的復雜信息,并且能夠提高模型對語音的理解能力。
在雙碼本音頻標記器將音頻信號轉換為標記序列之后,這些標記序列會被送入骨LLM。Step-Audio-AQAA 的骨干LLM是一個預訓練的 1300 億參數多模態 LLM,名為 Step-Omni。Step-Omni的預訓練數據涵蓋了文本、語音和圖像三種模態,這種多模態的預訓練方式使得模型能夠同時處理多種類型的數據,并且能夠學習到不同模態之間的關聯。在 Step-Audio-AQAA 的架構中,Step-Omni 的文本和語音能力被充分利用,而圖像能力則未被涉及。
Step-Omni采用了僅解碼器架構,這種架構的設計使得模型能夠高效地處理序列數據。在處理來自雙碼本音頻標記器的標記序列時,Step-Omni 首先將雙碼本音頻標記使用合并詞匯表進行嵌入。這種嵌入方式能夠將語言標記和語義標記融合到一個統一的向量空間中,從而使得模型能夠同時處理這兩種標記。
隨后,嵌入后的標記序列會經過多個 Transformer 塊進行進一步的處理。每個 Transformer 塊都包含一個輸入 RMSNorm 層、一個分組查詢注意力模塊、一個后注意力 RMSNorm 層和一個前饋層。這些模塊共同協作,能夠對輸入的標記序列進行深度的語義理解和特征提取。
最后,由骨干 LLM 生成的音頻標記序列會被送入神經聲碼器模塊。神經聲碼器的作用是將這些離散的音頻標記合成為自然、高質量的語音波形。該聲碼器的設計靈感來源于 CosyVoice 1.0 中引入的最優傳輸條件流匹配模型,它采用了 U-Net 架構,這種架構在圖像處理領域已經被證明是非常有效的。在神經聲碼器中,U-Net 架構的基本模塊集成了 ResNet-1D 層和 Transformer 塊,這些模塊能夠高效地提取音頻標記中的特征,并將其轉換為連續的語音波形。