shibing624 / pycorrector

pycorrector is a toolkit for text error correction. 文本纠错,实现了Kenlm,T5,MacBERT,ChatGLM3,Qwen2.5等模型应用在纠错场景,开箱即用。
https://www.mulanai.com/product/corrector/
Apache License 2.0
5.61k stars 1.1k forks source link

pycorrector是否支持增量训练 #362

Closed 123109 closed 10 months ago

123109 commented 1 year ago
    想请问一下大佬,pycorrector是否支持增量训练?readme看了,貌似没有相关的说明。issue太多了,大概翻了一下,没有看到类似的问题,所以这边提一个新的issue。
    我们的使用场景是asr之后进行纠错,这就意味着在使用的过程中会不断产生新的业务数据,因此需要不断地更新模型。现在的问题是,目前在28万条数据的情况下, 我们训练一次需要将近50个小时 ,将来数据量更多的话会需要更长的时间去训练(当然可以通过增加硬件的方式去提高速度,但这不是根本的解决方法)。
    所在在这种业务场景下,有没有可以增量训练的方式 ?比如我第一次训练20万条数据,得到模型A,花了50个小时;在使用的过程中收集了1万条新的数据,能否在模型A的基础上仅对新增的1万条新的数据进行训练,得到模型B,这个模型B拟合了两次训练的21万条数据。
    谢谢!
shibing624 commented 1 year ago

不就是继续finetune就可以吗,在A模型上继续训练就行,如果觉得效果有偏,加点之前的样本。

123109 commented 1 year ago

卧槽,大佬回复这么快……是这个吗?fine-tune 使用transformers(旧称pytorch-pretrained-BERT)的examples/language-modeling/run_language_modeling.py处理。

shibing624 commented 1 year ago

是的,继续run,就是fine-tune

123109 commented 1 year ago

现在的问题,找不到run_language_modeling.py这个脚本……是不是要到commit记录里面去找?

shibing624 commented 1 year ago

macbert4csc 就使用macbert文件夹下的train.py, T5模型也有提供train.py, 这里的train 都是finetune(微调)操作,因为都是在pretrained model基础上训练的。

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.(由于长期不活动,机器人自动关闭此问题,如果需要欢迎提问)