Skip to content

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

Description

@13649480419

背景
我们线上用 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|>)。尚未开跑,想先确认方向是否正确。

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs feedbackWaiting for reporter feedback or retest resultsquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions