UER-py icon indicating copy to clipboard operation
UER-py copied to clipboard

微调 finetune/run_classifier_siamese.py 模型不收敛。

Open yuanfengning opened this issue 1 year ago • 3 comments

image 预训练模型:https://huggingface.co/uer/chinese_roberta_L-12_H-768

训练命令: python finetune/run_classifier_siamese.py --pretrained_model_path sbert_base/pytorch_model.bin --vocab_path models/google_zh_vocab.txt --config_path models/sbert/base_config.json --train_path datasets/ChineseTextualInference/train.tsv --dev_path datasets/ChineseTextualInference/dev.tsv --learning_rate 5e-5 --epochs_num 5 --batch_size 64

huggingface上, 有人在用这个代码训练文本相似度模型,效果挺好,但我按照相同方法,无法复现模型。huggingface地址:https://huggingface.co/uer/sbert-base-chinese-nli。 请赐教,不胜感激。!!!

yuanfengning avatar Jul 06 '22 09:07 yuanfengning

从loss上看是收敛的,有用 https://huggingface.co/uer/sbert-base-chinese-nli 上面的例子测试一下吗?

ydli-ai avatar Jul 31 '22 13:07 ydli-ai

从loss上看是收敛的,有用 https://huggingface.co/uer/sbert-base-chinese-nli 上面的例子测试一下吗?

loss到0.39左右就不下降了,这个测试集准确率就0.5左右,huggingfac 给的模型准确率挺高,我用它给的方法,复现不了。我在他给的模型基础上,用自己的数据进一步做微调,调后的模型,所有数据准确率都90%以上(正例和反例一样)。 huggingface给的例子,能区分ChineseTextualInference的正例(得分0.85+),中立(得分0.5左右),负例(0.3-),我训练的模型,loss降低不了(0.39左右),测试准确率一直维持在(50%-60%)。数据集和代码都是按照提供的跑的。 另外, 从uer run_classifier_siamese.py的损失函数中,不太理解0,1,2的label如何和相似、中立、不相似联系在一起的。这个损失应该只能让模型把数据分成对应label,不能判断连个文本之间相似度吧。问题有点多!!

yuanfengning avatar Aug 02 '22 06:08 yuanfengning

从loss上看是收敛的,有用 https://huggingface.co/uer/sbert-base-chinese-nli 上面的例子测试一下吗?

loss到0.39左右就不下降了,这个测试集准确率就0.5左右,huggingfac 给的模型准确率挺高,我用它给的方法,复现不了。我在他给的模型基础上,用自己的数据进一步做微调,调后的模型,所有数据准确率都90%以上(正例和反例一样)。 huggingface给的例子,能区分ChineseTextualInference的正例(得分0.85+),中立(得分0.5左右),负例(0.3-),我训练的模型,loss降低不了(0.39左右),测试准确率一直维持在(50%-60%)。数据集和代码都是按照提供的跑的。 另外, 从uer run_classifier_siamese.py的损失函数中,不太理解0,1,2的label如何和相似、中立、不相似联系在一起的。这个损失应该只能让模型把数据分成对应label,不能判断连个文本之间相似度吧。问题有点多!!

yuanfengning avatar Aug 02 '22 06:08 yuanfengning