FlagEmbedding icon indicating copy to clipboard operation
FlagEmbedding copied to clipboard

关于RetroMAE预训练问题

Open LLLiHaotian opened this issue 1 year ago • 8 comments

您好,我注意到https://github.com/FlagOpen/FlagEmbedding/tree/master/examples/pretrain中提供了预训练示例,这里的预训练是从头开始重新预训练一个模型,不知我这样理解是否正确?

假设我理解正确的话,请问如果要针对某特殊文本(比如:专利标题文本等)这种无监督数据,对现有的预训练模型、进行基于RetroMAE算法的二次训练,这该如何实现呢?

数据格式与您提供的格式一致 {"text": "一种用于溶胶法SERS检测的微流控芯片及其使用方法"} {"text": "一种钢筋防腐用韧性涂料及其涂覆方法"}

LLLiHaotian avatar Mar 24 '24 07:03 LLLiHaotian

从头预训练可以,也可以从已有模型上开始训练。但是训练完后需要经过微调才能用于句子相似度计算。

staoxiao avatar Mar 24 '24 07:03 staoxiao

那预训练的log里边应该只能看loss吧,通过观察loss曲线来选择预训练较好的模型,是吗? 为什么训练完后需要经过微调才能用于句子相似度计算呢?

LLLiHaotian avatar Mar 24 '24 07:03 LLLiHaotian

那预训练的log里边应该只能看loss吧,通过观察loss曲线来选择预训练较好的模型,是吗? 为什么训练完后需要经过微调才能用于句子相似度计算呢?

预训练的目标不是计算句子相似度,是通过句子向量还原整个句子。因此在下游任务使用时需要微调。

staoxiao avatar Mar 25 '24 08:03 staoxiao

您好,还有想请问,在预训练过程中的report是这样的,在您的预训练实验中是如何判断何时停止的呢?仅凭loss曲线的变化吗? {'loss': 2.8222, 'learning_rate': 1.1313075087080098e-05, 'step': 103000, 'epoch': 1.3}

LLLiHaotian avatar Mar 26 '24 08:03 LLLiHaotian

另外我注意到,在训练过程中也会偶尔出现loss值变高(但不明显,很小的变化)的情况,请问你们在预训练的过程中是否遇到过这种情况,又是如何判断何时停止的呢?

LLLiHaotian avatar Mar 28 '24 01:03 LLLiHaotian

另外我注意到,在训练过程中也会偶尔出现loss值变高(但不明显,很小的变化)的情况,请问你们在预训练的过程中是否遇到过这种情况,又是如何判断何时停止的呢?

预训练遇到了一样的问题,loss会有小突刺,我发现改小学习率有点用,你有其他经验吗?

zw-SIMM avatar May 11 '24 04:05 zw-SIMM

另外我注意到,在训练过程中也会偶尔出现loss值变高(但不明显,很小的变化)的情况,请问你们在预训练的过程中是否遇到过这种情况,又是如何判断何时停止的呢?

预训练遇到了一样的问题,loss会有小突刺,我发现改小学习率有点用,你有其他经验吗?

是吗,我去尝试一下,我还没试过,不太清楚,你可以单独挂一个issue问一下,到时候看看楼主给什么建议

LLLiHaotian avatar May 11 '24 14:05 LLLiHaotian

那预训练的log里边应该只能看loss吧,通过观察loss曲线来选择预训练较好的模型,是吗? 为什么训练完后需要经过微调才能用于句子相似度计算呢?

预训练的目标不是计算句子相似度,是通过句子向量还原整个句子。因此在下游任务使用时需要微调。

请问一下,如果pretrain完成后,finetune还需要准备多少数据呢?只用少量下游任务数据finetune有效果如何?

friendshipity avatar Sep 27 '24 09:09 friendshipity