返回列表

12th place solution

504. Feedback Prize - Predicting Effective Arguments | feedback-prize-effectiveness

开始: 2022-05-24 结束: 2022-08-23 智能评测 数据算法赛
第12名解决方案

第12名解决方案

作者: ktr (Team Animals)
比赛排名: 第12名

我要感谢所有的参与者和比赛的主办方。
感谢团队所有成员的辛勤工作( @tomoyayanagi, @kashiwaba, @zacchaeus, @shairahama
如果没有团队,我不可能取得现在的成绩。

模型

  • Deberta-large
  • Denerta-xlarge
  • Deberta-v3-large
  • bigbird-roberta-large

Token Classification (Token分类)

所有模型均采用 Token 分类构建。
Token 分类在 discourse_text 的开头添加了 [CLS] token,在结尾添加了 [SEP] token。
成员们使用的池化方法有所不同,使用了 cls token 或平均池化。
最好的输入方法是在开头和结尾引入特殊 token(start, end)(由 @zacchaeus 引入)

<{discourse_type} start> discourse text <{discourse_type} end>
    

添加元描述

我们发现了每篇文章主题的标签趋势。
基于这些结果,我们将主题文本添加到了输入的顶部。
这个方法为我们提供了最好的单模型(由 @zacchaeus 构建)

主题信息取自公开的 Notebook。非常感谢。
(https://www.kaggle.com/code/jdoesv/take2-feedback-essays-to-prompts)

topic prompt [SEP] <{discourse_type} start> discourse text <{discourse_type} end>, ...
    

我记得主办方曾发布讨论说文章的主题是通用的。因此,我认为这个方法奏效了。

伪标签

起初,我们将所有 2021 年的数据作为伪标签,但由于数据分布差异太大,训练进展并不顺利。因此,我们采用了采样并使用部分数据的方法。

所以,以下方法对我们很有效(由 @kashiwaba 引入)

  • 丢弃所有构成文章的 discourse_text 中具有高 Adequate 预测值的文章
  • 获取所有包含 Ineffective 预测的数据
  • 对剩余包含 Effective 的文章进行 25~35% 的采样

伪标签与训练基础模型的折痕相匹配,以最大限度地减少泄露

另一个考虑是根据主题对 2021 年的数据进行采样,因为 2022 年的主题分布不同,但没有足够的时间

Stacking (堆叠)

我们构建了一个第二层模型,使用第一层模型对 3 个标签的预测展平作为特征。
Discourse_type 作为元特征添加。
使用的模型包括逻辑回归、lgbm 和 xgb。
相比使用基于 Nelder-Mead 集成的加权平均,这显著提升了 CV 和 LB 分数

其他有效方法或技巧

  • MLM
    • 平滑损失并提升了 cv/lb
  • AWP
    • 似乎在第 1 或第 2 个 epoch 开始效果较好
  • FGM
  • 在 steps 而不是 epochs 中进行更多验证评估
  • 层级学习率 (衰减率 0.98)
    • Transformer 分类头使用更高的学习率
同比赛其他方案