NVIDIA Nemotron 3 語者辨識 100M 參數模型發布
TL;DR
NVIDIA 宣布推出開源權重的 Nemotron‑3 語者辨識 模型——一個 100 M 參數的 Transformer,支援最多八位語者,達成 14.72 % 的語者辨識錯誤率(DER),在 VoiceArena 的 Diarization‑Bench 排名第一,並適用於離線與即時串流使用情境。
為何語者辨識至關重要
語者辨識為語音轉錄增加了「誰在何時說話」的層級。若無語者歸屬,轉錄內容無法可靠地將承諾、反對意見或中斷與正確參與者關聯,限制了搜尋、摘要、待辦事項提取以及語音助理記憶的功能。
模型概覽與效能
- 模型大小:100 M 參數,Hugging Face 上的開源權重檢查點。
- 語者容量:最多八位匿名語者通道。
- 排行榜排名:在 VoiceArena 的 Diarization‑Bench 上排名 #1(14.72 % DER),在 12 個系統與 17 種配置中表現最佳。
- 延遲選項:輸入緩衝延遲為 30.4 s(離線模式)、1.04 s、0.64 s 與 0.32 s。
- 吞吐量:在 30.4 s 延遲下(批次大小 32,BF16,torch.compile)達成 15,113× 實時因子(RTFx),遠高於先前四語者 Sortformer 基線的 2,619×。
架構與推論流程
- 音訊預處理 – 16 kHz 單音軌音訊 → 梅爾頻譜圖(10 ms 框架間隔),堆疊 8× 以產生 80 ms 框架。
- Transformer 編碼器 – 31 層 Transformer,採用旋轉位置編碼(RoPE)。
- Conv1D 上採樣器 – 恢復預測至原始特徵解析度。
- 輸出張量 – 形狀為
[T, 8],其中每一欄代表在時間步 T(預設 10 ms 步長)時,特定語者通道活躍的機率。 - 串流記憶 –
- 到達順序語者快取(AOSC) 保留跨區塊的語者嵌入,依首次出現順序排列。
- FIFO 佇列 提供近期框架上下文。
- 右側上下文緩衝 – 提供未來音訊以改善切換處理;可調整以在延遲與準確性之間權衡。
該模型遵循 Sortformer 原則:語者依到達時間排序,提供穩定的通用標籤(speaker_0、speaker_1、…),並消除每區塊的排列求解問題。
訓練資料與授權來源的影響
訓練使用公開語音語料庫,以及來自 David AI 的授權多語者對話資料。加入 David AI 資料後,在離線與極低延遲運作點上,複合 DER 降低 0.77 個絕對百分點(從 11.19 % 降至 10.42 %)。
離線 vs. 串流語者辨識
- 離線:模型可見完整錄音,允許利用全局上下文進行語者指派。
- 串流:模型以固定大小區塊處理,左/右上下文有限,依賴 AOSC 與 FIFO 維持跨區塊的語者身分。同一檢查點可支援兩種模式,簡化部署。
基準測試結果與相對提升
| 資料集(子集) | 基線 DER | Nemotron‑3 DER | 相對降低 |
|---|---|---|---|
| VoiceArena(整體) | 19.3 % | 14.72 % | ~24 % |
| DIHARD III(完整) | 19.09 % | 12.73 % | 33 % |
| CALLHOME‑Part2(1.04 s) | 10.32 % | 9.10 % | 12 % |
| NOTSOFAR1 MHM(1.04 s) | 27.5 % | 9.6 % | 65 % |
在八種評估條件下,1.04 秒延遲時的未加權平均相對 DER 降低達 41 %。提升幅度在語者數較多的子集(五位以上語者)更大,且在所有延遲設定下均一致。
準確性 vs. 吞吐量的權衡
- 30.4 s 缓衝:15,113× RTFx,DER 12.73 %(DIHARD III)。
- 1.04 s 缓衝:865× RTFx,DER 13.18 %(DIHARD III)。
- 0.32 s 缓衝:最低延遲,但 DER 稍有上升;仍優於先前的 Sortformer 基線。
開發者應在目標硬體上測試端到端延遲,包含音訊 I/O、語者辨識、ASR 與下游處理。
與語者歸屬 ASR 的整合
語者辨識提供各語者通道的時間戳;ASR 提供詞級時間戳。可使用簡單的中點對齊啟發式方法將每個詞映射至活躍語者:
midpoint = (word['start'] + word['end']) / 2
label = speaker_at(midpoint)
生產級轉錄可能需要更複雜的重疊處理機制。
部署考量
- 語者限制:模型最多支援八位同時語者;超過此數可能導致漏聽或錯誤指派。
- 聲學魯棒性:嚴重雜訊、混響、遠場錄音或領域偏移可能降低效能。
- 不確定性處理:下游系統應保留置信度分數,而非將指派視為絕對正確。
- 授權:使用受 OpenMDW License v1.1 管制。
開始使用 NVIDIA NeMo Speech
apt-get update && apt-get install -y libsndfile1 ffmpeg
uv pip install Cython packaging
uv pip install 'nemo-toolkit[asr]'
from nemo.collections.asr.models import SortformerEncLabelModel
diarmodel = SortformerEncLabelModel.from_pretrained(
"nvidia/Nemotron-3-Diarization"
)
diarmodel.eval()
# 1.04 s 延遲的串流參數範例
diarmodel.sortformer_modules.spkcache_len = 264
ndiarmodel.sortformer_modules.fifo_len = 40
ndiarmodel.sortformer_modules.chunk_len = 9 # 720 ms
ndiarmodel.sortformer_modules.chunk_right_context = 4
ndiarmodel._check_streaming_parameters()
segments = diarmodel.diarize(["/path/to/conversation.wav"], batch_size=1)
print(segments)
diarize() 方法返回標記語者的區段(start end speaker_id)。設定 include_tensor_outputs=True 可取得原始機率張量。
即時示範與生態系支援
- 即時示範:https://huggingface.co/spaces/nvidia/nemotron-diarization – 支援合成八語者對話、即時麥克風輸入與多語言串流。
- Argmax Pro SDK 3:提供最多八語者的裝置端即時語者歸屬,以及預先辨識的轉錄 API。
- 合作夥伴部署:Baseten、DigitalOcean 與 Argmax 提供生產級推論、擴展與行動裝置整合途徑。
資源
- 模型卡片:https://huggingface.co/nvidia/Nemotron-3-Diarization
- VoiceArena Diarization‑Bench 排行榜
- Argmax Pro SDK 3 發布公告
- NVIDIA NeMo Speech 倉儲
- Sortformer 論文(arXiv:2409.06656)與 Streaming Sortformer 論文(arXiv:2507.18446)
- 語者辨識 + ASR 整合快速入門指南
- 互動式示範空間
意義
Nemotron‑3 語者辨識展示了一個單一、相對小型(100 M)的 Transformer,可在八位語者情境下提供最尖端的語者歸屬準確度,同時支援廣泛的延遲預算。這降低了在會議、客服分析、播客與裝置端語音助理中實現即時多語者轉錄的門檻,並為未來語者辨識的研究與產品化設立了新基準。