多方言ASR自蒸馏:学会方言,不忘普通话

1、简介

近年来的 ASR 模型已经能够取得很强的普通话识别准确率,同时也具备一定的中文方言识别能力。不过,在真实语音场景中,这些模型对于方言的识别准确率仍然有限。直接针对方言进行适配,可以降低方言的 CER,但是也可能导致普通话 CER 上升。因此,论文作者研究的问题是:

如何对一个本身已经很强的 ASR 模型进行适配,在提高多方言识别能力的同时,不降低它的普通话识别能力。

目前已经有多种针对中文方言 ASR 的建模方法。例如 Dolphin-CN-Dialect 针对中文方言 ASR 的模型,重点使用包含丰富方言的数据进行微调训练。Mixture-of-Experts 利用共享模块和多个不同的 expert 来建模多种方言。Adapter 方法,在预训练 ASR 模型中加入少量可训练模块,从而降低长尾语言或者方言适配的成本。还有一些工作会显式加入与方言相关的表示或者 embedding,让模型能够获得方言信息。这些方法通过增加训练数据、修改模型结构、增加小型适配模块或者显式提供方言信息,提高了模型的方言建模能力。但是,方言适配可能影响模型原本的普通话能力。所以,对于一个中文多方言 ASR 模型而言,它不仅需要学习不同方言之间的变化,还必须保留已有的普通话性能。论文作者为了缓解这个问题,采用了一套分阶段的适配流程:

  • •持续预训练(Continual Pre-Training,CPT)。在大规模普通话---方言混合数据上进一步适配基础模型。

  • •方言监督微调(Supervised Fine-Tuning,SFT)。提高方言语音在训练中的权重,同时仍然保留少量普通话数据。这一阶段目的是降低方言 CER,但仍有可能导致普通话 CER 上升。

  • •最后使用 On-Policy Self-Distillation(OPSD)进行进一步精修。OPSD 主要解决自回归 ASR 中训练与测试不一致(train-test mismatch)的问题,即"缓解如果我前面自己已经识别错了,后面该怎么办?"的问题

    • •具体来说,在 OPSD 中,student 模型使用自己解码出来的前缀 进行训练;与此同时,一个被冻结的 teacher 模型,会把正确的参考转写文本作为一种训练阶段的特权上下文(privileged context),并向 student 提供 token 级别的软目标。

    • •因此,模型不再继续使用方言数据进行强硬的交叉熵更新,而是改用知识蒸馏。这样既能够进一步改善方言识别,又能帮助保留普通话能力。

论文作者基于 Qwen3-ASR-1.7B 实现了这一框架,并在公开以及内部的普通话和方言测试集上进行了评估。在 refinement 数据和训练 schedule 完全相同的条件下,OPSD 能进一步改善方言识别,同时不会提高普通话 CER;相比之下,如果继续使用 teacher-forcing 的普通 SFT,普通话 CER 会明显上升。论文主要贡献如下:

  • •采用了一套针对中文多方言 ASR 适配的三阶段框架,包括 CPT、方言 SFT 和 OPSD refinement。

  • •将 OPSD 用于自回归 ASR refinement。在这种方法中,正确参考转写文本作为 teacher 在训练阶段能够看到的 privileged context,而 student 自己解码出来的 prefix 则构成 on-policy 状态。

  • •在公开和内部的普通话及方言测试集上进行了控制变量实验。该框架可以改善方言识别,同时保持甚至改善普通话识别性能。作者还将公开模型权重和评测脚本,以支持后续研究。

2、思路

针对预训练 ASR 模型进行适配,通常从目标语音上的监督微调开始。这个目标简单且有效,但它也会让模型向目标数据的分布偏移。对于中文多方言 ASR 来说,目标不只是降低方言 CER,模型还需要保留从规模大得多的数据中学到的普通话能力。因此,方言适配与持续学习(continual learning)非常类似

模型需要学习新的语言变体,同时又必须保留已有能力。

已有工作从不同角度解决了这个问题的一部分。例如 Adapter、LoRA 这类参数高效方法能够降低适配成本;持续学习方法会增加额外约束,防止模型参数偏离旧任务状态过远;领域适配和 self-training 则利用未标注或弱标注语音提高模型鲁棒性。这些研究表明:适配不只是数据问题,训练目标同样会影响哪些能力被强化、哪些能力被削弱。知识蒸馏提供了另一种引导适配过程的思路。在 ASR 中,teacher-student 训练可以使用:

  • • 更强的模型;

  • • 多个 teacher;

  • • pseudo-label;

  • • consistency target。

相比 one-hot 标签,soft target 能保留强 teacher 分布中的更多信息,因此有助于减少对已有能力的覆盖,例如普通话识别能力。但仅有 soft target 还不够。标准监督微调仍然让 decoder 在正确参考转写文本的 prefix 上训练,而真正自回归解码时,模型只能接着自己生成的 token 往下预测。这一训练---测试差距在 sequence model 中已有很长的研究历史:scheduled sampling 在训练中混合正确 prefix 与模型自己生成的 prefix;更近的 on-policy distillation 则让 student 直接在自己的 rollout 上训练,并由 teacher 对这些状态给出密集的 token 级反馈。

这一差距对方言语音的影响更大:方言识别更容易在句子靠前的位置出错,prefix 一旦偏离,后续生成就会迅速脱离正确路径。此时若继续在方言数据上做 hard cross-entropy 训练,还会把模型进一步推离普通话。因此,理想的最终训练目标需要同时满足两点:

  • •在更加接近真实推理的解码状态下训练;

  • •使用 teacher 的 soft guidance 精修困难方言,而不是再进行一次激进的 one-hot 更新。

3、方法

3.1 整体框架

3.2 CPT 阶段

第一阶段是 CPT。在进行方言 SFT 之前,首先在大规模普通话---方言数据上对基础 ASR 模型进行进一步适配。训练语料定义为:

这个数据集由多个大规模普通话和方言语料组成。具体数据来源和小时数会在表 1 中给出。loss 使用标准的序列级交叉熵:

其中 表示参数为 的 ASR 模型。这一阶段使用成对的音频和转写文本。它的作用是为后续方言 SFT 提供一个更强的 ASR 基础。

3.3 SFT 阶段

第二阶段是方言 SFT。它从 CPT checkpoint 出发,进一步降低方言 CER。这一阶段的重点并不是添加大量新的方言类型。它主要做的是改变采样比例,从而让方言语音在训练中获得更大的权重。构建:

其中 包含已经在 CPT 阶段使用过的全部方言训练数据。而 则是一小部分普通话训练数据。这一阶段仍然使用和 CPT 相同的序列级交叉熵目标。所以与 相比,最大的变化其实就是:

普通话---方言数据的采样比例。

该阶段会降低方言 CER,同时也产生一个统一的 SFT checkpoint,供最后的 refinement 阶段使用。

3.4 OPSD 阶段

第三阶段从 SFT checkpoint 开始应用 OPSD。这一阶段有两个目标:

1)第一个目标

希望在更加接近实际 inference 的解码状态下训练模型。这对于方言语音尤其重要。标准 teacher-forced SFT 在预测每一个 token 时,都会使用正确参考转写文本的 prefix。但是在真正解码时,模型必须根据自己之前产生的 token继续。因此,如果前面很早就发生一次错误,之后的状态就可能离开正确路径。

2)第二个目标

不再对方言数据继续做一轮 hard cross-entropy 更新。而是使用一个能力较强 teacher 的 soft target。这样可以降低模型继续覆盖普通话能力的程度。

针对自回归 ASR refinement 定义 OPSD。在原始 OPSD 方法中,同一个模型在不同 context 下同时充当 teacher 和 student,并且 teacher 路径不参与梯度更新。而在 ASR refinement 中,采用稍微不同的方法。从 SFT checkpoint 复制出一个被冻结的 teacher ,只训练 student

这样做能够保证 student 在长语音序列上不断更新时,teacher 提供的 soft target 仍然保持稳定。refinement 数据集 从全部方言训练数据 中筛选得到。对于每一条 :

student 首先生成自己的 hypothesis。之后,teacher 在同样的 student prefix上输出 token 级 soft target。teacher 能够看到正确的参考转写文本,作为 privileged context。student 看不到它。

把这个 privileged context 写成 。它是一个只在训练阶段使用的 prompt 字段,并通过 delimiter 与 student prefix 隔开。它只存在于 teacher 路径中。student 和最终部署的模型都无法看到它。

对于每个训练样本,具体过程如下。

第 1 步:student 自己采样 hypothesis

这里 是一直生成到 EOS 为止的预测位置数量。训练时使用 作为 sampling temperature。

第 2 步:teacher 给出分布

对于每一个位置 ,teacher 在同一个 student prefix上计算:

其中 是词表。

注意 teacher 的输入里包含:音频、 正确参考答案构成的 privileged context,以及 student 自己之前生成的 token。

第 3 步:只更新 student

student 通过匹配 teacher 的分布进行训练:

只更新 ,teacher 始终保持冻结。推理时 以及 全部不存在,真正部署的是 student 。训练只使用纯 ,不额外加入辅助 cross-entropy loss。

4、实 验

4.1 实验设置

4.1.1 数据集

完整训练集大约包含:10 万小时普通话和方言数据。CPT 使用全部数据。方言 SFT 仍然使用相同来源的数据同时只保留少量普通话数据,即提高了方言语音的采样权重

对于 OPSD 或 Continued SFT,又从 的方言训练数据中进一步筛选出一个大约 5000 小时 的 refinement 数据集 。筛选流程如下:

首先使用 SFT 模型解码这些 utterance。然后将识别结果与 reference 进行比较,并计算 CER。之后过滤掉:

  • • metadata 不可靠的数据;

  • • 时长异常的数据;

  • • transcript 为空的数据;

  • • transcript 极短的数据;

  • • 音频加载失败的数据。

从剩余样本中,优先保留:来自人工标注数据源的高 CER utterance。同时,会限制每种方言能够进入的数据小时数避免少数非常困难的方言占据整个数据集如果数据中存在 speaker ID,也会确保测试 speaker 不出现在训练和 refinement 集里。同时,还进行了 utterance 级去重。方言 utterance 使用的是汉字转写,而不是方言音标。

4.1.2 细节

基础模型使用:Qwen3-ASR

所有阶段均在:8 张 NVIDIA RTX A6000 GPU 上训练。

使用:

  • • DeepSpeed ZeRO-2

  • • FlashAttention-2

CPT

上训练 1 个 epoch。学习率 ,global batch size 1536。使用标准 cross-entropy loss。

SFT

从 CPT checkpoint 出发。在上训练 1 个 epoch。learning rate、batch size 和 objective 均与 CPT 相同。

OPSD

使用严格匹配的训练设置。

  • • 从 SFT checkpoint 开始;

  • • 在约 5000 小时的 上训练;

  • • 训练 1 个 epoch。

  • • 学习率 ,global batch size 512。

4.2 实验

4.2.1 主要实验结果

CPT:方言下降普通话上升。单独 CPT 并不足以解决问题。

方言 SFT 证明增加方言语音训练权重,确实会改变普通话与方言之间的 CER trade-off。

OPSD 相对 SFT 8 个普通话测试集全部下降,5 个公开方言测试集也全部下降。

4.2.2 方言性能分析

表 6 显示,在 18 种内部方言之间存在非常明显的"容易---困难"分化。

4.2.3 消融实验

使用两个消融实验来验证论文的两个核心结论。

第一个实验:Direct Dialect SFT 使用与 SFT 完全相同的数据和超参数。唯一不同:不经过 CPT,直接从 Qwen3-ASR 开始。

在方言 SFT 之前,CPT 到底有没有用?结论是有用


第二个实验:Continued SFT 使用 teacher-forced cross-entropy。OPSD 使用冻结 teacher 提供的 KL objective。
在完全相同的数据上,OPSD 是否真的比继续 cross-entropy 训练更好?结论是更好


两个实验使用的是完全相同的 **和训练 schedule。因此两者之间性能差异来自训练 objective 本身**,而不是来自更多训练数据或者更多训练预算。

5、参 考

题目:On-Policy Self-Distillation for Multi-Dialect ASR: Mastering Dialects, Retaining Mandarin

**论文:**https://arxiv.org/abs/2608.11898

**code:**https://github.com/ASLP-lab/CN-MultiDialect-ASR

**Hugging Face:**https://huggingface.co/ASLP-lab/CN-MultiDialect-ASR

相关推荐
禁默1 小时前
2026年Mac被控远控深度测评横评:六大主流远程软件哪款更能打
人工智能·远程
AR-26710-1 小时前
机器学习复习Day1——线性回归编程作业
人工智能·机器学习
呆呆敲代码的小Y1 小时前
10 分钟搞懂 cua:开源 AI 操作电脑基础设施,附 Python 沙箱与 Agent 上手代码
人工智能·python·开源·ai agent·awesome·llm应用·cua
工具分享1 小时前
带店托管必用爆单AI选品,一人公司轻松掌握
人工智能·python
l1258651 小时前
# RAG低延迟架构设计:从5秒到500ms的优化全链路
数据库·人工智能·python·langchain
JavaPub-rodert1 小时前
DeepSeek 终于能看图了:V4 Flash Vision 上线,我觉得真正重要的是这件事
人工智能·codex
亿信华辰软件1 小时前
边对话、边治理、边学习——数据治理的下一代范式
人工智能·数据治理
Python私教1 小时前
如意智影:如何让同一个人物在多个镜头里保持身份一致
人工智能·python·架构
两万五千个小时2 小时前
DeepSeek Harness 从 0 开始:10 Hooks 模块(钩子协议)
人工智能·程序员·架构