返回列表

#24 Solution

446. CommonLit Readability Prize | commonlitreadabilityprize

开始: 2021-05-03 结束: 2021-08-02 智能评测 数据算法赛
#24 解决方案
作者:yao (MASTER) | 比赛排名:第 24 名

首先,感谢主办方和 Kaggle 举办了这场有趣的比赛。同时,非常感谢 torch (@rhtsingh) 分享他/她的经验,这帮助我突破了 0.485 的分数并取得了更好的成绩。

总结

我的最终模型由 2 种类型的模型组成,总共 17 个模型。

  1. 单模型输入:编码后的原始文本。模型:使用平均池化和注意力头的 roberta/deberta/bart last_hidden_states。
  2. 成对模型输入:基准编码文本和编码后的原始文本。模型:对基准文本和原始文本使用相同的架构,然后进行拼接(或相减)。

正如主办方所说,每个分数都是一段文本与基准文本的比较。 详情点击此处

微调

我的最终模型使用了几乎相同的微调策略。具体如下:

  • 轮数:Base 模型为 5 轮,Large 模型为 3 轮
  • 批次大小:几乎最大化 GPU 显存利用率(4 - 24)
  • 梯度累积:1-2
  • 优化器:AdamW + Lookahead
  • 学习率调度器:Base 模型不使用,Large 模型使用 cosine_schedule_with_warmup(warmup steps > 0)
  • LLRD (逐层学习率衰减):使用 torch 的共享设置并设置 base_lr=5e-5
  • 随机初始化顶层:Base 模型 1-2 层,Large 模型 4-6 层
  • 评估频率:每 n 步评估一次,n 为 10 到 60 步

得分

仅报告相同基础 Transformer 模型中的最佳得分。

模型 成对 (1/0) CV Public Private
Roberta-large 0 0.47835 0.466 0.470
Roberta-large 1 0.46694 0.460 0.459
Roberta-base 1 0.47325 0.475 0.477
Deberta-large 0 0.46440 0.460 0.461
Deberta-large 1 0.46673 0.462 0.464
Bart-large 0 0.46184 0.462 0.464
Bart-large 1 0.46401 0.463 0.463
Bart-base 1 0.47103 0.470 0.472
Xlnet-large-cased 1 0.47427 0.475 0.465
Electra-large 1 0.47100