返回列表

1st Place Solution

519. Feedback Prize - English Language Learning | feedback-prize-english-language-learning

开始: 2022-08-30 结束: 2022-11-29 智能评测 数据算法赛
第一名解决方案

第一名解决方案

作者: Dracarys (rohitsingh9990)
团队成员: Yevhenii Maslov, poteman
发布时间: 2022-11-30

非常感谢主办方和 Kaggle 举办这场有趣的比赛,我们在这次比赛中玩得很开心。同时也要祝贺所有其他参赛者,感谢你们提供的优秀解决方案和成果。特别感谢我的队友 @evgeniimaslov2@poteman,我们有着完美的团队合作。

摘要

我们的解决方案基于训练大量具有不同池化技术和最大长度的模型,最后进行集成。我们还使用了 3 个模型来提取嵌入并将其添加到集成中。

交叉验证

在整个比赛过程中,我们的集成 CV(交叉验证分数)和 LB(排行榜分数)之间几乎具有完美的相关性。每当我们看到 CV 有所改善时,我们都会在 LB 上看到类似的反映,且随机波动范围非常小。对于折叠划分,我们使用了 MultilabelStratifiedKFold 策略。

建模

我们的最终解决方案是不同建模方法的组合。

训练/PL 数据 + 不同的池化技术 + 模型 + max_len(deberta 模型为 768/1462,其他为 512)+ 冻结前 n 层 + 重新初始化/不重新初始化顶层 + 差分学习率 + AWP。

使用的池化层:

  1. MeanPooling(平均池化)
  2. ConcatPooling(拼接池化)
  3. WeightedLayerPooling(加权层池化)
  4. GemPooling(Gem池化)
  5. LSTMPooling(LSTM池化)

使用的模型:

  1. microsoft-deberta-v3-base
  2. deberta-v3-large
  3. deberta-v2-xlarge
  4. roberta-large
  5. distilbert-base-uncased

用于提取嵌入和 SVR 的模型:

  1. "facebook/bart-large"
  2. "flax-sentence-embeddings/all_datasets_v3_roberta-large"
  3. "facebook/bart-large-mnli"

权重调整:

  • 我们使用 Optuna 来调整模型权重,因为我们在训练时使用了不同的折叠,所以我们使用最终的 OOF(Out-of-Fold)预测来调整权重。权重也是按目标进行调整的。
  • 只有当模型能同时改善我们的集成 CV 和 LB 时,我们才将其添加到集成中。
  • 通过这种方法我们获得的最佳 CV 是 0.44073(因为担心过拟合我们没有选择这个提交,但它的私有分数最高)。 我们的第二佳 CV 是 0.44096(它具有良好的 CV/LB 相关性)。
模型 CV Public LB Private LB
deberta-v3-base with PL (Roh) 0.4464 0.437219 0.437982
deberta-v3-large (Yev) 0.4460 0.436758 0.434625
deberta-v3-large (pub) 0.4548 0.439502 0.437965
nischay (pub) 0.4588 0.442645 0.439982
deberta-v2-xlarge (pub) 0.4675 0.442497 0.443604
roberta-large (Roh) 0.4596 0.443616 0.444081
deberta-v3-large (pub)