573. Kaggle - LLM Science Exam | kaggle-llm-science-exam
与许多其他竞赛不同,我认为本次竞赛的重点放在了数据的质量和预处理上,而不是模型架构的复杂性上。由于我们最初只有200行数据,数据收集成为解决方案的关键部分。以下是我的方法的一些要点:
首先对train.csv文件进行手动标记,我找到了每个问题的原始来源页面。虽然不保证100%准确,但达到了预期效果。
关键发现:在此阶段的一个重要观察是,许多问题来自相同的分类。一些原始页面来自非科学类文章,例如来自"对称性分类"的"Droste效应"和"三曲腿图"。然而,该分类中的大多数其他文章(如"自发对称性破缺")都与科学相关。这使我假设竞赛数据集可能来自科学分类而非特定的科学页面。此外,这似乎是自动提取而非手动选择的结果。
在认识到分类的重要作用后,我专注于构建以分类为中心的数据集:
为了扩展可用数据,我引入了几个版本的AC数据集。这些数据集仅用于模型推理/验证,而非训练部分:
(数据集命名是临时起意,后来被沿用)
数据集准备就绪后,我采用了混合搜索策略。结合使用向量(使用在AC上微调的e5和bge模型)和tfidf相似度来识别与问题最相关的摘录。
我的最终解决方案是三个Deberta(ForMultipleChoice)模型的集成,这些模型有一些细微差别,例如:(1)输出层的数量,(2)输入中上下文-问题-选项的顺序,(3)模型对其他选项的感知。每个模型都通过4种不同的上下文增强进行了优化:GP、NS、GPP1、AC-750。
总之,这次竞赛是一次很棒的学习经历。通过观察模式、认识分类的重要性并实施多样化的策略,我成功构建了一个足够强大的解决方案,能够顺利过渡到私人排行榜。