519. Feedback Prize - English Language Learning | feedback-prize-english-language-learning
首先,我要感谢竞赛主办方组织了这次比赛,也要感谢各位参赛者。作为一个NLP竞赛和Kaggle的新手,大家的代码和讨论对我帮助很大。幸运的是,我获得了我的第一枚奖牌。
我对以下几类模型进行了加权平均集成:“在Feedback3数据上训练的模型” + “在Feedback1伪标签数据和Feedback3数据混合集上训练的模型” + “使用我微调后的模型嵌入训练的Rapids SVR模型” + “使用Hugging Face预训练模型嵌入训练的Rapids SVR模型”。
CV策略使用了 K=5 的 MultiLabelStratifiedKFold。
顺便提一下,根据讨论区(见:https://www.kaggle.com/competitions/feedback-prize-english-language-learning/discussion/368437) 的说法,我对 MultiLabelStratifiedKFold 的使用存在bug,但CV和LB之间的相关性很好。
采取了好几个步骤来改进模型,具体解释如下。
首先我尝试开发一个好的单模型。经过手动调参,以下配置效果不错。
很多人用单模型达到了 Public 0.43,这也是我的目标,但我没能实现,所以我决定依赖集成。
这一步中最高的 Local CV 是 Deberta-xlarge 的 0.4502(不是 Deberta-v3 系列)。
我用上述配置训练了以下模型,并对这些模型进行加权平均集成,为 feedback prize1 的训练数据和测试数据生成了伪标签。
我小心避免泄露,对5个折中的每一个分别进行标记以生成伪标签。我还移除了 feedback 1 数据和 feedback 3 数据中的重复项。看来在这场比赛中防止这种泄露非常重要。
使用步骤1中开发的预训练模型,我将 feedback 1 的数据与 feedback 3 的数据混合,仅微调了一个 epoch。
这一步中最高的 Local CV 是 Deberta-xlarge 的 0.4472。在这里,单模型的 Public 分数达到了 0.43,而且集成模型的 Public 分数进入了铜牌区。
首先,我将 Rapids SVR 应用于步骤2中模型的嵌入,虽然 CV 不太好,但与之前的模型集成时 CV 和 LB 都有所提升,所以我采用了它。
接下来,我将该模型应用于 Hugging Face 上可用的预训练模型。这个模型也被采纳了,因为与之前的模型集成时 CV 和 LB 都有所提升。在这个阶段,集成模型得以进入 Public 银牌区。