返回列表

Private 11th (Public 9th) Place Solution Summary

632. Eedi - Mining Misconceptions in Mathematics | eedi-mining-misconceptions-in-mathematics

开始: 2024-09-12 结束: 2024-12-12 学习效果预测 数据算法赛
私有榜第 11 名(公开榜第 9 名)解决方案总结

私有榜第 11 名(公开榜第 9 名)解决方案总结

作者: huangxiaojian
团队成员: huangxiaojian, Yu Chengzhi, Linbeo
发布时间: 2024-12-13
排名: 私有榜第 11 名 (公开榜第 9 名)

首先,感谢 Kaggle 组织者和我的队友。
我将简要分享我们的解决方案。

概述

我们的流程主要遵循 flagembedding https://github.com/FlagOpen/FlagEmbedding。它可分为 2 个阶段:检索和重排序。

@sayoulala : https://www.kaggle.com/competitions/eedi-mining-misconceptions-in-mathematics/discussion/543519 感谢分享,我们的流程设计很大程度上来源于此。

检索

除了训练数据,我们还使用了来自讨论区的外部数据 https://www.kaggle.com/competitions/eedi-mining-misconceptions-in-mathematics/discussion/533764https://www.kaggle.com/competitions/eedi-mining-misconceptions-in-mathematics/discussion/541222,感谢分享。为方便起见,我们将它们称为 ext1 和 ext2。

我们将训练过程分为 3 个阶段。首先,我们使用 ext1 训练模型,然后使用 ext2 训练模型,最后使用训练数据进行训练。

我们观察到,可能 ext1 含有噪声,因此当我们使用 ext1+ 训练数据训练模型时,性能不如 2 阶段训练。对于 ext2,由于缺乏构造名称和主题名称,我们继续使用多阶段训练策略。

重排序

我们从上述三个阶段分别获得了三个训练好的检索模型。然后,我们使用这三个模型分别为 ext1、ext2 和训练数据创建硬负样本数据。接着,我们也将重排序的训练过程分为 3 个阶段,在每个阶段我们使用对应的硬负样本数据进行训练。

一些细节

当我们训练检索的第 3 阶段时,我们使用跨设备负样本(negative cross device)来增加每个正样本的负样本数量。使用该方法后,公开榜分数从 0.567 提升到 0.574。

我们使用 Qwen2.5-32B 进行检索和重排序。由于限制,我们在推理时只重排序前 18 个结果。

模型 公开榜分数
检索 0.582
检索 + 重排序 0.623

代码

主要训练代码提供在 https://github.com/MilchstraB/Eedi

同比赛其他方案