https://arxiv.org/pdf/2403.02884.pdf
这篇文章介绍了一种名为MathScale的方法,使用前沿的大模型(如GPT-3.5)创建高质量的数学推理数据集。MathScale方法的核心思想是模仿人类数学学习的认知机制,通过以下几个步骤来生成新的数学问题和答案对:
- 概念提取(Concept Extraction) :
- 从现有的种子数学问题中提取高层次的概念,即主题(topics)和知识点(knowledge points)。
- 使用GPT-3.5作为数学老师,通过prompt engineering来提取这些概念。
- 目标是提取解决问题所需的元信息,如数学科目名称或教科书章节的主题名称(主题),以及更精细的数学概念(知识点),例如定理、技能等。
- 概念图构建(Concept Graph Construction) :
- 使用提取的主题和知识点构建概念图,图中的节点代表主题和知识点。
- 图中包含三种类型的边:主题到主题、主题到知识点、知识点到知识点,形成三个子图。
- 通过计算共现统计来建立边的权重,即如果两个节点(主题或知识点)在种子问题中共同出现,则在它们之间建立边。
- 数学推理数据生成(Mathematical Reasoning Data Generation) :
- 从概念图中随机采样主题和知识点,然后使用这些采样的概念来指导GPT-3.5生成新的数学问题和答案对。
- 通过图随机游走算法来创建概念组合,然后基于这些组合生成问题。
- 为了引导GPT-3.5正确构造问题,还包括了一些示例问题,这些示例问题基于知识点集的Jaccard距离从种子问题中选择。
- 验证(Validation) :
- 由于新生成的问答对中可能存在错误答案,文章中尝试引入了一个额外的验证过程,即让GPT-4生成参考答案,然后验证这个答案是否正确。
- 如果GPT-4认为原始答案不正确,则用新的GPT-4答案替换。但在最终的流程中,这个验证步骤被移除了,因为小规模实验表明这个步骤并没有改善结果。
通过这种方法,作者成功创建了一个包含两百万数学问题-答案对的数据集(MathScaleQA),并用这个数据集对开源的大型语言模型(如LLaMA-2和Mistral)进行了微调,显著提高了它们在数学推理方面的能力。在MWPBENCH基准测试中,MathScale-7B模型在所有数据集上都取得了最先进的性能。