数据集选择
目前选择处理的数据集是Ape210K,这是一个开源的中文小学数学题数据集。数据量为210K.后续根据模型微调需要,可能还会使用其他的数据集做补充。
任务概述
由于在模型的微调训练中需要用到知识点标签,在获得基础的数据集后,对数据集进行处理,打上知识点标签。
设计、编写了一个dataProcess程序来完成这个任务。这个程序主要由以下几个部分组成。
1.调用接口。
2.提示词与请求函数。
3.处理response的代码
4.异常捕捉与处理代码
将数据集分割为几部分,每人负责标记一部分数据。
任务难点与解决方案
1.调用接口
调用付费接口的成本相对高昂(标记一遍数据集gpt3.5预计成本150+RMB,gpt4昂贵到1600+RMB)
寻找了多个提供gpt免费接口的项目,尝试部署并对他们做出对比。
最终使用free_chatgpt_api这个项目提供的免费接口。此接口因为免费,所以限制每分钟调用次数不得超过20次,并且额度有限。这限制了高并发请求(但每个人借了几个舍友的key,慢慢跑到底跑完了)
2.模型标注知识点的准确度、幻觉问题,提示词的迭代设计
在实际测试gpt-3.5的知识点标注效果中,发现对于提前准备好的标签,gpt-3.5的分类效果很差,并且时常出现幻觉问题,虚构出不存在的、根本不符合题目的标签,并经常忽略指定的输出格式,输出无关内容。如果直接处理,数据集标签的质量将非常堪忧。
为了解决这个问题,重新设计了打标签的思路,不向模型提供现成标签,而令模