返回列表

[8th Place] Solution.

478. Feedback Prize - Evaluating Student Writing | feedback-prize-2021

开始: 2021-12-14 结束: 2022-03-15 智能评测 数据算法赛
[第8名] 解决方案

概览

在撰写我们的解决方案之前,我们要感谢佐治亚州立大学和 Kaggle 举办这次比赛,并祝贺大家。同时,我非常享受与我的 UPSTAGE 团队(sergei, ducky, 和 dlrgy22)一起参加这次比赛。

训练代码和推理笔记本如下:

流程如下:

验证策略 -> 文本预处理 -> 模型 -> 集成 -> Logits 后处理

✔️ 有效的尝试:

  • 初始学习率 1e-5
  • 较小的最大梯度范数(约 1.0)
  • 带预热的平台或线性衰减学习率
  • SWA(稳定验证性能,至少提升 +0.01)
  • 通过指数移动平均过滤噪声标签的 Mean Teacher 方法

❌ 无效的尝试:

  • 初始学习率 3e-5
  • 较大的最大梯度范数(约 10)
  • SAM 优化器
  • Dice Loss / Focal Loss(gamma 2.0)
  • DeBERTaV3 中的位置桶扩展

验证策略

  • 使用来自 CHRIS DEOTTE 笔记本 的主题进行交叉验证。
  • 使用一半的 OOF(Out-of-Fold)数据作为测试集来寻找后处理超参数。

文本预处理

  • 我们使用掩码标记来反映换行符信息。
  • 将每个实体的起始位置调整到右侧最近的字母数字字符

预处理前的实体:,Some quotation here.
预处理后的实体:Some quotation here.

  • 某些样本中存在单词被实体文本的开头或结尾分割的情况

例) discourse_id -> 1621804837671
原始文本: t would allow students to …
修改后文本: it would allow students to …

模型

我们使用了 4 个 DeBERTa 模型:DeBERTa v1 large 和 xlarge 模型,DeBERTa v2 xlarge 模型以及 DeBERTa v3 large 模型。

以下是每个模型的训练代码及运行方法:

更多细节和示例请参阅上方的方案文档。

集成

我们使用了首标记集成

在本次比赛中,我们针对标记的 logits 进行了集成。然而,由于每个模型使用的分词器定义的词表不同,即使是相同的文本,分词结果也可能不同

同比赛其他方案