Meta 最近開源了一個 7B 尺寸的 Spirit LM 的多模態(tài)語言模型,能夠理解和生成語音及文本,可以非常自然地在兩種模式間轉換,不僅能處理基本的語音轉文本和文本轉語音任務,還能捕捉和再現(xiàn)語音中的情感和風格。
在純文本大模型取得進展的同時,其他模態(tài)數(shù)據(jù),如語音與文本結合的語言模型(SpeechLMs)也成為了一個熱門的研究領域,但現(xiàn)有的模型要么在僅包含語音的數(shù)據(jù)上進行訓練,要么是關注特定任務,如文本轉語音(TTS)、自動語音識別(ASR)或翻譯,在其他模態(tài)數(shù)據(jù)和任務上的泛化能力十分有限。
在大型語言模型(LLM)性能不斷提升的情況下,一個常用的方法是先用 ASR 模型將語音轉錄成文本,然后用文本模型來生成新的文本,最后再用 TTS 模型將文本轉換成語音,這種流程的一個顯著缺陷就是語音表達性不佳,語言模型無法建模并生成富有表現(xiàn)力的語音數(shù)據(jù)。
Meta 開源了一個基礎多模態(tài)語言模型 Spirit LM,基于一個 70 億參數(shù)的預訓練文本語言模型,交錯使用文本和語音數(shù)據(jù)進行訓練,使模型能夠自由地混合文本和語音,在任一模態(tài)中生成語言內(nèi)容。
將語音和文本序列拼接成一條 token 流,并使用一個小型的、自動整理(automatically-curated)的語音-文本平行語料庫,采用逐詞交錯的方法進行訓練。
Spirit LM 有兩個版本:基礎版(Base)使用語音音素單元(HuBERT),表達版(Expressive)還額外使用音高和風格單元來模擬表達性,以增強模型在生成語音時的表現(xiàn)力,也就是說模型不僅能夠理解和生成基本的語音和文本,還能在表達情感和風格方面表現(xiàn)得更加豐富和自然。
對于兩個版本的模型,文本都使用子詞 BPE 標記進行編碼,最終得到的模型既展現(xiàn)了文本模型的語義能力,也具備語音模型的表達能力;模型還能夠在少量樣本的情況下跨模態(tài)學習新任務(例如自動語音識別、文本轉語音、語音分類)。
不過需要注意的是,和其他預訓練模型一樣,Sprit LM 也可能會生成一些不安全的內(nèi)容,所有基于該技術的應用都需要進行額外的安全測試和調整。
Spirit LM
模型的架構比較簡單,訓練過程就是基本的「預測下一個詞」,不過「詞」是通過編碼器從語音或文本中提取的,然后通過解碼器以原來的模態(tài)進行重新呈現(xiàn);訓練數(shù)據(jù)包括三種:僅包含文本的序列、僅包含語音的序列以及交錯的語音-文本序列的混合數(shù)據(jù)。
基礎版
語音編碼器
使用的 HuBERT 模型,該模型在多個數(shù)據(jù)集的混合上進行訓練,包括多語言的 LibriSpeech、Vox Populi、Common Voice、Spotify 以及 Fisher,最后得到一個包含 501 個音素語音 token 的詞匯表。
語音和文本分詞器
使用 LLaMA 默認的分詞器來處理文本,使用前述的 HuBERT 分詞器來處理語音;為了提高模型的質量,對 HuBERT 的 token 進行了去重處理;對于單模態(tài)數(shù)據(jù)集(僅文本和僅語音),在分詞后的數(shù)據(jù)前加上相應的模態(tài)標記。
文本數(shù)據(jù):[TEXT] 這是一個文本句子
音頻數(shù)據(jù):[SPEECH][Hu262][Hu208][Hu499][Hu105]
交錯語音和文本(Interleaving Speech and Text)
對于對齊的語音 + 文本數(shù)據(jù)集,通過在單詞級別交錯語音和文本來混合“[TEXT] the cat [SPEECH][Hu3][Hu7]..[Hu200][TEXT] the mat”。
研究人員認為,交錯訓練可以幫助模型學習語音和文本之間的對應關系,從而實現(xiàn)更好的文本到語音的轉換;在每個訓練步驟中,句子中的語音和文本部分是隨機采樣的。
語音解碼器
在從語音 token 進行語音合成方面,研究人員在 Expresso 數(shù)據(jù)集上訓練了一個 HifiGAN 聲碼器,其依賴于 HuBERT 語音 token 和 Expresso 特定說話人的嵌入向量。
在訓練期間,HifiGAN 模型會輸入重復的 token,但同時也會訓練一個時長預測模塊,可以更準確地知道每個語音 token 在實際語音中應該持續(xù)多久,最終生成一個語音波形。
表達版
HuBERT 能夠從語音中捕獲良好的音素信息,但在表達性方面表現(xiàn)不佳。
研究人員的目標是在不依賴生物特征識別的情況下,模型依然能夠理解和保留輸入語音中的情感,所以需要用額外的音高 token 和風格 token 來補充 HuBERT 的音素語音 token,并將其包含在語言模型訓練中,以便訓練后的 Spirit LM Expressive 模型能夠捕獲并生成更具表現(xiàn)力的語音。
pitch(音高) token
在語音合成和處理中,音高是一個關鍵因素,決定了聲音的高低,對人類理解語句的情感和語氣來說非常關鍵。音高 token 可以用來捕捉音高變化。當我們說話時,聲音的高低起伏不僅可以表達不同的情感,比如興奮時聲音高亢,悲傷時聲音低沉,還可以幫助我們在口語交流中區(qū)分不同的詞語和句子的意圖。
研究人員在 Expresso 數(shù)據(jù)集上訓練了一個 VQ-VAE 模型,碼本大小為 64,下采樣率為 128,即每秒可以產(chǎn)生 12.5 個音高 token;在訓練音高量化器時,使用 pyaapt8 提取基頻(F0);使用 FCPE9,一個基于 Transformer 的快速音高估計器,來提高推理速度。
style(風格) token
研究人員提取了語音風格特征來捕捉輸入語音的表達風,在輸入片段上進行平均池化處理,每秒生成一個特征,然后在 Expresso 數(shù)據(jù)集上微調特征來預測表達風格,從而進一步從語音風格特征中去除說話人信息,最后在 Expresso 數(shù)據(jù)集的規(guī)范化特征上訓練了一個有 100 個單元的 k 均值聚類。
表達性語音分詞器(Expressive Speech Tokenization)
將三種類型的標記(每秒 25 次的 HuBERT 標記、每秒 12.5 次的音高標記和每秒 1 次的風格標記)按照對應的時間戳進行排序,混合成一個單一的 token 序列。
與 Spirit LM 基礎版相同,表達版同樣對 HuBERT 的 token 和音高 token 進行去重,最后輸入序列類似于:[SPEECH][St10][Pi0][Hu28][Hu22][Pi14][Hu15][Pi32][Hu78][Hu234][Hu468]
表達性語音解碼器(Expressive Speech Decoder)
研究人員訓練了一個 HifiGAN 模型,依賴于 HuBERT token、音高 token、風格 token 以及來自 Expresso 聲音的 1-hot 說話人嵌入向量。同時還訓練了一個時長預測器來預測 HuBERT token 持續(xù)時間。在推理過程中,將每個 HuBERT token 與相應的音高 token 和風格標記 token,并根據(jù)需要進行重復。
實驗結果
Spirit LM 能夠在接收語音 token 或文本 token 的提示時,生成語義和表達上一致的內(nèi)容,將通過定量評估一系列需要生成文本或語音 token 的基準測試,特別評估 Spirit LM 在單模態(tài)和跨模態(tài)場景中的語義能力。
自動語音識別(ASR)和文本轉語音(TTS)
與文本語言模型類似,SPIRIT 語言智能體可以通過少量樣本提示來執(zhí)行特定任務。
可以看到,Spirit LM 使用 10 個樣本的提示能夠獲得最佳性能,最佳模型在 Librispeech 清潔數(shù)據(jù)上的詞錯誤率為 21.9,文本轉語音的字符錯誤率為 45.5
在訓練中加入平行的 ASR 和 TTS 樣本可以極大提高性能,但加入 ASR 和 TTS 數(shù)據(jù)對其他任務的影響非常有限。
在執(zhí)行語音意圖分類(IC)任務時可以發(fā)現(xiàn),隨著樣本數(shù)量的增加,準確率也提高了,模型準確率達到了 79%。
跨模態(tài)對齊
為了更好地理解模型在僅在交錯數(shù)據(jù)和原始語音和文本上訓練的情況下,如何實現(xiàn)良好的跨模態(tài)性能的隱藏機制,研究人員查看了模型特征的 token 級相似性,其中特征來自于 HuBERT token 的輸入序列和相應的 BPE token,計算了從不同層提取的語音和文本特征的相同單詞的最大相似性。
結果發(fā)現(xiàn),模型內(nèi)部口語和書面序列之間的相似性從第 2 層和第 20 層開始增加,并且在早期到中間層中,在用單詞級轉錄訓練的模型中效果較差,表明模態(tài)混合可以對齊語音和文本,使模型能夠將語音序列與相應的文本序列映射起來。
表達性建模
當不給智能體任何先前的樣本,直接根據(jù)語音或文本提示生成內(nèi)容(零樣本)時,可以發(fā)現(xiàn)帶有額外音高和風格 token 的表達版模型在大多數(shù)情況下都比基礎版模型的表現(xiàn)更好,只是在文本內(nèi)容生成(文本到文本)方面兩者表現(xiàn)差不多。
當給模型少量樣本來學習時,可以發(fā)現(xiàn)這種方法對于除了語音內(nèi)容生成(語音到語音)之外的所有情況都有幫助。無論是零樣本還是少量樣本,保持情感的連續(xù)性在相同類型的數(shù)據(jù)(比如文本到文本或語音到語音)中比在不同類型的數(shù)據(jù)(比如語音到文本)中做得更好;在所有測試中,語音到文本的方向得分最低。
此外,研究人員還直接評估了模型對輸入提示的處理能力,結果發(fā)現(xiàn),無論是哪種提示,模型都能得到很高的評分,表明還有很大的空間來進一步提高模型在保持情感表達方面的能力,也意味著,智能體在理解和生成情感豐富的內(nèi)容方面還有很大的潛力可以挖掘。
參考資料:
https://x.com/AIatMeta/status/1847383580269510670
廣告聲明:文內(nèi)含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。