DotaMath: 结合代码辅助与自我修正的思维分解数学推理
计算与语言
2024-07-18 v3 人工智能
机器学习
摘要
大型语言模型(LLMs)在处理简单数学问题方面取得了令人瞩目的进展,但在应对更具挑战性和复杂性的数学任务时仍显吃力。在本文中,我们介绍了一系列采用“结合代码辅助与自我修正的思维分解”方法进行数学推理的LLMs,称为DotaMath。DotaMath模型通过将复杂数学任务分解为更简单的逻辑子任务,利用代码求解这些子任务,从代码解释器获取细粒度反馈,并进行自我反思与修正来处理复杂数学问题。通过标注多样化的交互式工具使用轨迹,并在GSM8K和MATH数据集上应用查询演化,我们生成了一个包含574K查询-响应对的指令微调数据集DotaMathQA。我们使用模仿学习在DotaMathQA上训练了一系列基础LLMs,得到的DotaMath模型在各种领域内和领域外基准测试中,与开源LLMs相比均取得了显著性能。值得注意的是,DotaMath-deepseek-7B在竞争激烈的MATH数据集上展现了64.8%的出色性能,在GSM8K上达到了86.7%。此外,DotaMath-deepseek-7B在一系列领域内和领域外基准测试中保持了强大的竞争力(平均80.1%)。展望未来,我们预期DotaMath范式将为解决复杂的数学问题开辟新途径。我们的代码已在 https://github.com/ChengpengLi1003/DotaMath 公开。
引用
@article{arxiv.2407.04078,
title = {DotaMath: Decomposition of Thought with Code Assistance and Self-correction for Mathematical Reasoning},
author = {Chengpeng Li and Guanting Dong and Mingfeng Xue and Ru Peng and Xiang Wang and Dayiheng Liu},
journal= {arXiv preprint arXiv:2407.04078},
year = {2024}
}
备注
Work in progress