PaddleOCR icon indicating copy to clipboard operation
PaddleOCR copied to clipboard

关于蒸馏训练的时候,到底是固定好大模型的参数,教育小模型更好,还是两个小模型相互学习比较好?

Open gitTongzhen opened this issue 2 years ago • 4 comments

ppv2 ocr 采用的训练配置文件为config/ch_PP-OCRv2/ch_ch_PP-OCRv2_rec_distillation.yml关于蒸馏训练的时候,到底是固定好大模型的参数,教育小模型更好,还是两个小模型相互学习比较好?我看官方默认的是两个小模型相互学习,但是我训练的时候loss收敛的非常慢

gitTongzhen avatar Oct 24 '22 07:10 gitTongzhen

同一种蒸馏方法在不同的任务、数据上可能会有不同的效果,最严谨的还是进行实验对比,我们在识别模型训练中,使用互学习比大模型指导小模型的效果好一点,但这个结论随着实验参数、训练数据等条件的变化也可能发生改变的

MissPenguin avatar Oct 24 '22 07:10 MissPenguin

正常训练来说,蒸馏训练和普通训练,loss分别下降到多少比较合适?我正常训练的时候loss下降到了0.8左右,蒸馏训练的时候loss到了80左右就下不去了,数据集都是同一份数据集

gitTongzhen avatar Oct 24 '22 07:10 gitTongzhen

正常训练来说,蒸馏训练和普通训练,loss分别下降到多少比较合适?我正常训练的时候loss下降到了0.8左右,蒸馏训练的时候loss到了80左右就下不去了,数据集都是同一份数据集

gitTongzhen avatar Oct 24 '22 08:10 gitTongzhen

这个不正常,你可以试着把蒸馏项的loss的权重修改为0看下,理论上,其中单个模型的loss和你单独训一个模型的结果是一样的

littletomatodonkey avatar Oct 24 '22 10:10 littletomatodonkey