此笔记为逻辑推理task1 打卡笔记,本期task1主要任务是跑通baseline并将结果提交至比赛官网
代码将在魔塔和阿里云modelscope平台上运行。
作者的话:
我是非计算机类的本科学生,受到了同学邀请参加了本次夏令营和比赛。听说这个方向比较适合小白,我也比较感兴趣,就毫不犹豫地加入了🤭。希望能在这次夏令营中学习到一些新的知识和技能吧。下面是对比赛的一些理解以及个人的一些看法(可能不是很成熟🤔)
比赛介绍
任务:构建一个能够完成推理任务的选择模型
- 运用机器学习模型或者深度学习模型解决推理问题。或者利用训练集数据对开源大语言模型进行微调。
本次比赛数据集为逻辑推理数据,其中训练集中包含500条训练数据,测试集中包含500条测试数据。每个问题包括若干子问题,每个子问题为单项选择题,选项不定(最多5个)。目标是为每个子问题选择一个正确答案。推理答案基于闭世界假设(closed-world assumption),即未观测事实或者无法推断的事实为假。
具体的,每条训练数据包含 content
, questions
字段,其中content
是题干,questions
为具体的子问题。questions
是一个子问题列表,每个子问题包括options
和answer
字段,其中options
是一个列表,包含具体的选项,按照ABCDE顺序排列,answer
是标准答案。
数据集格式如下:
round1_train_data.jsonl
: 每一行代表一条反应
{'id': 'round_train_data_001',
'problem': '有一个计算阶乘的递归程序。该程序根据给定的数值计算其阶乘。以下是其工作原理:\n\n当数字是0时,阶乘是1。\n对于任何大于0的数字,其阶乘是该数字乘以其前一个数字的阶乘。\n根据上述规则,回答以下选择题:',
'questions': [{'question': '选择题 1:\n3的阶乘是多少?\n',
'options': ('3', '6', '9', '12'),
'answer': 'B'},
{'question': '选择题 2:\n8的阶乘是多少?\n',
'options': ('5040', '40320', '362880', '100000'),
'answer': 'B'},
{'question': '选择题 3:\n4的阶乘是多少?\n',
'options': ('16', '20', '24', '28'),
'answer': 'C'},
{'question': '选择题 4:\n3的阶乘是9吗?\n',
'options': ('是', '否'),
'answer': 'B'}]
}
评价指标
本次评估指标为所有子问题的回答准确率,每个子问题权重相同。
以上是基于赛事官网对本次比赛赛题的解释,按作者的理解就是让电脑做选择题,最后评分的依据就是所有子问题的正确率
图为代码读取的赛题测试集
Task1遇到的相关问题及解决办法
Task代码跑一次需要大概 500w Tokens,可以尝试使用一些model scope平台提供的其他开源模型的API服务。
2.model scope 平台退出实例后不会保存除代码以外的文件,需要及时将重要文件保存到本地。
3
3. 如图根据作者的判断,这些为未能得出答案的题目。因此这些题目最后全部都蒙A处理了😮
可以发现baseline虽然能够解决一些逻辑推理问题了,但还有很多的进步空间。预计在后续的task中优化代码,让其解决更多问题,同时提高准确率。