返回列表

49th place solution

573. Kaggle - LLM Science Exam | kaggle-llm-science-exam

开始: 2023-07-11 结束: 2023-10-10 自然语言处理 数据算法赛
```html

第49名解决方案

作者:bobfromjapan(Kaggle专家)
发布时间:2023年10月11日
竞赛排名:第49名
得票数:13票

在此之前,我在使用语言模型方面没有太多经验,因此我参加这次比赛主要是为了学习。通过这次经历,我不仅深入了解了语言模型的工作方式,还意外获得了我的第一枚银牌奖牌!

然而,这个成绩并非凭借我个人能力取得,而是得益于众多Kaggle用户的集体智慧,特别感谢以下几位:

  • @radek1 - 指引我使用Deberta进行多项选择的初始方向
  • @cdeotte - 发布RAG方法并提供大量维护良好的训练数据
  • @yalickj - 提供与排行榜高度相关的验证数据集,帮助模型训练
  • @mbanaei - 提供改进的上下文检索方法,推动竞赛进入新阶段

我所做的主要是将这些优秀的方法整合起来。由于时间和能力有限,我无法实现竞赛中一些关键性的改进,例如高效精准的上下文检索方法,或是像@cpmpml展示的、在有限计算资源下运行超大模型的先进计算机工程技术。

采用方法

模型训练:

  • 使用60k+40k+99k数据集训练DeBERTa-v3-large(多项选择模型)和Mistral-7B(序列分类模型),并附加基于tfidf的27万条维基百科上下文
    • 对于DeBERTa-v3-large,冻结上层权重以加速训练
    • 最初使用LLaMa2-7B,但新发布的Mistral-7B表现优异。使用4位量化和LoRA技术训练Mistral-7B,准确率显著提升
    • 值得注意的是,仅使用60k数据集的模型取得了最佳成绩:Public LB 0.9,Private LB 0.911(虽然未能作为最终提交)。增加40k+99k数据后,CV和Public分数提升至0.910,但Private分数未提高
  • 推理与集成:
    • 分别使用两个模型对解析和未解析的tfidf上下文进行推理
    • 采用简单软投票(soft-voting)集成方法
    • 为避免OOM,所有代码均写入.py文件并通过`!python xxx.py`方式运行

这里是我的解决方案笔记本:

查看完整解决方案代码

再次感谢所有Kaggler和工作人员,也特别感谢我的RTX4090显卡,近一个月来持续不断地进行计算😀

```
同比赛其他方案