519. Feedback Prize - English Language Learning | feedback-prize-english-language-learning
我们的解决方案是一个由大约30个模型组成的大型集成模型,这些模型使用了不同的头部、优化器、骨干网络、超参数、MLM预训练和伪标签配置进行训练。我们还加入了一些类似于Chris的SVR解决方案的SVR/Ridge模型。
我们调整了六组集成权重,每组对应一个列(标签)。这样做允许我们训练单标签模型或仅针对标签子集训练的模型(例如,我们包含了一个仅预测phraseology和vocab的模型,另一个仅预测syntax和conventions),这有助于增加多样性。
我们训练了许多额外的模型,但在集成中只保留了那些能同时提高CV(交叉验证)和LB(排行榜)分数的模型。然而,在比赛的最后几天,我致力于一个仅针对CV进行优化的集成模型,结果这成为了我们最强的提交。
我使用了提交集成的一个子集来生成伪标签。生成的伪标签与训练数据标签的分布有很大不同。因此,我们只选择了2021年数据的一个子集,该子集更接近训练数据的分布。通过这种方法,我们额外增加了2倍的数据量。
我们非常小心地确保伪标签不包含泄漏,方法是为每个折生成一组伪标签。我们还排除了任何与本次比赛数据有重叠的text_ids。
我们训练了一个t5-base模型,根据提示(包括前N个单词和标签)来补全文章。然后我们使用该模型创建了许多合成样本,并对这些样本进行了伪标签处理。我们只选择了伪标签与源标签紧密匹配的实例。
我用这些合成样本将原始训练数据集翻倍,并将它们与额外的2021年数据一起添加进去。
deberta-v3-base 是最好的骨干网络,但最终解决方案还包括了 deberta-v3-large、deberta-large、deberta-xlarge 和 roberta-large。
我尝试了 Bart 和 Funnel,但在我的CV上它们似乎效果不佳。
对于任何使用所有六个标签都有效的模型,我们也尝试了训练一个仅包含单个标签的模型。对于少数例子,我们尝试了2或3个标签。这些模型中的大多数提高了集成CV分数,但只有一部分提高了LB分数。
Vadim研究了许多替代的伪标签方法,包括从互联网上抓取文章和信件。我会让他写一篇帖子来描述那个过程。不幸的是,在这个阶段,Vadim仍然没有可靠的电力供应。
专注于一个强大的单一模型——这通常是最好的主意——似乎是不可能的。使用仅不同的随机种子训练相同配置的模型会给出截然不同的LB和CV结果。任何超参数调整似乎都随机地影响结果。只有伪标签持续改善了单一模型的CV,只有集成可靠地提高了我们的LB分数。
我们尝试使用不同的对抗训练方法,如快速梯度符号法、对抗权重扰动(AWP)等。我们确实有一些模型通过AWP看到了CV的提升,但训练时间的增加似乎不值得,特别是考虑到有如此多的伪标签。
模型堆叠:我们尝试了几种方法,但它们似乎没有给出非常强的CV结果。