返回列表

Private 7th (Public 2nd) Place Solution Summary

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

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

私有第 7 名(公开第 2 名)解决方案总结

作者: kaerururu

队友: tereka, irrohas, aerdem4

发布时间: 2024-12-13

竞赛: EEDI - Mining Misconceptions in Mathematics

首先,我想感谢 Kaggle 团队、主办方举办这次比赛,以及我的队友 (@tereka, @irrohas, @aerdem4)。
我终于获得了第 5 枚金牌。我很高兴能成为竞赛大大师 (Competitions Grand Master)。

概述

3 个管道(检索器 + 重排序器)的投票集成
所有重排序器推理均使用 vllm

管道 1 (由 Masaya 负责)

这是一个简要总结。
Masaya 将在此链接撰写详细信息。

检索器 (Retriever)

  • 使用预训练的 qwen35B 生成测试答案
  • 模型:SFR-Embedding-2_R,硬负样本采样 (N=100),如果在训练数据中未见则移除。
  • 数据集:用 GPT4o-mini 填充未知的误解 (Misconception)
  • 候选数量:60

重排序器 (Reranker)

  • Qwen2.5 32B AWQ+LoRA (带 40 个选项)
    • 选项 → 0~9 + A~Z + a~z (40 个字符)
  • 数据集:仅原始数据
  • 候选数量:40
  • 运行两次并合并 ([:40] 和 [20:])
  • 保留 25 个带 logprobs 的结果

管道 2 (由 Tereka+Kaeru 负责)

检索器 (Retriever)

  • 模型 1:SFR-Embedding-2_R、硬负样本采样 (100)
    • 数据集:原始数据 + 使用 gemma 27B/Qwen2.5 32B 合成的数据
    • 本地分数 (LB) 0.378
  • 模型 2:sayoulala 的公开模型
  • 模型 1 和模型 2 的加权平均
  • 候选数量 70 并用 Masaya 的预测过滤
  • 仅单折 (single fold)

重排序器 (Reranker)

  • Qwen2.5 32B AWQ+LoRA (带二元选项)
    • 选项 → yes, not
  • 数据集:原始数据 + 使用 gemma2 27B/Qwen2.5 32B 合成的未知误解数据
  • 仅单折 (single fold)

管道 3 (由 Ahmet 负责)

检索器 (Retriever)

  • 在最终管道中省略

重排序器 (Reranker)

  • 候选者是前一个管道各自的 top9
  • Qwen2.5 32B (带 9 个选项)

集成 (Ensembling)

  • 每个管道的投票集成
  • 按以下方式应用排名,连接,求和排名,按 sum_rank 排序
sub0
  .with_columns(pl.col("MisconceptionId").str.split(" "))
  .with_columns(pl.lit([1/i for i in list(range(1, 26, 1))]).alias("rank"))
  .explode(pl.col(["MisconceptionId", "rank"]))
submission
  .sort(by=["QuestionId_Answer", "sum_rank", "rank1", "rank2"], descending=[False, True, True, True])
  .group_by(["QuestionId_Answer"], maintain_order=True)
  .agg(pl.col("MisconceptionId"))

后处理 (Postprocessing)

  • 提升缺失误解的排名

加速技巧

检索器

  • 使用 cuda:0 和 cuda:1 并行运行
  • 预计算误解向量 (Misconception Vector)
  • 使用 collate_fn 动态填充 (Dynamic padding)

重排序器

  • 使用 vllm 推理 (AWQ 4bit 量化)
  • 设置 vllm 参数 enabling_prefix_cache 为 True
  • 用管道之前的预测过滤候选者

未生效的方法 (What not worked)

检索 (Retrieval)

  • 连接向量 (Concat vectors)
  • 平均多个向量 (Averaging many vectors)

重排序器 (Reranker)

  • 全数据训练模型 (Full-data trained model)
  • QwQ 模型

谢谢大家!!

同比赛其他方案