632. Eedi - Mining Misconceptions in Mathematics | eedi-mining-misconceptions-in-mathematics
感谢 Kaggle 和 The Learning Agency Lab 举办本次竞赛。
虽然很遗憾😢以一名之差错失金牌,但我们感激这次学习和成长的机会。
我们得分最高的私有榜 (Private LB) 提交方案如下:
(a) 知识蒸馏 (Knowledge Distillation)
使用 Qwen2.5-Math-7B-Instruct 来解决题目以获得最终正确答案。直接使用基础模型是因为它看起来相当有能力,同时也为了避免过拟合公共榜 (Public LB)。此推理过程被用于训练下一步的嵌入 (Embedding) 模型。
(b) 候选生成 (Candidate Generation)
Qwen2.5-14B-Instruct 使用步骤 1 中的推理文本进行了微调。训练代码改编自 @sayoulala 的 GitHub 仓库。此检索器用于获取前 100 个误解 (misconceptions)。
(c) 第一轮列表重排序 (1st Listwise Reranking)
将步骤 2 中的前 100 个误解填入提示词 (prompt),连同主题 (Subject)、结构 (Construct)、问题 (Question)、正确答案和错误答案一起发送给微调后的 Qwen2.5-32B-Instruct。模型仅生成 1 个 token(与正确误解相关的字母 ID)。然而,我们计算了 logprobs 以获取前 25 个误解 ID,而不仅仅是 1 个。
(d) 第二轮列表重排序 (2nd Listwise Reranking)
将阶段 3 中的前 25 个误解以相同的方式使用微调后的 Qwen2.5-72B-Instruct 进行重排序。
以上组合方案在私有榜得分为 0.561,公共榜得分为 0.578。
交叉验证 (CV) - 基于误解 ID 的 GroupKFold 4 折。
FlagEmbedding (改编自 @sayoulala 的 GitHub 仓库)
72B 模型
利用 LLaMa-Factory 在分布式设置下使用 LoRA 微调所有 72B 模型。所有模型均使用 DeepSpeed ZeRO-3 协议进行训练和分片,以确保权重、梯度和优化器状态都能适应可用的显存 (VRAM)。
32B 模型
使用 Hugging Face SFT Trainer 训练。
总提交时间:500 分钟 (8.3 小时)
最后,非常感谢我出色的队友们 🌟 @nbroad,🌟 @abdullahmeda 和 🌟 @benbla 在本次竞赛中的辛勤工作和合作!!