最近,一项名为Orca-Math的研究引起了广泛关注,该研究展示了如何使用小语言模型(SLM)解决小学数学问题。数学问题解决一直被认为是一项复杂的任务,对于SLM来说尤其具有挑战性。然而,Orca-Math通过使用一种创新的方法,成功地将一个只有70亿参数的SLM在GSM8K基准测试上的准确率提高到了86.81%,而不需要使用任何外部工具或进行多次模型调用。
Orca-Math的核心思想是使用一个高质量的合成数据集和一个迭代学习技术,使SLM能够通过练习解决问题、接收反馈并从解决方案的偏好对中学习。具体来说,Orca-Math使用了一种多智能体设置,其中智能体协作创建一个包含20万个数学问题的合成数据集。然后,使用监督微调技术对SLM进行训练,使其能够解决这些问题。
为了进一步提高SLM的准确率,Orca-Math采用了一种称为“偏好学习”的迭代学习技术。在该技术中,SLM被要求解决一系列问题,并接收关于其解决方案的反馈。然后,SLM使用这些反馈来学习解决方案的偏好对,并根据这些偏好对进行调整。通过这种方式,SLM能够逐渐提高其解决问题的能力,并最终达到很高的准确率。
Orca-Math的结果表明,即使使用相对较小的模型和数据集,也有可能实现高水平的数学问题解决能力。在GSM8K基准测试上,Orca-Math的准确率超过了其他更大的模型,如LLAMA-2-70B、WizardMath-70B和Gemini-Pro,以及更小的模型,如ChatGPT-3.5。此外,Orca-Math的训练数据集比其他模型使用的要小得多,只有几十万个问题,而其他模型则使用了数百万个问题。
然而,Orca-Math的方法也存在一些局限性。首先,尽管Orca-Math在GSM8K基准测试上取得了很高的准确率,但该方法可能不适用于更复杂的数学问题或更高级别的数学教育。其次,Orca-Math的合成数据集的质量对于模型的性能至关重要,因此创建高质量的合成数据集可能需要大量的时间和资源。