作者:董倩倩
近年來,大規模語言模型(LLMs)建模在 NLP 領域取得了許多突破,特別是 ChatGPT 的成功,正引領大家邁入一個新的 AI 時代。截止目前,基于 encoder-decoder 框架的模型在語音處理任務中仍占主導地位,而基于語言模型(LM)的方法還處于初期探索階段。AudioLM 和 VALL-E 作為前期工作已經證明了利用離散語義單元(Semantic Units)和離散聲學單元(Acoustic Units)聯合語言模型建模在音頻生成任務上的有效性。
基于此,字節跳動的研究者們提出了基于語音離散單元的語音到語音翻譯(S2ST)框架 PolyVoice。PolyVoice 有兩點突出貢獻:
(1)decoder-only:使用 decoder-only 框架實現直接的語音翻譯,同時能夠容納多源的訓練數據。
(2)textless:構建了基于 units 的音頻 LM 用于語音翻譯,可以用于非書寫語言。
論文地址:https://arxiv.org/abs/2306.02982
demo 地址:https://speechtranslation.Github.io/polyvoice/
語音到語音翻譯(S2ST)是一項具有挑戰性的任務,因為它需要同時解決自動語音識別(ASR),機器翻譯(MT)和文本到語音合成(TTS)中的所有難題。與傳統的級聯方法不同,直接建模的方法具有低延遲和簡化 pipeline 的優點?,F有的 S2ST 直接建模的方法可以根據模型是預測連續的梅爾譜圖特征還是離散單元進一步分類。近來,基于 units 的方法變得越來越受歡迎,有如下幾點原因:
(1)基于 units 的方法可以將語音的離散單元視為一種 “偽語言”,可以適用現有的 NLP 技術;
(2)基于 units 的方法緩解了譜圖的學習難度;
(3)基于 units 的方法可以通過無監督的方式獲取離散單元,可以對非書寫語言進行建模。
Semantic Units 和 Acoustic Units 是兩種常用的語音離散單元。Semantic Units 主要用于捕獲語音中的語義內容。Acoustic Units 也可以被稱為 Codec Units,最初用于在有限的帶寬下傳輸高質量的語音信號。
PolyVoice 介紹
PolyVoice 是一種基于語言模型的 S2ST 框架,能夠處理書寫和非書寫語言。PolyVoice 使用通過自監督訓練方法獲得的離散單元作為源語音和目標語音之間的中間表示。PolyVoice 由兩部分組成:
Speech-to-Unit(S2UT)翻譯模塊,將源語言語音的離散單元轉換為目標語言語音的離散單元;
Unit-to-Speech(U2S)合成模塊, 在保留源語言語音說話人風格的同時合成目標語言語音。
下圖是 PolyVoice 的整體架構:
Speech-to-Unit(S2UT)翻譯模塊
通過使用通過自監督訓練獲得的離散單元,從連續語音表示中去除語義無關的信息。S2UT 利用語言模型學習基于語音離散單元的跨語言生成。
1. Semantic Unit Extractor:S2UT 通過 Semantic Unit Extractor 對原始語音進行處理。首先使用 k-means 聚類離散化 HuBERT 輸出的連續表示,進而合并重復 units 的連續序列來壓縮序列長度,這樣可以減少計算成本,并有助于收斂。
2. 基于 units 的跨語言語言模型(U-XLM):U-XLM 將源語言 units “” 翻譯為目標語言 units “”。U-XLM 的 prompt 形式可定義為:Translate [src lang] unit “” to [tgt lang] unit: “”。
3. S2UT 的訓練:為了解決在現實場景下跨語言 units 平行數據稀缺的問題,如下表所示,PolyVoice 適配地修改了提示符,為各種類型的數據源(例如 ASR, MT 等)構建訓練樣本,然后通過參數共享的方式訓練模型。
U-XLM 有幾個突出特性,有處理書寫和非書寫語言的能力、多語言建模功能,以及通過利用大量無標注數據進行 zero-shot 預測的能力。這些特性使 U-XLM 成為推進語音到語音翻譯研究的一個有潛力的框架。
Unit-to-Speech(U2S)合成模塊
1. Unit-to-Speech 語言模型(U-SLM):與 VALL-E 一樣,U-SLM 也包括一個自回歸模型和一個非自回歸模型。在 PolyVoice 中,輸入為源語言和目標語言的 Semantic Units 以及包含源說話人說話風格的 Codec Units。
2. SoundStream codec:SoundStream 的 encoder 用于生成包含源說話人說話風格的 Codec Units,decoder 將 U-SLM 預測的 Acoustic Units 重構為語音波形。
3. Duration model:離散單元的時長信息對于合成語音的穩定性非常重要。PolyVoice 使用 LM 來預測時長信息。具體地,如上圖右下角所示,合并后的源 Semantic Units、合并后的目標 Semantic Units 和源時長值序列(D)作為提示輸入到 Duration LM 中。Duration LM 基于輸入的提示信息預測目標時長值序列,并對每個目標 Semantic Units 進行相應次數的重復操作。
實驗分析
作者在兩個 S2ST 基準數據集 EMIME 和 CVSS 上驗證了 PolyVoice 的性能。
S2ST 實驗
ASV 評分用來評估在輸出語音中保留源說話人音色的能力,ASR-BLEU 用來測評翻譯質量。通過實驗作者給出了一些結論:
1. 當真實的目標翻譯序列可用時,PolyVoice 展示了更好的語音克隆能力。
2. PolyVoice 在翻譯質量方面略有下降,但在語音質量方面有顯著的提升。翻譯質量下降可能是由于無監督的音頻離散化會引入信息損失。語音自然度提升則可能是因為大規模語言模型的數據容納能力可以帶來更好的生成效果。
為了驗證 PolyVoice 在非書寫語言上的有效性,作者在不使用西班牙語的任何文本監督情況下,評估了一個英語→西班牙語 S2ST 系統,ASR-BLEU(18.3)的結果表明 PolyVoice 生成的西班牙語語音在語義上是可理解的。
分析和消融實驗
1. Decoder-only 和 Encoder-Decoder 兩種框架的對比
Decoder-only 模型帶來了 3.9 個 BLEU 的顯著改進,當用 U2S 代替聲碼器合成語音時,縮小了性能差距,證明了 U2S 后端的魯棒性。
2. 多任務訓練
U-XLM 在涉及的多個任務(包括 S2ST、ASR、ST、MT 和 TTS)上都取得了可觀的性能,驗證了 Decoder-only 框架的通用建模能力。
3. U2S 模塊的優化
從實驗結果發現從 U2S 中去掉時長模型,WER 會急劇增加,可能是由于 units 本身不包含與音素一樣多的時長信息。因此,在使用無監督訓練得到的離散單元時,時長模型是必不可少的。此外,作者額外訓練了一個中英的多語言 HuBERT 模型(mHuBERT_zh_en)作為 Semantic Unit Extractor,實驗對比發現更大的模型可能會生成更好的 Semantic Units。
結論
PolyVoice 是一個基于語音離散單元的 S2ST 框架。實驗結果表明,基于 units 的 S2ST 系統在 ASR-BLEU、ASV 和自然度方面優于現有系統。此外,作者還證明了 PolyVoice 在不使用文本信息監督的情況下在非書寫語言場景中的能力。由于 PolyVoice 性能與語音離散單元的質量高度相關,未來的工作將持續研究如何更好地進行語音離散化。