微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 一个模型,随心切换延迟——英伟达与中研院联手打造的万能语音净化引擎

一个模型,随心切换延迟——英伟达与中研院联手打造的万能语音净化引擎

2026-07-06 14:58
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-07-06 14:58 科技行者

这项由英伟达(NVIDIA)与台湾中央研究院(Academia Sinica)联合完成的研究,以arXiv预印本形式于2026年6月发布,论文编号为arXiv:2606.25621。感兴趣的读者可以通过该编号在arXiv平台上查阅完整论文,模型权重则已开放在英伟达的Hugging Face主页供公众下载。

**一通电话背后,藏着一道几乎不可能完成的题**

每次打语音电话时,你可能都遇到过这样的场景:对方的声音里夹杂着街道噪声、空调嗡鸣,甚至因为信号不好而出现断断续续的卡顿。为了解决这个问题,手机、电脑、会议软件里都内置了"语音增强"技术——它的工作就像一个实时的声音魔法师,在你说话的同时,悄悄过滤掉所有杂音,把干净清晰的声音传送给对方。

但这个"魔法师"面临着一个让工程师们头疼不已的困境:不同的应用场景对"反应速度"的要求差异巨大。用于日常语音通话的软件,要求系统在50到150毫秒内给出响应;而自动语音识别(也就是让机器听懂人说话的技术)则可以稍微宽松一些,允许100到200毫秒的延迟。这听起来差距不大,但对于追求极致体验的工程师来说,每一毫秒都是一场博弈。更麻烦的是,同样一套语音增强系统,跑在高性能服务器上和跑在普通笔记本上,处理速度也截然不同。

过去的解决方案就像是为每种场景单独聘请一位魔法师——针对低延迟场景训练一个模型,针对高延迟场景训练另一个模型,针对高性能机器再训练一个。这不仅费时费力,还让系统维护变得异常复杂。英伟达与中央研究院的研究团队决定打破这种局面,他们的目标是:训练出一个"万能魔法师",能根据不同场景的需要,随时调整自己的工作模式,而不需要重新训练。

**一、延迟,到底是什么在拖后腿?**

在深入了解研究团队的解决方案之前,有必要先搞清楚语音增强系统中"延迟"到底从哪里来。研究团队将总延迟拆分成了两个部分,就像一道快递从发货到收货的全程时间,可以分成"打包时间"和"运输时间"两段。

第一段叫做"算法延迟",也就是系统在开始工作之前必须先"攒够"足够多的音频数据。这是因为语音增强模型在处理音频时,需要把声音切成一段段的窗口来分析,就像你要读懂一句话,至少得先看完这句话的开头几个字。具体来说,算法延迟等于音频窗口的长度(研究中固定为40毫秒)加上"向前看"的帧数乘以每帧的时长(每帧20毫秒)。所谓"向前看",是指模型在处理当前这帧音频时,是否被允许偷看一下后面还没发生的音频。向前看得越多,模型掌握的上下文信息越丰富,处理效果越好,但等待时间也越长。

第二段叫做"计算延迟",是指模型拿到足够的输入数据之后,真正跑完计算、吐出结果所需要的时间。这取决于模型本身有多复杂,以及运行它的硬件有多强大。哪怕算法延迟相同,在A100这样的顶级显卡上跑,和在普通消费级显卡上跑,计算延迟可能相差数倍。

这两段时间加在一起,就是用户实际感受到的总延迟。研究团队还特别强调了一个容易被忽视的硬性约束:系统每处理一帧音频(20毫秒)的计算时间,必须短于20毫秒本身,否则处理速度赶不上音频输入速度,系统就会越来越"跟不上",延迟不断积累。这个比值被称为"实时率",实时率必须小于1,系统才能真正做到实时处理。值得一提的是,研究团队还指出,学术界存在一种容易误导人的测量方式——把整段录音一次性喂给模型,利用大规模并行计算来测速,这会大幅低估真实场景下逐帧处理的延迟。

**二、三把钥匙,解锁三十种工作模式**

研究团队给这个万能模型配备了三种核心机制,分别用来控制"向前看几帧"和"算得有多深",以及"如何让这两种控制同时生效而不相互干扰"。

第一把钥匙,是用于控制算法延迟的"可调节向前看帧数"。模型的底层是基于短时傅里叶变换(STFT,可以理解为一种把声音波形转化成频谱图的技术),在这个频谱图上进行处理。模型中的卷积层(可以理解为一种专门提取局部特征的计算单元,就像一个小窗口在频谱图上滑动扫描)可以通过调整"左右填充"的比例,来决定它到底往前看多少、往后看多少。向前看0帧、1帧还是2帧,对应的总算法延迟分别是40毫秒、60毫秒和80毫秒。

然而,直接对同一个卷积层改来改去是有问题的。卷积操作有一个数学特性叫做"平移等变性",简单说就是:如果输入信号整体往左移一位,输出信号也会整体往左移一位。但当你通过改变填充方式来调整"向前看"的范围时,相当于人为地给输入信号加了一个不对称的"偏移量",这会让模型内部的计算逻辑产生混乱,就像一个惯用右手的人被强迫换成左手写字——动作是一样的,但整个协调系统都乱了。实验结果也印证了这一点:单纯用一个卷积层动态改变填充,模型的学习效率明显下降,验证集上的语音质量评分(UTMOS)长时间停留在低位。

研究团队的解决方法颇具巧思:借鉴了人工智能领域"专家混合"(MoE)的思路。他们不再用一个卷积层来应付所有情况,而是并排放置三个独立的卷积层,每个卷积层固定负责一种"向前看"的设定(0帧、1帧或2帧)。训练时,每次随机从这三个卷积层中选一个来参与计算;部署时,用户根据自己的延迟需求,直接选定对应的那一个卷积层。这样一来,每个卷积层始终在自己固定的填充配置下运作,不会因为配置切换而产生干扰,学习效率大幅提升。

第二把钥匙,是用于控制计算延迟的"早退机制"。模型的主体由12层处理模块堆叠而成,层数越深,模型的理解能力越强,但计算量也越大、花费时间越长。"早退"的意思是:给每一层都配上一个输出接口,允许模型在任意一层"提前交卷",输出当前层次的处理结果。这样一来,在计算资源有限的硬件上,可以只用3到6层就得出结果;在高性能机器上,则可以跑完全部12层,追求最优质量。通过10个不同的退出层位(从第3层到第12层)和3种向前看设定的组合,这一个模型合计支持30种不同的延迟配置。

**三、两阶段训练策略:先统一规范,再各自发挥**

早退机制听起来很美,但实际训练时却遭遇了一个棘手的问题:每一个中间层都需要"身兼二职"——既要产出当前层次的高质量结果,又要为后续更深的层次提供良好的特征基础。这两个目标有时会相互拉扯,导致中间层的输出质量远不如专门为某一固定深度训练的模型。

一种看似合理的解法是:给每一层都配上一个独立的解码器(解码器可以理解为把模型内部的"草稿"翻译成最终音频输出的翻译机)。但实验结果出乎意料地令人失望——独立解码器反而让模型的学习变得更混乱,不同层次之间缺乏共同语言,整体性能显著下降,学习曲线在图表上表现得平平无奇。

研究团队由此发现,强迫所有中间层共享同一个解码器,反而能形成一种"统一表示空间"的约束——就像一个班级的所有学生都被要求用同一套答题格式,虽然限制了个性化发挥,但保证了彼此之间能够相互理解、协调配合。共享解码器的学习曲线明显优于独立解码器。

但共享解码器也有其局限:一旦所有层都共用同一套翻译规则,每一层就没有机会根据自身深度的特点做个性化优化。于是研究团队设计了一套两阶段训练策略:

第一阶段叫做"共享解码器阶段"。在这一阶段,模型的所有中间层共享同一个解码器进行训练,每次训练时随机抽取一个退出层来参与计算。这一阶段一直训练到模型收敛为止,目的是让所有中间层都在同一套"语言体系"下建立起良好的特征表达能力。

第二阶段叫做"多解码器阶段"。当第一阶段训练稳定之后,研究团队把共享解码器的权重复制多份,分别分配给每一个退出层,让每一层拥有自己的专属解码器。但为了防止"乱改"破坏第一阶段积累的共同表示空间,编码器和序列建模模块(也就是解码器之前的所有部分)在这一阶段以一个更小的学习率进行微调,变化幅度被刻意压低。解码器则正常学习,专门优化本层的输出质量。

这种"先统一语言、再各自打磨"的策略,在验证集的学习曲线图上体现得非常直观:两阶段训练的曲线在后期稳步超越了早期退出的基准,并逐渐逼近专为单一深度训练的专用模型的性能上限。

**四、模型的"骨架":为实时而生的架构设计**

研究团队选用的基础架构是USEMamba,这是一种基于Mamba序列模型的通用语音增强框架。Mamba的特点在于它支持类似RNN(循环神经网络)的推理方式,也就是说,它可以像一个有记忆的处理机一样,逐帧接收输入、逐帧输出结果,非常适合实时流式处理的场景。

为了让模型既支持因果处理又保持灵活的向前看控制,研究团队对原始架构进行了几处改造。首先,把标准卷积层替换为因果卷积层,并通过左填充数量的多少来精确控制向前看的帧数。其次,把原本同时处理前向和后向信息的双向时序Mamba模块,换成了只处理前向信息的单向版本,彻底杜绝了"提前看到未来"的可能性。第三,把实例归一化(一种对数据进行标准化的技术)替换为只沿通道维度计算的层归一化,避免了跨时间步的信息泄露。

最终模型的层数设定为12层,总参数量约为370万。在处理速度的考量上,研究团队发现12层全跑完的计算延迟约为25毫秒,超过了20毫秒的单帧时长,实时率达到1.25,意味着在A100显卡上无法满足严格实时处理的要求,需要更快的硬件或更少的层数。这一发现也从侧面说明了早退机制的实用价值——在普通硬件上,用8层或更少的层数退出,才是保证实时性的务实选择。

模型还采用了一种叫做"采样频率无关STFT"的技术,使得同一个模型能够处理从8kHz到48kHz各种采样率的音频输入。具体做法是:无论输入是什么采样率,都统一使用40毫秒的窗口长度和20毫秒的帧移长度,只是对应的FFT点数会随采样率变化而调整。这样一来,模型看到的始终是时间尺度一致的频谱图,不会因为采样率变化而产生混乱。

训练过程分两大阶段:先用回归损失(让输出尽量接近干净语音)进行预训练,再用对抗损失(加入判别器,让输出听起来更自然、更高质量)进行微调。优化器选用AdamW,学习率为0.0002,多解码器阶段前置模块的学习率降为十分之一。

**五、实验结果:数字背后的性能故事**

研究团队在两个测试集上评估了模型的表现,使用了多达八种评测指标,覆盖了感知质量、语音清晰度、下游任务表现等多个维度。

在URGENT 2025挑战赛的测试集上,研究团队对比了四种方案:专用模型(针对单一深度和固定向前看设置训练,代表性能上限)、普通早退、加入并行卷积层(MoE)的早退、以及进一步加入多解码器阶段的完整方案。

以8层退出、0帧向前看为例,专用模型的UTMOS得分为2.36,普通早退为2.32,加入并行卷积层后为2.28,加入多解码器阶段后回升到2.31。ASR字符准确率方面,专用模型达到83.71%,普通早退为81.84%,加入MoE后升至82.72%,加入多解码器阶段后进一步升至83.10%,已非常接近专用模型的水平。

在增加向前看帧数的场景下,差距更为明显。以8层退出、1帧向前看为例,专用模型的UTMOS为2.42、ASR准确率为84.93%。普通早退方法在这一配置下完全无法工作(标记为N/A),因为它根本不支持调整向前看帧数。而加入并行卷积层(MoE)后,UTMOS达到2.34,ASR准确率达到84.06%;再叠加多解码器阶段,UTMOS升至2.37,ASR准确率升至84.62%,与专用模型的差距已经非常小。

从总延迟与性能的关系图来看,UTMOS评分随模型深度增加的提升,明显大于随向前看帧数增加的提升。而ASR准确率对向前看帧数更敏感——从0帧增加到1帧时,准确率有明显跳跃;但从1帧继续增加到2帧,收益就变得微乎其微了。这一发现对实际部署具有指导意义:如果目标是提升语音识别效果,增加1帧向前看就够了,不必为了第2帧牺牲额外的20毫秒延迟。

在VoiceBank-DEMAND这个语音增强领域的经典测试集上,研究团队与Diffusion Buffer、DEMUCS、DeepFilterNet3、Stream.FM等主流实时语音增强模型进行了对比。值得注意的是,这个测试集并不在研究团队的训练数据中,因此这次对比同时也是对模型泛化能力的检验。以8层退出、0帧向前看的配置,研究团队的模型在PESQ(语音感知质量)、ESTOI(语音清晰度)、SI-SDR(信噪比)三个指标上均优于所有对比模型,且参数量只有290万,远少于DEMUCS的3350万和Stream.FM的5250万。将向前看设定为1帧后,三项指标进一步提升,展现出了框架的灵活性带来的实际收益。

**六、从研究室到你的设备:部署的实用逻辑**

研究团队还特别描述了这套框架在实际部署时的操作逻辑。用户只需下载完整模型,然后在自己的目标硬件上分别测试不同退出层和向前看组合的实际延迟,找到在满足自身延迟预算前提下性能最好的那个配置。一旦确定配置,就可以把多余的层和多余的卷积分支都裁剪掉,只保留所需部分——这样得到的模型大小和专用模型完全相同,没有任何额外的参数冗余。

研究团队还提醒了一个实用的决策原则:计算延迟既要满足总延迟预算,又必须满足实时率小于1的硬性约束;而算法延迟只需满足总延迟预算。因此,当用户所用的硬件计算能力有限时,可以优先考虑牺牲一点算法延迟(增加向前看帧数来换取更好的音质),而不是一味追求更深的模型层数。

在未来工作方面,研究团队提到了几个潜在的改进方向:模型剪枝和量化可以进一步压缩计算量,与现有框架自然兼容;借鉴大型语言模型压缩领域的知识蒸馏技术,让浅层退出的性能进一步逼近深层退出,也是一条值得探索的路径。

归根结底,这项研究做的事情可以用一句话概括:用一个模型,覆盖了过去需要几十个模型才能覆盖的应用场景。它不是某一个单一指标上的突破,而是在"灵活性"与"性能"之间找到了一条务实的平衡路径——既不像专用模型那样死板,也不像纯粹的通用模型那样以牺牲质量为代价。对于那些需要在各种设备和各种场景下部署语音增强功能的工程师来说,这套框架提供了一个真正可以落地的一体化解决方案。你可能会想:既然参数量只有370万,比许多竞争对手小得多,它究竟是怎么做到在这么多指标上超过体量大几十倍的对手的?答案或许就藏在两阶段训练策略和并行卷积层设计的协同效果里——有时候,训练方式的巧妙,比模型本身的规模更能决定最终的成败。对这背后的细节感兴趣的读者,不妨通过arXiv编号2606.25621找到原论文,深入探索其中的技术细节。

---

Q&A

Q1:语音增强模型中的"算法延迟"和"计算延迟"有什么区别?

A:算法延迟是指模型在开始处理之前,必须先积累足够多的输入音频数据所产生的等待时间,由音频窗口长度和向前看帧数决定,与硬件无关。计算延迟则是拿到输入数据后,模型真正跑完计算所需的时间,取决于模型复杂度和运行硬件的性能。两者加在一起才是用户实际感受到的总延迟。

Q2:早退机制为什么能控制计算延迟,直接用小模型不行吗?

A:早退机制的优势在于用一个模型覆盖多种计算深度,无需为每种硬件条件单独训练一个小模型。部署时只需在同一个模型内选择退出层,浅层退出计算量小、延迟低,深层退出质量好、延迟高。直接用独立的小模型虽然也能减少计算量,但需要为每种场景分别训练和维护,灵活性和工程效率远不如早退机制。

Q3:并行卷积层(MoE)方案和直接切换单个卷积层的填充方式有什么本质差别?

A:核心差别在于学习稳定性。直接切换同一个卷积层的填充方式,会因为卷积的平移等变性而在不同填充配置之间产生特征偏移,干扰后续序列建模模块的学习,导致训练效率下降。而并行卷积层方案让每个卷积层始终固定在一种填充配置下工作,各自独立学习,互不干扰,训练过程更稳定,最终性能也更好。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-