modelscope / modelscope/FunASR
SenseVoice-Small 增量微调:保留普通话+粤语的前提下新增潮汕话识别,如何避免灾难性遗忘?
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 20.4k
- Forks
- 2k
- Avg merge
- 4h 55m
- Merged PRs (30d)
- 169
Description
背景
我们线上用 SenseVoice-Small 做普通话 +粤语识别(已部署),输出标准中文。现在想在不损失现有普通话/粤语识别能力的前提下,新增潮汕话识别。
难点:潮汕话不在 SenseVoice 现有语种里;而且我们拿不到官方普通话/粤语的原始训练数据,担心直接微调会导致普/粤能力灾难性遗忘。
想请教的问题
-
如何防遗忘:在没有原始 zh/yue 训练数据的情况下,微调新增一个语种,有没有官方推荐做法避免遗忘?是否只能靠混入其他 zh/yue
数据"复习"?新增语种数据 vs 复习数据的推荐配比大概是多少? -
能否部分参数微调:SenseVoice-Small 微调是否支持冻结部分参数(比如冻结encoder、只训练部分层)用于低资源/防遗忘?文档里我只看到全量微调,请问有没有冻结/adapter 的官方做法?
-
语种标签冲突:SenseVoice 的语种 token 是闭集(
<|zh|> <|en|> <|yue|> <|ja|> <|ko|>),没有潮汕话槽位。我打算把潮汕话标成
<|zh|>(因为输出目标是标准中文)——这样会不会干扰原有普通话(同为<|zh|>)的识别?能否新增一个自定义语种 token?如何添加? -
有没有增量扩展新语种的官方示例或建议?
我已经尝试/了解的
- 已读训练文档 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|>)。尚未开跑,想先确认方向是否正确。
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked training guide and examples/industrial_data_pretraining/sense_voice/finetune.sh, then inspect how the JSONL fields and language tokens are consumed. Check whether the existing entry point documents freezing or adapter configuration and whether custom language tokens are supported. Done would be a documented, tested direction for adding Chaoshan speech while preserving Mandarin and Cantonese behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, pytorch
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100