**识别谁在何时说话:使用 NVIDIA Nemotron 3 Diarization 构建实时、多说话人 AI**

Hugging Face Blog 模型

摘要

NVIDIA 发布了 Nemotron 3 Diarization,这是一个开源100M参数模型,实现了最先进的说话人识别,错误率为14.72%,支持最多八名说话人的实时和离线处理。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/09/23 15:06

识别谁在何时发言:使用NVIDIA Nemotron 3 Diarization构建实时多说话人AI

来源:https://huggingface.co/blog/nvidia/nemotron-diarization

https://huggingface.co/blog/nvidia/nemotron-diarization#turn-overlapping-conversations-into-speaker-aware-data-with-one-open-weight-100m-parameter-model—ranked-1-in-voicearenas-diarization-leaderboard-with-a-1472-diarization-error-rate-der使用一个开源权重、1亿参数的模型将重叠对话转换为说话人感知数据 - 在VoiceArena的说话人分离排行榜上排名第一,说话人分离错误率(DER)为14.72%。

https://huggingface.co/blog/nvidia/nemotron-diarization#why-speaker-diarization-matters为什么说话人分离很重要

每段对话都包含两层信息:说了什么谁说的。语音识别捕获并转录说话内容。说话人分离则对谁在何时发言进行分类,帮助应用程序将所说内容与正确的参与者关联起来。

考虑一份会议、客户电话或播客的转录稿,其中每个句子都正确,但都没有归属于特定说话人。你可以阅读内容,但无法可靠地判断是谁做出了承诺、谁提出了反对意见,或者哪位参与者打断了对话。搜索、摘要、行动项、对话分析和语音助手记忆等功能都会因此变得不那么有用。

说话人分离识别每位说话人活跃的时间区间,包括人们相互交谈的重叠区间。然后,这些说话人时间戳可以与自动语音识别(ASR)相结合,创建带说话人归属的转录稿。

NVIDIA Nemotron 3 Diarization (https://huggingface.co/nvidia/Nemotron-3-Diarization) 是一个开源权重、1亿参数的模型,在VoiceArena的Diarization-Bench排行榜 (http://voicearena.com/diarization-bench) 上排名第一,说话人分离错误率(DER)为14.72%。它支持实时和录制对话中最多八位说话人,能够处理重叠语音、分块处理以适应灵活的录音长度,并支持可定制的流式传输延迟。

Screenshot 2026-09-23 at 6.47.17 AM (https://cdn-uploads.huggingface.co/production/uploads/688d4bdfdeb55432d90e546d/APLexzMWO1Om9RTvX8EGN.png)图1. Nemotron 3 Diarization在VoiceArena Diarization-Bench排行榜上排名第一。

早期的模型如NVIDIA Streaming Sortformer为四位说话人的分离确立了这种方法,包括下面用作基线的流式处理检查点 streaming diar_streaming_sortformer_4spk-v2.1 (https://huggingface.co/nvidia/diar_streaming_sortformer_4spk-v2.1)。Nemotron 3 Diarization扩展了对八位说话人的支持,并在以下评估中提高了准确性和吞吐量。

https://huggingface.co/blog/nvidia/nemotron-diarization#how-nemotron-3-diarization-worksNemotron 3 Diarization的工作原理

https://huggingface.co/blog/nvidia/nemotron-diarization#one-model-for-offline-and-streaming-conversations一个模型同时处理离线和流式对话

说话人分离系统必须解决两个相关问题。首先,它们必须检测语音并将其分配给正确的说话人。其次,它们必须在整个对话过程中保持这种分配,即使在静音、中断或说话人轮次之间存在长时间停顿之后。

流式处理使第二个问题更加困难。离线模型可以一次性检查整个录音。流式系统只接收一小块新的音频和有限的上下文。如果没有有效的记忆机制,当前块中分配给一个输出通道的说话人,在下一个块中可能会被分配到不同的通道。

Nemetron 3 Diarization遵循Sortformer方法,按照说话人首次出现的顺序排列输出说话人。第一个新声音成为第一个说话人通道,下一个新声音成为第二个,依此类推。这种到达时间顺序使模型的通用说话人标签稳定,并消除了为每个块解决新的说话人排列的需要。

Nemotron 3 Diarization使用公共和授权的语音数据进行训练,包括来自David AI. (https://www.withdavid.ai/)的多说话人标注、真实对话授权数据。额外的David AI授权音频提供了大规模模拟的英语和多语言混合语音素材,涵盖21种语言。在训练中加入David AI数据后,在离线风格和超低延迟操作点上,复合说话人分离错误率(DER)绝对值降低了0.77个百分点,从11.19%降至10.42%。

该模型支持多达八个说话人通道。这些是匿名标签,而非真实身份:模型可以报告speaker_2从某个时间戳说到另一个时间戳,但它不会确定speaker_2是某个特定的人。下游应用程序可以通过将时间戳与会议元数据、用户资料或活跃说话人验证模型配对,将这些匿名通道ID映射到明确的说话人身份。

https://huggingface.co/blog/nvidia/nemotron-diarization#from-audio-to-speaker-activity从音频到说话人活动

模型接受16 kHz单通道音频,并将其转换为10毫秒帧步长的梅尔频谱图特征。它将这些特征堆叠八倍,产生80毫秒的帧,用于带有旋转位置编码(RoPE)的31层Transformer编码器。

01_Nemotron_3_Diarization_Architecture_Flow (https://cdn-uploads.huggingface.co/production/uploads/68127936de624fb6f57d9989/tRHMRHObCj_zNAGTee-QL.png)

图2. Nemotron 3 Diarization将音频转换为按到达顺序排列的说话人活动概率。AOSC和FIFO上下文支持流式推理。

在Transformer之上,一个Conv1D层将预测上采样到输入特征的分辨率。默认输出是一个 [T, 8] 的浮点张量:T个时间步长乘以八个可能的说话人通道。每个值是该时间点说话人活跃的概率。默认步长是10毫秒,可以配置为其他10毫秒的倍数。

这种表示自然地处理重叠。如果两人同时说话,两个通道可以在同一帧中活跃。后处理将这些概率转换为带有开始和结束时间戳的通用说话人标签。

在流式推理期间,两种形式的记忆提供上下文:

  • **到达顺序说话人缓存(AOSC)**保留了在前面块中观察到的说话人的有用信息,并根据其到达顺序通道组织。
  • 先进先出(FIFO)队列在当前块之前提供最近的帧上下文。

输入缓冲区还包括右上下文,即紧跟在当前块之后的音频。更多的右上下文可以帮助模型解释说话人转换,而更少的右上下文可以减少模型产生结果前必须等待的时间。当前块、右上下文、FIFO队列和说话人缓存共同使一个模型能够在多个延迟点运行。

分块推理消除了模型施加的固定最大音频时长限制。性能在异常长的录音或具有严重噪声、混响、远场拾音或领域偏移的音频上仍可能下降。

https://huggingface.co/blog/nvidia/nemotron-diarization#diarization-and-speaker-attributed-asr-multi-speaker-asr-are-different-tasks说话人分离与带说话人归属的ASR(多说话人ASR)是不同的任务

独立的说话人分离产生说话人活动和时间戳,而不是被说出的内容。ASR产生文本,但不一定保留说话人归属。带说话人归属的转录管道将两者输出结合起来:

02_Diarization_and_Speaker_Attributed_ASR_Pipeline (https://cdn-uploads.huggingface.co/production/uploads/68127936de624fb6f57d9989/9qMz3oBC7EDmkBBlwyJoh.png)

图3. 端到端的带说话人归属转录管道,结合音频说话人分离时间戳与自动语音识别(ASR),将说出的词语映射到特定说话人。

这种分离在设计系统时很重要。说话人分离错误包括漏检语音、误检语音、错误的说话人分配和边界错误。ASR错误影响词语内容。应用程序应在预期的音频上评估这两个组件以及组合后的管道。

https://huggingface.co/blog/nvidia/nemotron-diarization#balance-latency-and-accuracy平衡延迟与准确性

同一个模型支持推荐的30.4秒、1.04秒、0.64秒和0.32秒输入缓冲区延迟。较短的缓冲区使系统响应更快,而更多的上下文通常能提高准确性和吞吐量。这些值衡量推理前缓冲的音频;计算、网络、ASR和应用处理会增加端到端延迟。虽然模型技术上可以使用80毫秒的输入缓冲区,但0.32秒是最低推荐配置。“快速入门”中的配置表展示了如何选择操作点。

https://huggingface.co/blog/nvidia/nemotron-diarization#benchmark-results-ranked-1-in-voicearenas-initial-diarization-bench基准测试结果:在VoiceArena的首次Diarization-Bench中排名第一

在VoiceArena的首次Diarization-Bench结果中,NVIDIA Nemotron 3 Diarization在12个系统、17个总系统配置中排名第一,这些配置在139段英语对话(总计约22小时)上进行了评估。在包含重叠语音评分、系统生成的语音活动检测且无边界容限(boundary collar)的条件下,Nemotron 3 Diarization实现了14.72%的说话人分离错误率(DER),而排名第二的系统为19.3%——相对降低了约24%。在100毫秒和250毫秒容限以及面对面和在线录音中,它也排名第一。随着Voice Arena完成其版本1的评估和配对统计分析,这些初步结果可能会发生变化。

图4. Voice Arena Diarization-Bench v1结果(英语,0毫秒容限,DER越低越好),显示NVIDIA Nemotron 3 Diarization以14.72% DER排名第一。

https://huggingface.co/blog/nvidia/nemotron-diarization#measuring-diarization-accuracy测量说话人分离准确性

用于评估模型的主要指标是说话人分离错误率(DER)。它结合了三类错误:

  • **漏检语音:**参考说话人活跃,但系统未检测到相应的语音。
  • **误报:**系统在参考内容中无相应语音时将某说话人标记为活跃。
  • **说话人混淆:**系统在正确的时间检测到语音,但将其分配给了错误的说话人。

05_Diarization_Error_Rate_Error_Types (https://cdn-uploads.huggingface.co/production/uploads/68127936de624fb6f57d9989/ota9juManbiKt3YHy2L32.png)

图5. DER将漏检语音、误报和说话人混淆相加,然后除以总参考说话人时间。重叠的参考说话人均会贡献到分母中。

基准设置可能会实质性地改变DER,因此评估协议是结果的一部分。Nemotron 3评估包含901个特定条件下的录音,涵盖多语言电话语音、会议、近场和远场麦克风、多麦克风采集以及困难的声学环境。所有评估中均对重叠语音进行评分。

DIHARD III、AliMeeting、AMI和NOTSOFAR1使用零秒容限,这意味着评分时不排除任何边界容限。CALLHOME-Part2使用0.25秒容限。结果是使用NeMo的e2e_diarize_speech.py评估脚本生成的。

以下比较使用diar_streaming_sortformer_4spk-v2.1(NVIDIA之前的四说话人流式Sortformer)作为基线。它使用了Nemotron-3-Diarization的最终值。

https://huggingface.co/blog/nvidia/nemotron-diarization#an-average-40-relative-der-reduction-at-104-second-latency在1.04秒延迟下,平均40%的相对DER降低

06_DER_Comparison_at_1_04_Second_Latency (https://cdn-uploads.huggingface.co/production/uploads/68127936de624fb6f57d9989/oFrIDTC1U8PWgpn3BTVkV.png)

图6. 模型和之前的NVIDIA基线在1.04秒输入缓冲区延迟下的完整集合DER。越低越好。

在1.04秒输入缓冲区延迟下,Nemetron 3 Diarization在所有八个列出的评估条件上降低了DER。相对降低幅度从CALLHOME-Part2的9.0%到NOTSOFAR1 MHM的65.2%不等。

八个数据集相对降低幅度的未加权平均值为41.0%。换句话说,这是评估条件上的相对改进平均值;它不是通过将所有录音合并为一个分数计算的池化DER。

改进在各个操作点上也是一致的。在两个模型共享的每个延迟点(30.4秒、1.04秒和0.32秒),最终模型在所有评估数据集上的完整集合DER都更低。

07_DER_Across_Input_Buffer_Latency_Settings (https://cdn-uploads.huggingface.co/production/uploads/68127936de624fb6f57d9989/QgrLsatFV2SbMBCeSyNBp.png)

图7. 不同输入缓冲区延迟设置下的完整集合DER。之前的基线没有0.64秒配置。

https://huggingface.co/blog/nvidia/nemotron-diarization#improvements-increase-in-higher-speaker-count-conditions改进在更多说话人条件下更显著

对八位说话人的支持使得超过四位参与者的会议和群组对话成为可能。在DIHARD III、CALLHOME-Part2和NOTSOFAR1的更高说话人数量子集中,基准优势也扩大了。

08_DER_by_Speaker_Count_Group (https://cdn-uploads.huggingface.co/production/uploads/68127936de624fb6f57d9989/dc7RbelQBb-9eQn2KGyrN.png)

图8. 在30.4秒输入缓冲区延迟下,按说话人数量分组的DER。阴影区域包含超过四位说话人。

该图还保留了一个重要的细微差别:在两位说话人的CALLHOME子集上,最终模型记录了5.98%的DER,而之前的基线为5.68%。然而,在整个CALLHOME-Part2评估中,DER从10.32%改善到9.10%,在更高说话人数量的子集中获得了更大的增益。

DIHARD III将五至九位说话人的录音归为一组结果。九位说话人超过了Nemotron 3 Diarization支持的最大八位,因此该汇总包含了超出指定说话人数量限制的音频。

https://huggingface.co/blog/nvidia/nemotron-diarization#accuracy-and-throughput准确性与吞吐量

一个可部署的说话人分离系统必须平衡准确性和吞吐量。模型卡报告了实时因子加速比(RTFx),计算为总音频时长除以总处理时间。RTFx越高,意味着系统在单位计算时间内处理的音频越多。

09_DIHARD_III_DER_vs_Compiled_Throughput (https://cdn-uploads.huggingface.co/production/uploads/68127936de624fb6f57d9989/UPfYX1LU-ea0OmfFjtOSo.png)

图9. DIHARD III完整集合DER与批量大小为32的编译吞吐量对比。结果在NVIDIA RTX PRO 5000上使用BF16和NeMo PyTorch后端。

在30.4秒配置下,Nemotron 3 Diarization使用torch.compile()在批量大小32时达到15,113× RTFx,而之前的基线为2,619×,同时将DIHARD III DER从19.09%降低到12.73%。在1.04秒配置下,它达到865×,而之前基线为136×,同时将DER从19.60%降低到13.18%。

这些结果衡量了在所披露的测试系统上的批量吞吐量。不应将其解释为单流、端到端的应用延迟。开发者应在目标硬件上对完整管道进行基准测试,包括数据移动、说话人分离、ASR和下游处理。

https://huggingface.co/blog/nvidia/nemotron-diarization#see-nemotron-3-diarization-in-action观看Nemotron 3 Diarization实际演示

相似文章

@kwindla: https://x.com/kwindla/status/2062544580105359686

X AI KOLs Timeline

NVIDIA 发布了 Nemotron 3.5 ASR,这是一款开源的多语言语音转文字模型,在测试中延迟最低,提供多语言和纯英文两个版本,非常适合语音助手和自托管部署场景。