華為多模態(tài)同傳翻譯的落地及優(yōu)化
一、同傳翻譯技術(shù)背景以及面臨的一些挑戰(zhàn)
同傳翻譯任務(wù)是要把源方向的音頻翻譯成目標(biāo)方向的文本。該技術(shù)主要有兩個(gè)應(yīng)用場(chǎng)景:離線語(yǔ)音翻譯場(chǎng)景和同傳翻譯場(chǎng)景。這兩個(gè)場(chǎng)景最大的區(qū)別在于信息量。
場(chǎng)景 | 區(qū)別描述 |
同傳翻譯 | 實(shí)時(shí)互動(dòng),所以只能獲取到當(dāng)前音頻流,不能有效獲取全量上下文的信息 |
語(yǔ)音翻譯 | 已經(jīng)獲取整個(gè)音視頻的全文的信息 |
語(yǔ)音翻譯/同傳翻譯領(lǐng)域主要有兩種技術(shù)路線:端到端的技術(shù)方案和級(jí)聯(lián)的技術(shù)方案。學(xué)術(shù)界多以端到端的系統(tǒng)為研究方向。端到端的技術(shù)方案是直接從源語(yǔ)音到目標(biāo)的文本生成。端到端的語(yǔ)音翻譯模型訓(xùn)練依賴二元數(shù)據(jù)組集 <源端音頻,目標(biāo)端文本>,但這樣的數(shù)據(jù)對(duì)只有萬(wàn)級(jí)別的數(shù)據(jù)量,不支持在工業(yè)界完整地落地。所以工業(yè)界的語(yǔ)音翻譯系統(tǒng)還是以級(jí)聯(lián)的這種技術(shù)方案為主。級(jí)聯(lián)的技術(shù)方案包含兩個(gè)模塊ASR和MT。ASR把源端的音頻先識(shí)別為源端的文本,然后MT把它變成目標(biāo)端的文本。
級(jí)聯(lián)的方案依賴三元數(shù)據(jù)組集<源端音頻,源端文本,目標(biāo)端文本>。源端音頻到源端文本用到ASR模塊,而源端文本到目標(biāo)端文本用到翻譯模塊。這兩個(gè)模塊的數(shù)據(jù)量是很大的。另外,在真實(shí)場(chǎng)景中,還有很多的單語(yǔ)文本數(shù)據(jù)/無(wú)標(biāo)簽音頻做MT/ASR的增強(qiáng)訓(xùn)練以提升質(zhì)量。
1、ASR技術(shù)
ASR的模型結(jié)構(gòu)可以分成音頻特征抽取和文本生成兩個(gè)模塊。
音頻特征抽取模塊主流的提取方式為Transformer和Conformer。Conformer是在Transformer基礎(chǔ)上進(jìn)行改進(jìn),加入了CNN模塊。
文本生成模塊最經(jīng)典的生成方式是CTC。CTC將音頻特征輸入,一次性解碼所有文本。第二種生成方式是AED,即token by token的自回歸式生成,直到生成一個(gè)結(jié)束符號(hào)。
根據(jù)場(chǎng)景劃分,ASR可以分成離線解碼和流式解碼兩種。其中,流式解碼是學(xué)術(shù)界的研究熱點(diǎn),并且通常會(huì)假定一種沒有字符跳變的理想情況。目前,有三種技術(shù)方向。第一個(gè)方案是Transducer系列,如RNN-T,Transformer-T等。第二個(gè)方案對(duì)Attention模塊引入Chunk-wise的改造。在提取音頻特征時(shí),讓后面的和前面的信息在不同的chunk之間進(jìn)行隔斷,讓前面chunk的特征信息不依賴于后面chunk信息,從而保證在一個(gè)chunk內(nèi)解出來(lái)信息不會(huì)發(fā)生跳變。近期比較熱門的研究是incremental decoding的方案。這種方案采用離線模型流式化改造的解碼策略,因此不需要改變模型或者專門訓(xùn)練一個(gè)流式的模型。
2、MT技術(shù)
MT領(lǐng)域目前以Transformer模型為主。Transformer是一個(gè)標(biāo)準(zhǔn)的解碼器-編碼器的結(jié)構(gòu)。在工程上,有兩個(gè)特別有效的策略可以進(jìn)行模型加速或質(zhì)量提升。第一個(gè)策略是加深模型維度,Deep Transformer。眾所周知,模型的參數(shù)量越大,效果和質(zhì)量越好。但是大模型的弊端在于計(jì)算量特別大。為了解決這個(gè)難點(diǎn),東北大學(xué)-小牛翻譯團(tuán)隊(duì)提出Deep Transformer結(jié)構(gòu)。通過Layer Norm前置的方式保證可以穩(wěn)定的疊加模型深度,最終提升質(zhì)量。從標(biāo)準(zhǔn)的6*6模型,可以加深到35層或者更多層。因?yàn)門ransformer是并行式的解碼,所以在保證模型的寬度時(shí),只加深網(wǎng)絡(luò)的深度不會(huì)帶來(lái)特別多額外的計(jì)算量。第二個(gè)策略是一種數(shù)據(jù)增強(qiáng)的方案,Back Translation。翻譯技術(shù)依賴于對(duì)齊的原文本和目標(biāo)文本數(shù)據(jù),但是對(duì)齊的數(shù)據(jù)是稀缺的。而另一方面,一些大語(yǔ)種比如英文,能從網(wǎng)上找到上千萬(wàn)的單語(yǔ)數(shù)據(jù)。那通過一個(gè)反向的翻譯模型把單語(yǔ)構(gòu)造成一個(gè)偽平行語(yǔ)料,然后結(jié)合原始真實(shí)平行語(yǔ)料進(jìn)行訓(xùn)練。這樣能明顯提高翻譯質(zhì)量。
機(jī)器翻譯最近的研究方向是解碼策略。Transformer是自回歸式(Autoregressive,AR)解碼策略。而非自回歸式(Non-Autoregressive, NAR)的解碼策略可以提高解碼速度,一次性生成結(jié)果。非自回歸生成在機(jī)器翻譯的作用,類似于CTC在語(yǔ)音翻譯的作用。非自回歸式的生成的不足之處是沒有上下文的依賴,一些比較熱的研究方向是通過迭代式生成或者使用AR模型當(dāng)teacher模型進(jìn)行蒸餾來(lái)提升它的質(zhì)量。
我們團(tuán)隊(duì)在這方面也有一些進(jìn)展。
第一個(gè)是HI-CMLM模型,對(duì)CMLM的改進(jìn),通過迭代式生成目標(biāo)文本。
第二個(gè)是Diformer模型。這個(gè)模型是AR和NAR策略的大一統(tǒng),將解碼方向通過direction embedding融合到decoder中,從而可以任意方向解碼。
3、語(yǔ)音翻譯或者同傳技術(shù)里面所遇到的挑戰(zhàn)
系統(tǒng)的難點(diǎn)跟每一個(gè)單點(diǎn)技術(shù)的難點(diǎn)息息相關(guān)。
單點(diǎn)技術(shù)挑戰(zhàn)
ASR準(zhǔn)確性是工業(yè)界和學(xué)術(shù)界一直在解決的問題。另外一個(gè)問題是MT領(lǐng)域風(fēng)格。翻譯軟件在開放的領(lǐng)域數(shù)據(jù)集上的訓(xùn)練涉及到領(lǐng)域遷移的問題。比如技術(shù)論壇會(huì)議有一些特別的翻譯的風(fēng)格和一些特殊詞匯。這個(gè)通用模型差異需要領(lǐng)域風(fēng)格的遷移。
系統(tǒng)的挑戰(zhàn)
第一個(gè)是級(jí)聯(lián)錯(cuò)誤放大問題。轉(zhuǎn)錄結(jié)果的錯(cuò)誤從源端的文本傳到下游任務(wù),可能會(huì)引起誤差放大。
第二個(gè)問題是上下文一致性的問題。前段時(shí)間和后段時(shí)間出現(xiàn)同樣詞時(shí),期望ASR和翻譯的結(jié)果是一致的。ASR的一致性的問題通常會(huì)歸到long-form transcript方向。在MT領(lǐng)域,一般是把它歸為document-level 方向。
同傳技術(shù)挑戰(zhàn)
同傳場(chǎng)景因?yàn)槠鋵?duì)實(shí)時(shí)性的特定要求又有額外的技術(shù)挑戰(zhàn)。
首先翻譯質(zhì)量越高,對(duì)上下文的信息要求越多,延遲會(huì)越高。但是同傳場(chǎng)景對(duì)實(shí)時(shí)性要求又很高。所以同傳策略考慮質(zhì)量和實(shí)時(shí)性的平衡問題。
第二個(gè)是跳變的過程。從用戶體驗(yàn)的角度,先解碼的結(jié)果有一些錯(cuò)誤,可以通過re-transcript / re-translation 來(lái)修正,但是如果有大量修正,用戶體驗(yàn)會(huì)很差。
二、同傳的這個(gè)項(xiàng)目架構(gòu)的設(shè)計(jì)和策略
我們的同傳架構(gòu)有兩個(gè)大的分支:語(yǔ)音流到語(yǔ)音流(speech to speech)和語(yǔ)音到文本(speech to text)。兩個(gè)比較核心的模塊是ASR服務(wù)和MT服務(wù),除此之外還有TE(Text Editor)基于文本編輯服務(wù)和干預(yù)服務(wù),使結(jié)果更加魯棒。
經(jīng)常面臨的問題是領(lǐng)域的ASR模型訓(xùn)練。比如某個(gè)會(huì)議或論壇的場(chǎng)景涉及到領(lǐng)域的模型,但是領(lǐng)域模型的數(shù)據(jù)是有限的,有限的數(shù)據(jù)其實(shí)很難有比較好的結(jié)果。一個(gè)解決方案是大數(shù)據(jù)集下做預(yù)訓(xùn)練然后遷移到這個(gè)領(lǐng)域的數(shù)據(jù)。有兩個(gè)技術(shù)方向預(yù)訓(xùn)練大模型和領(lǐng)域的小模型。
1、預(yù)訓(xùn)練大模型
例如做一個(gè)多語(yǔ)言模型大模型訓(xùn)練時(shí),把中文的數(shù)據(jù)和英文的數(shù)據(jù)混在一塊,解決多語(yǔ)言之間的問題并且也能提高模型泛化能力。
訓(xùn)練策略是基于一個(gè)MindSpore深度學(xué)習(xí)訓(xùn)練框架,和D芯片等AI芯片的分布式的訓(xùn)練,因?yàn)榇鎯?chǔ)和計(jì)算特別耗算力。
訓(xùn)練架構(gòu)選擇混合式結(jié)構(gòu)。既支持CTC的解碼也支持auto decoder解碼,針對(duì)不同的下游任務(wù)有多元的選擇。另一個(gè)是自監(jiān)督訓(xùn)練架構(gòu)。進(jìn)行下游訓(xùn)練有一些策略。
2、領(lǐng)域小模型
訓(xùn)練策略是Fine-tune或Continue Training,進(jìn)行增量的訓(xùn)練。如果直接進(jìn)行增量訓(xùn)練,可能會(huì)出現(xiàn)過擬合情況而且訓(xùn)練的成本比較高??梢圆捎肈omain Adapter的訓(xùn)練方式,把模型參數(shù)凍住然后訓(xùn)練少量層的參數(shù)。也可以使用Lora,通過矩陣分解訓(xùn)練兩個(gè)比較小的參數(shù),得到比較好的結(jié)果。只訓(xùn)練少量參數(shù)是在實(shí)踐中驗(yàn)證過比較有效的方案。另一個(gè)策略就是Spec Augmentation,在頻譜是增強(qiáng)樣本的方式。這種增強(qiáng)方式在小數(shù)據(jù)領(lǐng)域遷移上面,經(jīng)工程驗(yàn)證是非常有效的。因?yàn)樗梢云鸬秸齽t化的作用,提高整個(gè)模型的魯棒性。
流式的場(chǎng)景例如同傳場(chǎng)景存在過程態(tài)和終態(tài)的概念。
過程態(tài)或者流式解碼在工程落地的時(shí)候采用CTC解碼策略。因?yàn)榱魇綀?chǎng)景特性需要快速的解碼結(jié)果,所以采用一次性解碼方式。
終態(tài)使用AED的解碼方式,因?yàn)樗猩舷挛牡囊蕾囆?,生成文本結(jié)果更加流暢。采用兩種不同的解碼方會(huì)引入文本結(jié)果不一致的問題,又叫做跳變問題。在工程里比較有效的解決方法是使用蒸餾數(shù)據(jù)進(jìn)行偽標(biāo)簽訓(xùn)練。
對(duì)一大批無(wú)標(biāo)簽的音頻數(shù)據(jù),先用離線的解碼方式生成偽標(biāo)簽,然后基于這批偽數(shù)據(jù)對(duì)去訓(xùn)練流式模型,讓流式解碼擬合解碼結(jié)果。這個(gè)蒸餾的方式已經(jīng)被驗(yàn)證特別有效。
有效的ASR策略:
Ensemble-based ASR De-noise
領(lǐng)域遷移的問題涉及到各種各樣領(lǐng)域的數(shù)據(jù),但是最終目標(biāo)領(lǐng)域或測(cè)試評(píng)價(jià)集是某一個(gè)領(lǐng)域,所以存在訓(xùn)練數(shù)據(jù)和驗(yàn)證集或者真實(shí)落地場(chǎng)景數(shù)據(jù)的領(lǐng)域差異問題。在公開演講的場(chǎng)景,一些掌聲或者笑聲在里面,這些被定位空白音或者靜音片段。這些片段在標(biāo)準(zhǔn)的Transformer解碼或者AED等自回歸式解碼時(shí),可能會(huì)產(chǎn)生亂碼的情況,所以先要de-noise。不引入其他技術(shù)方案前提下,使用這種Robust模型的方式對(duì)這些音頻去噪。
Context-aware Re-ranking for ASR
這個(gè)策略是要保持上下文一致性。首先按照片段去解碼,然后對(duì)每個(gè)片段的轉(zhuǎn)錄結(jié)果生成beam。在有多個(gè)beam之后,從beam里面去篩選。
使用更大數(shù)據(jù)訓(xùn)練、重新打分和計(jì)算,然后去選擇上下文更加一致性的結(jié)果作為最終的結(jié)果,有效得提高整個(gè)長(zhǎng)序列文本的一致性。
ASR Domain Controlled Training & Decoding
Large Scale Pre-training & Domain Fine-tuning for MT
業(yè)界的領(lǐng)域遷移大方向?yàn)榇髷?shù)據(jù)+大模型。有一些開源模型如OpenAI Whisper訓(xùn)練數(shù)萬(wàn)小時(shí)。
多語(yǔ)言加多任務(wù)。多任務(wù)學(xué)習(xí)方式是提高魯棒性的訓(xùn)練方式。ASR識(shí)別、Translation和語(yǔ)言檢測(cè)任務(wù)融合做多任務(wù)學(xué)習(xí)。
無(wú)監(jiān)督和自監(jiān)督預(yù)訓(xùn)練模型。自監(jiān)督是特別有效的方式但是訓(xùn)練成本很高,所以要平衡效果和成本。Meta提出來(lái)的wave2vec的對(duì)比學(xué)習(xí).先在無(wú)標(biāo)簽全量的音頻數(shù)據(jù)上做表征學(xué)習(xí),然后下游ASR任務(wù)做fine-tuning。最近Meta的MMS和Google的USM類似于這樣的訓(xùn)練方式。
多語(yǔ)言大模型需要大數(shù)據(jù)量。構(gòu)建大數(shù)據(jù)量比較典型的有效方案有Back Translation和迭代式的方案等,從而增加這個(gè)目標(biāo)端和譯文端的多樣性。翻譯評(píng)價(jià)指標(biāo)叫BLEU(Bilingual Evaluation Understudy。BLEU本質(zhì)上是文本相似度的計(jì)算方式。有一個(gè)問題是數(shù)據(jù)增強(qiáng)策略之后指標(biāo)確實(shí)提升了,但是人工對(duì)翻譯的結(jié)果的感知并沒有變化。因?yàn)轭I(lǐng)域里有翻譯腔的問題,生成數(shù)據(jù)那傾向模型本身的bias。一個(gè)特別有效的減少bias的方法叫Text Style Transfer Back-Translation。
文本生成數(shù)據(jù)里面有翻譯腔問題。一個(gè)策略是在目標(biāo)文本和翻譯文本之間應(yīng)用文本遷移小模型。在構(gòu)造偽數(shù)據(jù)的時(shí)候,小模型讓風(fēng)格遷移,額外增加文本多樣性。在各個(gè)指標(biāo)包括人工評(píng)價(jià)感知上都取得了明顯的效果。
另外一個(gè)問題就是領(lǐng)域遷移。比如科技論壇和醫(yī)療論壇的專用詞等跟通用場(chǎng)景景象是不太一樣的。領(lǐng)域遷移訓(xùn)練流程涉及到一個(gè)從indomain 到outdoman包括數(shù)據(jù)的篩選、過濾以及訓(xùn)練的流程。領(lǐng)域遷移屬于低資源訓(xùn)練,因?yàn)轭I(lǐng)域的數(shù)據(jù)一般都是受限的。一個(gè)最直觀有效的策略就是R-Drop。在訓(xùn)練的時(shí)候隨機(jī)drop out,生成多個(gè)結(jié)果后加一個(gè)KL約束使結(jié)果更加一致。本質(zhì)上提升模型的魯棒性。這種策略在低資源或者低數(shù)據(jù)量上是有效的。在訓(xùn)練大模型時(shí)沒有特別明顯效果并且跟一些方案比如模型的ensemble有一些潛在的沖突,不能同時(shí)有效。
機(jī)器翻譯領(lǐng)域每年都會(huì)WMT比賽。去年的Biomedical Shared Task是一個(gè)典型的醫(yī)療領(lǐng)域的領(lǐng)域遷移的任務(wù)。工程里面特別常見的一些策略,最核心的是Continue Training under R-Drop。這是特別有效的手段。結(jié)合著數(shù)據(jù)過濾、Diversification、下游的Fine-tuning和BT能最終取得比較好的結(jié)果。這些方法可以在工程里實(shí)踐落地。
在語(yǔ)音翻譯的同傳場(chǎng)景里,原文和譯文的長(zhǎng)度保持基本一致的時(shí)候,用戶的體驗(yàn)上會(huì)有明顯的比較友好的感受。這個(gè)策略定義為等長(zhǎng)或者等距翻譯。這個(gè)方式已經(jīng)落地到真實(shí)場(chǎng)景。
去年等距的翻譯比賽,有多種策略融合達(dá)到百分之96的準(zhǔn)確率。策略包括Length Encoding,beam等。這些策略融合后能滿足用戶體驗(yàn)的訴求。比如智慧手表會(huì)收集來(lái)一些信息。如果手表的屏幕比較小,譯文長(zhǎng)度特別長(zhǎng),用戶體驗(yàn)就會(huì)不好。
工程落地有意思的點(diǎn)就是TE服務(wù)。整個(gè)系統(tǒng)的構(gòu)建里面最大問題在于級(jí)聯(lián)錯(cuò)誤放大。ASR錯(cuò)誤會(huì)級(jí)聯(lián)傳下去,導(dǎo)致這塊錯(cuò)誤的累積放大。降低這種錯(cuò)誤延續(xù)的一個(gè)方法是在ASR和MT加一個(gè)橋梁。這個(gè)模塊叫TE服務(wù),服務(wù)里面包含一些子服務(wù)。
首先是對(duì)ASR Output 做一些口水詞的順滑(Disfluency)。然后ASR的識(shí)別結(jié)果可能是有些錯(cuò)誤,可以通過NLP文本的技術(shù)手段找到一些潛在的錯(cuò)誤,并做修正(Correction)。接著是標(biāo)點(diǎn)還原(Punctuation)。ASR是天然的不帶標(biāo)點(diǎn),這和文本風(fēng)格上的差異。翻譯里面就帶著文本和語(yǔ)音的停頓信息然后送到下游的標(biāo)點(diǎn)還原的服務(wù)。這個(gè)大模型從數(shù)據(jù)維度角度去解決這個(gè)問題。比如在訓(xùn)練數(shù)據(jù)時(shí),基于帶標(biāo)點(diǎn)和上下文的長(zhǎng)音頻長(zhǎng)文本去訓(xùn)練。那可能TE服務(wù)不需要標(biāo)點(diǎn)還原模塊。
技術(shù)還是需要去積累。因?yàn)橛?xùn)練一個(gè)端到端的大模型時(shí),在數(shù)據(jù)里面一定是有噪聲的。數(shù)據(jù)噪聲需要通過標(biāo)點(diǎn)還原模型去過濾和修正數(shù)據(jù)。
一個(gè)糾錯(cuò)的無(wú)監(jiān)督的框架。預(yù)訓(xùn)練模型已經(jīng)學(xué)到了有效的信息,不需要應(yīng)用錯(cuò)誤糾正的model而是需要把大模型的能力用進(jìn)來(lái)。經(jīng)過驗(yàn)證這個(gè)策略能夠得到一個(gè)比較好的糾錯(cuò)效果。它能比較魯棒地找到特別不明顯的低錯(cuò)問題。
標(biāo)點(diǎn)還原目前不是一個(gè)難點(diǎn)問題。在大模型背景下,有Zero-Shot方式的一個(gè)標(biāo)點(diǎn)還原的工作。
同傳場(chǎng)景需要保證實(shí)時(shí)性。ASR和MT用極低的時(shí)延得到轉(zhuǎn)錄和翻譯的結(jié)果。這里涉及到很多技術(shù)包括模型層面像蒸餾的小模型或者底層的推理加速。華為諾亞Bolt團(tuán)隊(duì)支持一些支持CPU量化等推理加速的技術(shù)手段。Effiency Task是翻譯領(lǐng)域的任務(wù),在Bolt框架里得到比較好的結(jié)果。推理加速能有效得緩解同傳場(chǎng)景里遇到的問題。
應(yīng)對(duì)挑戰(zhàn)主要包括兩個(gè)方向:面向用戶場(chǎng)景和忠于用戶體驗(yàn)。
面向用戶場(chǎng)景
首先語(yǔ)音翻譯可天然分成兩個(gè)場(chǎng)景:離線的場(chǎng)景和流式的場(chǎng)景。不同的場(chǎng)景有不同技術(shù)方案。所以需要針對(duì)用戶場(chǎng)景和領(lǐng)域場(chǎng)景,去做模型算法上的工作。
忠于用戶體驗(yàn)
語(yǔ)音翻譯不能只看BLUE等指標(biāo),還要關(guān)注到關(guān)鍵詞不能錯(cuò),否則會(huì)影響整個(gè)體驗(yàn)。工程落地的額外指標(biāo)叫關(guān)鍵詞F1值。提升關(guān)鍵詞的準(zhǔn)確性包括等長(zhǎng)翻譯最終的用戶體驗(yàn)。
華為翻譯目前是公司內(nèi)部機(jī)器翻譯能力的提供者。產(chǎn)品包括在內(nèi)部微群和工具,對(duì)外也是在華為云上面應(yīng)用。整個(gè)公司的底層由MindSpore框架和芯片來(lái)支持多模態(tài)同傳翻譯落地及優(yōu)化。