首頁  >  文章  >  科技週邊  >  GoogleAudioPaLM實現「文字+音訊」雙模態解決,說聽兩用大模型

GoogleAudioPaLM實現「文字+音訊」雙模態解決,說聽兩用大模型

PHPz
PHPz轉載
2023-06-30 13:49:22926瀏覽

大型語言模型以其強大的性能及通用性,帶動了一批多模態的大模型開發,如音訊、視訊等。

語言模型的底層架構大多是基於Transformer,且以解碼器為主,所以無需過度調整模型架構即可適應其他序列模態。

最近,Google發布了一個統一的語音-文字模型AudioPaLM,將文字和音訊的token合併為一個多模態聯合詞彙表,再結合不同任務描述標記,可以實現在任意語音和文字的混合任務上訓練decoder-only模型,包括語音辨識(ASR)、文字轉語音合成、自動語音翻譯(AST)和語音到語音翻譯(S2ST)等,將傳統上由異質模型解決的任務統一到一個架構和訓練流程。

GoogleAudioPaLM實現「文字+音訊」雙模態解決,說聽兩用大模型圖片

論文連結:https://arxiv.org/pdf/2306.12925.pdf

#範例連結:https://google-research.github.io/seanet/audiopalm/examples/

此外,由於AudioPaLM的底層架構是一個大型的Transformer模型,可以用對文本進行預先訓練的大型語言模型的權重來初始化,可以從PaLM等模型的語言學知識中受益。

從實現效果來看,AudioPaLM在AST和S2ST基準上取得了最先進的結果,並且在ASR基準上的性能也和其他模型不相上下。

透過利用AudioLM的音訊提示,AudioPaLM模型能夠對新的說話者語音遷移來執行S2ST,在語音品質和語音保存方面超過了現有的方法。

AudioPaLM模型也具有zero-shot的能力,可以對訓練中未見過的語音輸入/目標語言組合執行AST任務。

AudioPaLM

研究人員使用一個decoder-only Transformer模型對文字和語音的token進行建模,其中文字和音訊在輸入到模型之間已經進行分詞,所以輸入只是一個整數序列,在輸出端再進行反分詞(detokenized)操作回傳給使用者。

GoogleAudioPaLM實現「文字+音訊」雙模態解決,說聽兩用大模型圖片

#音訊embedding及分詞

將音訊的原始波形轉換為token的過程中,包括從現有的語音表徵模型中抽取為嵌入(embedding),並將嵌入離散為一組有限的音訊token

先前的工作中從w2v-BERT模型中提取嵌入,並透過k-means將其量化,而這篇論文中,研究人員試驗了三種方案:

w2v-BERT:使用在多語言資料上訓練的w2v-BERT模型,而非純英語;並且在進行k-means聚類之前沒有進行歸一化處理,否則會導致在多語言環境中性能下降。接著以25Hz的速率產生token,詞表大小為1024

USM-v1:使用表現較強的、20億參數的通用語音模型(USM)編碼器執行類似的操作,並從中間層提取嵌入;

USM-v2:用輔助ASR損失來訓練,並進一步微調以支援多語言。

修改text-only解碼器

#在Transfomrer解碼器結構中,除了輸入和最後的softmax輸出層外,都不涉及到建模token的數量,並且在PaLM架構中,輸入和輸出矩陣的權重變數時共享的,即互為轉置。

所以只需要將嵌入矩陣的大小從(t × m)擴展到(t a)×m即可把一個純文字模型變成一個既能模擬文字又能模擬音訊的模型,其中t是文字詞表的大小,a是音訊詞表的大小,m是嵌入維度。

為了利用預訓練的文字模型,研究人員透過在嵌入矩陣中添加新的行來改變現有模型的checkpoint。

具體的實現為,前t個token對應於SentencePiece文字標記,後面a個token代表音訊標記,雖然文字嵌入式複用的預訓練權重,但音訊嵌入是全新初始化的,必須進行訓練。

實驗結果顯示,與從頭重新訓練相比,基於文字預訓練模型對語音和文字的多模態任務表現提升非常有利。

音訊token解碼為原生音訊

#為了從音訊token中合成音訊波形,研究人員試驗了兩種不同的方法:

1. 類似AudioLM模型的自迴歸解碼

2. 類似SoundStorm模型的非自回歸解碼

這兩種方法都需要先生成SoundStream token,再用卷積解碼器將其轉換為音訊波形。

研究人員在Multilingual LibriSpeech上訓練,語音條件為3秒長的語音樣本,同時表示為音訊token 和SoundStream token

#透過提供部分原始輸入語音作為語音條件,模型能夠在將說話者的語音翻譯成不同語言時保留原始說話人的語音,當原始音頻短於3秒時,透過重複播放來填充空白時間。

訓練任務

#使用到的訓練資料集皆為speech-text數據:

1. 音訊Audio:原始語言的語音(speech)

2. 轉錄Transcript:音訊資料中語音的轉錄

3. 翻譯音訊Translated Audio:音訊中語音的口語翻譯

#4. 翻譯轉錄Translated Transcript:音訊中語音的書面翻譯

組件任務包括:

1. ASR(自動語音辨識):轉錄音訊以取得轉錄文字

2. AST(自動語音翻譯):翻譯音訊以獲得翻譯後的轉錄文字

#3. S2ST(語音到語音翻譯):翻譯音訊以獲得翻譯後的音訊

4. TTS(文字轉語音):讀出轉錄的內容,以獲得音訊。

5. MT(文字到文字的機器翻譯):翻譯轉錄以獲得翻譯後的轉錄文字

一個資料集可能會用於多個任務,所以研究人員選擇向模型發出訊號,告訴模型應該對給定的輸入執行哪項任務,具體方法為:在輸入前加上一個標籤,指定任務和輸入語言的英文名稱,輸出語言也可以選擇。

例如,想要模型對法語語料進行ASR時,分詞後的音訊輸入前面要加上標籤[ASR French];要在英文中執行TTS任務,文字前面需要加上[TTS English];要執行從英語到法語的S2ST任務,分詞後的英語音頻會在前面加上[S2ST English French]

訓練混合

研究人員使用SeqIO庫對訓練資料進行混合,並對較大的資料集進行權重降低。

GoogleAudioPaLM實現「文字+音訊」雙模態解決,說聽兩用大模型圖片

實驗部分

GoogleAudioPaLM實現「文字+音訊」雙模態解決,說聽兩用大模型圖片

##AudioPaLM在AST和S2ST任務上超越了其他基準模型,在ASR上表現雖然不是最優,但效果也非常好。

除了評估語音內容的翻譯品質外,研究人員還評估了AudioPaLM產生的語言是否品質足夠高,並且在翻譯成不同語言時能否保留說話人的聲音。

客觀指標

#使用類似無參考MOS估計器,給定一個音訊樣本,在1到5的範圍內提供一個感知音頻品質估計。

#########為了測量跨語言的語音遷移質量,研究人員使用的現成的說話人驗證模型,併計算源(用SoundStream編碼/解碼)和翻譯語音的嵌入之間的餘弦相似度;也衡量了從來源音訊到目標音訊的聲學特性(錄音條件、背景雜訊)。 ######

主觀評估

研究人員進行了兩項獨立研究來評估產生的語音品質和語音相似度,兩項研究中都使用相同的樣本集合。

由於語料的品質參差不齊,有些含有響亮的重疊語音(例如,背景中播放的電視節目或歌曲)或極強的噪音(例如,衣服與麥克風摩擦),類似的失真效果使得人類評分員的工作變得複雜,因此研究人員決定透過只選擇MOS估計值至少為3.0的輸入進行預先過濾。

評分以5級量表提供,從1(品質差或完全不同的聲音)到5(品質好,相同的聲音)。

GoogleAudioPaLM實現「文字+音訊」雙模態解決,說聽兩用大模型圖片

從結果可以觀察到AudioPaLM在客觀和主觀測量中,在音訊品質和語音相似度方面都明顯優於基線Translatotron 2系統,AudioPaLM比CVSS-T中的真實合成錄音具有更高的品質和更好的語音相似度,在大多數指標上有比較大提升。

研究人員也比較了高資源組和低資源組(法語、德語、西班牙語和加泰隆尼亞語與其他語言)的系統,發現這些組之間的指標沒有明顯差異。

以上是GoogleAudioPaLM實現「文字+音訊」雙模態解決,說聽兩用大模型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除