#3388·FunASR

SenseVoice-Small 增量微调:保留普通话+粤语的前提下新增潮汕话识别,如何避免灾难性遗忘?

Author: 13649480419Created Jul 23, 2026Updated Sep 9, 2026
Labelsquestionneeds feedback

背景 我们线上用 SenseVoice-Small 做普通话 +粤语识别(已部署),输出标准中文。现在想在不损失现有普通话/粤语识别能力的前提下,新增潮汕话识别。

难点:潮汕话不在 SenseVoice 现有语种里;而且我们拿不到官方普通话/粤语的原始训练数据,担心直接微调会导致普/粤能力灾难性遗忘。

想请教的问题

  1. 如何防遗忘:在没有原始 zh/yue 训练数据的情况下,微调新增一个语种,有没有官方推荐做法避免遗忘?是否只能靠混入其他 zh/yue 数据"复习"?新增语种数据 vs 复习数据的推荐配比大概是多少?

  2. 能否部分参数微调:SenseVoice-Small 微调是否支持冻结部分参数(比如冻结encoder、只训练部分层)用于低资源/防遗忘?文档里我只看到全量微调,请问有没有冻结/adapter 的官方做法?

  3. 语种标签冲突:SenseVoice 的语种 token 是闭集(<|zh|> <|en|> <|yue|> <|ja|> <|ko|>),没有潮汕话槽位。我打算把潮汕话标成 <|zh|>(因为输出目标是标准中文)——这样会不会干扰原有普通话(同为 <|zh|>)的识别?能否新增一个自定义语种 token?如何添加?

  4. 有没有增量扩展新语种的官方示例或建议?

我已经尝试/了解的

  • 已读训练文档 https://modelscope.github.io/FunASR/zh/training.html ,了解 finetune.sh 与 jsonl 数据格式(key/source/target/text_language 等)。
  • 已确认拿不到官方 zh/yue 原始数据,所以卡在"如何防遗忘"上。
  • 目前主要未解决两点:① 无原始 zh/yue 数据下的遗忘问题;② 潮汕话挤用 <|zh|> 是否会干扰普通话。

计划使用的命令

计划用 examples/industrial_data_pretraining/sense_voice/finetune.sh + jsonl(潮汕话样本 text_language 标为 <|zh|>)。尚未开跑,想先确认方向是否正确。