首個通用語音翻譯系統(tǒng)!Meta重磅開源SeamlessM4T:支持100種語言多模態(tài)翻譯,附47萬小時訓(xùn)練數(shù)據(jù)
基于文本的翻譯系統(tǒng)已經(jīng)取得了非常大的進步,從最早的查詞匹配、語法規(guī)則,再到神經(jīng)翻譯系統(tǒng)、Transformer預(yù)訓(xùn)練等,翻譯結(jié)果越來越精準,支持的互譯語言數(shù)量也超過了200種。
但與之相對的「語音到語音翻譯」模型仍然進展緩慢,目前主要依賴多個子系統(tǒng)級聯(lián),先對輸入音頻轉(zhuǎn)換到文本,再逐步得到翻譯結(jié)果。
最近,Meta AI和加州大學(xué)伯克利聯(lián)合發(fā)布了一個大規(guī)模的多語言、多模態(tài)機器翻譯系統(tǒng)SeamlessM4T,只用一個模型實現(xiàn)支持100種語言的語音到語音翻譯、語音到文本翻譯、文本到語音翻譯、文本到文本翻譯和自動語音識別。
Blog post: https://bit.ly/45z0e6s
Demo鏈接: https://seamless.metademolab.com
論文鏈接: https://ai.meta.com/research/publications/seamless-m4t/
開源鏈接: https://github.com/facebookresearch/seamless_communication
為了訓(xùn)練模型的多項能力,研究人員先使用了100萬小時的開放語音音頻數(shù)據(jù)來學(xué)習w2v-BERT 2.0的自監(jiān)督語音表征。
然后過濾并結(jié)合人工標注和偽標注數(shù)據(jù),得到了一個自動對齊的語音翻譯多模態(tài)語料庫SeamlessAlign,總計40.6萬小時,也是第一個能同時將語音和文本翻譯成英語的多語言系統(tǒng)。
在Fleurs上,SeamlessM4T為多種目標語言的翻譯設(shè)定了新的標準,在直接語音到文本的翻譯方面,BLEU比以前的最高性能模型提高了20%;
與強級聯(lián)模型相比,SeamlessM4T在語音到文本方面將英譯質(zhì)量提高了1.3 BLEU評分,在語音到語音方面提高了2.6 ASR-BLEU評分。
在CVSS上,與用于語音到語音翻譯的2階段級聯(lián)模型相比,SeamlessM4T-Large的性能強了58%
數(shù)據(jù)準備
語言識別(LID)
將原始的音頻數(shù)據(jù)按照語言進行分類后,可以提高音頻片段的對齊質(zhì)量,提高下游翻譯系統(tǒng)的性能。
研究人員選擇ECAPA-TDNN開源架構(gòu)作為基線模型,在VoxLingua107數(shù)據(jù)集上重新訓(xùn)練30個epoch后,分類錯誤率為5.25%;相比之下,開源版模型VL107 HF的錯誤率為7%
在模型復(fù)現(xiàn)驗證完畢后,研究人員最終在8個GPU上訓(xùn)練了40個epoch,總耗時172小時,累計使用1.7萬小時的語音數(shù)據(jù),平均每種語言171小時,具體為1到600小時不等。
在100種SeamlessM4T語言以及79種VoxLingua107語言的實驗中,可以看到,對額外語言的訓(xùn)練會略微降低通用語言集的整體性能,可以是因為引入了更多相似語言,比如祖魯語(zul)經(jīng)常與尼亞雅語(nya)混淆,現(xiàn)代標準阿拉伯語(arb)與摩洛哥阿拉伯語(arry)和埃及阿拉伯語(arz)混淆等。
總體來說,新模型在17種語言的分類能力上平均性能提升14.6%,但有12種語言的分類能力下降(平均9.8%)。
除此之外,為了提高LID標簽的質(zhì)量,研究人員還根據(jù)特定語言的可用數(shù)據(jù)量,估算了開發(fā)語料庫中每種語言正確和錯誤分類的LID分數(shù)高斯分布,設(shè)定過濾閾值,使得 p(correct|score) > p(incorrect|score)
在過濾掉8%的數(shù)據(jù)后,模型的F1指標又進一步提高了近3%
大規(guī)模收集原始音頻和文本
在文本預(yù)處理時,研究人員遵循NLLB團隊的策略,使用相同的數(shù)據(jù)源、清洗策略、過濾步驟等。
論文鏈接:https://arxiv.org/abs/2207.04672
在音頻預(yù)處理上,研究人員首先從公開的網(wǎng)絡(luò)數(shù)據(jù)抓取庫中獲取了400萬小時的原始音頻(其中約100萬小時為英語),然后以16KHz頻率進行重采樣,再使用定制的音頻事件檢測(AED)模型過濾掉非語音數(shù)據(jù)。
在音頻分割部分, 為了實現(xiàn)S2TT或S2ST挖掘,研究人員將音頻文件盡可能分割成小塊,使得每個塊內(nèi)只包含一個獨立的句子。
但語音中的語義分割仍然是一個開放性問題,不同語言中的停頓都可能代表不同的含義,所以研究人員先采用語音活動檢測(VAD)模型將音頻文件分割成較短的片段,再在每個文件上使用語音LID模型,最后為每個片段創(chuàng)建了多個可能的重疊片段,并使用挖掘算法選擇最佳片段,過度分割的策略使得潛在分段數(shù)量增加了八倍。
語音挖掘
在挖掘過程中,研究人員先訓(xùn)練了一個文本編碼器和語音編碼器,然后利用兩個編碼器將文本和語音模態(tài)的數(shù)據(jù)投影到聯(lián)合嵌入空間SONAR(Sentence-level multimOdal and laNguage-Agnostic Representations)中。
文本編碼器的訓(xùn)練方法為,首先訓(xùn)練文本嵌入空間,再利用師生訓(xùn)練策略將其擴展到語音模態(tài),初始文本SONAR空間采用了編碼器-解碼器架構(gòu),基于NLLB-1.3B模型,能夠翻譯200種語言。
研究人員使用平均池化(mean-pooling)將中間表示轉(zhuǎn)換為固定大小的向量,即解碼器只需關(guān)注一個向量,然后利用NLLB的所有 T2TT訓(xùn)練數(shù)據(jù)對這一架構(gòu)進行了微調(diào)。
在語音編碼器的訓(xùn)練中,先通過預(yù)訓(xùn)練 XLS-R 模型的 BOS 輸出,獲得了固定大小的語音表征,然后對該模型進行微調(diào),以最大化該集合語音表征與相同語言(ASR 轉(zhuǎn)錄)或英語(語音翻譯)句子嵌入之間的余弦損失。
最后根據(jù)文本句子或其他語言的語音片段挖掘語音片段來生成S2TT和S2ST數(shù)據(jù)對以訓(xùn)練SeamlessM4T模型。
研究人員進行了全局挖掘(global mining),即將一種語言的所有語音片段與另一種語言的所有語音片段進行比較,利用faiss庫對所有嵌入進行索引可以實現(xiàn)在GPU上高效的大規(guī)模相似度搜索。
SeamlessM4T模型架構(gòu)
研究人員設(shè)計SeamlessM4T的目標之一是,通過構(gòu)建一個更強大的直接X2T模型(用于將文本和語音翻譯成文本)來彌合大型多語言和多模態(tài)設(shè)置中S2TT的直接和級聯(lián)模型之間的差距,將強大的語音表示學(xué)習模型與大規(guī)模多語言T2TT模型相結(jié)合。
無監(jiān)督語音預(yù)訓(xùn)練
語音識別和翻譯任務(wù)的標注數(shù)據(jù)非常難獲得,對于低資源語言來說更是如此,所以研究人員對語音翻譯模型的訓(xùn)練思路是先采用自監(jiān)督學(xué)習進行預(yù)訓(xùn)練后再用少量數(shù)據(jù)微調(diào),可以在數(shù)據(jù)量不足的情況下提升模型的極限性能。
研究人員在Seamless M4T Large中采用w2v BERT 2.0預(yù)訓(xùn)練語音編碼器的w2v BERT XL架構(gòu),具有24個Conformer層和大約600M的模型參數(shù)。
w2v BERT 2.0模型基于100萬小時的開放語音音頻數(shù)據(jù)進行訓(xùn)練,覆蓋了超過143種語言。
w2v-BERT 2.0遵循w2v-BERT的設(shè)計思路,將對比學(xué)習和遮罩預(yù)測學(xué)習相結(jié)合,不過調(diào)整了其中兩個學(xué)習目標。
對比學(xué)習模塊用于學(xué)習Gumbel矢量量化(GVQ)詞表(codebook)和上下文表征,之后用遮罩預(yù)測學(xué)習在不同任務(wù)中細化上下文表征,而不是在遮罩位置對預(yù)測概率進行極化。
w2v-BERT 2.0沒有使用單一的GVQ詞表,而是用兩個GVQ碼本的乘積量化。
X2T:文本翻譯與轉(zhuǎn)錄
多任務(wù)UnitY框架的核心部分X2T是一個多編碼器序列模型,語音輸入用的是基于Conformer的編碼器,文本使用基于Transformer的編碼器。
X2T模型的訓(xùn)練數(shù)據(jù)為S2TT,即包含一段源語言的音頻和目標語言的文本。
研究人員分兩個階段訓(xùn)練X2T模型:
第一階段在標注英語ASR和英語S2TT數(shù)據(jù)進行有監(jiān)督訓(xùn)練,這一過程可以同時提升X-eng(某個語言到英語)及eng-X的翻譯性能。
在這一過程中,研究人員猜想,模型只關(guān)注一種目標語言,同時用多語言語音表征進行微調(diào)的話,可以避免從目標語言反向傳播回來的干擾信號。
在第二階段,將標注eng-X S2TT和非英語ASR數(shù)據(jù)添加到混合數(shù)據(jù)集中。
語音到語音翻譯(S2ST, Speech-to-Speech Translation)
S2ST問題的關(guān)鍵是使用自監(jiān)督離散聲學(xué)單元來表示目標語音,從而將S2ST問題分解為語音到單元翻譯(S2UT)和單元到語音(U2S)轉(zhuǎn)換。
對于S2UT問題,使用UnitY作為two-pass解碼框架,首先生成文本,然后預(yù)測離散的聲學(xué)單元。
與基本UnitY模型相比,SemalessM4T中的UnitY對初始化的S2TT模型進行預(yù)訓(xùn)練來聯(lián)合優(yōu)化T2TT、S2TT和ASR的X2T模型;T2U模型更深,包含6個Transformer層;使用預(yù)訓(xùn)練T2U模型而非從頭初始化。
預(yù)訓(xùn)練X2T具有更強的語音編碼器和更高質(zhì)量的first-pass文本解碼器,并且更大規(guī)模的預(yù)訓(xùn)練T2U模型可以在不受干擾的情況下,更好地處理多語言單元生成。
在微調(diào)的最后階段,用預(yù)訓(xùn)練X2T模型和預(yù)訓(xùn)練T2U模型對多任務(wù)UnitY模型初始化后,使用總計12.1萬小時的X-ENG和ENG-X S2ST翻譯數(shù)據(jù)對T2U組件進行微調(diào),確保模型對先前微調(diào)階段任務(wù)的性能保持不變。
SeamlessM4T模型
經(jīng)過前面三個階段的訓(xùn)練后,最終得到的SeamlessM4T-Large模型具有2.3B參數(shù),在T2TT任務(wù)上針對95種與英語配對的語言進行了微調(diào),在ASR任務(wù)上針對96種語言進行了微調(diào),在S2TT任務(wù)上針對89種與英語配對的語言進行了微調(diào)。
為了提供不同尺寸的模型,研究人員遵循相同的步驟來訓(xùn)練得到SeamlessM4T-Medium,參數(shù)量比SeamlessM4T-Large少57%,可以更方便地測試和微調(diào)以進行實驗分析和改進。
實驗評估
研究人員在四個有監(jiān)督任務(wù)(T2TT、ASR、S2TT和S2ST)以及文本到語音翻譯的零樣本任務(wù)(T2ST,跨語言文本到語音合成)上評估了SeamlessM4T模型。
在S2ST和T2ST推理過程中,模型進行two-pass beam search解碼,寬度為5,先用文本解碼器找到最佳假設(shè)(best hypothesis),然后輸入到T2U中搜索最佳單位序列假設(shè)。
級聯(lián)方法對比
在SeamlessM4T和Whisper支持的語言集上,研究人員對比了Whisper ASR模型和NLLB T2TT模型的組合。
可以看到,SeamlessM4T-Large在x-eng方向上比參數(shù)小于3B的級聯(lián)模型高出2個BLEU評分,在eng-x方向上比參數(shù)小于3B的級聯(lián)模型高出0.5個BLEU評分。
當使用大型NLLB-3.3B T2TT模型(超40億參數(shù)量)的級聯(lián)模型時,也只在eng-X方向上優(yōu)于SeamlessM4T-Large
在S2ST任務(wù)的對比中,SeamlessM4T-Large在Fleurs X-Eng方向上比2級級聯(lián)模型高出9個ASR-BLEU點,比3級級聯(lián)模型高出2.6個ASR BLEU評分。
在CVSS上,SeamlessM4T-Large比2級級聯(lián)模型高出14個ASR-BLEU評分;在Fleurs Eng-X方向上,SeamlessM4T-Large在32個X-Eng方向上的平均ASR-BLEU為21.5,比Whisper-Large-v2(用于ASR-BLEU的ASR模型)的WER高于100。