NVIDIA Nemotron 3 Diarization 是一個開源、擁有 1 億參數的 AI 模型,能將重疊的對話轉化為具備說話者資訊的資料。該模型在 VoiceArena 的語音分離排行榜上名列第一,語音分離錯誤率(DER)僅為 14.72%。

每段對話都包含兩層資訊:「說了什麼」以及「誰說的」。語音辨識負責捕捉並轉錄文字,而語音分離則負責分類「誰在什麼時候說話」,協助應用程式將說話內容與正確的參與者連結。

想像一份會議、客服電話或 Podcast 的逐字稿,雖然每句話都正確,卻沒有標示說話者。你雖然能閱讀內容,卻無法可靠地判斷誰做出了承諾、誰提出了異議,或是哪位參與者打斷了對話。這會讓搜尋、摘要、待辦事項、對話分析以及語音助理的記憶功能都變得不那麼實用。

語音分離會識別每位說話者活躍的時間區間,包括人們同時說話的重疊時段。這些說話者時間戳記隨後可與自動語音辨識(ASR)結合,以建立一份標示說話者的逐字稿。

NVIDIA Nemotron 3 Diarization 是一個開源、擁有 1 億參數的模型,在 Voice Arena 的 Diarization-Bench 排行榜上以 14.72% 的語音分離錯誤率(DER)排名第一。它支援即時和錄製對話中多達八位說話者,能處理重疊語音、分塊處理以適應彈性的錄音長度,並提供可自訂的串流延遲。

早期的模型,如 NVIDIA Streaming Sortformer,為四說話者語音分離奠定了這種方法,其中串流 diar_streaming_sortformer_4spk-v2.1 檢查點被用作基準。Nemotron 3 Diarization 將支援擴展到八位說話者,並在以下評估中提升了準確性和處理量。

語音分離系統必須解決兩個相關問題。首先,它們必須偵測語音並將其分配給正確的說話者。其次,它們必須在整個對話過程中保持這種分配,即使在沉默、打斷或說話者輪流之間有長時間間隔之後。

串流處理讓第二個問題變得更困難。離線模型可以一次檢查整個錄音,而串流系統只接收一小段新的音訊和有限的上下文。如果沒有有效的記憶機制,在當前區塊中分配給一個輸出通道的說話者,可能會在下一個區塊中被分配到不同的通道。

Nemotron 3 Diarization 遵循 Sortformer 方法,根據說話者首次出現的時間來排序輸出說話者。第一個新聲音成為第一個說話者通道,下一個新聲音成為第二個,依此類推。這種按到達時間排序的方式使模型的通用說話者標籤保持穩定,並消除了每個區塊都需要解決新的說話者排列問題的需求。

Nemotron 3 Diarization 使用公開和授權的語音資料進行訓練,其中包括從 David AI 授權的多說話者標註的真實對話。額外授權的 David AI 音訊為涵蓋 21 種語言的大規模模擬英語和多語言混合提供了原始材料。在訓練中加入 David AI 資料,使離線和超低延遲操作點的複合語音分離錯誤率(DER)絕對值降低了 0.77 個百分點,從 11.19% 降至 10.42%。

該模型最多支援八個說話者通道。這些是匿名標籤,而非真實世界的身份:模型可以報告 speaker_2 在某個時間戳記到另一個時間戳記之間說話,但它不會判斷 speaker_2 是特定的人。下游應用程式可以透過將時間戳記與會議元資料、使用者個人資料或活躍說話者驗證模型配對,將這些匿名通道 ID 映射到明確的說話者身份。

Nemotron 3 Diarization 的架構流程是,模型接收 16 kHz 的單聲道音訊,並以 10 毫秒的幀步長將其轉換為 Mel 頻譜圖特徵。它將這些特徵堆疊八倍,為一個帶有旋轉位置嵌入(RoPE)的 31 層 Transformer 編碼器生成 80 毫秒的幀。

在 Transformer 上方,一個 Conv1D 層將預測結果上採樣到輸入特徵解析度。預設輸出是一個 [T, 8] 浮點張量:T 個時間步長,對應八個可能的說話者通道。每個值代表說話者在該時間點活躍的機率。預設步幅為 10 毫秒,並可配置為 10 毫秒的其他倍數。

這種表示方式自然地處理了重疊語音。如果兩個人同時說話,同一個幀中可以有兩個通道處於活躍狀態。後處理會將這些機率轉換為帶有開始和結束時間戳記的通用說話者標籤。

在串流推論期間,兩種形式的記憶體提供上下文:到達順序說話者快取(AOSC)根據其到達順序通道,保留了在早期區塊中觀察到的說話者的有用資訊。先進先出(FIFO)佇列則在當前區塊之前提供最近的幀上下文。

輸入緩衝區還包括右上下文,即當前區塊之後的音訊。更多的右上下文可以幫助模型解釋說話者轉換,而較少的右上下文則減少了模型在產生結果之前必須等待的時間。結合當前區塊、右上下文、FIFO 佇列和說話者快取,使一個模型能夠在多個延遲點上運行。

分塊推論消除了模型強加的固定最大音訊持續時間限制。然而,在異常長的錄音或具有嚴重噪音、混響、遠場捕捉或領域偏移的音訊上,效能仍可能下降。

獨立的語音分離產生說話者活動和時間戳記,而非說話的內容。ASR 產生文字,但不一定保留說話者歸屬。一個標示說話者的轉錄管線會結合這兩者的輸出。

這種區分在設計系統時很重要。語音分離錯誤包括漏掉的語音、錯誤的語音偵測、不正確的說話者分配和邊界錯誤。ASR 錯誤則影響文字內容。應用程式應在其預期的音訊上評估這兩個組件以及組合後的管線。

同一個模型支援建議的輸入緩衝區延遲,包括 30.4、1.04、0.64 和 0.32 秒。較短的緩衝區讓系統更快回應,而更多的上下文通常能提高準確性和處理量。這些值衡量的是推論前緩衝的音訊;計算、網路、ASR 和應用程式處理都會增加端到端延遲。儘管模型技術上可以使用 80 毫秒的輸入緩衝區,但 0.32 秒是建議的最低配置。在「入門」中的配置表顯示了如何選擇操作點。

在 Voice Arena 的初步 Diarization-Bench 結果中,NVIDIA Nemotron 3 Diarization 在 12 個系統和總共 17 種系統配置中排名第一。這些評估涵蓋了 139 段英語對話,總計約 22 小時。

在計算重疊語音、系統生成的語音活動偵測且無邊界容錯的情況下,Nemotron 3 Diarization 實現了 14.72% 的語音分離錯誤率(DER),而次優系統為 19.3%,相對降低了約 24%。它在 100 毫秒和 250 毫秒邊界容錯以及面對面和線上錄音方面也均排名第一。

這些初步結果可能會隨著 Voice Arena 完成其版本 1 評估和配對統計分析而改變。

下圖使用了 Nemotron 3 Diarization 的評估結果。它們在公開的評分和處理量設定下,將該模型與 NVIDIA 先前的四說話者 Streaming Sortformer 進行了比較。

用於評估模型的主要指標是語音分離錯誤率(DER)。它結合了三種錯誤:漏失語音:參考說話者活躍,但系統未偵測到相應的語音。誤報:系統將說話者標記為活躍,但參考中沒有相應的語音。說話者混淆:系統在正確的時間偵測到語音,但將其分配給了錯誤的說話者。

基準測試設定會顯著改變 DER,因此評估協議是結果的一部分。Nemotron 3 的評估包含 901 個特定條件的錄音,涵蓋多語言電話語音、會議、近場和遠場麥克風、多麥克風捕捉以及困難的聲學環境。每次評估都會對重疊語音進行評分。

DIHARD III、AliMeeting、AMI 和 NOTSOFAR1 使用零秒邊界容錯,表示沒有邊界容忍度被排除在評分之外。CALLHOME-Part2 使用 0.25 秒邊界容錯。結果是使用 NeMo e2e_diarize_speech.py 評估腳本生成的。

下面的比較使用 NVIDIA 先前的四說話者串流 Sortformer 模型 diar_streaming_sortformer_4spk-v2.1 作為基準。它使用的是最終的 Nemotron-3-Diarization 值,而非預覽模型結果。

在 1.04 秒的輸入緩衝區延遲下,Nemotron 3 Diarization 在所有八個列出的評估條件下都降低了 DER。相對降低幅度從 CALLHOME-Part2 的 9.0% 到 NOTSOFAR1 MHM 的 65.2% 不等。

八個資料集各自相對降低的未加權平均值為 41.0%。換句話說,這是跨評估條件的相對改進平均值;它不是透過將每個錄音組合為一個分數來計算的匯總 DER。

這種改進在各個操作點上也保持一致。在兩個模型共享的每個延遲(30.4、1.04 和 0.32 秒)下,最終模型在每個評估資料集上都具有較低的完整集 DER。

支援八位說話者使得超過四名參與者的會議和團體對話成為可能。在 DIHARD III、CALLHOME-Part2 和 NOTSOFAR1 的高說話者數量子集中,基準測試優勢也隨之擴大。

該圖還保留了一個重要細微之處:在雙說話者 CALLHOME 子集中,最終模型的 DER 為 5.98%,而先前的基準模型為 5.68%。然而,在完整的 CALLHOME-Part2 評估中,DER 從 10.32% 提高到 9.10%,在高說話者數量子集中取得了更大的進步。

DIHARD III 將五到九位說話者的錄音歸為一個結果。九位說話者超過了 Nemotron 3 Diarization 支援的八位最大值,因此該總計包括。