GSM8K Eval
GSM8K 数据集评测
GSM8K是大小为8.5K的小学数学数据集,涉及基本算术运算,需要2-8个步骤才能解决,包含7.5K训练集和1K测试集。GSM8K每道题的答案包含完整的解题过程,有助于CoT训练。
GSM8K
数据集的测试集共1319条,我们使用上述的模型推理服务,对这些样本进行预测,得到预测文件。
GSM8K
测试集的测评脚本如下:
对于测试样本,微调模型会预测解题过程,如果预测结果中包含Python代码,则使用正则表达式提取出被python\n(...)\n
所包围的Python代码字符串,保存为Python脚本,使用subprocess
模块执行Python脚本,如果代码执行报错或者超时(有可能为死循环),则会重试预测解题过程,这样最多尝试3次。
在GSM8K
数据集中,测试数据的正确答案在 #### 后面,而且一般为整数。而我们微调后的模型,在最后生成的回答中,将正确答案用\boxed{}包围起来,这样我们可以直接对比两者的结果,从而给出初步准确率。
但部分测试样本的最终答案并没有使用\boxed{}包围起来或者有报错(预测结果为ERROR
),因此我们需要人工再次确认这些样本。笔者写了一个gradio构建的web页面,用于人工确认,Python代码如下:
人工确认页面如下图:
经过人工再次确认后,我们就能得到微调模型在GSM8K
测试集上的准确率了。
笔者按照这种方式测评方式,使用微调后的模型Yi-1.5-34B-math
,对GSM8K
测试集进行了两次测评,准确率均为 83.47%
,这其中预测出错的样本共8个。