485. NBME - Score Clinical Patient Notes | nbme-score-clinical-patient-notes
感谢 Kaggle 和比赛主办方设计了这么棒的 NLP 比赛。这篇文章总结了 Y3S 队的努力,与我的队友 @sgalib、@syhens 和 @smnomaan 一起合作是一次很棒的经历!这是我们团队共同努力的总结。
尽管我们受到了榜单震动的影响,从第11名的金牌位置跌落,但这仍是一次很好的学习经历。
我们意识到伪标签在本次比赛中将是一个重要的部分,因此我们花费了大量时间,采用两阶段方法来获取高质量的伪标签。第一组伪标签基于我们最好的 deberta-v3-large 模型。我们使用这些伪标签在 5 个折上训练了许多模型,然后使用模型集成来进一步改进伪标签。我们只使用每个折的模型来生成伪标签,以避免泄露。这种方法显著提高了 CV 和 LB 分数(+0.002)。例如,roberta-large 通过这种两阶段方法和 20% 的采样伪标签,LB 分数达到了 0.890。
我们的团队致力于训练不同的架构和不同的训练流程,包括:
大多数模型的 5 折平均 CV 分数为 0.891x,因此我将列出 LB 分数:
| 模型 | Public LB | Private LB |
|---|---|---|
| Derberta-v3-large | 0.891 | 0.892 |
| Derberta-v2-xlarge | 0.891 | 0.890 |
| Derberta-v3-base | 0.890 | 0.890 |
| roberta-large | 0.890 | 0.889 |
| longformer-large | 0.890 | 0.889 |
| electra-large | 0.890 | 0.890 |
令人惊讶的是,我们甚至可以使用简单的 deberta-v3-base 模型在 LB 上获得 0.890 的分数!
我们基于 OOF 预测的误差分析添加了一些自定义后处理:
后处理使我们的 CV 和 LB 提升了 +0.001。
我们使用了类似于公开方法的字符级平均。我们开发了一种更快的集成版本,允许我们集成 5-6 个 5 折(共 25-30 个)base/large/xlarge 模型。权重基于 OOF CV 通过 Optuna 进行优化。
我们的最终选择是多样化模型的集成:
debv2-xl + debv3-large (awp) + debv3-large (no awp) + longformer-large (lstm head) + roberta-large + debv3-base 平均 CV 0.8947
期待下一个挑战!