介绍 NVIDIA Nemotron 3.5 ASR 流式多语言模型:这是一个 6 亿参数的语音转文本模型,能够从单个检查点实时转录 40 种语言区域,并内置标点符号和大小写功能。它是此前广受欢迎的 Nemotron 3 ASR 模型(仅支持英语)的升级版,该模型于今年早些时候在 Hugging Face 上发布,并作为 NIM 提供。自发布以来,Nemotron 3 ASR 已在 Artificial Analysis 的独立基准测试中得到验证,在所有流式 ASR 模型中延迟排名第二——语音结束后仅需 0.07 秒即可输出最终转录文本——并且在 AA-WER 流式索引与最终转录时间排行榜中位于“最具吸引力象限”,在准确性与延迟的综合权衡中跻身最佳模型之列。该模型采用 Cache-Aware FastConformer-RNNT 架构,能够流式处理音频,无需进行导致大多数流式 ASR 变慢的冗余重复计算——因此您既能获得低延迟,又能保持高准确率,而非顾此失彼。Nemotron 3.5 ASR 以开放权重形式在 Hugging Face 上发布——您可以检查、微调并部署它,无需依赖 API 或按次计费。除非您主动选择,否则您的数据不会离开您的基础设施。而且由于它是一个强大的基础模型,您可以针对自己的语言、领域或口音进行微调。本文后半部分将详细介绍具体操作方法。
当今多语言语音识别面临的问题
如果您曾经构建过需要转录语音的产品,您很可能遇到过以下障碍之一:
- 多语言成本。您希望支持多种语言,于是拼凑了 40 个不同的模型——或者 40 个不同的供应商 API——每个都有自己独特的特性、延迟模式和计费方式。您的基础设施变成了一座由各种一次性集成组成的博物馆。
- 流式与准确率的权衡。实时字幕需要低延迟,但大多数“流式”ASR 系统通过反复重新处理重叠的音频窗口来伪造低延迟。这会消耗大量算力并增加延迟。降低延迟后,准确率就会急剧下降。
- 后处理流水线。原始 ASR 输出通常是一段没有标点、全小写的文本墙。你需要额外加装一个模型来处理标点和大小写,这又增加了一个活动部件。
- “已知语言”假设。许多系统要求你事先告知它们语言是什么。但如果是客服热线,通话者会在句子中间在英语和西班牙语之间切换,那该怎么办?
Nemotron 3.5 ASR 的设计目标就是将上述四个问题全部整合到一个模型中。
它能做什么
一个模型,40 种语言-地区组合。单个 6 亿参数检查点即可转录英语(美国/英国)、西班牙语(美国/西班牙)、德语、法语(法国/加拿大)、意大利语、阿拉伯语、日语、韩语、葡萄牙语(巴西/葡萄牙)、俄语、印地语、土耳其语、越南语、荷兰语、乌克兰语、波兰语、芬兰语、普通话、捷克语、保加利亚语、斯洛伐克语、瑞典语、克罗地亚语、罗马尼亚语、爱沙尼亚语、丹麦语、匈牙利语、挪威博克马尔语、挪威尼诺斯克语、希伯来语、希腊语、立陶宛语、拉脱维亚语、马耳他语、斯洛文尼亚语和泰语。无需按语言分别部署,也无需切换模型。
实时流式处理,恰到好处。该模型基于缓存感知型 FastConformer 编码器构建。传统的“缓冲式”流式处理在每一步都会重新处理重叠的音频片段,重复执行相同的工作。而该模型则缓存编码器的内部状态并重复利用——每个音频帧仅处理一次,没有重叠。结果是计算量和端到端延迟显著降低,且精度不受影响。
原生支持标点和大小写。输出是可直接用于生产的文本——正确的大小写、逗号、句号、问号——全部直接来自模型。无需单独的标点恢复步骤。
语言设定,任你选择。你可以通过两种方式运行:
- 当你已知输入语言时,告诉模型(target_lang=en-US)——这通常能获得最佳精度。
- 当你不知道输入语言时,让模型自行检测(target_lang=auto)——模型会检测语言并据此进行转录。
工作原理(两分钟速览版)
该模型主要由两部分组成:
一种缓存感知型 FastConformer 编码器(24 层)。FastConformer 是 Conformer 架构的高效演进版本,采用了线性可扩展的注意力机制。其中的“缓存感知”部分正是流式处理的精髓所在:编码器会缓存来自先前帧的自注意力和卷积激活值,因此当新的音频数据到达时,它只计算真正新增的部分,无需重复计算任何内容。
一个 RNNT(循环神经网络转录器)解码器。RNNT 是流式语音识别的主力解码器——它能够随着音频流逐帧地输出文本,这正是实时转录场景所需要的。
在此基础上,该模型还增加了基于提示词的语言 ID 条件控制:一个语言信号与音频一同输入,使得同一套权重能够针对目标语言进行专业化输出;或者在自动模式下,让模型自行推断语言。
该模型在涵盖所有支持语言的庞大数据集上进行了训练,使用了公开数据和专有数据的混合,并经过归一化处理,输出为带有标点且大小写规范的文本。
一个值得了解的参数:att_context_size
流式语音识别本质上是在“多快输出文本”与“模型在做出判断前能‘预看’多少未来音频”之间进行权衡。Nemotron ASR 通过注意力上下文大小直接暴露了这一权衡:
| 注意力上下文 | 分块大小(延迟) | 使用场景 |
|---|---|---|
| [56, 0] | 80 毫秒(超低) | 超低延迟语音智能体 |
| [56, 1] | 160 毫秒(低) | 交互式语音智能体、对话式 AI |
| [56, 3] | 320 毫秒(均衡) | 对话式 AI、实时字幕 |
| [56, 6] | 560 毫秒(中等) | 高精度,延迟合理 |
| [56, 13] | 1.12 秒(高) | 最高精度,延迟较高 |
同一个检查点即可覆盖整个范围——你可以在推理时选择运行点,无需重新训练。
几分钟内即可尝试
该模型以 NeMo 检查点的形式提供。克隆 NeMo 分支,并将流式推理脚本指向你的音频:
git clone https://github.com/NVIDIA-NeMo/NeMo.git
使用已知语言进行转录:
python ${NEMO_ROOT}/examples/asr/asr_cache_aware_streaming/speech_to_text_cache_aware_streaming_infer.py \
model_path=${MODEL_PATH} \
dataset_manifest=${MANIFEST_PATH} \
output_path=${OUTPUT_FOLDER} \
target_lang=es-ES \
att_context_size="[56,3]" \
strip_lang_tags=true
或者让模型自行检测语言:
python ${NEMO_ROOT}/examples/asr/asr_cache_aware_streaming/speech_to_text_cache_aware_streaming_infer.py \
model_path=${MODEL_PATH} \
dataset_manifest=${MANIFEST_PATH} \
output_path=${OUTPUT_FOLDER} \
target_lang=auto \
att_context_size="[56,3]" \
strip_lang_tags=true
音频应为单声道 .wav 格式。清单文件是标准的 NeMo JSON-lines 格式:
{"audio_filepath": "/path/to/clip.wav", "duration": 4.27, "text": "reference transcript"}
模型会在每个完整句子结束时自动预测 language_tag,例如“This is a test sample. ”。设置“strip_lang_tags=True”可移除语言标签,以提高可读性。
深度解析:针对你的语言微调 Nemotron ASR
Nemotron 3.5 ASR 开箱即用表现强劲——但它在训练时使用的混合数据集中,某些语言的数据量远多于其他语言。长尾语种仍有提升空间,而只需几小时的领域内音频数据,配合正确的配方,就能显著缩小这一差距。
为了具体说明这一点,我们进行了一个实例演示:以基础模型为起点,针对两种中等资源欧洲语言——希腊语和保加利亚语——进行精调,然后在保留的测试数据上进行诚实评估。以下结果来自该次运行。本节为高层概述,代码示例位于配套的 GitHub 仓库中。当我们发布涵盖整个流程的智能体 SKILL.md 文件时,本博客将相应更新。
为什么要微调?
以下几种情况值得投入:
- 精调长尾语种。预训练数据较少的语言,提升空间最大。
- 领域专长或专业词汇。基础模型很少遇到的医学、法律、金融或技术词汇。
- 口音、方言和声学环境。电话语音、远场、车载或特定说话人群。
- 新语言。为尚未覆盖的语种进行引导式训练。
微调能力预览
🎥 视频演示:在 YouTube 上观看
本演示展示了多语言流式推理、延迟/准确率权衡、部署选项以及下文所述的微调工作流程。
配方概览
整个工作流程分为五步:
- 将训练器指向目标语言的 tar 格式语音数据——无需逐个文件解包,由 NeMo/Lhotse 高效流式处理。
- 使用相同的 Cache-Aware FastConformer-RNNT 配方,基于基础检查点(init_from_nemo_model)进行微调,并依据每个音频片段的语言标签进行条件化处理。
- 在模型从未见过的保留测试集上进行评估——使用你将部署的相同低延迟流式设置(例如 att_context_size=[56,0],80ms 数据块;0ms 前瞻)。
- 在模型表现薄弱的语言上增加更多数据并重新训练。
- 导出并部署微调后的检查点。
第一步——数据
我们从公开的多语言语料库(Granary、Common Voice、FLEURS)中,为两种语言(希腊语和保加利亚语)整理了一个均衡的、约 2000 小时的混合数据集,并以 tar 格式的 NeMo/Lhotse 分片形式保存。其中两个最重要的细节如下:
- 每个音频片段都带有 target_lang 标签——这是驱动模型基于提示词的语言条件控制的关键,因此正确设置该标签(并使用模型能够识别的值)至关重要。
- 匹配基础模型的文本风格——即带有标点、大小写规范的转录文本,因为这是模型输出的格式。
保留的 FLEURS 测试集划分(未参与训练)为我们提供了每个语言真实、贴近实际场景的基准测试。
步骤 2——训练
对流式 RNNT 模型进行直接的全量微调,由固定的步骤预算驱动(这是使用流式/可迭代数据进行调度的正确方式)。该过程在单张 GPU 上即可快速完成一次训练,并且能轻松扩展到多 GPU 以进行更充分的运行。对于像这样的小型数据集,一个训练周期只需几分钟,而非几小时。
步骤 3——评估
我们在保留的 FLEURS 测试集上测量了词错误率,采用流式模式,分块大小为 80 毫秒——这是最严苛的条件,不允许“窥视”未来的音频。与基础模型相比,改进幅度很大,尤其是对于初始表现最弱的语言:
| 语言 | 基础模型 | 微调后 | 词错误率相对改进 |
|---|---|---|---|
| 🇬🇷 希腊语 | 35 | 24 | 32% |
| 🇧🇬 保加利亚语 | 22 | 15 | 31% |
在保留的 FLEURS 测试集上的原始词错误率(%),最低延迟流式模式。基础模型和微调模型采用相同的评估方式。
在基础模型中错误率较高的语言,经过短暂的微调后变得真正可用——保加利亚语的错误率降低了一半以上。
步骤 4——在有效之处扩展数据
为了测试更多数据能带来多大提升,我们随后混入了约 2000 小时的议会演讲数据(MOSEL/VoxPopuli,属于 Granary 数据集的一部分),将训练集从约 290 小时扩展到约 2300 小时。即使在该更长训练过程的中途,最弱的语言也得到了进一步改善(例如保加利亚语的错误率降至接近 28%),这证实了一个显而易见的杠杆:更多的语言内数据持续带来帮助——尽管不同语言和领域的收益并不均衡,因此需要测量而非假设。
步骤 5——部署
微调后的模型与基础模型采用相同架构,因此可直接接入同一服务路径,在推理时通过 `att_context_size` 参数选择延迟/精度平衡点,操作方式与第一部分完全一致。
我们的收获
- 微调对资源匮乏语言具有变革性意义——基础模型表现最弱的语言,提升效果最为显著。
- 应在部署延迟条件下,使用留出数据集进行评估。训练集分数具有欺骗性;采用零前瞻的独立测试集才能反映真实情况。
- 确保语言标签正确。提示词条件化功能强大,但对语言标签不匹配的情况毫不宽容。
- 保护其他语言。在多语言模型中进行专项优化时,需混入该模型其他语言的数据切片("回放")并重新验证,从而在强化目标语言的同时不削弱其余语言能力。
- 更多数据的效果并不均衡。增加训练时长确实能提升大多数语言的表现;但有一种语言出现了平台期——这提醒我们,领域匹配度与数据量同等重要。
📦 完整操作指南——包括数据预处理脚本、训练配置、具体命令及完整基准测试数据——均收录于配套 GitHub 仓库。本节为概述,仓库才是构建指南。
面向生产部署,敬请关注本月晚些时候发布的 NIM 版本,该版本将提供 gRPC 流式传输,并支持 NVIDIA Ampere、Hopper、Blackwell、Lovelace、Turing、Volta 及 Jetson 架构。
可用其构建的应用
该模型可解锁的部分应用场景:
- 亚秒级语音智能体——ASR→LLM→TTS 循环中,语音转文字环节不再成为瓶颈。请参考我们的语音智能体示例。
- 实时多语言会议字幕——单一数据流,参与者使用不同语言,实时生成字幕。
- 全球规模的呼叫中心分析——仅需一个 ASR 后端,无需为每种语言分别采购供应商。
- 直播与活动的实时字幕+翻译功能。
- 在 Jetson 设备上实现本地转录,适用于隐私敏感或无网络环境。
准备好使用单一流式 ASR 模型构建多语言语音应用了吗?
🤗 试用 Nemotron 3.5 ASR:nvidia/nemotron-3.5-asr-streaming-0.6b
🧠 使用 NVIDIA NeMo 运行与微调:Nemo Framework
📚 探索训练示例:微调笔记本
无论你是在构建语音智能体、多语言字幕系统、联络中心分析工具,还是端侧语音应用,Nemotron 3.5 ASR 都能提供一个单一的多语言模型,可根据你的使用场景进行部署、定制和微调。
Nemotron 3.5 ASR 可通过以下合作伙伴生态系统获取:
- 云服务提供商:Microsoft Foundry
- 推理服务提供商:Baseten、DeepInfra、Eigen AI、fal(ASR)、ModelScope
- AI 云与服务:Together AI
我们期待看到你的成果。欢迎在模型讨论页面分享你的基准测试结果、微调成果以及语言适配情况:
许可证:OpenMDW-1.1
运行时:NeMo 26.06 及以上版本