331. Jigsaw Unintended Bias in Toxicity Classification | jigsaw-unintended-bias-in-toxicity-classification
首先,非常感谢我出色的队友 yangDDD。虽然我们参加这次比赛的时间比较晚,但我们成功驾驭了这些“猛兽”(模型)。
在本次比赛中,我们使用了六个BERT模型,分别是:
为了增加模型的多样性,我们使用uncased数据训练了BERT-large-cased模型,并将其作为我们的模型之一。
这个模型没有达到我们预期的高分,但它仍然提高了我们集成模型的分数。
将上述6个BERT模型按权重进行融合:0.25, 0.15, 0.2, 0.2, 0.12, 0.08。
对13个RNN模型进行平均融合。
最后将融合后的BERT、RNN和GPT-2按权重融合:0.88, 0.06, 0.06。
在单块V100 GPU上,BERT-base模型一个epoch的典型训练时间约为2小时。
我们使用了辅助标签,包括 severe_toxicity(严重毒性)、obscene(淫秽)、identity_attack(身份攻击)、insult(侮辱)和 threat(威胁)。
对于原始的毒性标签,我们使用0.5作为阈值来获取二分类标签,然后计算我们预测结果的二元交叉熵作为 loss1。对于辅助标签,我们直接计算预测结果的二元交叉熵作为 loss2(标签和logits都是[0,1]范围内的浮点数)。最终损失 = loss1 * 0.02 + loss2。我们尝试了很多其他损失函数来拟合评估指标,这个效果最好。
如果句子长度超过 Lmax,我们拼接开头的 0.25Lmax 个token和结尾的 0.75Lmax 个token,因为最重要的信息通常存在于尾部和头部。最大长度 Lmax 设置为 220。
我们将BERT编码器最后一层和特定任务分类器的学习率设置为基础学习率,例如 5e-5;对于前面的BERT层,我们将学习率按 0.98 的比率递减。因此,BERT base模型第一层的学习率为 5e-5 * 0.98^12。
对于 BERT-base 和 GPT-2,我们将batch size设为48,累积步数设为3;对于 BERT-large,batch size和累积步数分别为12和20。