返回列表

26th place solution

673. MAP - Charting Student Math Misunderstandings | map-charting-student-math-misunderstandings

开始: 2025-07-10 结束: 2025-10-15 个性化学习 数据算法赛
第 26 名解决方案

第 26 名解决方案

作者: Fosca
发布日期: 2025-10-16
竞赛排名: 26

感谢组织者和比赛主持人!这是一个有趣的挑战,我很高兴获得我的第一枚奖牌。

数据处理

标签格式类似于'True_Correct:NA'。但'True'和'False'前缀可以从其他数据推断,所以我移除了它们。所以我只使用'Misconceptions'列,并将'NA'替换为'Correct'和'Neither'类别。这将总类别数减少到 37 个。这带来了更好的 CV 分数。虽然没有提高公共 LB 分数,但也没有使其变糟,所以我决定保留它。

在提示词方面,我使用了与 此 Notebook 几乎相同的提示,但添加了问题的正确答案。

数据增强

在检查训练模型在验证数据集上的预测错误后,我得出了几个观察结果:

  • 很大一部分错误是由于误分类'Neither'类别造成的。
  • 模型有时难以将无意义的胡言乱语分类为'Neither'类别。
  • 我还发现了一个特别有趣的数据点:一名学生错误地提供了不同问题的正确解决方案,而我的模型自信地将其分类为'Correct'。

尤其是最后一个观察结果,启发了以下数据增强策略:对于给定数据,我从不同问题中随机采样另一个数据。然后将原始数据的'StudentExplanation'列替换为随机采样数据的列,并将此增强示例分配为'Neither'类别。

在每个训练 epoch 中,我随机选择了 25k 数据点(5 折 CV 为 20k)并应用此增强。这在单个模型上始终将 CV 和 LB 分数提高了 0.001~0.002。

训练

我使用上述数据增强训练了几个模型。在执行交叉验证后,我在完整数据集上重新训练并提交。对于所有模型,我使用了 r=64 的 LoRA。

模型 CV 公共 LB 私有 LB
Qwen3-8B 0.9481 0.945 0.942
Qwen3-Embedding-8B 0.9472 0.946 0.944
Qwen2.5-Math-7B 0.9471 0.945 0.941
DeepSeekMath 0.9459 0.943 0.940
F2LLM-4B 0.9469 0.947 0.942
LGAI-Embedding-Preview 0.9456 0.941 0.940
Qwen3-Embedding-4B 0.9504 0.947 0.944
Qwen3-4B-2507 0.9482 0.946 0.942
Granite-4.0-micro 0.9465 0.943 0.942
DeepSeek-Prover-V2-7B 0.9462 0.946 0.942
DeepSeek-R1-0528-Qwen3-8B 0.9460 0.945 0.942

集成这些模型使得最终 LB 分数为 0.947。我探索了两种集成技术:预测概率的简单平均,以及基于 此热门 Notebook 的方法。我移除了'agreement_bonus'项,因为它没有影响,并且我从'confidence_bonus'中排除了'Neither'类别。这是因为我的模型已经通过增强在'Neither'类别上进行了广泛训练,我想给预测带来更多的多样性。

无效的方法

  • 当使用全权重训练较小模型(ettin-encoder 变体)时,Muon 优化器优于 AdamW。但与 LoRA 结合时并非如此。所以我放弃了对较大模型使用它。
  • 数据集包含标签不一致,所以我实验了噪声鲁棒损失目标。如 此论文 详述的 Bootstrapped Cross Entropy 在较小模型(ettin-encoder-17m)上提供了轻微的性能提升,但实际上导致较大模型性能变差。
  • 我观察到不同特定误解之间的误分类很少发生,并且对整体分数几乎没有影响。这导致我实验了进一步减少的标签集,将所有特定误解聚合为单个'Misconception'类别。这只剩下三个目标标签'Correct'、'Neither'和'Misconception'。我的计划是如果表现良好,请使用以此方式训练的模型进行集成。然而,它的表现明显更差。
同比赛其他方案