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


G-STAR: 端到端全局说话人追踪属性识别

paper: https://arxiv.org/pdf/2603.10468

G-STAR是一个LLM-based端到端多说话人ASR系统:1)Sortformer风格流式说话人追踪模块 + 到达顺序说话人缓存(AOSC);2)Speech-LLM转录主干(Qwen2-7B-Instruct + LoRA);3)交错时序融合(K:1插入)结合声学和说话人嵌入;4)缓存一致的SOT解码。三阶段训练:会议式ASR预训练→局部SA-ASR训练→全局SA-ASR训练。

💡 为什么值得关注

     LLM-based ASR近两年进展比较显著,但在多说话人ASR场景,依然需要持续持续探索。G-STAR解决了局部说话人日志与全局身份一致性难以兼顾的问题,将“时间感知的说话人跟踪”与“基于LLM的转录生成”耦合在一个可端到端训练的框架中,从而在“何时”、“何人”、“说了什么”这三个维度的信息上实现协同。此外,G-STAR支持分块流式推理且无需用户提前进行语音注册。对做会议转录、语音助手的团队有直接参考价值。

多方会议转写不只是“把语音变成文字”。系统还需要判断每句话是谁说的、发生在什么时间,并且在长音频被切成多个片段处理时,让同一个人的说话人编号始终保持一致。G-STAR 的主要贡献,就是把带缓存的全局说话人跟踪器与 Speech-LLM 生成模型连接起来,让文字、时间戳和全局说话人标签在同一条件上下文中联合生成。

一、论文要解决什么问题

给定长音频波形,模型需要输出一组带说话人和时间边界的文本片段:

\( Y=\left\{\left(s_n,\tau_n^{\mathrm{st}},\tau_n^{\mathrm{ed}},y_n\right)\right\}_{n=1}^{N} \)

其中,\(s_n\) 是说话人身份,\(\tau_n^{\mathrm{st}}\) 和 \(\tau_n^{\mathrm{ed}}\) 是起止时间,\(y_n\) 是对应文本。真正困难的地方在于:长会议通常必须分块推理,但说话人身份不能在每个块中重新编号。例如第一块中的 spk1,到了第十块仍然应该指向同一个真实说话人。

此前方法通常只解决其中一部分问题:SpeakerLM 更擅长块内说话人建模,但缺少显式的跨块全局身份关联;JEDIS-LLM 使用说话人缓存维持全局标签,却没有细粒度时间边界;TagSpeech 强化了时间锚点和说话人提示,但没有解决长音频分块推理中的会议级身份链接。G-STAR 的目标是同时覆盖时间戳、重叠语音、说话人归属和跨块全局一致性。

二、G-STAR 的总体设计

G-STAR 由三部分组成:ASR 声学分支、说话人跟踪分支,以及维护全局身份的 Arrival-Order Speaker Cache(AOSC)。两条分支生成的特征按照时间顺序交错融合,随后送入大语言模型,以 Serialized Output Training(SOT)格式输出文字、时间戳和全局说话人标签。

1. 分块处理与全局输出格式

长音频 \(x\) 被划分为连续的 \(T\) 个块:

\( x=\left\{x^{(t)}\right\}_{t=1}^{T} \)

每个块生成一个序列化结果,结构可以表示为:

\( z^{(t)}=\left[\langle t_{\mathrm{st}}\rangle,\;w,\;\langle t_{\mathrm{ed}}\rangle,\;\langle \mathrm{spk}=k\rangle\right]^{*} \)

这里的 \(k\) 不是当前块内的临时编号,而是由 AOSC 维护的会议级到达顺序编号。

2. ASR 声学分支

音频编码器首先把第 \(t\) 个音频块转换为帧级声学特征:

\( H^{(t)}=f_{\mathrm{enc}}\left(x^{(t)}\right)\in\mathbb{R}^{L_t\times d_h} \)

随后 ASR projector 将其映射到 LLM 的嵌入空间:

\( U^{(t)}=g_1\left(H^{(t)}\right)\in\mathbb{R}^{L_t\times d_{\mathrm{llm}}} \)

实现中,音频编码器和投影器初始化自 FireRed-LLM,语言模型使用 Qwen2-7B-Instruct,并继承 FireRed-LLM 的 LoRA 权重。

3. 说话人跟踪分支与 AOSC

说话人分支采用 Streaming Sortformer。它不只读取当前音频,还读取上一块保留下来的缓存:

\( S^{(t)},C^{(t)}=f_{\mathrm{trk}}\left(x^{(t)},C^{(t-1)}\right),\qquad S^{(t)}\in\mathbb{R}^{M_t\times d_s} \)

其中 \(C^{(t-1)}\) 是历史 AOSC 状态,\(S^{(t)}\) 是当前块的帧同步说话人提示。实现中,该分支初始化自 NVIDIA 的 diar_streaming_sortformer_4spk-v2;说话人 projector 由步长为 5 的一维卷积降采样模块和两层 MLP 组成,再把提示映射到 LLM 空间:

\( V^{(t)}=g_2\left(S^{(t)}\right)\in\mathbb{R}^{M_t\times d_{\mathrm{llm}}} \)

AOSC 按说话人在会议中首次出现的顺序保存紧凑状态。新说话人出现时分配下一个槽位;历史说话人再次出现时,系统从缓存中找回原槽位。因此,全局编号具有可解释性,也避免了不同音频块之间的标签置换漂移。

4. 交错时间融合

论文没有在最后阶段才把 ASR 与说话人时间轴做“后融合”,而是把说话人特征直接插入声学 token 流。设插入步长为 \(K\),融合结果为:

\( E^{(t)}=\operatorname{Interleave}\left(U^{(t)},V^{(t)};K\right)\in\mathbb{R}^{N_t\times d_{\mathrm{llm}}} \) \( N_t\approx L_t+\left\lceil\frac{L_t}{K}\right\rceil \)

具体来说,每经过 \(K\) 个声学位置就插入一次说话人提示。如果两条分支的帧率不同,则使用确定性的最近邻或线性重采样对齐。论文默认重点验证 \(K=5\),即在信息密度和对词汇建模的干扰之间取折中。

5. 全局 SOT 解码

LLM 在文本提示、融合后的声学/说话人表示以及已生成 token 的条件下进行自回归解码:

\( p\left(z^{(t)}\mid x^{(t)},C^{(t-1)}\right)=\prod_{m=1}^{\left|z^{(t)}\right|}p\left(z_m^{(t)}\mid p,E^{(t)},z_{<m}^{(t)}\right) \)

由于 <spk=k> 与 AOSC 中第 \(k\) 个到达顺序槽位绑定,模型可以在逐块解码时直接生成全局一致的说话人标签,不再依赖会后全局聚类。

三、三阶段训练策略

  1. 会议风格 ASR 预训练:让音频编码器、ASR projector 和 LLM 适应对话及会议语音。
  2. 局部 SA-ASR 跨模态对齐:在最长 20 秒的分段语音上学习时间戳、文本和块内说话人标签。Figure 2 显示说话人跟踪模块在前两个阶段冻结。
  3. 全局 SA-ASR 端到端微调:引入 AOSC 和全局标签,训练跨块一致的说话人归属。同时使用四个数据集构造的 90 秒片段独立调优 Sortformer,以增强长音频跟踪能力。

Speech-LLM 各阶段保持可训练模块一致:ASR projector、说话人 projector 和 LoRA adapter。LoRA rank 为 64,缩放因子为 16,dropout 为 0.05。训练样本最大打包长度为 12,000 tokens。

前两个阶段分别训练 20,000 steps,峰值学习率为 \(5\times10^{-5}\);全局阶段训练 5,000 steps,峰值学习率降为 \(2\times10^{-5}\)。均使用 AdamW、0.01 warmup ratio 和余弦退火。Sortformer 调优采用学习率 \(10^{-4}\)、batch size 4,共训练 5 epochs。

为了让模型更加重视结构 token,论文使用分层交叉熵:时间戳 token 权重为 1.5,说话人标签 token 权重为 2。可将其直观写成:

\( \mathcal{L}=\mathcal{L}_{\mathrm{lexical}}+1.5\,\mathcal{L}_{\mathrm{timestamp}}+2\,\mathcal{L}_{\mathrm{speaker}} \)

四、数据集与评价协议

公开实验使用四个会议或对话数据集:MLC 英文子集、AMI、Fisher,以及只使用音频模态的 Candor。训练音频被切分为最长 20 秒的片段。内部模型还使用中文对话数据;公开配置则使用 AISHELL-4 和 AliMeeting 等公开会议数据作为对应数据来源。

  • 局部设置:输入不超过 20 秒,使用 oracle VAD/分段,重点考察后端的联合转写和说话人归属能力。
  • 全局设置:输入完整会议,各系统使用自己的 VAD 或分段前端并逐块推理,更接近真实部署,但 VAD 差异也会进入最终结果。
  • 指标:cpWER 衡量考虑说话人匹配后的转写错误,DER 衡量说话人日志错误;两者都是越低越好。
  • DER collar:公开实验为 0,内部测试集为 0.5 秒。模型幻觉产生的额外片段会被计入 cpWER 和 DER 错误。

论文还实现了一个受控后融合基线:ASR 使用同一 Speech-LLM 后端,VAD 切出语音段,CTC 强制对齐补充词级时间戳,Sortformer 生成全局说话人时间轴,最后再按时间重叠关系合并。这个对照可以较好地区分“组件更强”和“跟踪条件直接参与生成”之间的差异。

五、局部实验结果

表 1 对应论文 Table 1,单位为 cpWER/DER(%),输入最长 20 秒,oracle VAD,DER collar=0。

系统AMIFisherMLCCandor
Sortformer(仅 DER)— / 29.87— / 18.33— / 17.76— / 30.92
Parakeet(仅 cpWER)24.62 / —27.73 / —25.90 / —27.44 / —
VibeVoice-ASR30.51 / 31.9915.18 / 17.6821.74 / 14.0122.12 / 30.89
MOSS-Diarizen25.13 / 32.2011.69 / 21.6114.16 / 10.5816.38 / 31.76
G-STAR24.86 / 19.0010.29 / 8.1813.90 / 6.4914.54 / 17.56

G-STAR 在四个数据集上都显著降低了 DER,并且在 Fisher、MLC 和 Candor 上获得最低 cpWER。AMI 的 cpWER 为 24.86,与 Parakeet 的 24.62 基本相当,但 DER 从 Sortformer 的 29.87 降到 19.00。结果说明,说话人提示被注入 LLM 后,并没有以牺牲词汇识别为代价,反而提升了联合生成的稳定性。

六、完整会议的全局实验

表 2 对应论文 Table 2,单位为 cpWER/DER(%),完整会议逐块推理,DER collar=0。

系统FisherMLCCandorAMI
Sortformer(仅 DER)— / 15.21— / 21.92— / 18.03— / 28.35
Parakeet(仅 cpWER)24.41 / —31.03 / —26.92 / —35.70 / —
VibeVoice-ASR25.03 / 27.1525.41 / 19.8327.24 / 25.6834.19 / 39.95
受控后融合级联21.01 / 23.4123.18 / 21.3817.62 / 17.6739.52 / 37.63
G-STAR16.44 / 16.8517.15 / 14.2515.17 / 24.8930.85 / 32.23

G-STAR 在 Fisher、MLC、Candor 和 AMI 上都取得最低的会议级 cpWER。相对使用相近主干组件的受控后融合方案,cpWER 分别从 21.01、23.18、17.62、39.52 降至 16.44、17.15、15.17、30.85,相对降幅约为 21.8%、26.0%、13.9% 和 21.9%。这说明改进并不只是来自更强的 ASR 或说话人模块,而是因为说话人跟踪信息在生成过程中直接参与了决策。

不过,DER 结果需要客观看待:G-STAR 在 MLC 上最好,但 Fisher 的 Sortformer、Candor 的受控后融合方案以及 AMI 的 Sortformer 都得到更低 DER。换言之,G-STAR 的优势重点是最终的“谁说了什么”联合转写,而不是在所有场景中取代专门的说话人日志系统。

内部域外会议测试

内部测试集包含 0.50 小时双人会议、0.49 小时三人会议和 1.86 小时四人会议。论文将三至四人场景合并报告,DER collar 为 0.5 秒。

系统2 人3–4 人平均
VibeVoice-ASR11.10 / 14.8354.48 / 38.3347.64 / 34.62
聚类式 Pipeline23.56 / 14.2041.14 / 30.7638.37 / 28.15
G-STAR10.42 / 4.8638.85 / 28.5934.37 / 24.88

G-STAR 的平均 cpWER/DER 为 34.37/24.88,优于 VibeVoice-ASR 的 47.64/34.62,也优于聚类式 Pipeline 的 38.37/28.15。双人场景提升最明显,DER 只有 4.86;三至四人会议仍然明显更难,说明说话人数增加后,全局跟踪和重叠语音依旧是主要挑战。

七、消融实验说明了什么

表 3 对应论文 Table 4,单位为 cpWER/DER(%)。

分层 CE交错时间融合AMIFisherCandor
26.33 / 21.0610.88 / 10.2414.97 / 20.21
28.63 / 21.2814.23 / 9.0218.30 / 18.10
24.86 / 19.0010.29 / 8.1814.54 / 17.56

两项设计的作用并不相同。交错时间融合对 cpWER 的帮助更大,说明周期性注入说话人提示能够协助 LLM 同时生成正确文字和结构 token;分层交叉熵对 DER 的改善更直接,因为更高的时间戳与说话人 token 权重会强化边界和说话人切换预测。两者同时启用时,三个数据集都得到最佳综合结果。

Figure 3 进一步比较了 MLC 上不同插入步长:

插入步长 KcpWERDER
114.206.72
513.906.49
1013.946.51

\(K=1\) 时提示过密,非词汇条件可能干扰语言建模;\(K=10\) 时提示偏稀疏;\(K=5\) 在 cpWER 和 DER 上取得最优平衡。

八、论文的主要创新点

  1. 把说话人归属从后处理变成生成条件。说话人时间信息在 LLM 解码前进入统一嵌入序列,而不是 ASR 完成后再做时间轴拼接。
  2. 用 AOSC 解决跨块身份漂移。按首次到达顺序维护说话人槽位,使长会议中的全局标签具备持续状态和可解释编号。
  3. 统一生成文字、时间戳和全局说话人标签。SOT 输出接口让多个结构化目标被组织为单一自回归序列,同时保留重叠语音片段。
  4. 兼顾模块化训练和端到端优化。说话人跟踪器可以独立调优,Speech-LLM 又能在其提示条件下联合优化,适合训练数据来源不一致或存在域偏移的情况。
  5. 建立局部与全局两套评价协议。oracle 分段实验隔离后端能力,完整会议实验则验证 VAD、跟踪、时间戳和转写共同作用下的真实表现。

九、局限性

第一,论文采用分块推理,但没有完整评估严格实时流式部署,尚缺少端到端延迟、缓存内存开销和在线缓存更新稳定性数据。第二,训练数据规模和多样性仍然有限,跨语言、复杂声学环境、更多说话人以及更强重叠场景的泛化能力还有提升空间。第三,从公开实验可以看到,模型对最终 cpWER 的优化非常稳定,但纯 DER 并非全面领先;如果应用只关注高精度说话人日志,专门的 diarization 系统仍可能更合适。

十、总结

G-STAR 最值得关注的不是简单增加一个说话人编码器,而是重新定义了说话人归属在 Speech-LLM 中的位置:它不再是 ASR 后面的拼接步骤,而是影响生成过程的显式条件。AOSC 负责记住“谁已经出现过”,交错时间融合负责在合适的时间点把信息交给 LLM,全局 SOT 则把文字、时间戳和身份转换为可直接阅读的统一序列。

实验表明,这一路线尤其适合长会议的“谁说了什么”任务:G-STAR 在四个完整会议基准上都获得最低 cpWER,并在内部域外数据上继续保持优势。其下一步关键问题,是把这种缓存条件生成机制推进到低延迟、严格在线的真实流式系统中。


说话人验证:Hybrid Enrollment + Neural Re-scoring 论文解读

本文讨论的是短时长说话人验证(Short-duration Speaker Verification, SDSV):在智能音箱、对话终端或用户自定义关键词唤醒场景中,系统先检测到一句很短的目标短语,再判断这句话是不是注册用户本人说的。

这类测试语音通常短于 3 秒,身份信息很少,且更容易受噪声、音素覆盖和短语内容变化影响。论文的核心思路不是重新训练一个大声纹模型,而是冻结已有说话人骨干模型,在其上训练一个轻量 neural verifier:注册端同时使用文本相关(TD)短语和文本无关(TI)较长语音,查询端仍是 TD 短语,通过全局余弦相似度和双向帧级 cross-attention 做神经重打分。

1. 任务背景:短语音声纹验证为什么难?

在用户自定义关键词(UDKWS)系统中,典型链路是:先通过 keyword spotting 找到用户说出的目标短语,再对这个短语片段做说话人验证。问题在于,这个片段通常只有 0.8 到 3 秒。相比长语音声纹验证,短语级音频中的说话人信息更少,固定维度 embedding 加余弦相似度的传统后端更容易出现分数不稳定。

图 1:针对自定义短语的短时长说话人验证任务示意图。首先,输入的语音会被一个自定义关键词检测模块进行处理,然后会被用来与文本依赖型或文本独立型的注册语音进行验证。

论文把注册方式分为两类:

  • TD enrollment:注册语音和查询语音是同一类短语,内容一致,音素更对齐,但注册时长也很短,说话人信息不足。
  • TI enrollment:注册语音不要求和查询短语内容一致,可以更长,身份信息更稳定,但存在文本内容不匹配。

论文的关键观察是:TD 的文本一致性有优势,但受限于短时长;TI 有内容 mismatch,但随着注册时长增加,speaker representation 会越来越稳定。因此,真实系统里不应该只押 TD 或 TI 单一路线,而应该把二者互补起来。

2. 方法总览:冻结骨干,只训练轻量验证器

论文提出的框架由两部分组成:一个冻结的 pretrained speaker backbone,以及一个可训练的 neural verifier。骨干模型负责提取 utterance-level 和 frame-level speaker features;verifier 负责把 TD、TI 与 query 之间的全局和局部证据融合成最终验证分数。

设 TI 注册语音为 \(X_{\mathrm{ti}}^e\),TD 注册语音为 \(X_{\mathrm{td}}^e\),TD 查询语音为 \(X_{\mathrm{td}}^q\)。冻结骨干会输出句级表示和帧级表示:

\( X_{\mathrm{ti}}^e \rightarrow (E_{\mathrm{ti},u}^e, E_{\mathrm{ti},f}^e),\quad X_{\mathrm{td}}^e \rightarrow (E_{\mathrm{td},u}^e, E_{\mathrm{td},f}^e),\quad X_{\mathrm{td}}^q \rightarrow (E_{\mathrm{td},u}^q, E_{\mathrm{td},f}^q) \)

这里 \(u\) 表示 utterance-level embedding,\(f\) 表示 frame-level feature。论文使用的骨干包括 ECAPA-TDNN、CAM++ 和 ERes2Net-L,全部在 Vox2 上预训练,并在本文训练中保持冻结。这一点对工程落地很重要:不需要推倒重训声纹模型,只需在已有声纹模型上加轻量重打分头。

3. 全局相似度:同时保留 TI 身份稳定性和 TD 内容一致性

verifier 首先计算两个 utterance-level 余弦相似度:

\( S_{\mathrm{ti}}=\cos(E_{\mathrm{ti},u}^e,E_{\mathrm{td},u}^q),\quad S_{\mathrm{td}}=\cos(E_{\mathrm{td},u}^e,E_{\mathrm{td},u}^q) \)

\(S_{\mathrm{ti}}\) 更偏向捕获稳定的说话人身份信息,\(S_{\mathrm{td}}\) 更偏向利用短语内容一致带来的匹配优势。单看这两个分数仍然是传统 embedding 后端思路,所以论文进一步引入帧级 cross-attention 来处理短语内部的局部对齐问题。

4. Parallel Cross-Attention:在帧级别重新对齐短语证据

短时长语音的问题不是只有“信息少”,还包括局部音素和时间位置不稳定。论文使用共享的 parallel cross-attention 模块,对 TD 注册短语和 TD 查询短语的 frame-level features 做双向比较。

注册到查询方向:

\( \tilde{Z}^{e}= \mathrm{CrossAtt.} (Q=E_{\mathrm{td},f}^{e},K=E_{\mathrm{td},f}^{q},V=E_{\mathrm{td},f}^{q}) \)

查询到注册方向:

\( \tilde{Z}^{q}= \mathrm{CrossAtt.} (Q=E_{\mathrm{td},f}^{q},K=E_{\mathrm{td},f}^{e},V=E_{\mathrm{td},f}^{e}) \)

随后对两个方向的输出做时间维 max pooling,并拼接得到局部匹配特征:

\( h_f=[\max(\tilde{Z}^{e}) \Vert \max(\tilde{Z}^{q})] \)

这一步是论文方法的关键:它不再把短语直接压成一个向量硬比,而是让注册短语和查询短语在帧级别互相“看见”对方,从短语内部找到更细粒度的匹配证据。中文解读里强调的“注册看查询、查询看注册,把短序列里对得上的局部证据捞出来”,对应的就是这个双向 cross-attention 模块。

5. 融合决策与训练目标

最终,模型把局部帧级特征 \(h_f\)、TI 全局相似度 \(S_{\mathrm{ti}}\) 和 TD 全局相似度 \(S_{\mathrm{td}}\) 输入轻量 MLP,输出最终验证分数:

\( S=\sigma(F(h_f,S_{\mathrm{ti}},S_{\mathrm{td}})) \)

其中 \(\sigma(\cdot)\) 是 sigmoid 函数。训练使用二分类交叉熵:

\( \mathcal{L}=- \left[ y\log S+(1-y)\log(1-S) \right] \)

\(y \in \{0,1\}\) 表示 enrollment 和 query 是否来自同一说话人。实验中 verifier 包含线性投影层和对称 cross-attention 模块,attention 为 8 heads,hidden dimension 为 128;训练在单张 RTX 4090 上进行,batch size 256,训练 25k steps。

6. VoxPhrase 数据集:从 VoxCeleb 自动切出短语级声纹验证数据

论文的另一个重要贡献是构建 VoxPhrase,用来模拟用户自定义短语下的 SDSV。构建流程是:先对 VoxCeleb 语音做 ASR 获得 transcript,再用 forced alignment 生成词或短语级时间戳,随后通过 S2Phrase 脚本把长语音切成 0.8 到 3 秒的短语片段,并过滤低质量对齐结果。每个短语片段保留 speaker identity 和 waveform。

VoxPhrase 的关键规模如下:

  • 训练集来自 Vox2-dev:5,994 个说话人,215,432 个短语。
  • Eval-1 来自 Vox1:1,251 个说话人,23,036 个短语。
  • Eval-2 来自 Vox2-test:118 个说话人,2,310 个短语。
  • Eval-3 / Eval-4 来自 DeepMine,用于 OOD 测试,短语分别是 “ok google”(约 2 秒)和 “my voice is my password”(约 3 秒)。

为了让评测更接近真实难例,论文还设计了 hard example mining。具体做法是先按说话人聚合短语样本,用预训练 SV 模型构造 speaker prototype,再计算说话人之间的相似度,把“相似但不同人”的配对选为 hard negatives。Eval-1 中 trials 包括 top-1% 565,242、top-5% 903,678、top-10% 1,041,902 和 random 1,382,110;Eval-2 中对应为 26,904、52,702、65,086 和 95,900。

7. 实验设置:三个强声纹骨干 + 多种注册方式

论文使用三个开源说话人模型作为冻结骨干:ECAPA-TDNN(20.8M 参数,embedding 维度 192)、CAM++(7.2M 参数,embedding 维度 512)和 ERes2Net-L(20.5M 参数,embedding 维度 192)。它们在 VoxCeleb-O 上的基础 EER 分别为 0.86、0.65 和 0.57,说明骨干本身已经是强基线。

对比的 enrollment 设置包括:10 秒 TI、3 秒 TI、TD phrase(0.8–3 秒),以及加入 verifier 后的混合注册神经重打分。指标使用 Equal Error Rate(EER,越低越好),并报告不同 hard-negative 难度下的结果。

8. 主要结果:混合注册 + 神经重打分跨骨干稳定提升

Table 2 的核心结论是:在 3 秒或 10 秒 TI 注册条件下,TI 通常优于纯 TD,因为更长注册音频提供了更稳定的身份信息;但当 TI 极短时,TD 的短语内容一致性又变得重要。因此最稳的方案是 TD + TI 混合注册,再通过 neural verifier 重新打分。

几个代表性数字如下:

  • ECAPA-TDNN:Eval-1 平均 EER 从 10 秒 TI 的 6.59 降到 5.75;3 秒 TI 从 8.23 降到 6.45;TD phrase 从 10.06 降到 9.27。
  • CAM++:Eval-1 平均 EER 从 10 秒 TI 的 6.44 降到 5.35;3 秒 TI 从 8.15 降到 6.03;TD phrase 从 9.15 降到 8.31。
  • ERes2Net-L:Eval-1 平均 EER 从 10 秒 TI 的 5.27 降到 4.54;3 秒 TI 从 6.51 降到 5.13;TD phrase 从 7.96 降到 7.22。

在最难的 top-1% hard-negative 场景中,改进同样明显。例如 CAM++ 的 10 秒 TI top-1% EER 从 11.33 降到 9.58,3 秒 TI 从 13.34 降到 10.47;ERes2Net-L 的 10 秒 TI top-1% EER 从 9.32 降到 8.17,3 秒 TI 从 11.02 降到 8.99。说明该方法不是只在容易样本上调分,而是在相似说话人构成的 hard cases 中也有效。

9. TI 时长分析:什么时候 TI 强,什么时候 TD 强?

Figure 4 分析了 TI enrollment duration 对 EER 的影响。论文报告,在 CAM++ 的 Eval-1 random 设置下,纯 TD enrollment 的 EER 为 3.62%,加入 verifier 后降到 3.09%。而 3 秒 TI enrollment 的 EER 为 8.86%,表现较差;随着 TI 时长从 1 秒增加到 10 秒,EER 持续下降。当 TI 时长超过 3 秒时,TI 开始优于 TD;当 TI 小于 2 秒时,TI 仍弱于 TD。

这组实验解释了论文方法为什么要做 hybrid enrollment:TI 不是天然更好,它依赖足够时长;TD 也不是过时方案,在极短注册语音下,短语内容一致性仍然有价值。简单把 TI 和 TD 分数平均并不够,论文提到 10 秒时 TI+TD(mean) 几乎收敛到 TI-only(2.03% vs. 1.98%),而混合注册 + 神经重打分能进一步达到 1.6%。真正带来差距的是可学习的 frame-level re-scoring,而不是机械平均。

10. OOD 结果:DeepMine 上也能降 EER

论文还在 DeepMine 构造的 Eval-3 / Eval-4 上做 out-of-distribution 评估。这里的短语分别是 “ok google” 和 “my voice is my password”。结果显示,在 OOD 场景中 TD enrollment 通常优于短时 TI enrollment,因为文本一致性更重要;但混合注册 + verifier 仍然取得最好结果。

CAM++ 上,Eval-3 / Eval-4 的 EER 从纯 TD 的 8.17 / 6.19 降到混合方案的 6.71 / 3.48。ERes2Net-L 上,从纯 TD 的 6.97 / 4.54 降到 4.88 / 2.38。这个结果说明,verifier 学到的不是只适配 VoxPhrase 域内数据的打分偏置,而是对短语级验证中的局部匹配确实有泛化帮助。

11. 创新点总结

  • 面向真实 UDKWS 的 SDSV 设定:论文关注用户自定义短语,而不是固定口令或预定义说话人集合,更贴近智能设备中的实际声纹核验链路。
  • VoxPhrase 数据集:从 VoxCeleb 自动构建 0.8–3 秒短语级声纹验证数据,并加入 hard example mining,使评测能覆盖相似说话人的难例。
  • Hybrid enrollment:把 TI 的稳定身份信息和 TD 的短语一致性结合起来,避免单一路线在不同注册时长下失效。
  • 冻结骨干 + 轻量 verifier:不修改 ECAPA-TDNN、CAM++、ERes2Net-L 等强声纹模型,只训练小型重打分模块,部署成本更低。
  • Parallel cross-attention:在 TD 注册短语和 TD 查询短语之间做双向帧级交互,弥补单个 utterance embedding 对局部短语证据建模不足的问题。
  • 实验结论清晰:TI 超过 TD 需要足够注册时长;极短 TI 下 TD 更稳;简单平均不足,神经重打分才是提升 EER 的关键。

12. 局限

这篇论文的优点是问题定义明确、工程路线轻量、实验覆盖多个骨干和 OOD 数据。但也有一些边界需要注意。第一,VoxPhrase 是从 VoxCeleb 自动切分得到,虽然规模大,但仍依赖 ASR 和 forced alignment 质量;真实设备中的远场噪声、回声、唤醒误检可能更复杂。第二,论文主要使用 EER 评估,没有展开真实产品中常见的固定 FAR/FRR 操作点分析。第三,方法需要注册端同时具备 TD 和 TI 语音,若用户注册流程只允许一句极短短语,混合注册收益会受限。

整体来看,这篇工作的价值不在于提出一个很大的声纹 backbone,而在于把短语级声纹验证中的两个实际矛盾讲清楚:短 TD 有内容一致性但身份信息少,长 TI 有身份稳定性但内容不一致。Hybrid enrollment 提供两类证据,parallel cross-attention 负责细粒度对齐,neural re-scoring 再学习如何融合它们。对于智能音箱、车载语音、个人助理和用户自定义关键词系统,这是一条比较务实的改进路线。

参考

Zhiqi Ai, Han Cheng, Shiyi Mu, Zhiyong Chen, Yongjin Zhou, Shugong Xu. Stabilizing Short Duration Speaker Verification through Neural Re-scoring with Hybrid Enrollment. arXiv:2606.16115v1, 2026. https://arxiv.org/abs/2606.16115

中文解读参考:短语音不到 3 秒,说话人验证怎么稳住?https://mp.weixin.qq.com/s/yM0XWdtOntNFMqWh3HW0hw

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 改善对齐和表达,用热词增强覆盖专名长尾,并在较小参数规模下取得了很有竞争力的多方言识别效果。