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

