ParaASR:用 MTP 加速 4B 大模型语音识别,30 分钟音频一次完成转写

论文:https://arxiv.org/abs/2607.29279

大语言模型正在成为自动语音识别的新型解码器:它能更好地处理同音词、标点恢复、专有名词、中英文混说和长距离上下文,但也带来了一个直接问题——解码器越大,每生成一个 token 的成本越高,长音频转写尤其容易受到延迟限制。

StepFun 团队在论文《ParaASR: Multi-Token Prediction for Fast and Long-Context LLM-Based Speech Recognition》中提出 ParaASR。它使用冻结的 0.6B 音频编码器和 4B 稠密 Transformer 解码器,并在解码器后加入五个 Multi-Token Prediction(MTP)分支,让模型每次前向计算最多提出 6 个 token,再通过自回归路径验证并接收其中正确的连续前缀。

论文报告 ParaASR 平均每次前向计算可接收 5.0 个 token,在单张 NVIDIA H800、单并发条件下达到 0.0053 的实时因子(RTF)。模型保留原生 32K 上下文,可在一次解码会话中处理最长约 30 分钟音频。其中文、英文和长音频基准平均错误率分别为 2.97%、3.68% 和 3.70%。

论文ParaASR: Multi-Token Prediction for Fast and Long-Context LLM-Based Speech Recognition
机构StepFun,合作作者来自 NTU、PKU、UNSW、SJTU、USTC
版本arXiv:2607.29279v1,2026 年 7 月 31 日
模型规模0.6B 音频编码器 + 4B LLM 解码器 + 5 个 MTP 分支
核心能力多 token 并行提议、自回归验证、32K 长上下文、最长约 30 分钟单次转写

一、研究背景:大解码器带来质量,也带来逐 token 延迟

传统 ASR 主要围绕 CTC、Transducer 或声学序列建模展开。近年来,系统逐渐转向“音频编码器 + 适配器 + 大语言模型解码器”的架构:音频编码器提取声学证据,LLM 根据音频表征和已经生成的文本继续写出转录结果。

这种架构能够借助大模型的语言知识解决许多并非纯声学的问题,例如:

  • 同音词和上下文歧义;
  • 中英文代码切换;
  • 标点恢复与逆文本规范化;
  • 人名、地名和专业术语;
  • 会议、广播等长音频中的全局一致性。

问题在于,标准自回归解码一次通常只生成一个 token。设音频为 a,此前已经生成的文本为 x≤t,则下一 token 的预测过程为:

\(p_t=P\!\left(x_{t+1}\mid a,x_{\le t}\right)\)

如果输出序列包含 N 个 token,解码器就需要大约 N 次串行前向计算。解码器从 1B 扩大到 4B 后,语言建模能力增强,但每个 token 都要支付更高的计算成本。长音频同时需要更多输出 token 和更长上下文,因此矛盾更加明显。

二、核心洞察:ASR 比开放式文本生成更适合 MTP

ParaASR 的核心判断是:语音识别并不是开放式创作。文本大模型写故事时,后续内容可能存在大量合理分支;但 ASR 的目标是忠实恢复已经存在于音频中的内容。给定音频和当前转录前缀后,局部未来具有更强的确定性。

因此,模型可以在预测下一 token 的同时,让多个辅助分支分别预测更远位置:

\(p_{t,h}=P\!\left(x_{t+1+h}\mid a,x_{\le t}\right),\qquad h\in\{1,\ldots,5\}\)

主分支负责 xₜ₊₁,五个 MTP 分支分别预测 xₜ₊₂xₜ₊₆,一次前向计算形成六 token 提议。和直接并行输出不同,ParaASR 不会无条件采纳这些未来 token,而是只接收与标准自回归路径一致的最长连续前缀。

若 MTP 提议为 ,自回归验证结果为 x*,接收长度可以抽象表示为:

\(K=\max\left\{k:\hat{x}_{t+i}=x^{*}_{t+i},\ \forall i\in\{1,\ldots,k\}\right\}\)

一旦第 k+1 个提议与正常解码路径不一致,该位置及其后的提议全部拒绝,模型从已验证前缀继续自回归解码。正确预测能够减少前向次数,错误预测最多只是缩短本次接收长度,不会直接改变最终转录结果。这是论文把 MTP 称为“安全加速模块”的原因。

三、ParaASR 模型架构

ParaASR 的主干没有刻意设计得很复杂,而是在标准音频语言模型上重点改造解码路径。

模块设计作用
音频编码器0.6B Transformer,初始化自公开全模态基础模型,训练期间保持冻结提取音频声学表征
时间下采样8 倍下采样,每 80ms 产生一个声学 embedding降低长音频输入序列长度
适配器线性映射层把声学 embedding 投影到语言解码器的隐藏空间
文本解码器4B 稠密 Transformer,初始化自预训练文本 LLM根据音频和文本前缀生成转录
上下文原生 32K context支持最长约 30 分钟音频单次转写
MTP 模块5 个未来 token 分支与主分支共同提出最多 6 个 token

MTP 分支内部如何连接

每个 MTP Block 同时接收上一个分支的隐藏状态和经过位移的 token embedding。两路输入分别归一化后拼接,通过线性层恢复到解码器隐藏维度,再进入一个解码器式 Transformer Block。所有 MTP 分支与主干共享词嵌入层和词表输出头,使未来 token 提议尽可能保持与主解码器一致的语言空间。

32K 上下文与 80ms 声学 embedding 是长音频能力的基础。论文声称该组合可让模型直接处理最长约 30 分钟音频,从而避免传统“VAD 切片—逐段识别—文本拼接”带来的边界错误和跨片段实体不一致。

四、三项主要创新

  1. 把语音的确定性转化为解码并行度:论文没有单纯压缩解码器,而是利用音频对输出文本的强约束,让 4B LLM 可以一次预测多个未来 token。
  2. 多 token 提议与自回归验证结合:MTP 负责加速,标准解码路径负责最终正确性;错误提议只影响速度,不直接决定输出。
  3. 短音频精度、长音频一致性和推理速度统一训练:模型先建立可靠的自回归 ASR,再训练 MTP 分支,避免并行目标从训练初期干扰识别能力。

严格来说,MTP 和投机解码并非论文首次提出。ParaASR 的价值主要在于证明:与开放式语言生成相比,ASR 的声学锚定特性使未来 token 更容易预测,因此能够获得更高的连续接收率,并在较大解码器上实现实际的系统加速。

五、训练数据:1.356T 预训练 token、10 万小时短音频与 5 万小时长音频

1. 音频语言基础预训练

ParaASR 继承公开音频语言基础模型的分阶段预训练方案,总规模为 1.356T 文本和音频 token:

阶段数据规模目标
语音—文本对齐100B ASR token,12K steps冻结音频编码器和 LLM,仅学习音频适配器到文本 embedding 空间的映射
音频 token 扩展128B 文本 + 128B 音频 token加入 6.6K 个离散音频 token,训练 TTS、语音到语音等统一能力
统一多模态预训练800B token,其中包含 400B 文本混合 ASR、TTS、语音翻译以及文本—语音交错续写
Cooldown 与能力扩展200B 高质量 token增强副语言理解和多语种 ASR,并使用覆盖 5 万个说话人的会话式语音合成数据

2. 约 10 万小时短音频监督数据

短音频 SFT 数据由主流公开语料和大量私有数据构成,每条样本不超过 30 秒。数据覆盖普通话、英语、频繁中英文切换、主要汉语方言和地域口音,同时包含专业术语、远场录音和高噪声环境。论文称私有数据经过人工核验,以保证音频与转录的高质量对齐。

3. 约 5 万小时长音频伪标签数据

长音频数据不是直接使用单一 ASR 模型生成标签,而是采用多系统校验:

  1. 用 VAD 把原始长录音切成不超过 30 秒的语音片段;
  2. 使用三个 ASR 系统分别转写;
  3. 统一大小写、标点和表面格式;
  4. 中文按字、英文按词执行 ROVER 对齐和投票;
  5. 一个文本单元至少获得两个系统支持才被接收;
  6. 过滤分歧率超过 5% 的片段;
  7. 重新拼接相邻片段,并使用 LLM 恢复标点、执行 ITN 和统一全局实体。

论文用下面的分歧率作为伪标签可靠性代理指标:

\(\hat{e}=\frac{\#\,\mathrm{disagreed\ positions}}{\#\,\mathrm{text\ units}}\)

ê > 0.05 时,片段被丢弃。最后的 LLM session-level refinement 很关键:它不是只修正单个短片段,而是在整个会话范围内统一反复出现的人名、术语和实体,减少长音频拼接后的前后不一致。

六、训练流程:先做好 ASR,再训练 MTP 加速器

ASR 监督微调

训练采用对话式指令格式:system prompt 指定转写任务,user 输入音频特征,assistant 输出语言标签和转录文本。为提高噪声鲁棒性,训练集中还加入纯非语音或严重噪声输入,目标输出为非语音标签和空文本。

  • 训练序列预算:32K token;
  • 声学增强:SpecAugment 式时间遮挡和频率遮挡;
  • 音频编码器:保持冻结;
  • 优化模块:线性适配器和 4B 语言解码器;
  • 训练步数:10K;
  • 峰值学习率:2×10⁻⁵
  • 全局 batch size:32;
  • warmup:100 steps;
  • 余弦衰减终点:1×10⁻⁶

MTP 第一阶段:冻结主干,对齐未来分支

在已经收敛的 ASR 解码器后加入五个 MTP Block。每个 MTP Block 的 Transformer 层从解码器最后一层初始化,分支专用投影层随机初始化。此时只训练 MTP 模块,主干、共享 embedding 和 LM Head 全部冻结,峰值学习率为 2×10⁻⁴

MTP 第二阶段:联合校准

未来分支初步对齐后,模型解冻适配器和语言解码器,以更低的 2×10⁻⁵ 学习率联合优化。论文称两阶段沿用 32K 序列预算、全局 batch size 32 和 10K-step 训练配置。

越远的 token 越难预测,因此 MTP 分支损失采用指数衰减权重:

\(w_h=\frac{\alpha^{h-1}}{\sum_{j=1}^{H}\alpha^{j-1}},\qquad H=5,\quad \alpha=0.9\)

每个位置的总目标由标准下一 token 交叉熵和五个未来 token 交叉熵构成:

\(\mathcal{L}_t=\mathrm{CE}(p_t,x_{t+1})+\sum_{h=1}^{H}w_h\,\mathrm{CE}(p_{t,h},x_{t+1+h})\)

损失只作用于转录 token。这样的分阶段设计避免随机初始化的 MTP 分支在早期破坏已经稳定的识别主干。

七、实验设置

论文从识别精度、长音频能力和推理效率三个方面评估 ParaASR。主要对比模型包括 VibeVoice-ASR、FunASR-Nano、Doubao-ASR-2603 和 Qwen3-ASR-1.7B。

  • 除 Doubao-ASR-2603 使用官方 API 外,其余模型均部署在单张 NVIDIA H800 上;
  • 推理采用单并发;
  • 不原生支持长音频的模型使用 VAD 切成最长 30 秒片段;
  • 中文使用 CER,英文与长音频使用 WER;
  • 基准覆盖 AISHELL-1/2、WenetSpeech、FLEURS、LibriSpeech、Common Voice、VoxPopuli cleaned AA 和 Earnings22 cleaned AA;
  • Wenet testnet long 由同一来源会话中的相邻片段拼接构造。

错误率的通用定义为:

\(\mathrm{ER}=\frac{S+D+I}{N}\)

其中 SDI 分别代表替换、删除和插入错误;中文以字符数作为 N,得到 CER,英文以词数作为 N,得到 WER。

八、识别效果:平均成绩领先,但并非每个数据集都第一

评测类别VibeVoice-ASRFunASR-NanoDoubao-ASR-2603Qwen3-ASR-1.7BParaASR
中文平均 CER10.193.663.343.172.97
英文平均 WER7.145.246.673.853.68
长音频平均 WER4.875.596.114.203.70

相对 Qwen3-ASR-1.7B,ParaASR 的中文平均错误率相对下降约 6.3%,英文下降约 4.4%,长音频下降约 11.9%。其中代表性结果包括:

  • AISHELL-1 CER:0.71%
  • AISHELL-2 iOS CER:2.29%
  • LibriSpeech clean WER:1.38%
  • LibriSpeech other WER:3.16%
  • LibriSpeech clean long WER:1.27%
  • LibriSpeech other long WER:2.90%

不过,“平均第一”不等于所有数据集都第一。ParaASR 在 Wenet testnet、Wenet testmeeting、Common Voice、FLEURS en、Wenet testnet long 和 Earnings22 等数据集上仍落后于部分基线。例如 Wenet testnet 上 Doubao-ASR-2603 为 4.03%,ParaASR 为 4.54%;Earnings22 上 VibeVoice-ASR 为 5.62%,ParaASR 为 6.52%。这说明 ParaASR 的优势更接近整体质量—效率前沿,而不是对所有领域实现绝对统治。

九、推理效率:4B 解码器比 1.7B 基线更快

实时因子定义为处理时间与音频时长之比:

\(\mathrm{RTF}=\frac{T_{\mathrm{inference}}}{T_{\mathrm{audio}}}\)
模型RTF相对 ParaASR
VibeVoice-ASR0.1039约慢 19.6 倍
FunASR-Nano0.0591约慢 11.2 倍
Doubao-ASR-26030.0640约慢 12.1 倍
Qwen3-ASR-1.7B0.0094约慢 1.77 倍
ParaASR0.0053基准

RTF 0.0053 意味着在论文条件下,处理 30 秒音频约需 0.159 秒。RTF 测试使用 100 条、每条 30 秒的音频。尽管 ParaASR 使用 4B 解码器,它仍比 Qwen3-ASR-1.7B 的 0.0094 更快,说明多 token 接收抵消了更大解码器的单步成本。

需要注意,Doubao-ASR-2603 通过官方 API 测试,而其他模型运行在本地 H800 上,因此这项 API 与本地部署之间的 RTF 对比并非完全同条件。

十、为什么选择 MTP-5,而不是更多分支

配置各位置接收率平均接收长度
MTP-30.96 / 0.88 / 0.803.6 / 4
MTP-50.95 / 0.88 / 0.80 / 0.71 / 0.645.0 / 6
MTP-70.96 / 0.88 / 0.80 / 0.72 / 0.65 / 0.59 / 0.536.1 / 8

从 MTP-3 增加到 MTP-5,平均接收长度从 3.6 提升到 5.0,增长约 39%;继续增加到 MTP-7,平均接收长度只提高到 6.1,增幅约 22%。越靠后的 token 接收率越低,第七位置只有 0.53。

生产推理中,较远位置预测失败会造成 KV Cache 回滚并打断连续解码,分支数量过多的维护成本可能抵消额外接收的少量 token。因此论文最终选择 MTP-5 作为并行度、接收率和工程复杂度之间的平衡点。

十一、消融实验:MTP 基本不改变识别精度

类别不使用 MTPMTP-5变化
中文平均 CER3.003.000.00
英文平均 WER3.833.87+0.04
长音频平均 WER3.633.69+0.06

配对消融显示 MTP-5 引起的平均波动不超过 0.06 个绝对百分点。这与验证机制相符:MTP 猜对时加速,猜错时缩短接收前缀,最终输出仍由验证后的自回归路径决定。

但论文中有一个值得注意的呈现问题:表 4 的 MTP-5 数值与表 1 最终 ParaASR 的个别结果并不完全一致,例如表 1 的 VoxPopuli 为 2.76%,表 4 为 3.69%;表 1 的 FLEURS zh 为 2.63%,表 4 为 2.76%。这可能意味着消融使用了独立的配对 checkpoint 或不同实验产物,但论文没有明确解释。因此,表 4 适合用来观察“加入 MTP 前后”的相对变化,不宜与表 1 的最终模型逐项拼接。

十二、论文的价值与局限

值得肯定的地方

  • 抓住了 ASR 的任务特性:音频为未来 token 提供强约束,使 MTP 比开放式生成更容易获得长连续接收前缀。
  • 没有用小模型换速度:ParaASR 保留 4B 解码器的语言能力,通过减少串行步数提高吞吐。
  • 训练流程风险较低:先训练可靠 ASR,再分阶段加入 MTP,避免辅助目标破坏主干。
  • 兼顾长音频:32K 上下文、80ms 音频表征和 5 万小时长音频监督共同服务于会话级一致性。
  • 实验不只报告精度:同时给出 RTF、逐位置接收率、平均接收长度和配对消融。

仍需谨慎看待的地方

  • 论文使用大量私有数据,约 10 万小时短音频中公有与私有数据的具体比例没有披露。
  • 摘要页面没有给出代码、模型权重或完整数据发布地址,关键结果暂时难以由外部团队完整复现。
  • 4B 文本解码器的具体基础模型名称没有明确披露,音频编码器只说明初始化自公开全模态基础。
  • Doubao API 与本地 H800 的效率结果不在完全一致的硬件和服务链路下。
  • “最长 30 分钟一次转写”是重要能力,但论文没有单独展示不同音频长度下的显存、吞吐、延迟和错误率曲线。
  • 平均成绩领先,但在部分领域和数据集上仍落后于其他模型,实际部署仍需按目标场景复测。

结语

ParaASR 的核心贡献不是简单地给 ASR 换上一个更大的 LLM,而是重新处理“大解码器质量高、逐 token 推理慢”的矛盾。它利用语音转写的确定性,同时预测多个未来 token,再由自回归路径验证,使一次 4B 解码器前向计算平均输出 5.0 个已验证 token。

从论文结果看,MTP-5 几乎没有改变识别错误率,却把系统 RTF 降到 0.0053,并保留 32K 长上下文和最长约 30 分钟的单次转写能力。这说明在语音识别这类有外部输入强约束的生成任务中,模型规模与推理速度并不必然冲突:只要未来 token 足够可预测,并且存在可靠验证路径,大模型也可以通过提高单步有效输出量实现低延迟服务。

下一步真正决定 ParaASR 影响力的,将是模型与代码是否开放、外部团队能否复现 RTF 和长音频结果,以及它在电话、会议、方言、强噪声和专业领域中的实际稳定性。

语音-LLM 融合再思考:通过交错预训练实现高效的语音-文本联合学习

Rethinking Speech-LLM Integration for ASR: Effective Joint Speech-Text Training by Interleaving

核心亮点: 本文重新审视了语音-LLM融合在自动语音识别(ASR)中的局限,指出在充足的有监督数据下,LLM的先验知识未被充分利用;为此提出了一种面向ASR的联合语音-文本交错预训练策略(JSTIP),通过在词和片段级别交错构建语音-文本序列,有效保留了LLM的生成先验并缩小了模态差距,在38k小时的ASR数据上实体准确率显著提升,且仅用转录文本即可在医疗等领域实现与合成语音对相当的领域自适应效果。

实验发现:纯文本数据可以明显改善 Text-to-Text 表现,却很难同步改善 Speech-to-Text 表现。这说明知识已经写入 LLM,但语音输入仍无法有效访问这些知识,根源在于语音和文本两种输入模式之间存在模态差距。 不再把 ASR 数据和纯文本数据作为彼此独立的 batch 混合训练,而是在一条已经对齐的语音-文本样本内部交替排列语音片段和文本片段,让同一个 Decoder-only LLM 反复学习“在语音上下文后预测文本”和“在文本上下文后预测文本”。

论文链接: https://arxiv.org/pdf/2607.01733v1

把预训练大语言模型接到语音编码器之后,ASR 是否真的利用了 LLM 在海量文本中学到的知识?这篇论文给出的答案并不乐观:当监督语音数据足够多时,模型很容易退化成一个主要依赖语音-文本配对数据的识别器;即使额外混入大量文本,文本侧能力也不一定能够迁移到语音输入。

作者提出 Joint Speech-Text Interleaved Pretraining,简称 JSTIP。它不再把 ASR 数据和纯文本数据作为彼此独立的 batch 混合训练,而是在一条已经对齐的语音-文本样本内部交替排列语音片段和文本片段,让同一个 Decoder-only LLM 反复学习“在语音上下文后预测文本”和“在文本上下文后预测文本”。实验表明,这种结构化交错比普通联合训练更能保留 LLM 的生成先验,并改善医疗实体识别和零样本语音问答。

Fig. 1,传统 Speech-LLM 与 JSTIP 交错预训练框架对比。

一、论文发现的核心问题

典型 Speech-LLM 由语音编码器、模态适配器和 Decoder-only LLM 组成。语音被编码为连续向量并投影到 LLM 的嵌入空间,模型随后生成转写文本。

传统 ASR 训练只在目标转写 Token 上计算交叉熵:

\( \mathcal{L}_{\mathrm{ASR}}=-\sum_{i=1}^{N}\log P(t_i\mid A,t_{<i}) \)

其中 \(A\) 是语音表示,\(t_{<i}\) 是已经生成的文本。随着 ASR 数据增加,LLM 会逐渐专门化为“语音条件下的下一个 Token 预测器”,原本从文本预训练中获得的知识和开放式生成能力反而被削弱。

直接在训练中混入纯文本也不能彻底解决问题。论文发现,纯文本数据可以明显改善 Text-to-Text 表现,却很难同步改善 Speech-to-Text 表现。这说明知识已经写入 LLM,但语音输入仍无法有效访问这些知识,根源在于语音和文本两种输入模式之间存在模态差距。

二、JSTIP 的模型与训练框架

1. 基础 Speech-LLM

组件设计
语音编码器400M Conformer,时间下采样倍率为 8
输入特征80维 Log-Mel,10 ms 帧移,进入 LLM 后约为 80 ms 一个语音 Token
模态适配器约20M参数,将语音表示映射到 LLM 隐空间
语言模型内部7B Decoder-only LLM,预训练使用约5T文本 Token
上下文长度8K,使用 Packed SFT 和 FlashAttention 边界信息防止样本间泄漏

训练分为两个阶段。第一阶段只训练适配器,使用约 10% 的 ASR Token 稳定跨模态对齐,学习率为 \(1\times10^{-4}\);第二阶段联合训练语音编码器、适配器和 LLM,学习率为 \(4\times10^{-5}\)。

2. 在单条样本内部交错语音和文本

对于已经对齐的语音 \(A\) 和文本 \(T\),先将其拆分为一组对应片段:

\( (A,T)=\{(A_1,T_1),(A_2,T_2),\ldots,(A_n,T_n)\} \)

随后交替选择语音和文本片段,例如:

\( \langle s\rangle,A_1,\langle N\rangle,T_2,\langle N\rangle,A_3, \langle N\rangle,T_4,\ldots,\langle N\rangle,T_n,\langle/ s\rangle \)

论文同时构造从语音开始和从文本开始的两种交错形式,但最后一个片段始终是文本。损失只计算文本位置,语音向量和任务标记不参与损失。这样可以迫使 LLM 在两种模态上下文后保持相似的文本预测行为。

3. Word-Interleave 与 Segment-Interleave

  • 词级交错:每个单词及其对应语音区间构成最小单元,语音和文本切换最频繁,跨模态耦合更加紧密。
  • 片段级交错:按照静音或标点将连续单词合并成短语或句子级片段,更强调长距离语义一致性,也更能容忍局部对齐误差。
  • 混合交错:同时使用词级和片段级序列,兼顾实体级细粒度对齐与长距离模态一致性。

词级交错如果逐词独立运行语音编码器,会造成严重的零填充和显存浪费。作者先把所有语音小片段拼接成一条长序列,一次完成编码和适配器前向计算,再按照原始位置重新插回交错序列,使词级交错能够扩展到大规模训练。

三、训练与评测数据

数据规模用途
内部英文 ASR38,000小时,约2.3B语音Token通用ASR和交错预训练
医疗领域合成ASR9,000小时GPT生成实体丰富文本,再由内部TTS合成语音
PubMed摘要2.3B文本Token医疗领域文本知识
TTS转写文本0.1B文本Token验证纯领域文本能否替代合成语音

38,000 小时 ASR 数据通过 HMM 混合系统获得词级对齐,对齐失败的样本会被删除,但不再根据置信度进行额外过滤。片段级边界由静音或“静音加标点”共同确定,每次实验使用约 2.3B 个交错 Token,以便和 ASR 数据规模保持平衡。

通用 ASR 使用内部 conversation 和 dictation 测试集,指标为 TER,大小写和标点也计入错误。领域实体测试覆盖 8 个医疗领域和 1 个银行领域:医疗集合共 261 条、49.281 小时,银行集合共 36 条、5.567 小时。实体指标 EER 定义为:

\( \mathrm{EER}=1-\mathrm{Recall}_{\mathrm{entity}} \)

此外,论文把 MMLU 转换成语音版本,比较 Text-to-Text 与 Speech-to-Text 的 5-shot 准确率;并在 LLaMA-QA、TriviaQA 和 WebQA 上评估零样本语音问答,以观察 LLM 的开放式生成先验是否仍能被语音输入调用。

四、主要实验结果

1. 仅靠交错结构就能改善实体识别

配置Conversation TERMedical EERMMLU-S2TSQA-S2T
ASR-only23.637.9735.68%0.05%
ASR + Interleave22.657.3251.77%41.92%
ASR + PubMed23.327.4943.77%10.10%
ASR + PubMed + Interleave22.356.8758.98%41.03%
JSTIP-Best-EER22.426.6058.70%42.07%
根据 Table I 摘录,TER/EER 越低越好,准确率越高越好。

在不加入额外领域文本的情况下,交错训练将医疗 EER 从 7.97% 降至 7.32%,并把零样本 SQA-S2T 从几乎不可用的 0.05% 提升到 41.92%。这说明提升不只是来自更多文本,而是来自模型重新获得了从语音上下文进入 LLM 生成能力的通路。

2. 普通文本混训的知识迁移并不充分

加入 PubMed 后,MMLU-T2T 从 43.01% 提升到 64.10%,但 MMLU-S2T 只有 43.77%,说明文本侧已经学到知识,语音侧却访问不到。加入交错训练后,MMLU-S2T 提升到 58.98%,医疗 EER 进一步降至 6.87%。

更有价值的是,单独加入 TTS 转写文本时,医疗 EER 仅从 7.97% 降到 7.85%;结合交错训练后则降至 6.81%,已经接近直接使用 9,000 小时合成医疗语音的 6.86%。这意味着在具备交错训练的条件下,廉价领域文本有机会替代成本更高的 TTS 语音合成。

3. 与开源模型的实体识别对比

JSTIP-Best-EER 在医疗集合上取得 6.60% EER,优于 Whisper-large-v3 的 6.94%、Qwen3-ASR-1.7B 的 6.67%、Voxtral-Mini-3B 的 7.40% 和 Qwen2.5-Omni-7B 的 12.22%;但仍落后于 Qwen3-Omni-30B-A3B 的 5.84% 和 Voxtral-Small-24B 的 6.04%。

银行领域 EER 为 10.75%,明显弱于医疗领域,作者将其归因于训练中加入了 PubMed 和医疗文本,却没有提供相当规模的银行领域文本。这从侧面验证了 JSTIP 的收益仍然依赖文本知识覆盖。

五、交错粒度消融

词级交错将医疗 EER 从 7.97% 降至 7.64%,但 MMLU 的语音-文本差距仍为 -6.89 个百分点。片段级交错更善于缩小模态差距,特别是使用“静音加标点”切分时,差距缩小至 -0.77 个百分点。

效果最好的基础配置是词级与片段级混合,并使用静音加标点划分片段,医疗 EER 达到 7.32%,MMLU-S2T 甚至比 T2T 高 0.61 个百分点。标点可以避免纯静音切分产生过长片段,使监督更加均衡。

六、论文的主要创新点

  1. 把交错构造放到单个对齐样本内部。它不只是进行 ASR/Text batch 混合,而是让文本预测直接建立在交替出现的语音和文本上下文之上。
  2. 提出适用于连续语音表示的可扩展词级交错。通过拼接后统一编码、再恢复位置,解决逐词语音编码带来的显存浪费。
  3. 系统比较词级、片段级和混合粒度。实验说明片段级更擅长缩小模态差距,词级则能提供额外的实体识别收益。
  4. 证明领域文本可以更有效地迁移到 ASR。在交错训练下,只有转写文本也能达到接近合成 TTS 配对数据的医疗实体识别效果。
  5. 用 MMLU-Speech 和零样本 SQA 诊断 LLM 先验是否保留。这些指标不只是评估 ASR 准确率,还观察语音输入能否访问 LLM 原有的生成和推理行为。

七、局限性

  • 38,000小时主训练数据、领域测试集、7B LLM 和部分组件均为内部资源,难以完整复现。
  • 当前实验以英文和医疗领域为主,对中文、多语种和更多行业的适用性仍需验证。
  • 词级交错依赖 HMM 强制对齐,错误边界可能直接污染交错片段;CTC和时间戳对齐尚未比较。
  • 开源模型之间的参数、训练数据、Prompt和解码策略不同,Table II 只能作为外部参考,不是严格排行榜。
  • SQA 会受到提示词、解码和答案归一化影响,应视为 LLM 生成先验保留的辅助证据,而不是独立的语音推理结论。

八、总结

JSTIP 的核心结论是:Speech-LLM 是否能够利用文本知识,不只取决于有没有文本数据,更取决于训练序列是否让语音和文本共享相同的预测行为。普通联合训练可能只分别提升语音任务和文本任务,而样本内部的交错训练才能把二者真正连接起来。

从工程角度看,这项工作尤其适合领域 ASR。企业往往拥有大量专业文本,却缺少相应的录音和标注。若交错预训练可以让这些文本有效改善语音实体识别,就能减少领域 TTS 合成和人工采集成本。不过,在公开数据、更多语言和不同对齐算法上的可复现性,仍是 JSTIP 走向通用方法前必须补齐的部分。

Is Text All You Need? 文本作为语音大模型的通用信息瓶颈

Is Text All You Need? Text as a Universal Information Bottleneck for Speech LLMs

核心亮点: 提出 Convex Gate (C-Gate) 语音-LLM 桥接模块通过凸包约束将每帧语音表示为 LLM 词表嵌入的凸组合,确保表征严格位于预训练 LLM 的输入流形内,有效避免表征漂移与词汇锁定。该方法在 ASR 与情感识别联合任务上表现优异,LibriSpeech WER 相对降低高达 48.7%,且情感识别精度持平或超越单任务基线。研究揭示语音信息的核心载体是嵌入空间中的时序轨迹而非离散 Token 身份,证明了几何对齐而非离散化才是语音-LLM 接口设计的根本因素。

C-Gate不是把语音生硬地翻译成文字Token,而是把语音转换成LLM熟悉的连续词向量轨迹,让模型既能听清“说了什么”,也能感知“怎么说的”。

论文链接: https://arxiv.org/pdf/2606.09366v1

Speech-LLM 的一个核心问题是:语音编码器输出的连续向量,应该以什么形式进入一个已经冻结的文本大模型?如果强制语音表示接近离散文字 Token,ASR 会比较容易,但情绪、韵律等副语言信息可能丢失;如果允许适配器生成任意连续向量,表示能力虽然更强,却可能偏离 LLM 训练时熟悉的输入空间,导致自回归解码不稳定。

论文提出 Convex Gate,简称 C-Gate。它规定每一个语音帧表示都必须是若干 LLM 原始词嵌入的凸组合。模型不必把语音硬映射成某个文字 Token,但生成的向量始终位于 LLM 词嵌入表的凸包内部,从而在“离散符号约束”和“自由连续表示”之间取得平衡。

实验最值得关注的结论不是 Top-16 选中了哪些词,而是:真正承载语音信息的是这些连续混合向量在时间轴上形成的轨迹。打乱轨迹顺序或替换 LLM 的词嵌入基底,ASR 和情绪识别都会崩溃。

Figure 1,C-Gate 总体架构与词嵌入凸包示意图。C-Gate 并不是直接学习一个新的“语音 embedding 空间”,而是通过 Query/Key 打分 → 从冻结的 LLM embedding 中选择 Top-16 → 对原始 embedding 做加权求和,从而把 Whisper 的语音表示映射到 LLM 原有 embedding 空间的凸包内。这也是它不需要 Value Projection 和后置 MLP 的关键原因。

一、两种传统 Speech-LLM 接口的矛盾

  • 近离散 Token 对齐:通过 CTC 或文字对齐让语音表示接近 one-hot Token 分布,有利于转写,但容易形成 lexical lock-in,压缩情绪、韵律等信息。
  • 无约束连续表示:Q-Former 或连接器可以输出任意稠密向量,表达能力较强,但容易发生 basis drift,即语音向量偏离冻结 LLM 的输入分布。

C-Gate 的观点是:关键不是语音表示是否离散,而是它的几何位置是否与 LLM 的输入空间兼容。LLM 唯一真正训练过的连续输入空间就是自己的词嵌入表,因此语音桥接向量应该被限制在该嵌入表的凸包中。

二、C-Gate 模型设计

1. 凸包约束

设冻结 LLM 的词嵌入表为 \(E=\{E_1,\ldots,E_V\}\),其凸包定义为:

\( \operatorname{conv}(E)=\left\{\sum_{v=1}^{V}\alpha_vE_v:\alpha_v\ge 0, \sum_{v=1}^{V}\alpha_v=1\right\} \)

只要语音向量采用非负、和为 1 的词嵌入加权组合,它就不会离开 LLM 熟悉的输入几何,同时仍然可以在不同词向量之间连续移动,不必退化成某个离散 Token。

2. 全词表打分与 Top-16 混合

模型使用冻结的 Whisper-large-v3 编码器获得语音隐状态。经过步长为 4 的均值池化后,每个语音状态映射成查询向量:

\( q_t=\operatorname{LN}(W_q\tilde h_t),\qquad K=W_kE \)

其中 \(K\) 是整个词表的投影 Key。模型对完整词表计算相似度:

\( \pi_t=\operatorname{softmax}\left(\frac{q_tK^{\top}}{\sqrt{d_p}\,\tau}\right), \qquad S_t=\operatorname{TopK}_{16}(\pi_t) \)

然后只保留概率最高的 16 个词嵌入,并重新归一化:

\( \alpha_{t,v}= \begin{cases} \dfrac{\pi_{t,v}}{\sum_{u\in S_t}\pi_{t,u}}, & v\in S_t,\\ 0, & v\notin S_t, \end{cases} \qquad \tilde e_t=\sum_{v\in S_t}\alpha_{t,v}E_v\in\operatorname{conv}(E) \)

这里的一个关键设计是:投影只用于 Query 和 Key 打分,Value 始终是未经修改的原始 LLM 词嵌入。Top-16 后也没有 Value Projection 或额外 MLP,因此凸包约束由架构本身保证,而不是依赖训练损失近似实现。

3. 冻结 LLM 的统一解码接口

任务指令、语音伪嵌入和历史输出 Token 被拼接后送入 Qwen2.5-7B-Instruct:

\( p_M(y_{1:N}\mid x_{1:m},\tilde e_{1:T})= \prod_{i=1}^{N}p_M\!\left(y_i\mid[E(x_{1:m});\tilde e_{1:T};E(y_{<i})]\right) \)

所有任务都使用标准自回归交叉熵,不需要 CTC、外部分类头、前缀强制或任务专用解码器。

三、参数冻结与多任务训练

模块状态
Whisper-large-v3 Encoder冻结
Qwen2.5-7B 嵌入表、MLP、LayerNorm、LM Head冻结
C-Gate 的 Wq、Wk、LayerNorm、温度参数训练,约2.49M
Qwen第0至23层 Self-Attention 的 Q/K/V/O 投影训练,约704.75M
总可训练参数707.25M

训练使用一个多任务交叉熵目标,并通过动态重加权避免不同任务的损失尺度失衡:

\( \mathcal{L}^{(t)}=\sum_{i\in\mathcal{T}}w_i^{(t)}\mathcal{L}_i^{(t)}, \qquad w_i^{(t)}\propto\left(\frac{\mathcal{L}_{i,\mathrm{EMA}}^{(t)}} {\mathcal{L}_{i,\mathrm{init}}}\right)^{\alpha},\quad \alpha=1 \)

EMA 衰减系数为 0.9,任务权重截断在 0.2 至 5.0。C-Gate-2T 联合训练 ASR 和情绪任务;C-Gate-3T 再增加语音推理任务,用来测试共享桥接表示的能力边界。

四、训练数据与评测设置

  • ASR:960小时 LibriSpeech,使用 test-clean 报告自回归和 Teacher-Forced WER。
  • 情绪:约47小时公开情绪语音数据,RAVDESS 用作8分类的分布外闭集评测。
  • 推理:C-Gate-3T 增加语音推理任务,评测包括 VoiceBench-BBH、BBH-Heldout、SpeechMMLU、MMAU 和 MMSU。

论文没有在主体中详细列出全部 47 小时情绪训练语料和推理训练数据的逐项构成,因此数据部分的可复现信息弱于模型结构部分。作者同时强调,多项选择推理成绩可能受到文本捷径、答案先验和选项顺序影响,因此把它们视为能力边界测试,而不是完全由音频驱动的推理证明。

五、主要实验结果

模型AR-WERTF-WER情绪准确率SpMMLUMMAUMMSU
C-Gate-ASR7.76%
C-Gate-Emotion96.2%
C-Gate-Reasoning53.2%44.0%55.5%
C-Gate-2T4.78%3.60%97.1%
C-Gate-3T3.98%3.89%90.5%61.4%48.3%60.6%
根据 Table 1,WER 越低越好,其余准确率越高越好。

1. ASR 与情绪之间出现正迁移

C-Gate-2T 将自回归 WER 从单任务模型的 7.76% 降至 4.78%,相对降低 38.4%;与此同时,情绪准确率从情绪单任务模型的 96.2% 提升到 97.1%。这意味着情绪监督没有干扰 ASR,反而抑制了 ASR-only 模型中较严重的插入错误。

C-Gate-3T 加入推理任务后,WER 进一步降至 3.98%,相比 C-Gate-ASR 相对降低 48.7%,但情绪准确率下降到 90.5%。因此论文将 C-Gate-2T 视为 ASR 与副语言任务之间更干净的平衡点,而 C-Gate-3T 是用于观察多任务干扰边界的压力测试。

2. 推理任务有所提升,但不是绝对SOTA

与 Reasoning-only 模型相比,C-Gate-3T 在五项推理测试上均有提升,例如 BBH-Heldout 从 23.6% 提升到 40.0%,SpeechMMLU 从 53.2% 提升到 61.4%,MMSU 从 55.5% 提升到 60.6%。

在公开模型尺度参考中,C-Gate-3T 的 LibriSpeech WER 为 3.98%,不及 Kimi-Audio 的 1.28% 和 Qwen2-Audio 的 1.6%;MMAU 48.3% 也低于大型音频模型。它的价值主要是以相同数据和可训练参数预算验证桥接几何,而不是追求绝对排行榜第一。

六、机制分析:信息不是离散词,而是时间轨迹

1. Top-16 分布接近均匀

Top-16 归一化分布的熵约为最大熵的 96.2% 至 98.7%,说明每一帧并没有选择一个非常明确的文字 Token。Top-1 Token 也不对应真实转写词、情绪标签或可解释类别,因此 C-Gate 不是一个隐式 ASR Token 检索器。

Top-16 路由熵和 KL 统计。

2. 选中支持集合的时间变化携带信息

相邻语音帧的 16 个支持 Token 中,平均只有约 3 个会继续保留。将整段语音选择过的支持 Token 做 Bag-of-Supports 探测,在 RAVDESS 上达到 77.7% 准确率,高于 C-Gate 之前 Whisper 表示的 67.8%;但如果把所有帧的桥接向量直接平均,准确率只有 16.8%。

因此,信息并不主要存在于某一帧的概率权重,也不在整句平均向量中,而是在语音帧沿着词嵌入凸包移动形成的有序轨迹中。

3. 同一轨迹可被不同任务以不同方式读取

在情绪 Prompt 下,LLM 的文本到语音注意力趋向低秩,等价于对整段音频进行全局池化;在 ASR Prompt 下,注意力秩明显升高,不同输出位置会选择不同的局部语音位置。C-Gate-2T 在同一个模型中即可根据 Prompt 从低秩全局读取切换到位置敏感读取。

Figure 2,情绪与 ASR Prompt 下的任务条件化注意力有效秩。

4. 因果干预验证了凸包轨迹的重要性

作者在同一个 C-Gate-3T 检查点上进行干预:

  • 将真实音频换成全零或等RMS高斯噪声,情绪准确率从约91.5%降到12%或10%,WER从2.8%升到约98%。
  • 打乱桥接向量的时间顺序,情绪准确率降到22%,WER升到244.5%。
  • 用同形状高斯矩阵或随机行排列替换词嵌入表,情绪与ASR性能同时崩溃。

这些结果排除了“只要有足够大的码本或额外 Self-Attention 参数就可以”的解释,支持论文的主要判断:有用通道是位于训练过的 LLM 词嵌入空间中的有序连续轨迹。

Figure 3,音频替换、时间打乱和词嵌入基底替换的因果干预结果。

七、论文的主要创新点

  1. 以架构方式保证语音表示位于词嵌入凸包。不需要额外对齐损失,也不会产生凸包外的新 Value 方向。
  2. 同时避免离散锁定和连续表示漂移。语音仍是连续向量,但始终处于冻结 LLM 熟悉的输入几何中。
  3. 在冻结 Encoder 和大部分 LLM 的受控条件下研究多任务迁移。把性能变化更多地归因于接口设计,而不是全模型训练规模。
  4. 从路由概率转向时间轨迹解释信息传递。证明 Token 身份不是主要通道,连续伪嵌入的时间结构才是关键。
  5. 使用因果干预验证机制。通过替换音频、打乱时间和更换嵌入基底,分别验证声学内容、顺序结构和输入几何的必要性。

八、局限性

  • 只验证了 Whisper-large-v3 与 Qwen2.5-7B-Instruct 这一组 Encoder-LLM 组合。
  • 主要训练实验只有一个随机种子,尚缺少多次训练的方差统计。
  • 缺少同参数预算的普通 Q-Former 连续桥接器作为最直接对照,无法完全排除收益来自新增可训练 Self-Attention 容量。
  • 情绪评测主要依赖表演式、闭集的 RAVDESS,不代表真实开放环境下的情绪理解。
  • 语音推理测试仍可能受文字捷径和答案先验影响,不能直接宣称模型已经具备可靠的音频落地推理。
  • 论文不建议将模型用于高风险的说话人属性或情绪判断。

九、总结

C-Gate 提出的不是一种新的语音 Tokenizer,而是一条几何原则:语音表示不必变成文字,但应该位于 LLM 已经学会读取的表示空间内。Top-16 词嵌入只是构成连续向量的坐标,模型实际读取的是这些向量随时间变化的轨迹。

这项工作对 Speech-LLM 设计的启发在于,与其只追求更大的连接器或更强的离散对齐,不如同时考虑“表示位于哪里”和“信息如何随时间组织”。C-Gate 在受控数据规模下展示了 ASR 与情绪任务的正迁移,也提供了一套可解释、可干预的研究框架。不过,它距离大规模、多语言、真实业务环境中的通用语音模型仍有明显距离。


Turn Detector v1.0- 语义轮次检测VAD

语音智能体最容易暴露“机器感”的地方,往往不是大模型回答得不够聪明,而是它不知道什么时候该接话。用户在句中稍作停顿,机器人便抢先开口;用户已经明确说完,机器人却仍然等待。前者破坏表达,后者制造尴尬的空白。

2026 年 6 月,LiveKit 发布 Turn Detector v1.0,将轮次结束检测从“读取转写文本”推进到“直接聆听语音”。新模型把语义理解与声学、韵律信号融合起来,并同步开放 eot-bench 基准与 14 种语言的真实人机对话评测数据。按照 LiveKit 公布的结果,完整版 v1 在其评测的模型中给出了最优的延迟—误截断前沿。

LiveKit 对这次发布的定位十分激进:对于基于 LiveKit 构建的智能体,他们认为端到端轮次检测已经成为一个“基本解决”的问题。不过,这一结论目前主要来自 LiveKit 自己设计并公开的基准,仍值得第三方在不同领域、口音和噪声条件下独立复现。

一、背景:停顿不等于说完

传统语音系统通常依靠 VAD(Voice Activity Detection,语音活动检测)判断音频中有没有人声,再设置一个静音计时器:静音达到若干毫秒,就认为用户已经说完。这种方法能够发现“停顿”,却无法理解“停顿的含义”。

例如用户说:“我要一个大号披萨……”并在“披萨”后停顿。此时他可能已经结束点单,也可能准备继续说“……再来一份蒜香面包”。在停顿发生的瞬间,两种情况的转写文本完全相同。文本模型无论多强,都无法从相同的文字中恢复已经丢失的语调、音高和节奏。

  • 只靠 VAD:知道用户停了,却不知道用户是否准备继续。
  • VAD 加文本语义模型:能理解句子是否完整,但受 STT 错误和转写延迟限制。
  • 音频语义与声学融合:同时理解“说了什么”与“怎么说”,这是 v1.0 的路线。

文本路线的三重上限

  1. 判断上限受 STT 质量约束:漏字、错字、断句方式和数字格式都会改变语义判断。
  2. 必须等待转写结果:模型不能在最终文本到达前完成判断,STT 尾部延迟会直接叠加到智能体响应时间。
  3. 副语言信息永久丢失:尾音上扬、音高下降、重音、语速和节奏无法从纯文本中可靠恢复。

这也是 LiveKit 从上一代文本模型转向 v1 音频模型的核心原因:要继续提高轮次判断质量,就必须“停止阅读,开始聆听”。

二、LiveKit Turn Detector 的三代演进

阶段输入与架构关键机制主要特征
初代(2024)转写文本 + Transformer根据对话文本预测用户是否结束表达把纯静音计时升级为语义判断
v0.4.x(Hugging Face 公开模型)Qwen2.5-0.5B-Instruct 文本模型预测下一个 token 是否为 <|im_end|>;按语言使用不同阈值由 7B teacher 蒸馏,INT8 ONNX,可在 CPU 运行
v1 / v1-mini(2026)原始音频 + 语义分支 + 声学分支 + Fusion直接融合语义、语调、音高、节奏和时序信息不依赖转写,只需当前用户轮次;v1 为云端完整版,v1-mini 为 CPU 优化开放权重版

重要版本说明:用户常见的 Hugging Face 仓库 livekit/turn-detector 当前模型卡主要描述 v0.4.x 文本路线,而不是本文重点讨论的 v1 音频双分支模型。模型卡中的 Qwen2.5-0.5B、最多 6 轮上下文、128 token、INT8 ONNX 和按语言阈值等参数,不应直接套用到 v1 或 v1-mini。

上一代文本模型如何判断轮次结束

v0.4.x 会把最近的对话按 Qwen Chat Template 格式化,但故意不在最后一条用户消息后添加 <|im_end|>。模型随后计算这个结束 token 成为下一个 token 的概率:

\(P_{\mathrm{EOT}} = P\!\left(y_s = \texttt{<|im\_end|>} \mid y_{<s}, x\right) = \mathrm{Trfm}(y_{<s},x)_{\texttt{<|im\_end|>}}\)

如果该概率超过对应语言的阈值,系统便倾向于认为用户已经说完。这个方案比单纯 VAD 更懂句意,但它仍要先经过 STT,也无法使用语调和韵律。

三、v1.0 模型设计:语义与声学双分支融合

Turn Detector v1 的输入是当前用户轮次的音频,而不是转写文本。模型内部并行处理两类信号,最后输出用户已经结束当前轮次的概率。

模块公开结构职责
语义分支音频编码器 → 可学习适配器 → 微调语言模型理解音频表达的内容,即“说了什么”
声学分支独立音频编码器 → 循环层捕捉时序、语调、音高走势、节奏与停顿形态,即“怎么说”
融合模块Fusion合并两路表征,输出单一的端到端轮次结束概率

可以用下面的概念公式表达官方公开的架构关系。该公式是对模块连接方式的抽象,不代表 LiveKit 已公开的精确网络层数或参数配置:

\( h_{\mathrm{sem}}(t)=\mathrm{LLM}\!\left(A\!\left(E_{\mathrm{sem}}(x_{1:t})\right)\right) \) \( h_{\mathrm{ac}}(t)=\mathrm{RNN}\!\left(E_{\mathrm{ac}}(x_{1:t})\right) \) \( p_{\mathrm{EOT}}(t)=\sigma\!\left(W_f\,[h_{\mathrm{sem}}(t);h_{\mathrm{ac}}(t)]+b_f\right) \)

其中,x₁:ₜ 表示截至时刻 t 可见的因果音频;E_semE_ac 分别表示语义、声学编码器;A 是把音频表征投影到语言模型 embedding 空间的可学习适配器;σ 将融合结果映射为轮次结束概率。

LiveKit Turn Detector model architecture: parallel semantic and acoustic branches combined in a fusion module

这套设计带来的两个直接收益

  • 取消等待最终转写的成本:推理可以直接沿音频流进行,STT 尾部延迟不再是轮次检测的必要组成部分。
  • 缩短上下文:声学分支对当前轮次提供了很强的结束信号,v1 不再像文本版本那样依赖此前多轮对话,只观察当前用户轮次即可完成判断。

需要注意,“没有转写延迟”不等于“响应延迟为零”。系统仍需在避免抢话和快速接话之间选择工作点;模型推理速度与端点策略等待时间也是两个不同概念。

四、eot-bench:把“听起来更自然”变成可复现指标

过去,各家轮次检测厂商通常在私有数据上使用自己的方法评测,结果很难横向比较。LiveKit 因此同步开源 eot-bench,并提供真实人类与语音智能体对话的数据集。数据覆盖阿拉伯语、中文、荷兰语、英语、法语、德语、印地语、印度尼西亚语、意大利语、日语、韩语、葡萄牙语、西班牙语和土耳其语,共 14 种语言。

这里还有一个容易忽略的版本差异:eot-bench 的 14 语种包含阿拉伯语、不包含俄语;上一代 Hugging Face 文本模型的 14 语种则包含俄语、不包含阿拉伯语。讨论“支持 14 种语言”时,应明确是在说哪个版本和哪套评测数据。

评测对象不是孤立音频片段,而是每一次真实停顿

每条数据是一段完整的用户轮次,标注其中所有不少于 100ms 的静音区间。最后一个静音区间标为 eot,代表真正的轮次结束;此前的静音全部标为 hold,代表用户只是犹豫或换气,系统应该继续听。

  • hold 停顿中提前触发,计为 false cutoff,即误截断或抢话。
  • 在真实 eot 后等待过久,会增加用户可感知的 conversational dead air。
  • 评测严格采用因果输入:时刻 t 的模型只能看到时刻 t 之前已经出现的音频与上下文。

完整端点策略的三个旋钮

  1. threshold:结束概率必须超过的置信度阈值。
  2. action_delay:系统允许根据模型分数采取行动前,至少需要经历的静音时长。
  3. timeout:即使模型一直没有触发,系统也必须结束等待的最大静音时长。

若把阈值写作 τ、最小行动延迟写作 d、超时写作 T,则一次停顿中的实际触发时刻可以概括为:

\( t_{\mathrm{fire}}=\min\!\left(T,\;\max\!\left(d,\inf\{t:p_{\mathrm{EOT}}(t)>\tau\}\right)\right) \)

设第 i 个句中停顿的实际长度为 Dᵢ,那么 eot-bench 策略扫描中的误截断率可写成:

\( \mathrm{FCR}=\frac{1}{N_{\mathrm{hold}}}\sum_{i=1}^{N_{\mathrm{hold}}}\mathbf{1}\!\left(t_{\mathrm{fire},i}<D_i\right) \)

对真实轮次结束样本,端点延迟是模型触发时刻;若模型未触发,则按超时值计算。平均延迟为:

\( \overline{L}=\frac{1}{N_{\mathrm{eot}}}\sum_{j=1}^{N_{\mathrm{eot}}}t_{\mathrm{fire},j} \)

eot-bench 会联合扫描阈值、行动延迟和超时,而不是只比较某个厂商手工挑选的单一阈值。默认策略网格包括 0 至 1、步长 0.01 的阈值;0.2 至 1.0 秒的行动延迟;以及 1.0 至 3.5 秒的超时。真正重要的是延迟与误截断率构成的 Pareto 前沿:越靠近左下角,说明系统越少抢话、接话越快。

五、效果对比:v1 在英语评测中的领先幅度

下面的数据来自 eot-bench 仓库当前提交的可复现实验产物。所有数值都表示完整端点策略的用户体验结果,而不是单纯模型推理耗时;每一列都是越低越好。“—”表示该模型没有任何策略配置能达到相应的延迟预算。

模型300ms 延迟预算下误截断率600ms 延迟预算下误截断率误截断≤5%时平均延迟误截断≤10%时平均延迟
LiveKit Turn Detector v19.9%4.5%543ms295ms
Deepgram Flux12.9%9.9%1151ms548ms
ultraVAD27.7%11.9%899ms663ms
LiveKit Turn Detector v1-mini27.8%12.1%1070ms698ms
SmartTurn v3.235.2%14.8%1051ms739ms
AssemblyAI49.4%14.6%1049ms713ms
Soniox5.5%647ms512ms
Cartesia Ink 21056ms911ms
OpenAI GPT Realtime 21143ms824ms
仅 VAD 基线55.6%21.7%1600ms1000ms

如何理解这些数字

  • 300ms 延迟预算:v1 的误截断率为 9.9%,比 Deepgram Flux 的 12.9% 低 3.0 个百分点,相对减少约 23.3%。
  • 600ms 延迟预算:v1 为 4.5%,低于 Soniox 的 5.5%,也不到 Deepgram Flux 9.9% 的一半。
  • 把误截断控制在 5%:v1 平均只需等待 543ms;Flux 需要 1151ms,v1 减少约 608ms 的对话空白。
  • 把误截断控制在 10%:v1 平均延迟为 295ms,比 Flux 的 548ms 少 253ms。

v1-mini 的成绩揭示了明显的压缩代价

v1-mini 与 v1 共享核心架构,但通过权重量化和语言模型主干剪枝来降低体积与 CPU 推理延迟。它保留了大部分模型能力,却没有复制完整版的领先前沿:在 300ms 预算下,v1-mini 的误截断率是 27.8%,明显高于 v1 的 9.9%;在 5% 误截断预算下,其平均延迟为 1070ms,也高于 v1 的 543ms。

因此,v1-mini 的核心卖点不是“和 v1 一样准确”,而是开放权重、本地 CPU 可运行、避免云端推理依赖。对隐私、离线部署或成本高度敏感的应用,这种工程交换可能值得;对追求最佳对话手感的生产系统,官方云端 v1 才是本次发布的主力结果。

六、三个可用版本应该怎么选

版本输入获取与运行方式许可和适用场景
v1 完整版直接音频LiveKit Cloud / LiveKit Inference 优化推理;托管在 LiveKit Cloud 的 agent 可免费使用;各方案本地开发测试每月含 7500 次免费推理请求权重未开放;适合追求最佳效果且可接受云服务的生产应用
v1-mini直接音频Agents SDK 内置;Python livekit-agents ≥1.6.1,TypeScript @livekit/agents ≥1.4.7;量化并剪枝,可在 CPU 运行代码 Apache-2.0,模型文件使用 LiveKit Model License;适合本地、边缘或隐私敏感部署
v0.4.xSTT 转写文本Hugging Face 下载;Qwen2.5-0.5B 学生模型,INT8 ONNX,CPU 推理,官方给出的内存要求低于 500MBLiveKit Model License;生态成熟,但存在 STT 依赖与声学信息缺失

LiveKit Model License 并非标准 OSI 开源许可证。无论使用 v1-mini 还是 v0.4.x,在商用、再分发或模型衍生场景中,都应先阅读许可证原文,而不能仅凭“开放权重”判断可用范围。

LiveKit Agents 中显式启用 v1

from livekit.agents import AgentSession
from livekit.agents.inference import TurnDetector

session = AgentSession(
    turn_detection=TurnDetector(),
    # STT、LLM、TTS 等其他配置保持不变
)

当 agent 使用 LiveKit Cloud 运行,或者本地开发环境中存在 LiveKit Cloud 凭证时,v1 已成为默认 Turn Detector;显式配置主要用于让依赖关系更清晰。

七、架构层面的意义:轮次检测应该属于谁

Deepgram Flux、Soniox 等 STT 厂商会把端点检测直接嵌入流式识别服务。这样做的优势是识别与端点事件天然协同,接入简单;代价是对话节奏会与 STT 供应商绑定。更换识别服务时,停顿处理、阈值行为和语言覆盖都可能随之改变。

LiveKit 的主张是把轮次检测放在 agent 框架层,使同一套检测逻辑可以与任意 STT、LLM 和 TTS 组合。对多供应商切换、跨语言产品和统一体验治理来说,这种解耦很有价值。不过,这也明显符合 LiveKit 作为 agent 框架与云平台的商业位置,选型时仍应结合系统边界,而不是只接受单一厂商的叙事。

路线优势代价
VAD 静音计时简单、便宜、完全本地不理解语义和韵律,抢话率高
STT 内置端点检测事件与转写深度协同,集成方便行为和语言覆盖绑定供应商
文本语义检测理解句子完整性,本地部署成熟依赖 STT,丢失声学信号
LiveKit v1 音频融合兼顾语义与韵律,可独立于 STT 工作完整版依赖 LiveKit 云服务;本地 mini 版存在明显精度折损

八、如何理性看待“轮次检测已经解决”

  • 值得肯定:LiveKit 不只发布模型,还公开基准、数据结构、适配器、策略扫描方法和实验产物,让厂商声明具备可复现基础。
  • 不能忽略:eot-bench 与 v1 都由 LiveKit 发布,当前结论应准确表述为“在 LiveKit 公开基准上领先”。
  • 数据边界仍然存在:医疗问诊、客服报号、多人会议、强背景噪声、方言、儿童语音、情绪化长停顿等场景可能具有完全不同的分布。
  • 平均值不是全部:上线前应按语言、口音、设备、业务意图和用户群体分别观察尾部延迟与抢话案例。
  • 应评测完整链路:STT、LLM 首 token、TTS 首包、回声消除和打断恢复都会影响最终“对话手感”,Turn Detector 只是其中一环。

对于实际团队,最可靠的做法是把自己的生产对话转换为 eot-bench 的 span 结构,在相同的延迟与误截断预算下复测候选方案。如果采用云端 v1,还应同时评估网络抖动、区域可用性、数据合规和请求成本;如果采用 v1-mini,则要验证压缩后在目标语言和硬件上的真实效果。

结语

LiveKit Turn Detector v1.0 最重要的变化,不只是把某个准确率提高了几个百分点,而是重新定义了轮次检测的输入:系统不再等着读一份丢失韵律的转写稿,而是直接从语音中同时理解内容与表达方式。

完整版 v1 在 eot-bench 上显著领先 Deepgram Flux、Soniox、ultraVAD、SmartTurn 和纯 VAD 基线;v1-mini 则用效果换取开放权重和本地 CPU 部署。再加上公开的真实对话数据、完整策略扫描和 Pareto 前沿,轮次检测终于从“凭感觉调一个静音阈值”,变成了一个可以测量、复现和讨论工程取舍的问题。

它是否真的已经被彻底解决,还需要更多独立数据回答;但至少从这次发布开始,“用户到底说完没有”第一次拥有了一套足够接近生产环境的公开考场。

参考资料

Hy ASR 3.0 preview-腾讯混元语音识别模型

Hy ASR 3.0 preview 融合高精度语音识别与深度语义理解能力,在通用识别、上下文感知、多场景鲁棒性以及方言覆盖等核心维度实现全面提升,能够在更复杂的真实输入中给出准确、连贯且更接近用户意图的转写结果,从“逐字转写、单点优化”演进为“理解语境、兼容场景、一键直出”

架构、数据、后训练持续增强,提升语音识别能力上限

Hy ASR 3.0 preview 的能力提升并非来自单一模块,而是模型架构、数据  Scaling 与后训练优化共同作用的结果。

在架构层面,Hy ASR 3.0 preview 采用兼顾效率与性能的 MoE 架构,并将基座模型升级至 Hy3,进一步增强语言理解、上下文建模和语义推理能力。在语音侧,团队自研无监督语音 Encoder,通过数千万小时级无监督语音数据训练,使其能够从复杂音频中提取高质量的声学表征。

为了持续提升模型的语音建模与理解能力,混元团队对语音 Encoder 和大语言模型进行联合训练,引入数千万小时级、多来源的语音数据,覆盖多种方言、口音和声学环境,并通过高质量数据管线进行精细化标注。在大规模联合预训练的基础上,Hy ASR 3.0 preview 通过多阶段能力注入,逐步获得上下文感知、复杂场景适应和方言识别等能力。

围绕通用识别、上下文理解和复杂场景鲁棒性,团队构建了高质量的 SFT recipe,覆盖上下文 context、专业名词、不同声学环境以及多样人群语音。针对方言识别能力,SFT 数据体系进一步覆盖 10 大方言片区和 20 余个二级小片区。

在此基础上,团队进一步引入多阶段强化学习,分别针对通用转写准确性、Any-context 上下文能力和复杂长尾场景进行优化,降低模型在复杂声学环境中的误识别和漏识别问题。

AmphionASR-大规模热词的个性化语音识别

基于Qwen3-ASR-1.7B的统一条件化语音识别系统,将热词检索、目标说话人选择、退化鲁棒与耳语识别整合进单一1.7B参数SpeechLLM。

现实中的语音识别往往不只是“把声音转成文字”。用户可能希望模型优先识别人名、品牌名和行业术语,也可能只想转写某个指定说话人;输入音频还可能带有远场、噪声、混响、传输丢失,甚至是耳语。AmphionASR 的目标,就是用一个统一的 SpeechLLM 同时处理这些条件,而不是为每种场景分别维护一套模型。

论文最终给出的模型以 Qwen3-ASR-1.7B 为基础,通过分阶段微调、检索增强和目标说话人数据合成,将通用 ASR、热词 ASR、目标说话人 ASR、退化音频 ASR 和耳语 ASR 统一起来。其最突出的结果包括:热词检索 Recall@50 超过 94%,中英文实体错误率分别下降 55% 和 37%;目标说话人识别 WER 达到 13.02%;中文耳语 CER 为 0.58%,英文耳语 WER 为 6.11%。

AmphionASR 的四项主要条件化识别能力——热词、目标说话人、退化鲁棒性和耳语识别。

一、论文要解决什么问题

传统通用 ASR 默认将输入中的全部可听语音转写出来,但在实际业务里,“识别什么”和“在什么条件下识别”经常需要额外说明。论文将这些需求归纳为四类:

  • 热词条件识别:利用用户提供的词表,提高人名、地名、产品名和专业术语的识别率。
  • 目标说话人识别:给定目标说话人的短注册语音,只转写混合音频中该说话人的内容。
  • 退化音频识别:处理噪声、远场、遮挡、混响、录音染色、电子失真和传输丢失等情况。
  • 耳语识别:处理声带振动特征和正常语音明显不同的低能量耳语。

这些任务的附加信息不同,但输出目标相同:生成用户真正想要的那部分转写。AmphionASR 因而采用统一的指令接口,通过文本指令、热词列表或注册语音告诉模型当前任务。

本文提出 AmphionASR,一套可同时适配上述四类识别任务的统一模型。热词列表、目标说话人注册音频作为任务条件输入;各类受损语音、耳语样本则用于让模型适配非常规声学输入。该设计将通用识别主干网络,与 “识别对象、识别约束条件” 两类辅助信息解耦。 热词识别分支的技术路线参考已有研究,融合 GLCLAP Top-K 检索、提示词注入、基于强化学习的 GRPO 优化方案;本文重点是将整套热词流程集成至统一模型,并在四类任务上完成全面评测。

二、模型总体设计

AmphionASR 由音频编码器、语言模型和热词检索分支组成。论文称其为 1.7B 模型,是按照 LLM 参数量命名;如果计入约 300M 的音频编码器和 2.6M 的检索适配器,总参数量约为 2.0B。

组件参数量主要设计
音频编码器300M初始化自 Qwen3-ASR-1.7B 的 AuT 编码器
语言模型1.7B28 层 Decoder-only Transformer,隐藏维度 2048
RAG 适配器2.6M音频和文本两侧的 MLP 投影层
合计约 2.0B音频编码器、LLM 与检索适配器
核心参数来自论文 Table 1。

Figure 2,AmphionASR 整体架构图

1. 音频编码器

输入为 16 kHz 单声道音频。前端提取 128 维 Log-Mel 特征,帧移为 10 ms,随后经过卷积下采样和 24 层 Whisper 风格的 Pre-LN Transformer,输出 2048 维、12.5 Hz 的音频帧表示。模型使用 800 帧的分块推理窗口,从而突破普通 30 秒输入限制。

2. 语言模型与统一提示词

音频表示会直接进入 Qwen3-ASR-1.7B 的语言模型嵌入空间,再由自回归解码器生成转写。不同任务不需要切换模型,只需要更换提示词和可选输入:

  • 通用 ASR:要求转写输入音频。
  • 热词 ASR:在提示词中增加 [Hotwords: ...]
  • 目标说话人 ASR:先输入注册语音,再输入待转写的混合语音。
  • 耳语 ASR:明确告诉模型输入是一段 whispered audio。

目标说话人任务中的注册语音和混合语音共用同一个音频编码器,并以“注册语音在前、混合语音在后”的两个音频嵌入片段进入 LLM。这个设计没有增加独立的说话人编码网络,而是让语言模型在统一上下文中完成说话人条件选择。

三、细粒度热词检索:从万级词库中找出当前相关词

直接把上万个候选热词塞进提示词既浪费上下文,也会引入大量无关干扰。AmphionASR 因此先进行检索,只选出与当前音频最相关的 Top-K 热词,论文默认 K=50。

与将整段音频池化成一个向量的方案不同,AmphionASR 保留逐帧音频表示。音频帧和候选热词分别通过两个小型 MLP 映射到共享的 512 维空间:

\( a_t = g_{\mathrm{audio}}\!\left(\mathrm{AuT}(x)_t\right),\qquad k_h = g_{\mathrm{text}}\!\left(E_{\mathrm{tok}}(h)\right) \)

每个热词与所有音频帧计算内积,并取时间维度上的最大值作为相关性:

\( s_h = \max_t a_t^{\top}k_h,\qquad \mathcal{H}’=\operatorname{TopK}_{h\in\mathcal{H}}(s_h) \)

这种 max-over-time 方式强调局部匹配:即使热词只在长音频中短暂出现,也不容易被全句平均表示淹没。选出的热词随后作为逗号分隔的文本插入提示词,ASR 仍然只需要执行一次解码。

Figure 3,细粒度热词检索流程。该图用于说明音频帧、文本热词、共享空间和 Top-K 选择之间的关系

四、训练数据与三阶段训练

AmphionASR 基于低秩自适应微调(LoRA)有监督微调(SFT)三阶段训练方案完成训练。AmphionASR 使用 11 个公开语料构建出 8 个训练集合,总计 3,737,145 条训练样本。其中,目标说话人样本包含注册语音和混合语音两个音频输入,同时加入通用转写数据,缓解模型灾难性遗忘问题。

训练任务样本数主要来源
耳语 ASR222,440WhispEar,中英文耳语
退化鲁棒 ASR556,421Voice-in-the-Wild-2M
热词 ASR1,043,317CommonVoice、MagicData、AISHELL-1/3、THCHS-30
通用 ASR 保持1,290,464AISHELL-2、LibriSpeech
目标说话人 ASR624,503多个公开单说话人语料合成

训练阶段热词词表构建逻辑

针对带热词的训练样本,每条样本动态生成专属热词列表,真实热词 + 干扰词总数量约束在 10~50 个,词表构建分三步:

  1. 真实实体词 每条标注真值热词有 5% 概率被随机剔除,模拟检索模块召回不完全的真实场景。保留绝大多数真实热词,使模型能够借助上下文偏置修正稀有实体、领域专业术语,解决无约束解码器极易错识这类词汇的问题。
  2. 难例负样本(易混淆干扰词) 在线检索器为每条样本最多召回 10 个高度混淆词汇;检索打分权重为:0.6× 字符重叠度 + 0.4× 二元组杰卡德相似度,中文额外增加音节级近邻检索扩充候选。这类字形、发音相近的干扰词用于训练模型区分相似热词,避免模型无脑匹配列表内任意词汇。
  3. 随机干扰词 词表剩余空位从全局热词库随机填充;优先填满难例负样本,再补充随机词,保证列表总长落在 10~50 区间。随机无关词汇用于约束提示词长度,防止模型过度依赖匹配候选词产生识别偏置。

每条语音样本有 80% 概率保留完整热词提示行,20% 概率直接舍弃热词输入。该策略让模型在训练时同时接触 “带热词辅助” 与 “无热词辅助” 两类输入,提升泛化能力。

阶段 1:适应耳语和退化音频

音频编码器和 LLM 同时训练,数据来自 Voice-in-the-Wild-2M 和 WhispEar。由于这些声学条件与普通清晰语音差异较大,论文首先允许声学表示和语言模型共同适应。

阶段 2:学习热词与目标说话人条件

冻结音频编码器,只更新 LLM。模型在这一阶段学习如何使用热词提示,以及如何根据注册语音从多人混合音频中选择目标说话人。

阶段 3:通过数据回放抑制灾难性遗忘

继续冻结音频编码器,在前两阶段数据之外加入 AISHELL-2 和 LibriSpeech 通用转写数据。目的不是追求新的通用 ASR SOTA,而是在增加个性化能力后尽量保留原模型的基础识别能力。

三个阶段均采用全线性层 LoRA,LoRA rank 为 64、alpha 为 128;每阶段训练 1 个 epoch,学习率为 \(1\times10^{-6}\),余弦衰减和 5% warmup,有效 batch size 为 384,使用 6 张 GPU。

GRPO:同时优化转写准确率和热词一致性

三阶段 SFT 后,论文冻结音频编码器,通过 GRPO 继续优化 LLM。ASR 奖励是经过截断的负 CER:

\( R_{\mathrm{asr}}(\hat y,y)=\max\left(0,1-\mathrm{CER}(\hat y,y)\right) \)

热词奖励检查每个候选词在预测和参考文本中的“出现/未出现”状态是否一致:

\( R_{\mathrm{hw}}(\hat y,y;C)=\frac{1}{|C|}\sum_{c\in C} \mathbf{1}\!\left\{\mathbf{1}[c\in\mathrm{Pred}]=\mathbf{1}[c\in\mathrm{Ref}]\right\} \)

总奖励为:

\( R=R_{\mathrm{asr}}+0.3R_{\mathrm{hw}} \)

这一设计不仅鼓励模型抄对热词,也惩罚它盲目输出提示词中实际没有被说出的词。不过论文没有提供“SFT 后、GRPO 前”的独立对照,因此实验无法单独量化 GRPO 的贡献。

五、目标说话人数据是如何合成的

目标说话人训练数据由单说话人语料离线合成。对于同一目标说话人,系统选择两段不同录音:一段作为 3 至 5 秒注册音频,另一段作为待混合的目标语音,再加入 1 至 2 个非目标说话人。

混音过程可写为:

\( x_{\mathrm{mix}}[n]=s_{\mathrm{tgt}}[n]+\sum_{k=1}^{K}\alpha_k s_{\mathrm{int},k}[n-o_k],\qquad \alpha_k=\frac{\rho_{\mathrm{tgt}}}{\rho_{\mathrm{int},k}}10^{-\mathrm{SNR}_k/20} \)

其中 \(K\sim\mathrm{Cat}(\{1:0.8,2:0.2\})\),说话人间 SNR 服从均值 5 dB、标准差 7 dB 的正态分布,并截断到 -5 至 20 dB;干扰语音覆盖目标语音的比例从 0.1 到 1.0 均匀采样。之后以 0.5 的概率加入 RIR,再以 0 至 25 dB 的 SNR 加入 MUSAN 或 AudioSet 环境噪声。

为了降低“目标说话人不在场时仍然胡乱输出”的问题,训练集还包含 66,194 条空转写负样本,包括噪声/静音和只有非目标说话人的混合音频。这一部分是目标说话人系统能够学习保持沉默的关键。

Figure 4,目标说话人训练数据离线合成流程;可同时参考 Table 16 和 Table 17 的 RIR、噪声来源与负样本参数

六、实验结果

1. 热词和行业实体识别

在 GigaSpeechBench 的 12 个垂直领域中,加入 RAG 后,中文平均实体 B-CER 从 23.18% 降至 10.39%,相对下降约 55%;英文平均实体 B-WER 从 14.78% 降至 9.35%,相对下降约 37%。加入热词上下文后,AmphionASR 在中文 12 个领域中的 11 个、英文全部 12 个领域中优于无热词输入的 Qwen3-ASR-1.7B。

测试集无 RAG使用 RAGRecall@50
GigaSpeechBench 中文平均 B-CER23.18%10.39%
GigaSpeechBench 英文平均 B-WER14.78%9.35%
CommonVoice 中文热词9.27%2.30%94.52%
CommonVoice 英文热词28.93%9.81%95.19%
根据论文 Table 9、Table 10 和 Table 11 汇总,指标均越低越好,Recall 除外。

在约一万个候选词的词库上,相比已经预先计算好 Top-50 热词的条件,在线检索增加的配对中位延迟为英文 1.37 ms、中文 3.25 ms。但该实验每种语言只有 30 条音频,运行在共享 H20 上,没有并发和 RTF 数据,因此只能说明热状态下的相对开销,不能直接视为生产吞吐量结论。

2. 目标说话人识别

在内部合成的目标说话人测试集正样本上,AmphionASR 的 WER 为 13.02%,明显低于零样本 Qwen3-Omni-30B-A3B 的 31.91%,也远低于未进行目标说话人训练的 Qwen3-ASR-1.7B 的 78.99%。

模型正样本 WER目标缺席静音误报率
Qwen3-ASR-0.6B84.97%100.00%
Qwen3-ASR-1.7B78.99%100.00%
Qwen3-Omni-30B-A3B 零样本31.91%9.15%
AmphionASR13.02%6.10%
论文 Table 13,数值越低越好。

这一结果说明模型确实学到了“根据注册语音选择说话人”的能力,同时负样本降低了目标缺席时的幻觉。不过测试集由与训练相同的合成流水线生成,只是更换随机种子和说话人;论文也没有与专用 TS-ASR 模型进行完全一致协议下的比较,因此泛化能力仍需要公开真实重叠语音数据验证。

3. 真实退化音频鲁棒性

Voice-in-the-Wild-Bench 包含 5,000 条中英文音频,覆盖 7 类单一退化和 Mixed 复合退化,并分为真实录音与频谱模拟两组,共 16 个子集。AmphionASR 在其中 8 个子集取得最低 WER。

  • 真实录音领先项:遮挡 1.38%、混响 7.91%、录音染色 6.32%、传输丢失 2.32%。
  • 模拟退化领先项:噪声 7.24%、混响 11.49%、录音染色 11.55%、Mixed 4.19%。
  • Real-Mixed 为 2.85%,仅次于 Mega-ASR 的 2.63%。

这说明阶段 1 的退化训练具有明显效果,但 AmphionASR 并非在所有条件下都领先,例如真实噪声、远场、电子失真以及部分模拟条件仍有其他专用模型表现更好。

4. 耳语识别

耳语识别是论文中最稳定的优势之一。AmphionASR 在中文 wEar 上取得 0.58% CER,在英文 WTIMIT 上取得 6.11% WER,均为表中最低。

模型wEar 中文 CERWTIMIT 英文 WER
Whisper-large-v316.33%11.99%
Kimi-Audio-7B-Instruct1.48%10.95%
Qwen3-ASR-1.7B1.22%9.56%
FireRed-ASR2-LLM1.01%15.18%
AmphionASR0.58%6.11%
论文 Table 15 的主要模型结果。

相比基础模型 Qwen3-ASR-1.7B,AmphionASR 在中文耳语上绝对降低 0.64 个百分点,在英文耳语上绝对降低 3.45 个百分点。模型同时在中英文上领先,说明耳语训练没有出现明显的语言间取舍。

5. 通用 ASR 能力是否被遗忘

论文在 4 个英文和 6 个中文通用测试集上进行了保持性检查。与同规模的 Qwen3-ASR-1.7B 相比,AmphionASR 在每个测试集上的差距都不超过 0.85 个绝对 WER/CER 点,并在两者直接比较时赢下 10 个测试集中的 4 个。

需要区分的是:这不代表 AmphionASR 在 4 个数据集上取得所有系统中的最好结果。Table 18 和 Table 19 的整体领先者仍分散在 Kimi-Audio、Step-Audio、FireRed-ASR2 等模型中。论文将该实验定位为“能力保持检查”,而不是通用 ASR 的 SOTA 声明,这是较为客观的表述。

七、论文的主要创新点

  1. 用统一接口承载多种条件化 ASR。文本指令、热词和注册语音都被组织为 LLM 上下文,使不同任务共享音频编码器和解码器。
  2. 将帧级热词检索接入完整 SpeechLLM。局部 max-over-time 匹配比整句池化更适合发现短时出现的实体,并把万级候选库压缩到 Top-50。
  3. 通过双音频输入实现目标说话人选择。注册音频和混合音频共用声学编码器,不需要额外构建完全独立的 TS-ASR 网络。
  4. 系统化构造目标缺席负样本。噪声、静音和纯干扰说话人样本教会模型在找不到目标时保持沉默,从而降低幻觉。
  5. 分阶段训练兼顾专项能力与基础能力。先适应声学变化,再学习条件控制,最后回放通用数据,训练顺序与不同模块的职责相匹配。

需要注意,论文明确指出 GLCLAP Top-K 检索、提示词注入和 GRPO 的组合已有相关工作。AmphionASR 的贡献重点不是提出一种全新的检索或强化学习算法,而是把这些方法集成到统一模型中,并覆盖更多条件化识别任务。

八、局限性与值得继续验证的问题

  • 语言范围有限:当前核心评测只覆盖普通话和英语,尚不能证明统一训练方法对越南语等语言同样有效。
  • 热词对比并非完全同输入:多数基线没有收到热词,因而结果证明的是完整“检索加上下文提示”流水线价值,而不是公平条件下检索器单模块的增益。
  • GRPO 缺少独立消融:没有 SFT-only 对照,无法知道最终提升中有多少来自 GRPO。
  • 目标说话人测试仍偏内部合成:需要在公开真实会议、重叠说话和跨设备数据上验证。
  • 延迟测试规模较小:共享 GPU、每种语言 30 条请求、无并发、无 RTF,不能据此推断生产服务容量。
  • 统一模型并非所有任务都最优:它的优势是能力覆盖和共享部署,而不是在每个通用或退化子集上都击败专用模型。

九、总结

AmphionASR 最有价值的地方,是把 ASR 从“无条件转写器”推进成“可被用户条件控制的语音识别模型”。热词告诉模型哪些词值得重点关注,注册语音告诉模型应该听谁,任务指令告诉模型输入属于耳语还是普通语音,而退化数据让模型适应真实采集环境。

从实验结果看,热词和耳语是目前证据最充分的两项能力:前者在万级候选词库下显著降低实体错误,后者在中英文测试集上同时取得最好结果。目标说话人和退化鲁棒性同样表现出潜力,但还需要更严格的公开测试和生产级吞吐评估。

对于实际 ASR 系统,这篇论文给出的启发并不是必须把所有任务都塞进一个模型,而是可以建立一套共享的语音表示和解码骨干,再通过文本上下文、参考音频与检索结果描述用户意图。这样既能减少多模型维护成本,也让个性化语音识别拥有更统一的产品接口。


LangFlow: Continuous Diffusion Rivals Discrete in Language Modeling

  • 论文标题:LangFlow: Continuous Diffusion Rivals Discrete in Language Modeling
  • 论文链接:https://arxiv.org/abs/2604.11748
  • github:https://github.com/nealchen2003/LangFlow
  • huggingface:https://huggingface.co/papers/2604.11748

LangFlow 关注一个长期没有被充分解决的问题:连续扩散模型在图像、视频等连续模态上很强,但在语言建模中一直落后于离散扩散。作者认为问题不在于连续扩散本身不可行,而在于 embedding-space diffusion 的训练目标、似然评估和噪声调度设计还不够清楚。

这篇论文的核心结论是:如果把 embedding-space diffusion 重新表述为 Flow Matching,并用 Bregman divergence 解释交叉熵训练目标,再配合 ODE-based NLL 上界、Gumbel 噪声调度和 self-conditioning,连续扩散语言模型可以在 LM1B 和 OpenWebText 上接近甚至追平主流离散扩散语言模型。LangFlow 在 LM1B 上达到 PPL 30.0,在 OpenWebText 上达到 PPL 24.6,并且在 7 个 zero-shot 迁移评测中有 4 个超过自回归 Transformer。

1. 背景:为什么语言里的连续扩散一直难做?

扩散模型天然适合连续空间,因此在图像和视频生成中非常成功。但语言是离散 token 序列,扩散语言模型通常有两条路线:一类是直接在离散状态上做扩散,例如 absorbing-state 或 uniform-state discrete diffusion;另一类是在 token embedding 空间中做连续扩散。后者理论上保留了连续扩散的优点,比如可编辑轨迹、ODE/SDE 采样、未来可做少步蒸馏,但过去在 PPL 和生成质量上没有真正追上离散扩散。

LangFlow 的切入点是 embedding-space diffusion。给定词表嵌入矩阵 \(E \in \mathbb{R}^{V \times d}\),一个 token 序列 \(y=(y_1,\ldots,y_L)\) 会先被映射成连续嵌入序列 \(x_1 = E[y]\)。模型不是在 one-hot simplex 上扩散,而是在连续 embedding 空间中从高斯噪声逐步移动到 clean embedding。

可以把 LangFlow 的生成过程抽象为一个 ODE:

\( \frac{d x_t}{d t}=v_\theta(x_t,t), \quad x_0 \sim \mathcal{N}(0,I), \quad x_1 \sim p_{\mathrm{data}} \)

其中 \(v_\theta\) 是模型学习到的 velocity field。训练和采样的关键,不是直接回归某个 embedding,而是让模型在噪声状态下预测 clean token 的概率分布。

2. LangFlow 的模型设计

LangFlow 的主干结构使用与强离散扩散基线相同的 modified DiT-style Transformer,并加入 RoPE 位置编码。正文实验配置为约 130M 参数、12 层、hidden size 768、12 个 attention heads。这样设计的好处是:实验对比时,LangFlow 与 SEDD、MDLM、Duo 等基线的网络容量基本对齐,性能提升更能归因于连续扩散框架和训练策略,而不是模型规模。

模型输入是 noisy embedding \(x_\gamma\),时间条件不直接使用普通时间 \(t\),而使用 log noise-to-signal ratio:

\( \gamma = \log \frac{\sigma^2}{\alpha^2} \)

在 variance-preserving 路径下,噪声状态可以写成:

\( x_\gamma = \alpha_\gamma x_1 + \sigma_\gamma \epsilon,\quad \alpha_\gamma = \frac{1}{\sqrt{1+e^\gamma}},\quad \sigma_\gamma = \sqrt{\frac{e^\gamma}{1+e^\gamma}} \)

当 \(\gamma\) 很大时,状态接近纯噪声;当 \(\gamma\) 很小时,状态接近 clean embedding。这样做的直觉是:语言 denoising 的难度主要由噪声强度控制,而不是由任意定义的时间变量控制。

LangFlow 还做了三个小但重要的工程修改:第一,将 self-conditioning 的输入并入主输入;第二,把 token embedding 归一化到单位球面后再缩放,使数据方差与噪声方差更匹配;第三,在 logits 上加入 tokenwise bias,改善训练初期的概率预测。这些修改没有显著改变参数量,但会影响训练稳定性。

3. 训练目标:用 Bregman divergence 解释交叉熵

过去一些连续扩散语言模型会直接用 MSE 回归 clean embedding,但论文指出这种做法可能导致 embedding collapse:不同 token 的 embedding 被错误地拉近,削弱语言表示的可分性。LangFlow 改为预测 clean token 的类别分布,并使用交叉熵训练。

作者的理论贡献是说明:交叉熵不是一个临时技巧,而可以看成 Bregman-divergence Flow Matching 在 categorical data 上的一个特殊形式。Bregman divergence 定义为:

\( D_F(q,p)=F(q)-F(p)-\langle \nabla F(p), q-p\rangle \)

当选择与负熵相关的凸函数时,token-level 交叉熵可以自然恢复出来。LangFlow 的训练目标可以简化写为:

\( \mathcal{L}_{\mathrm{CE}}(\theta) = \mathbb{E}_{\gamma,\,y,\,\epsilon} \left[-\log p_\theta(y \mid x_\gamma,\gamma)\right] \)

模型输出的是 \(p_\theta(\cdot \mid x_\gamma,\gamma)\),即 clean token 的概率分布。采样时,再把这个概率分布映射回连续 denoised embedding:

\( \hat{x}_1 = \sum_{i=1}^{V} p_\theta(i \mid x_\gamma,\gamma) E_i \)

这样就把两个世界连起来了:训练在 token space 中用交叉熵优化,采样在 embedding space 中沿 ODE 做连续移动。

4. ODE-based NLL:让连续扩散也能认真评估 PPL

语言模型的核心指标是 perplexity,但 embedding-space diffusion 过去主要依赖 SDE-based bound,和实际 ODE 采样并不完全一致。LangFlow 选择只用 deterministic ODE 采样,因为 ODE 保留从噪声到数据的确定性映射,也更适合未来做 flow-based distillation 和 few-step generation。

论文推导了一个 ODE-based NLL 上界。博客里可以把它理解为:沿着反向 ODE 轨迹积分概率密度变化,再加上末端 token 解码概率,从而得到可用于 PPL 评估的上界:

\( -\log p_\theta(y) \le \mathcal{L}_{\mathrm{ODE}}(y) \)

其中 \(\mathcal{L}_{\mathrm{ODE}}\) 包含 ODE trajectory 上的 divergence term。论文实验中,PPL 评估使用 128-step Heun-2 solver,并用 Hutchinson trace estimator 估计 divergence。这一点很关键,因为它让连续扩散语言模型不再只能报告生成样本的 Gen. PPL,而可以和离散扩散在 PPL 上更公平地比较。

5. Gumbel 噪声调度:语言不是图像

论文最有启发性的经验发现是:图像扩散里常用的均匀噪声调度,直接搬到语言上会浪费大量训练与采样步骤。作者观察到,在某些噪声区间,模型的 CE loss 几乎为 0,说明模型已经能轻松预测正确 token,这些区间继续分配大量 step 没有太多信息增益。

LangFlow 提出 information-uniform principle:噪声采样密度应该匹配每单位噪声水平带来的信息增益。直观写法是:

\( p(\gamma) \propto \left|\frac{d H(y \mid x_\gamma)}{d\gamma}\right| \)

这里 \(H(y \mid x_\gamma)\) 可以理解为在噪声状态 \(x_\gamma\) 下 clean token 的后验熵。作者发现这个信息增益曲线很适合用 Gumbel 分布拟合:

\( p(\gamma;\mu,\beta) = \frac{1}{\beta} \exp\left( -\frac{\gamma-\mu}{\beta} -\exp\left(-\frac{\gamma-\mu}{\beta}\right) \right) \)

实践中,LangFlow 让 Gumbel scheduler 的参数可学习。训练时从该分布采样 \(\gamma\),采样时按 Gumbel 分布分位点安排 ODE step。论文报告,这一设计能把 LangFlow 的 Gen. PPL 从 1000 级别显著降到 154.2,说明噪声调度不是细枝末节,而是连续扩散语言建模能否工作的关键。

6. Self-conditioning:连续扩散和离散扩散的效果不同

Self-conditioning 的做法是把上一步预测结果作为额外输入喂回模型。训练时随机开启,采样时始终开启。LangFlow 训练中 self-conditioning 概率为 0.25。

有意思的是,论文发现 self-conditioning 对离散扩散和连续扩散的作用不一样。在 LM1B 消融中,MDLM 加入 self-conditioning 后 Gen. PPL 从 103.9 降到 94.9,但 PPL 从 31.0 变差到 32.7;LangFlow 则从 Gen. PPL 154.2、PPL 49.0 改善到 Gen. PPL 81.5、PPL 30.0。也就是说,对 LangFlow 来说,self-conditioning 同时提升生成质量和似然上界,是把连续扩散追到离散扩散水平的关键组件。

7. 实验设置与关键结果

论文主要在 LM1B 和 OpenWebText(OWT)上评测。LM1B 使用 context length 128 和 bert-base-uncased tokenizer;OWT 使用 context length 1024 和 gpt2-large tokenizer。模型训练 1M steps,batch size 512。Gen. PPL 通过生成 1024 个样本并用 GPT2-Large 计算平均 perplexity 得到;PPL 则报告各扩散模型的上界。

LM1B:LangFlow 的 PPL 为 30.0,是表中扩散语言模型里最好的结果;Gen. PPL 为 92.2,低于 MDLM 的 103.9、SEDD Absorb 的 115.9、UDLM 的 99.8 和 Duo 的 97.6,仅略弱于 Plaid 的 77.3。相比早期连续方法 Diffusion-LM 的 PPL 118.6,LangFlow 的提升非常明显。

OpenWebText:LangFlow 的 Gen. PPL 为 36.5,是表中最优;PPL 为 24.6,接近 MDLM 的 23.2 和 SEDD Absorb 的 24.1,并优于 SEDD Uniform 的 29.7、UDLM 的 27.4 和 Duo 的 25.2。这说明 LangFlow 不只是小数据集上有效,在更接近真实网页语料的 OWT 上也有竞争力。

Zero-shot 迁移:用 OWT 训练后的模型在 PTB、Wikitext、LM1B、Lambada、AG News、PubMed、Arxiv 上评测。LangFlow 在 PTB 为 81.20、Wikitext 为 32.28、Lambada 为 46.93,均为扩散模型中的第一;Arxiv 为 38.47,仅略弱于 MDLM 的 37.37。论文总结为:LangFlow 在 7 个任务中有 4 个超过自回归 Transformer,并在 3 个任务中超过 MDLM。

采样步数:在 LM1B 上,LangFlow 的 NFE 从 128 降到 64、32、16 时,Gen. PPL 分别为 92.24、104.83、127.32、179.60,质量随步数减少而下降,但没有经过专门 few-step 蒸馏。OWT 上,在 1024 NFE 时 LangFlow Gen. PPL 为 36.53,明显优于 Duo 77.69、SEDD Uniform 99.90、MDLM 104.85 和 SEDD Absorb 105.03;即使 128 NFE,LangFlow 仍有 60.09。

8. 关键创新点总结

  • 把 embedding-space diffusion 接到 Flow Matching:LangFlow 用连续 ODE 视角重新组织语言扩散,而不是把连续扩散当作简单的 embedding 回归。
  • 交叉熵目标有理论解释:通过 Bregman divergence,作者说明 token-level CE 是 categorical Flow Matching 的合理目标,避免了 MSE 带来的 embedding collapse 风险。
  • ODE-based NLL 上界:让连续扩散语言模型可以用更贴近 ODE 采样的方式评估 PPL,这是论文的核心理论贡献之一。
  • information-uniform 噪声调度:根据后验熵变化分配噪声密度,并用可学习 Gumbel 分布实现,显著改善生成质量。
  • self-conditioning 训练协议修正:论文证明 continuous DLM 中 self-conditioning 不只是改善 Gen. PPL,也能大幅改善 PPL,这和离散扩散中的现象不同。
  • 公平对比离散扩散:模型规模、训练步数和主干结构尽量对齐,使 LangFlow 与 SEDD、MDLM、Duo 等方法的比较更有说服力。

9. 局限

LangFlow 证明连续扩散语言模型有机会追上离散扩散,但它还不是对自回归语言模型的全面替代。首先,AR Transformer 在 LM1B 和 OWT 的 PPL 仍更低,例如 LM1B 为 22.8、OWT 为 17.5。其次,LangFlow 的高质量采样仍需要较多 ODE steps,少步生成还依赖未来的 distillation。第三,OWT 生成样本的 entropy 偏低,作者也承认这可能反映全局词频偏置,仍需要更细的质量分析。

这篇论文最值得学习的地方,不是某一个指标刷新,而是它把连续扩散语言建模中几个原本分散的问题连成了闭环:如何训练、如何评估、如何调度噪声、如何采样、如何避免 embedding collapse。对于关注 diffusion LLM、非自回归生成、可编辑文本生成和少步生成的人来说,LangFlow 是一篇值得重点看的基础论文。

Dolphin-CN-Dialect汉语多方言语音识别模型

  • Github:https://github.com/DataoceanAI/Dolphin
  • ModelScope:https://modelscope.cn/organization/DataoceanAI
  • HuggingFace:https://huggingface.co/DataoceanAI
  • 技术报告: http://arxiv.org/abs/2605.08961

Dolphin-CN-Dialect 是由 Dataocean AI 与清华大学联合开发的多方言语音识别(ASR)模型,专注于中文方言识别及实际部署场景。相较于之前的 Dolphin 系列,Dolphin-CN-Dialect 在分词器设计、方言均衡训练、流式处理能力、热词偏置以及部署效率等方面均实现了显著改进。

该模型支持普通话及 22 种中文方言,同时保留了 Dolphin 系列原有的多语言 ASR 能力。Dolphin-CN-Dialect 同时支持流式与非流式推理,可在实时转录和工业级语音识别系统等对延迟敏感的应用中实现高效部署。

通用语音识别模型在普通话上表现越来越好,但面对四川话、吴语、闽南语、上海话、温州话等方言或强口音语音时,错误率仍然很高。Dolphin-CN-Dialect 的目标不是单纯堆大模型,而是在较小参数规模下,把中文多方言识别、流式推理、热词增强和部署效率做成一个实用系统。

论文的核心结论可以概括为:通过温度采样缓解方言数据长尾,通过中文字符级 tokenizer 改善 CTC-AED 对齐,通过流式/非流式统一推理与热词增强提升落地能力,Dolphin-CN-Dialect-0.4B 在多方言平均 CER 上达到 5.74%,在 sub-1B 模型组里明显优于 Paraformer、SenseVoice、Qwen3-0.6B 和 FunASR-Nano。

1. 背景:中文 ASR 的难点不只是普通话

近几年 ASR 的主流路线大致包括三类:自监督语音模型、LLM 集成式模型,以及 Whisper 风格的大规模监督或弱监督序列到序列模型。这些模型在公开普通话测试集上已经很强,但真实应用中的中文语音远比标准普通话复杂:说话人可能带有明显地区口音,甚至直接使用方言;语音长度、录音设备、噪声环境、说话风格也高度不一致。

报告指出,一个关键问题是训练数据的长尾分布。标准普通话数据通常占主导,低资源方言数据远少于普通话。如果按原始数据比例训练,模型会过度偏向普通话;如果简单平均采样每个方言,又会过度重复少量方言样本,带来过拟合。Dolphin-CN-Dialect 的数据采样策略就是围绕这个矛盾设计的。

2. 方法总览:不是换骨干,而是补齐中文方言工程链路

Dolphin-CN-Dialect 基本沿用 Dolphin 的核心 CTC-AED 架构与训练配置。真正的改动集中在几个工程层面:数据采样、tokenizer、训练稳定性、流式推理、热词增强和部署优化。这个取向很重要,因为报告关注的是“能不能在真实中文多方言场景中稳定工作”,而不是只在某一个标准 benchmark 上刷分。

作者列出的关键改进包括:用温度采样平衡普通话和低资源方言;将词表从 40,000 缩减到 18,173;中文采用字符级建模,英文和其他拼音文字采用 BPE subword;额外设计方言/地区 token;支持 streaming 和 non-streaming;提供 encoder-level contextual biasing 与 prompt-based hotword biasing 两种热词方案。

3. 数据采样:用温度系数处理长尾方言

论文先定义了两种极端采样策略。第一种是自然采样,即第 i 个数据集的采样概率与它的数据量成正比:

\( p_i=\frac{n_i}{\sum_j n_j} \)

这种方式保留了原始分布,但会导致普通话占比过高,低资源方言曝光不足。第二种是均匀采样,每个方言或数据集概率相同:

\( p_i=\frac{1}{N} \)

均匀采样能显著增加低资源方言的训练机会,但会反复采样极小数据集,容易过拟合,也可能损害普通话和整体泛化。Dolphin-CN-Dialect 采用第三种折中方式:温度采样。

\( p_i=\frac{n_i^{\alpha}}{\sum_j n_j^{\alpha}} \)

其中 n_i 是第 i 个数据集大小,α 位于 0 到 1 之间。α=1 时退化为自然采样,α=0 时变成均匀采样。取中间值可以提升低资源方言采样概率,同时保留高资源普通话数据的影响。报告称,这一策略带来了 38% 的方言识别准确率提升和 16.3% 的整体 CER 相对下降,普通话性能只出现约 0.2% 的边际退化。

4. Tokenizer:中文用字符级,方言用可扩展 token

Tokenizer 是这篇报告里容易被低估的一部分。Dolphin-CN-Dialect 将词表从 40,000 降到 18,173。对中文,报告采用字符级建模,因为中文字符天然适合 CTC-AED 的单调对齐;对英文和其他拼音文字,则继续采用 BPE subword,以平衡词表规模和表达能力。

此外,模型引入了结构化特殊 token,包括任务 token、结束 token、时间戳 token、方言/地区 token,并预留 80 个额外方言 token 槽位。这意味着后续如果要支持更细粒度的地区变体,不需要完全重做 tokenizer。这是一个明确面向可扩展部署的设计。

5. 热词增强:同时做 encoder-level 和 prompt-based biasing

实际 ASR 系统经常需要识别专有名词、人名、地名、产品名、术语等热词。报告将热词增强分为两条路线。第一条是 encoder-level contextual biasing,用上下文 embedding 在编码器侧引导模型;第二条是 prompt-based hotword biasing,把热词以提示形式交给解码器,使模型在生成时更偏向这些词。

这两种方式各有取舍。encoder-level 方法更稳定、可控,适合常规热词增强;prompt-based 方法更直接,尤其适合长尾或罕见热词,但也更依赖解码器对提示的利用能力。报告分别在 AISHELL 和 CommonVoice 构造热词测试集,并统计 WER、BWER、UWER 和 RER。

6. 实验结果:0.4B 模型在方言上很有竞争力

多方言 CER 是这篇报告最关键的结果之一。下表摘取平均 CER 与几个代表模型,数值越低越好。

模型参数量多方言平均 CER说明
Paraformer_zh220M22.76传统中文 ASR baseline
SenseVoice-S234M18.80小型开源 ASR 模型
Dolphin-CN-Dialect-0.1B0.1B10.46小参数版本
Dolphin-CN-Dialect-0.4B0.4B5.74sub-1B 组最佳
Qwen3-0.6B0.6B12.74更大但方言平均不如 Dolphin-CN-Dialect
FunASR-Nano-25120.8B12.73sub-1B 对比模型
FireRed-AED1.2B6.85billion-scale 组最佳之一
Qwen3-1.7B1.7B10.04大模型对比
FireRed-LLM8.3B7.17大参数 LLM-ASR 对比
多方言平均 CER 摘要。Dolphin-CN-Dialect-0.4B 在 sub-1B 组取得最低平均 CER,甚至优于部分 billion-scale 模型。

从分方言结果看,Dolphin-CN-Dialect-0.4B 在台湾普通话、四川话、吴语、闽南语、上海话、甘肃、山东、云南、河北、安徽、辽宁、福建、湖南、温州、湖北、河南、天津、陕西、宁夏等多数方言/地区测试上都取得 sub-1B 组最优。它不是只在少数方言上提升,而是整体降低了中文区域语音识别错误率。

7. 开放测试集:KeSpeech 和 Common Voice tw

报告还在 KeSpeech 和 Common Voice 的台湾中文子集上做了比较。Dolphin-CN-Dialect-0.4B 在两个测试集上分别达到 5.04 和 5.62 CER,在 sub-1B 组中最好。

模型参数量KeSpeech CERCV-tw CER
Dolphin-CN-Dialect-0.1B0.1B8.7978.964
SenseVoice-S234M17.8419.41
Paraformer_zh220M14.468.18
Dolphin-CN-Dialect-0.4B0.4B5.045.62
Qwen3-0.6B0.6B7.075.92
FunASR-Nano-25120.8B7.855.64
FireRed-AED1.2B3.971.61
Qwen3-1.7B1.7B5.733.92
FireRed-LLM8.3B3.584.20
KeSpeech 和 Common Voice tw 结果。Dolphin-CN-Dialect-0.4B 在 sub-1B 模型中表现最强。

8. 热词结果:降低 BWER,但可能牺牲少量 UWER

热词实验中,报告区分整体 WER、热词相关错误 BWER,以及非热词错误 UWER。一个典型现象是:加入热词后,BWER 会显著下降,但 UWER 可能略微上升。这说明热词 biasing 会把模型注意力推向热词,提升专名和关键词召回,但也可能带来少量非热词误识别。

数据集方法无热词 WER有热词 WERRER
AISHELLDolphin-CN-Dialect encoder-level attention1.201.099.20%
AISHELLDolphin-CN-Dialect encoder-level rescoring1.231.1010.6%
CommonVoiceDolphin-CN-Dialect encoder-level attention7.546.957.8%
CommonVoiceDolphin-CN-Dialect encoder-level rescoring7.637.037.9%
AISHELLDolphin-CN-Dialect prompt-based1.261.1111.9%
CommonVoiceDolphin-CN-Dialect prompt-based7.116.0814.5%
热词增强结果摘要。prompt-based 方法在 CommonVoice 长尾热词场景上相对收益更高。

9. 工程问题:流式模型的 CTC 删除错误

报告专门提到一个工程问题:流式模型在 WenetSpeech 上出现 CTC decoding degradation,表现为删除错误率偏高,也就是模型更容易漏掉 token。作者通过消融发现,根因与训练和测试语音长度分布不匹配有关:训练集中短语音不足,而测试集包含大量短音频。

解决办法不是改网络,而是改数据:增强短语音样本覆盖,使模型在训练时见到更多短时长输入。这一点很工程化,但很重要。ASR 系统的真实性能经常被数据分布问题限制,而不是被模型结构本身限制。

Dolphin-CN-Dialect 的贡献不在于提出一个全新的 ASR backbone,而在于把中文多方言 ASR 里容易被忽略的实际问题系统处理了一遍:长尾采样、中文字符级对齐、方言 token 扩展、流式推理、热词增强、短语音覆盖和部署优化。对中文 ASR 来说,这些问题往往比单纯扩大模型更关键。

从结果看,0.4B 版本是一个比较实用的平衡点。它在多方言平均 CER 上达到 5.74,在 KeSpeech 和 CV-tw 上也明显优于其他 sub-1B 模型。对需要中文普通话、方言、口音、热词和低延迟同时兼顾的应用,这类设计比一个单纯“更大”的模型更有部署价值。

11. 总结

Dolphin-CN-Dialect 是一个面向中文多方言真实场景的 ASR 技术报告,它用温度采样解决方言数据不均衡,用中文友好的 tokenizer 改善对齐和表达,用热词增强覆盖专名长尾,并在较小参数规模下取得了很有竞争力的多方言识别效果。

ASR语音识别-MOE架构论文

MOE- Conformer :

MoE Adapter: https://arxiv.org/pdf/2601.02967

论文:Mixture-of-Expert Conformer for Streaming Multilingual ASR

这篇论文 Mixture-of-Expert Conformer for Streaming Multilingual ASR 讨论的是一个更偏工业部署的问题:如何让一个流式端到端 ASR 模型同时支持多种语言,又不把推理成本推到端侧设备难以承受的程度。作者选择的路线是把 Mixture-of-Experts 放进 Conformer,把模型总容量做大,但每次推理只激活一小部分参数。

摘要:容量变大,激活参数不线性变大

论文提出的模型是在流式多语种 Conformer 中加入 MoE 层。MoE 层由多个 FFN 专家和一个 softmax gate 组成,每个输入帧只选择权重最高的两个专家参与计算。这样,专家总数可以增加,模型总容量也可以增加,但推理时激活的专家数固定,因此计算和激活参数不会随专家数量线性增长。

论文中的 gate 先对第 l 层输入 x 做线性映射,再通过 softmax 得到专家权重:

\( g_l=\mathrm{Softmax}(W_l\cdot x) \)

随后只取 top-2 expert,并把两个 expert 的输出按 gate 权重加权求和:

\( y=\sum_{i=1}^{2}g_{l,i}\cdot e_{l,i} \)

实验覆盖 12 个语言 locale。相对于 180M 参数的多语种 cascaded Conformer baseline,MoE-End 模型把平均 WER 从 11.33 降到 9.98,约 11.9% 相对改善。与同等总规模的 dense baseline 相比,MoE 达到类似 WER,但推理激活参数约为 211M,对比 dense 的 400M 更省。再结合多语种 neural LM 做 shallow fusion,平均 WER 还能进一步相对降低约 3%。

引言:多语种统一模型的容量问题

多语种端到端 ASR 的吸引力很直接:用一个模型识别多种语言,降低维护和部署复杂度。过去几年,CTC、LSTM、attention-based 模型以及流式 RNN-T 都在多语种 ASR 上取得了进展。尤其是端侧流式场景,模型既要有识别质量,又要满足低延迟和低计算。

经验上,模型容量越大,多语种 ASR 越容易受益。Whisper、USM 等大型模型也说明了大数据和大模型对语音识别质量的推动作用。但大模型的代价是训练和推理成本。对端侧应用来说,不能简单把模型扩大到数十亿参数。

已有一些效率方案依赖语言相关组件,比如按语言选择 adapter 或二阶段模型。但流式场景里,稳定预测语言信息本身就不容易,还可能引入错误传播。本文的 MoE 路线更直接:由输入表示动态选择专家,不需要显式语言标签,也不需要 ground-truth language information。

相关工作:专家模型与语言信息

论文把自己的方法放在几类工作之间比较。第一类是 ASR 中已有的 MoE 模型,但许多工作偏单语种,或者需要额外的共享 embedding 网络来做专家路由。第二类是 NLP 和视觉中的 MoE,比如 Switch Transformer 或 DeepMoE,不过这些结构在 ASR 尤其是流式多语种 ASR 中的直接效果并不确定。

第三类是 informed-expert:模型根据已知语言信息选择某个语言专家、adapter 或二阶段模块。这种做法在有可靠语言标签时很自然,但部署中会遇到两个麻烦:语言信息要么来自外部,要么需要模型先预测;一旦预测错了,后面的专家选择也会受影响。本文的 MoE 不显式使用语言信息,routing 由模型从声学表示中学出来。

MoE Conformer:把专家放在 FFN 位置

基础模块是 Conformer。一个 Conformer layer 通常包含两个 FFN、中间的 self-attention 和 convolution。作者把 MoE 主要用于替换 Conformer 里的 FFN,尤其是 end FFN。每个 MoE 层包含多个 FFN 专家和一个 router。

对每一帧表示,router 通过 softmax 计算各专家权重,然后选出 top-2 专家。两个专家的输出按路由权重加权求和,得到该 MoE 层输出。训练和推理都使用 top-2。为了防止专家使用不均衡,论文加入辅助负载均衡损失,让不同专家都有机会被训练到。

这个设计的关键是稀疏激活。比如总共有 8 个、16 个或 24 个专家时,每帧仍只走两个专家。总参数代表模型潜在容量,激活参数代表推理成本;MoE 的优势就在于让这两者不再完全绑定。

实验设置

模型训练使用 RNN-T loss,并额外加入专家负载均衡项。论文中的 auxiliary loss 写成:

\( l_{\mathrm{aux}}=\frac{1}{N}\sum_{i=1}^{N}c_i\cdot m_i \)

其中 m_i 是第 i 个 expert 的平均 gate,c_i 是 top-2 路由中该 expert 被选择的计数。

数据

实验使用 12 个语言 locale:美式英语、中文、法语、德语、日语、美式西班牙语、西班牙西班牙语、阿拉伯语、意大利语、印地语、葡萄牙语和俄语。训练数据来自 Voice Search、YouTube 等多个域,总计约 139.4M 条人工转写匿名语音。不同语言数据量差异很大,从 0.5M 到 25.2M utterances 不等。

测试集来自 Voice Search 流量,每个语言大约 1.4K 到 10K 条 utterances,与训练集不重叠。评价指标是 WER;对中文等语言,论文按字符计算错误率。

模型细节

baseline 是一个语言无关的多语种 transducer 模型,包含 7 层 causal Conformer encoder 和 10 层 non-causal cascaded encoder。causal 部分保证流式,non-causal cascaded 部分提供约 0.9 秒右上下文。模型使用 separate decoders 分别服务 causal 和 non-causal encoder,以获得更好质量。baseline 总参数约 180M。

MoE 改造主要发生在 cascaded encoder。作者尝试替换 start FFN、end FFN 或两者都替换。最多使用 24 个专家,但每次训练和推理只选 top-2。输入特征为 128 维 log-Mel filterbank,经连续帧堆叠形成 512 维输入,并下采样到 30ms 帧率;训练中使用 SpecAug 增强鲁棒性。

结果与比较

消融实验

首先看 MoE 放在哪里。baseline 平均 WER 为 11.33。把 MoE 放在 start FFN,平均 WER 为 10.10;放在 end FFN,平均 WER 为 9.98;两处都放,平均 WER 最好,为 9.54。不过两处都放会增加推理激活参数。作者最终更多采用 MoE-End,因为它在质量和效率之间更均衡。

专家数量方面,8 experts 的 MoE-End 平均 WER 为 9.98;减少到 4 experts 后为 10.40;减少到 2 experts 后为 10.58。由于推理始终激活 top-2,专家总数减少主要影响总容量而不是激活参数。结果说明,额外专家确实被模型利用了。

MoE 层数也很重要。只在隔层使用 MoE,平均 WER 退到 10.50;只在第一个 Conformer 层使用 MoE,为 10.88。即便只加一个 MoE 层也比 baseline 好,但完整地在 end FFN 位置加入 MoE 才能发挥主要效果。

与 dense baseline 和 adapter 比较

与 180M baseline 相比,MoE-End 模型总参数约 400M,推理激活约 211M,平均 WER 从 11.33 降到 9.98。为了排除“只是模型变大”的因素,作者构造了一个同为 400M 的大 dense baseline。这个 dense 模型平均 WER 也是 9.98,但推理需要激活 400M 参数;MoE 只激活 211M,约为 dense 的 53%。

与基于 ground-truth language information 的 adapter 模型相比,MoE 的意义更明显。Adapter 模型依赖真实语言信息选择对应模块;MoE 不需要语言标签,只根据输入动态路由。把 FFN multiplier 调小并增加专家数后,16 或 24 experts 的 MoE 在平均 WER 上接近 adapter,但部署上少了语言信息依赖。

Shallow Fusion 进一步提升

作者还训练了一个 128M 左右的多语种 neural LM,并在解码时做 shallow fusion。文本数据来自 12 种语言的监督训练文本和额外 text-only 数据。加入 LM 后,MoE 模型平均 WER 从 9.98 进一步降到 9.68,约 3% 相对改善。

不过改善并非所有语言都一致。法语收益最大,中文和印地语出现退化。作者推测,中文退化可能与 text-only 数据里混入粤语转写有关;印地语则可能因为 text-only 数据规模很大但与 Search 域不完全匹配,需要更好的过滤策略。

结论:MoE 的部署价值在于“不需要语言标签”

这篇论文展示了 MoE 在流式多语种 ASR 中的一个清晰用途:用更大的总容量提升多语种识别质量,同时通过 top-2 稀疏激活控制推理成本。最重要的是,模型不依赖语言标签完成专家选择,这比 adapter 或 per-language expert 在真实部署中更省心。

从结果看,MoE-End 相对于 baseline 有 11.9% 平均相对 WER 改善;与同规模 dense 模型相比,达到类似质量但只激活约 53% 参数;与语言标签 adapter 相比,质量接近但路由更自动。对端侧、流式、多语种这三个约束同时存在的场景,这种“动态容量”思路很值得继续跟进。

快手论文:Parameter-Efficient Conformers,利用MOE进行模型裁剪

这篇论文 Parameter-Efficient Conformers via Sharing Sparsely-Gated Experts for End-to-End Speech Recognition 关注一个非常实际的问题:Conformer 在端到端语音识别里效果很好,但模型层数和参数量上来之后,训练、部署、端侧运行都会变重。作者的思路不是简单砍层,也不是只做普通的参数共享,而是把“共享 Conformer 块”和“稀疏门控专家”结合起来,让少量参数被重复使用,同时用 MoE 保住表示容量。

摘要:少参数,不想少能力

论文的核心目标是构造一个参数高效的 Conformer 编码器。传统跨层权重共享可以减少参数,但也会压缩模型容量,导致识别性能下降。作者提出的方案是在共享的 Conformer 块中加入 sparsely-gated MoE:第二个前馈网络不再是单一路径,而是一组专家,由路由器选择其中一个专家参与计算。这样总参数增加了一些,但每次前向只激活一个专家,计算量基本保持在非 MoE 模型的水平。

为了让共享块在不同深度位置仍能适配不同层级的表示,论文还让路由器和归一化层保持独立,而不是所有内容都共享。最后,作者用全参数模型作为 teacher,通过隐藏层表示的知识蒸馏进一步弥补共享模型的能力损失。实验显示,在 AISHELL-1 上,最终模型用约三分之一的编码器参数取得了接近全参数模型的 CER。

引言:Conformer 很强,但部署不轻

端到端 ASR 中,Transformer 和 Conformer 已经是很常见的编码器选择。Conformer 在 Transformer 的全局建模基础上加入卷积模块,更适合语音这种既有长程依赖、又有局部结构的序列。相对位置编码、Macaron 风格 FFN、卷积增强等设计,都让它在语音识别中表现稳定。

问题在于,这类模型往往参数冗余。直接堆很多层可以换来更强表达,但也带来显存、存储和推理成本。已有工作会通过跨层共享参数降低模型规模,类似让同一个 block 被重复调用多次。这个办法省参数,但副作用也明显:自由参数少了,模型容量下降,性能容易掉。

作者的切入点是:既然共享会损失容量,那就在共享块内部引入 MoE 来补容量;既然 MoE 可以稀疏激活,那就只让少数专家参与一次前向,避免计算量跟着总参数线性增长。这个组合特别适合“参数少、计算不能太贵”的场景。

背景:Conformer Seq2Seq ASR

论文使用的是 attention-based encoder-decoder 框架。编码器把声学特征序列变成高层表示,解码器按 token 逐步生成文本序列,训练时优化负对数似然,推理时用 beam search 找更可能的输出。

论文中先把 AED 的逐 token 预测概率写成下面这个形式,其中 y<s 表示当前位置之前的 token 前缀:

\( P(y_s \mid y_{<s}, x)=\mathrm{Trfm}(y_{<s},x) \)

对应的最大似然训练目标,也就是负对数似然损失为:

\( L_{\mathrm{nll}}(\theta)=-\frac{1}{S}\sum_{s=1}^{S}\log P(y_s\mid y_{<s},x) \)

Conformer 块由两个 FFN、一个多头自注意力模块和一个卷积模块组成。两个 FFN 采用半步残差风格,注意力负责长程依赖,卷积负责局部模式。本文的 MoE 改造发生在第二个 FFN:作者把它替换成一个稀疏门控的专家集合,也就是 MoE-Conformer block。

论文把一个 MoE-Conformer block 的计算写成四步。最后一步中,第二个 FFN 被替换成 MoE 版本:

\( \begin{aligned} z_t^{(1)} &= z_t + \frac{1}{2}\mathrm{FFN}(z_t),\\ z_t^{(2)} &= z_t^{(1)} + \mathrm{MHSA}(z_t^{(1)}),\\ z_t^{(3)} &= z_t^{(2)} + \mathrm{Conv}(z_t^{(2)}),\\ \hat{z}_t &= \mathrm{LayerNorm}\left(z_t^{(3)}+\frac{1}{2}\mathrm{FFN}^{(\mathrm{MoE})}(z_t^{(3)})\right). \end{aligned} \)

方法:共享稀疏门控专家

Conformer 参数共享

作者把连续的 C 个 Conformer 块看作一组,再堆叠 G 组。不同组中相同位置的块共享参数,相当于一组块被递归调用 G 次。这样做的好处很直接:如果想要 12 次变换,不一定真的保存 12 套编码器参数,可以用更少的块反复计算。

但是共享不是白来的。共享块在浅层和深层面对的表示分布不一样,如果完全用同一套参数、同一套路由、同一套归一化统计,模型会很难同时适配不同深度的表示。因此后面两个设计,也就是独立路由器和独立归一化,就变得很关键。

MoE 动态路由

MoE 模块由 E 个并行 FFN 专家和一个 router 组成。对每个时间步的表示,router 输出各专家的概率,论文采用 top-1 选择,只激活得分最高的专家。也就是说,虽然模型里存着多个专家参数,但每次计算只走其中一个 FFN。

top-1 MoE 的路由过程如下。router 先产生各 expert 的 gate 分数,再选择最大分数对应的 expert:

\( \begin{aligned} g &= [g_0,\cdots,g_{E-1}]=\mathrm{softmax}(\mathrm{router}(z_t^{(3)})),\\ i^* &= \arg\max_{0\le i\le E-1} g_i,\\ \mathrm{FFN}^{(\mathrm{MoE})}(z_t^{(3)}) &= g_{i^*}\mathrm{FFN}_{i^*}(z_t^{(3)}). \end{aligned} \)

这个设计把“容量”和“计算”部分解耦:总参数更多,潜在表达空间更大;但激活参数不增加太多,推理计算仍接近普通 FFN。为了避免所有样本都挤向同一个专家,作者加入 load balancing loss,同时在训练时给 router 加高斯噪声,让专家选择更分散。

负载均衡损失用于鼓励 expert 被更均匀地使用:

\( L_{\mathrm{balance}}=E\sum_{i=0}^{E-1}f_i\bar{g}_i \)

独立路由器与归一化

论文没有把所有 MoE router 都一起共享,而是让每个 MoE 模块拥有自己的 router。直觉上,同一个共享块在第 1 次、第 6 次、第 12 次递归调用时,输入表示已经处在不同层级;如果路由路径完全一致,就会限制专家选择的灵活性。

归一化层也类似。LayerNorm、BatchNorm 的统计和缩放偏移参数对表示分布很敏感。作者让归一化模块保持独立,使不同层级的表示能够维持各自合适的统计状态。论文还把归一化中的 scale 和 offset 看作一种轻量 adapter,用很少参数增强共享块的适配能力。

隐藏层知识蒸馏

共享模型再聪明,毕竟参数少。作者用全参数 Conformer 编码器作为 teacher,让共享模型的编码器输出尽量接近 teacher 的隐藏表示。这里不是只蒸馏最终预测分布,而是直接约束隐藏 embedding 的 L2 距离。这样做的目的,是让小模型学习 full model 的中间表征轨迹。

hidden embedding 蒸馏损失直接约束 student encoder 输出 h_t 与 teacher encoder 输出 h_t' 的距离:

\( L_{\mathrm{kd}}=\frac{1}{T}\sum_{t=0}^{T-1}\lVert h_t-h_t’\rVert_2 \)

训练目标

最终损失由三部分组成:主任务的负对数似然、MoE 的负载均衡损失、隐藏层知识蒸馏损失。负载均衡项负责让专家不塌缩,蒸馏项负责让共享模型贴近全参数 teacher。论文还在实验中加入 CTC loss 来辅助对齐。

\( L=L_{\mathrm{nll}}+\frac{\alpha}{C}\sum L_{\mathrm{balance}}+\beta L_{\mathrm{kd}} \)

这里 C 是 MoE module 的数量,αβ 分别控制负载均衡损失与蒸馏损失的权重。

与已有工作的关系

MoE 常被用来扩大模型容量,尤其是在 NLP 大模型里,通过条件计算扩展到很大的参数规模。但这篇论文不是追求超大规模,而是把 MoE 当作参数高效工具:共享专家、重复使用专家,让少量模块发挥更大作用。

跨层权重共享也不是新想法,ALBERT、Universal Transformer 以及若干 ASR 工作都用过类似机制。本文的不同点在于,它没有只做朴素共享,而是在共享结构里加入稀疏专家,同时让 router 和 normalization 独立,从而减少共享带来的容量和分布适配问题。

实验:

实验设置

实验使用 AISHELL-1 普通话语音识别数据集:约 150 小时训练语音、18 小时开发集、10 小时测试集。输入特征为 80 维 FBANK,窗口 25ms、步长 10ms,并使用全局 CMVN、速度扰动、SpecAugmentation 和 time stretch 等增强手段。词表包含 4235 个中文字符以及起止符号。

模型前端是两层 CNN subsampling,把帧率降到 25Hz。编码器维度为 256,MHSA 使用 4 个头,卷积核大小 15,FFN 中间维度 1024。MoE-Conformer 的第二个 FFN 使用 4 个专家,解码器是 4 层 Transformer。训练 80 个 epoch,使用 PyTorch 和 FastMoE 实现。

结果与分析

主表里,全参数 C12 编码器参数量为 21.58M,测试集 CER 为 4.93。最终的 C2-MoE4-G6-KD 只有 6.95M 编码器参数,测试集 CER 为 5.03。换句话说,它用大约三分之一的编码器参数,做到了非常接近 full-parameter 模型的结果。

消融实验显示,单独减少块数会明显损伤效果,例如 C2 的测试 CER 为 6.50;加入 MoE 后,C2-MoE4 降到 6.22,说明专家机制确实补了一部分容量。再加入跨层共享递归计算后,C2-G6 为 5.62,而 C2-MoE4-G6 达到 5.08,说明“共享 + MoE”的组合比任一单独机制更有价值。

独立路由器和归一化的作用也很明显。C2-MoE4-G6 如果全部共享,测试 CER 为 6.00;只让归一化独立,降到 5.21;归一化和 router 都独立后,进一步到 5.08。这说明共享模型最怕的不是参数少本身,而是不同深度表示被迫使用完全相同的适配路径。

知识蒸馏带来的提升相对温和,但在 C2-MoE4-G6 上仍把测试 CER 从 5.08 推到 5.03。作者还通过输入输出 L2 距离观察模型内部变化:带独立 router 和 normalization 的共享模型更接近全参数 C12 的变化曲线,而全共享模型曲线更不稳定。

结论与未来方向

这篇论文的价值在于,它给出了一个较完整的参数高效 Conformer 方案:用跨层共享压缩参数,用稀疏 MoE 恢复容量,用独立路由器和归一化适配不同深度表示,再用隐藏层蒸馏补齐小模型表现。最终模型在 AISHELL-1 上以约三分之一编码器参数接近全参数模型。

它也留下了自然的后续问题:方法是否能在更大规模、多语种或更复杂的 ASR 数据集上保持优势?能否迁移到 RNN-T、CTC 或其他端到端 ASR 架构?从工程角度看,这类方案的吸引力很强,因为它不是单纯追求小模型,而是在“参数、计算、表达容量”之间做更细的拆分。

MoEAdapter for Large Audio Language Models: Sparsity, Disentanglement, and Gradient-Conflict-Free

这篇论文 MoE Adapter for Large Audio Language Models: Sparsity, Disentanglement, and Gradient-Conflict-Free 的问题意识很明确:大语言模型要理解真实世界,不能只看文本,音频是很重要的输入模态。但音频并不是一种均匀信号。语音、音乐、环境声承载的信息结构不同,如果用一个 dense adapter 把所有音频都压进同一个文本 embedding 空间,很容易出现参数更新方向互相冲突。

摘要:用专家分工处理异质音频

论文提出 MoE-Adapter,用稀疏 Mixture-of-Experts 替代传统的 dense audio adapter。它不是让所有音频 token 都通过同一套 FFN,而是用动态门控把 token 路由到若干专门专家,同时保留一定共享能力来捕捉全局上下文。这样,语音、音乐、环境声等不同属性可以在不同专家子空间中被建模,从而减轻梯度冲突。

实验基于 Qwen3-1.7B 骨干,音频前端使用 Whisper-VQ tokenizer 和 Whisper Encoder。作者在相同参数预算下比较 dense adapter 和 MoE-Adapter:两者总参数约 94.4M,但 MoE 因稀疏激活,推理时只激活约 70.8M 参数。结果显示,MoE-Adapter 在 MMSU、OBQA、MMAU 等音频理解和推理任务上均优于 dense baseline,并减少音频输入与文本输入之间的 modality gap。

引言:音频不是一种单一分布

大语言模型在文本推理上已经非常强,但只处理文本会限制它们感知现实世界的能力。音频包含人类说话、环境声音、音乐和情绪韵律等信息,是多模态智能绕不开的一环。当前许多大音频语言模型的主流做法,是加一个 adapter,把声学特征投影到 LLM 的文本语义空间里。

问题在于,很多 adapter 是 dense、参数共享的:所有音频都经过同一套投影层。这隐含一个假设,即不同音频类型可以被同一种映射均匀处理。作者认为这个假设过强。语音主要承载语义和语言结构,音乐更关注节奏、旋律和情感,环境声又有自己的声学模式。它们在表示空间中可能位于不同流形。

如果一个 dense adapter 同时学习这些相互差异很大的目标,不同数据类型的梯度可能朝相反方向更新同一组参数。这就是论文强调的 gradient conflict。MoE-Adapter 的贡献,就是用动态专家路由把这些冲突拆开:相似属性共享专家,冲突属性进入不同专家。

相关工作

大音频语言模型

早期音频问答或语音交互系统常采用级联管线:先 ASR 转文字,再交给 LLM。这样的系统容易受到识别错误传播影响,也会丢失语调、情绪、音乐和环境声等非文字信息。后来的端到端 LALM 通过可学习 adapter,把声学特征映射到文本空间,让 LLM 直接条件化在音频表示上。

现有 adapter 大致分为 Q-Former 类和 linear projector / MLP projector 类。后者结构简单、效率高,因此被许多最新模型采用。但这种全局共享投影层难以面对音频内部的分布差异。本文正是针对这个瓶颈,把稀疏 MoE 引入 audio-text alignment 阶段。

MoE 架构

MoE 的基本思想是让不同专家处理不同样本或不同 token,通过稀疏门控实现条件计算。它已经在语言模型、多模态模型、视觉语言模型等方向证明了对异质数据和任务冲突的缓解能力。音频领域也开始出现 MoE 相关工作,例如生成、医疗音频特征选择等。

不过,在通用 audio-text alignment 这个环节,主流 LALM 仍大量依赖静态、共享参数 adapter。本文的 MoE-Adapter 不只是借用 MoE 扩容量,而是把 MoE 作为一种“解耦工具”,专门处理音频属性之间的冲突。

方法

整体框架

模型采用类似 Kimi-Audio 的 dual-stream 音频前端:一条路径用冻结 tokenizer 提取离散语义 token,另一条路径用 speech encoder 提取连续声学特征。两类表示经过投影和融合后,进入 adapter。

传统方案会用 dense adapter 把融合音频特征映射到 LLM embedding 空间。本文则用 MoE-Adapter 完成这一步。最终,adapted audio embeddings 与文本 token embeddings 拼接,作为 LLM 的输入,并用标准自回归 next-token prediction 训练。

稀疏 MoE Adapter

Dense adapter 可以看作一个单体 FFN:所有音频 token 都通过同一组权重。作者指出,这种设计强制同一组参数同时容纳异质音频,会形成不必要的优化干扰。

论文先把 dense adapter 写成单体 FFN 投影。给定音频 token x,输出 embedding 为:

\( y=\mathcal{N}\left(W_{d2}\cdot\sigma\left(W_{d1}\cdot\mathcal{N}(x)\right)\right) \)

MoE-Adapter 把单体 FFN 替换成专家集合。每个专家都是轻量 FFN,router 根据输入 token 计算各专家得分,并通过 Top-k 选择保留若干活跃专家。被选中的专家输出按门控权重聚合,形成中间表示。随后再经过输出投影和 LayerNorm,对齐到 LLM embedding 维度,用来替换输入序列中的音频占位 token。

每个 expert 本身也是一个轻量 FFN:

\( E_i(x)=W_{e2}^{(i)}\cdot\phi\left(W_{e1}^{(i)}\cdot\mathcal{N}(x)\right) \)

router 根据 logits s=xW_g 做 Top-k 稀疏选择,再 softmax 得到门控概率:

\( G(x)=\mathrm{softmax}\left(T_k(s)\right),\quad s=xW_g \)

被选中的 expert 输出按 gate 权重聚合,并经过最终投影对齐到 LLM embedding 空间:

\( h_{\mathrm{MoE}}=\sum_{i\in I}G(x)_i\cdot E_i(x) \) \( y_{\mathrm{MoE}}=\mathcal{N}\left(W_P\cdot h_{\mathrm{MoE}}\right) \)

这套机制有两个效果:一是稀疏激活降低推理成本,二是专家分工让不同音频属性进入不同子空间。对于语音、音乐、环境声这种天然异质输入,第二点尤其重要。

训练目标

训练目标由 next-token prediction loss 和 auxiliary load-balancing loss 组成。前者让模型基于音频上下文预测后续文本 token,是主任务;后者用于避免 expert collapse,即所有 token 都涌向少数专家。

总训练目标为 next-token prediction 与负载均衡项的加权和:

\( L=L_{\mathrm{NTP}}+\lambda L_{\mathrm{aux}} \)

其中主任务 NTP loss 写成:

\( L_{\mathrm{NTP}}=-\sum_{t=1}^{T}\log P(y_t\mid y_{<t},X;\theta) \)

负载均衡损失会同时考虑专家的重要性和实际负载,让不同专家都被充分训练。这里有一个微妙的取舍:过强的均衡可能压制某些自然形成的专家偏好,但完全不均衡又会损害高层语义推理的泛化。论文后面的消融和分析专门讨论了这个矛盾。

论文将 expert importance 与 expert load 分别定义为:

\( \bar{P}_e=\frac{1}{B}\sum_{b=1}^{B}p_{b,e} \) \( \bar{f}_e=\frac{1}{B}\sum_{b=1}^{B}r_{b,e} \)

最终 auxiliary loss 为:

\( L_{\mathrm{aux}}=|\mathcal{E}_R|\sum_{e\in\mathcal{E}_R}\bar{P}_e\cdot\bar{f}_e \)

实验

实验设置

LLM 骨干是 Qwen3-1.7B,音频前端使用 Whisper-VQ tokenizer 和 Whisper Encoder。训练语料规模为 40B token,优化器为 AdamW,学习率调度采用 Warmup-Stable-Decay。为了公平比较,dense adapter 与 MoE-Adapter 的总参数预算都限制在约 94.4M。

评测覆盖几类能力。MMAU 用于音频感知和副语言理解,覆盖 speech、sound、music 等场景;VoiceBench 中的 MMSU 和 OpenBookQA 子集用于世界知识和语义推理,它们是从文本推理基准改造来的音频版本。所有评测采用 greedy decoding,避免采样随机性干扰比较。

主结果

在知识推理任务上,MoE-Adapter 明显超过 dense baseline。MMSU 的 audio accuracy 从 35.03 提升到 38.19,OBQA 从 50.10 提升到 53.85。对比文本输入准确率,音频输入仍存在明显 gap,但 MoE 把这个差距分别缩小了约 3.16 和 3.75 个点。

在 MMAU 这类副语言和音频感知任务上,MoE-Adapter 也从 59.79 提升到 61.50。这个提升说明专家路由不仅对知识推理有用,也能帮助模型捕捉更复杂的声学线索。论文强调,MoE 的收益不是单纯参数变多,而是在相近总参数预算下更合理地分配表示能力。

消融实验

专家配置方面,默认的 “8 choose 4” 表现最均衡:MMAU 61.50、MMSU 38.19、OBQA 53.85。把专家数扩大到 “16 choose 4” 反而变差,说明专家总数不是越多越好。把路由变得过稀疏,例如 “8 choose 1”,也会显著伤害音频推理。论文的结论是,专家数量、激活数量和专家容量之间需要平衡,而不是盲目扩某一个维度。

负载均衡损失的消融更有意思。去掉 EBL 后,MMAU 从 61.50 升到 63.01,但 MMSU 和 OBQA 分别下降到 37.37 和 52.31。作者解释说,MMAU 很异质且含有大量低层声学感知样本,不加均衡时 router 会集中使用少数“强专家”,反而有利于这类感知任务;但这会减少专家多样性,损害需要世界知识和语义推理的任务

专家分工与优化动态分析

专家均衡如何影响路由

作者在 MMAU 上分析 speech、sound、music 三类样本的专家激活热力图。结果显示,模型确实学出了模态相关的专家分工:有些专家主要服务单一类别,有些专家在 sound 与 speech 或 sound 与 music 之间共享。值得注意的是,几乎没有专家同时专门服务 speech 和 music。

这个现象符合直觉:环境 sound 和 speech/music 都可能共享一些低层声学特征,因此可以作为“桥”;但 speech 和 music 在时间结构、语义组织上差异更大,不适合强行塞进同一个专家。EBL 并不会消灭这种分工,而是防止少数专家过度支配,保留一定均衡。

梯度冲突与缓解机制

论文用两个指标分析优化过程。第一个是不同音频类别梯度之间的 cosine similarity。dense adapter 中,不同类别的梯度经常出现负相似度,意味着一个类别的更新方向可能伤害另一个类别。MoE-Adapter 则把这些相似度推向更正的方向,说明专家路由减少了破坏性干扰。

第二个是 gradient influence score,用来衡量基于某一任务梯度做更新后,对另一个任务损失是帮助还是伤害。dense adapter 中,speech 的更新会明显伤害 music 和 sound;MoE-Adapter 中,影响分数更多为正,说明它不是简单隔离任务,还能通过共享专家保留有益迁移。例如 speech 对 sound 的更新可以产生正向帮助,而 music 的冲突被更好地隔开。

结论

这篇论文把 MoE-Adapter 定位为解决 LALM 音频异质性的结构工具。相比 dense adapter,它用动态专家分工缓解语音、音乐、环境声之间的梯度冲突,在相近参数预算下提升音频知识推理、副语言理解和跨模态对齐表现。更重要的是,论文不仅给出指标提升,也通过路由热力图、梯度相似度和影响分数解释了为什么 MoE 有效。

局限性

作者也明确指出了几个限制。第一,实验目前只在 Qwen3-1.7B 骨干上验证,方法是否适用于其他 LLM 家族或更大规模模型,例如 70B,还需要实验。第二,论文没有系统研究稀疏路由随训练数据规模增长的 scaling law。第三,当前任务集中在音频理解与推理,没有扩展到生成式音频任务。

附录:超参数和工程含义

附录强调,dense baseline 与 MoE-Adapter 在总参数预算上被严格对齐,约为 94.4M。MoE-Adapter 的活跃参数约为 70.8M,大约是 dense baseline 的 75%。共同音频前端包含 speech encoder、audio hidden projection 和 feature fusion;MoE 端则包含专家集合、gate network 和 aggregation block。

从工程角度看,这个设置很关键。它把论文的结论从“MoE 参数更多所以更强”拉回到“在可比预算下,稀疏专家分工更适合异质音频”。如果未来大音频语言模型要同时处理语音问答、环境声推理、音乐理解和情绪韵律,adapter 层可能不该再是一个单体投影器,而应该具备更细粒度的路由和分工能力。

开源ASR优化指南

文章来源:每周一个大模型应用

Whisper、SenseVoice、sherpa-onnx……开源 ASR 选择越来越多,但真正上线后,你很可能遇到两个经典抱怨:「专有名词老读错」和「实时跟不上说话」。本文把优化手段整理成可执行的决策树与分层机制,帮你少踩坑、少试错。

结论先行:「不够准」和「不够快」是两条优化路线,但底层机制有重叠。准确率优先从音频质量、热词、语言模型、换中文基座到领域微调;速度优先从小模型、INT8 量化、合适运行时(流式用 sherpa-onnx,离线用 faster-whisper)入手。二者通常互相拉扯——没有「又准又快又免费」的万能方案。

一、先分清:你要优化的是哪一类问题

很多团队一上来就换更大的模型,结果延迟翻倍、GPU 成本飙升,准确率却只涨一点点。

其实 ASR 的「不准」和「不快」,背后是完全不同的瓶颈。

▎ 常见现象对照表

●  专有名词、行业词错 → 训练数据里没有,优先热词 / 微调 / 语言模型

●  噪声、远场、混响 → 前端音频差,优先降噪 + VAD + 换模型

●  方言、口音 → 基座覆盖不足,换中文/方言模型或微调

●  延迟高、跟不上说话 → 流式配置或模型太大,小模型 + INT8 + 真流式

●  长音频转写慢 → 非批处理或 CPU 推理,faster-whisper / GPU / 分段并行

准确率和速度通常互相拉扯:模型越大越准但越慢;beam 越大越准但越慢;INT8 更快但可能略损精度。优化前先明确你的主 KPI 是 CER 还是 RTF。

二、五层优化框架:从输入到后处理

不管用哪套开源 ASR,都可以按五层来思考优化路径。

自下而上分别是:改输入、改模型、改解码、改部署、改后处理。

①  改输入:16 kHz 单声道、降噪、VAD 切静音——零成本,often 被忽略

②  改模型:换更强基座(SenseVoice / Qwen3-ASR)或领域微调

③  改解码:beam size、热词偏置、LM 重打分

④  改部署:ONNX + INT8、sherpa-onnx 流式、faster-whisper 批处理

⑤  改后处理:标点模型、ITN 数字规整、自定义词典替换

很多「模型不准」其实是输入音频和训练分布不一致。

先把音频标准化做好,再谈换模型,往往事半功倍。

三、提升识别率的六大机制

下面按「不改模型 → 换模型 → 微调 → 解码 → 后处理」的顺序,从易到难梳理提升准确率的手段。

 1. 热词 / 上下文偏置(最快见效)

机制:在解码时提高特定词(公司名、产品名、人名)的得分权重。

FunASR、WeNet、sherpa-onnx 等均支持,几乎不用重训,改配置即可。

适合词表固定、领域术语多的场景。

▎ 2. 语言模型重打分(LM Rescoring)

机制:ASR 先出 N 个候选(beam search),再用 N-gram 或神经网络 LM 选更「像人话」的结果。

适合同音字、语法约束(如「在/再」「的/地/得」)。

icefall / WeNet 训练链里常见,可导出到 sherpa-onnx 部署。

▎ 3. Prompt / 上下文(大模型 ASR)

Qwen3-ASR、Fun-ASR-Nano 等支持在输入里加提示,例如「语音转写成英文:」或「Speech transcription without text normalization:」。

利用 LLM 的语义先验,约束输出格式和领域。

▎ 4. VAD + 分段

先切掉静音和无效段,只对有效语音做识别,减少「把噪声当字」的幻觉。

FunASR 自带 FSMN-VAD;本地实时工具 asr_tool 用 endpoint 检测句末。

▎ 5. 音频前端处理

●  重采样到 16 kHz 单声道:与模型训练分布一致

●  降噪(RNNoise、DeepFilterNet):远场、会议场景

●  AGC / 音量归一化:避免过小或削波

▎ 6. 领域微调(ROI 通常最高)

用你自己的「音频 + 标注」把模型拉向目标分布。

数据 < 10h 建议热词 + LM;10~100h 可 LoRA / adaptor 微调;100~1000h 微调 encoder + adaptor;> 1000h 可考虑全参。

同一套医疗/法律语料微调后,专有名词准确率 often 明显提升。

四、提升识别速度的五条路径

速度优化和准确率往往是反向的。

实时场景要的是首字延迟和 RTF(实时率),离线场景要的是吞吐。

别用离线大模型硬做流式——延迟会非常高。

模型侧:变小、变轻

●  蒸馏(distil-whisper):大模型教小模型,6~10× 加速,精度略降

●  量化 INT8:权重 8bit,CPU 友好,2~4× 加速

●  换小架构:Zipformer 14M vs 1.7B LLM,数量级差异

▎ 运行时:换引擎

●  sherpa-onnx:CPU 流式、低延迟,Rust 集成,适合桌面实时

●  faster-whisper(CTranslate2):GPU 批处理长音频快

●  whisper.cpp:边缘设备、无 Python

●  vLLM:Qwen3-ASR 等服务化部署

▎ 流式架构(延迟的关键)

真流式 pipeline:麦克风 → 固定 chunk(如 100ms)→ 增量 decode → partial 结果 → endpoint 检测 → final → reset。

chunk_size 越小延迟越低,但 CPU 调度开销上升;num_threads 4~8 常是 CPU 甜点。

▎ 系统级优化

●  GPU / NPU:离线批处理、大模型必备

●  跳过静音(VAD):不算无效段,总耗时下降

●  并行分段:长音频切多段多 GPU 跑

●  减小 beam:beam=1 often 快 2~3×

五、按投入产出排序的推荐

▎ 想提升准确率(从易到难)

①  音频标准化(16 kHz、降噪、VAD)—— 零成本

②  热词 / Prompt —— 几小时配置

③  调 beam + 加标点/ITN —— 一天内

④  换更强的中文基座(SenseVoice / Qwen3-ASR)—— 改部署

⑤  LM 重打分 —— 需额外 LM 资源

⑥  领域微调 —— 需标注数据,ROI 通常最高

▎ 想提升速度(从易到难)

①  INT8 量化 + 减 beam —— 立刻见效

②  换 faster-whisper / sherpa-onnx —— 改运行时

③  换小模型 / 蒸馏模型 —— 接受略降精度

④  GPU + 批处理 —— 离线场景

⑤  真流式架构 —— 实时场景必做

  · · ·  

六、场景化落地组合

结合 voice_repo 里的工具链,以下是几种常见场景的组合建议。

▎ 桌面实时中文

准确率:热词 + 更好的ASR模型。

速度:保持sherpa-onnx INT8 真流式。

默认模型 streaming-***-zh-14M INT8,面向 CPU 实时。

▎ 会议录音转写

准确率:SenseVoice / Qwen3-ASR + 标点模型。

速度:faster-whisper GPU 批处理,长音频分段并行。

▎ 垂直领域(医疗 / 法律 / 金融)

准确率:FunASR 微调 + 热词 + LM 重打分。

速度:微调后导出 ONNX 到 sherpa-onnx,接自研服务。

▎ 多语种 / 方言

准确率:Qwen3-ASR + Prompt 约束。

速度:vLLM 服务化,或 0.6B 小模型做边缘部署。

  · · ·  

七、怎么验证「真的变好了」

别凭感觉,用同一套 test set 对比。

固定 100~500 条代表性样本,每次只改一个变量(例如只加热词、只换模型),否则无法判断哪招有效。

●  CER / WER:字/词错误率,中文常用 CER

●  RTF:实时率,< 1 才算实时

●  首字延迟:流式场景的关键指标

●  领域词准确率:单独统计热词表命中率

开源 ASR 的优化不是「换一个更大的模型就完事」,而是按场景选对机制、按数据量选对深度、用指标验证每一步。

总结          
不够准:音频质量 → 热词/LM → 换中文模型 → 领域微调          
• 不够快:小模型 + INT8 + 合适运行时(流式 sherpa-onnx,离线 faster-whisper)          
• 五层框架:改输入 → 改模型 → 改解码 → 改部署 → 改后处理          
• 准确与速度互相拉扯,优化前先明确主 KPI          
• 固定 test set,每次只改一个变量,用 CER/RTF 验证