生成式AI時代下的機器學習 — 超越文字的對話與生成

生成式AI時代下的機器學習 — 超越文字的對話與生成

生成式AI時代下的機器學習 — 超越文字的對話與生成

  1. 語音語言模型的定義與應用

語音語言模型(SLMs)希望達成的目標是讓語言模型能夠聽懂聲音,同時也能夠產生聲音。與純文字模型相比,語音輸入和輸出面臨不同的挑戰,因為聲音包含的資訊量和變化性遠超文字。例如,一個能聽懂聲音的模型必須判斷是誰在說話、說話者的情緒,甚至根據環境音推測說話者所處的狀態。

在應用方面,您可以看到許多知名的語音語言模型,例如 ChatGPT 的 voice mode(即「高級語音模式」)和 Gemini Live。其中,Moshi 被認為是最早真正上線的語音語言模型。

  1. 語音生成的基礎:Tokenization

無論是文字模型還是語音模型,其核心原理都是Token 接龍。要訓練一個語音版的語言模型,關鍵在於將一段語音訊號表示成語音的 Token(離散單元),模型接收這些語音 Token 作為輸入,進行接龍,產生更多的語音 Token,最後再透過 Detokenizer 將這些離散的 Token 轉換回聲音訊號。

語音 Token 化的挑戰

將聲音轉換為 Token 面臨兩大極端挑戰:

  1. 直接轉換為文字(語音辨識, ASR): 如果將語音直接透過語音辨識系統轉換成文字 Token,再用語音合成系統(Detokenization)還原,模型就會忽略語音中文字內容以外的重要資訊,例如語氣和情緒,可能導致模型無法區分讚美與反諷。

  2. 將取樣點作為 Token: 直接將聲音訊號的每一個取樣點都當作一個 Token,雖然不會損失任何訊號,但會導致 Token 序列過長,難以處理。例如,一分鐘的對話可能產生 50 萬個 Token,這對目前的自迴歸(auto-regressive)模型來說是難以處理的。

因此,語音 Tokenization 的目標是找到介於兩者之間的方法:保留重要資訊的同時,盡量對語音訊號進行壓縮,避免輸入序列過長。

目前產出語音 Token 的方法主要有兩大方向:

  1. 使用現成的 Self-supervised Model(如產生 Semantic Token): 這些模型將複雜的聲音訊號轉換成向量序列,再透過向量量化(vector quantization)將連續的向量轉換成離散的 Token。雖然這類 Token 被稱為「semantic token」,但它們通常只與 音素(phoneme)或 KK音標這類發音的基本單位相似,與語意沒有直接關係。

  2. 使用 Neural Speech Codec(產生 Acoustic Token): 這種方法將 Tokenizer(壓縮,Compression)和 Detokenizer(解壓縮,Decompression)一起訓練,目標是讓輸入的聲波訊號與輸出還原的聲波訊號越接近越好。

  3. 突破困境:混合解碼(Hybrid Decoding)

僅憑海量的語音資料來訓練 SLM 非常困難。這是因為語音資料雖然數量龐大(例如 100 萬小時),但其中包含的內容資訊量相對於現今的文字模型(如 Llama 3 使用了 15 兆個 Token 進行預訓練)而言,其實非常有限。文字本身被視為語音的「壓縮版本」,而語音則是更複雜的「解壓縮版本」。

因此,目前的突破是從文字模型開始,進一步教導它語音相關的資訊。主流的做法是:

• 混合解碼(Hybrid Decoding): 讓語音模型在生成語音的同時,也生成文字。

• 輔助作用: 這些生成的文字就像是模型的「獨白」(內心想法),有助於模型在生成語音時表現更加穩定。

最直覺的策略是「先產生文字,再產生語音」。這雖然可以生成不錯的結果,但缺點是難以做到即時回覆(streaming),因為使用者必須等待文字內容全部產生完畢後,模型才會開始說話。

  1. 高效互動的關鍵:文稿對齊的語音 Tokenization (TA-ST)

為了實現即時回覆並解決語音與文字長度不一致的挑戰,研究者提出了更精巧的生成策略。其中一個重要的創新是 Text-Alignable Speech Tokenization (TA-ST)。

TA-ST 的核心思想是:

  1. 角色分配: 既然語音模型會同時生成語音和文字,那麼語音 Token 只需保留文字以外的資訊(如情感、音色、語速等)即可。

  2. 長度對齊: 設計一個特殊的 Tokenizer,使其能夠根據輸入語音訊號中包含的文字 Token 數量,固定產生相同數量的語音 Token。

  3. 生成模式: 這樣,語言模型在每一步都能同時生成一個文字 Token 和一個對應的語音 Token。由於兩者的序列長度一致,模型便能實現「想一個字就念一個字」,從而提高即時回覆的速度。

透過這種方式,模型可以根據文字內容和語音 Token 包含的特徵資訊,還原出具有特定語速(例如將慢速發音的 Token 替換成快速發音的 Token)的聲音訊號,證明了這些語音 Token 確實包含了「如何念出」文字的資訊。

資料來源

【生成式AI時代下的機器學習(2025)】

Comments

Loading comments…

Leave a Comment