香港中文大学多媒体实验室推出新方法Step-Controlled DPO(SCDPO),用于提升大语言模型(LLMs)在数学推理等下游任务上的表现。例如,我们有一个超级聪明的电脑助手,它可以理解和解决复杂的数学问题,但有时它可能会在解题过程中出错。SCDPO的作用就是帮助这个电脑助手更准确地理解问题并找到正确的解题步骤。
- GitHub:https://github.com/mathllm/Step-Controlled_DPO
主要功能和特点:
- 自动提供逐步错误监督:SCDPO通过创建从特定步骤开始出错的数学推理解决方案的负样本,帮助模型识别和纠正错误。
- 改进模型对推理错误的理解:通过在DPO训练中应用这些样本,SCDPO使模型更好地理解推理过程中的错误,并输出准确的推理步骤。
- 提升性能:实验表明,SCDPO在不同的SFT(Supervised Fine-Tuning)模型上,相比传统的DPO方法,能够持续提升性能。
工作原理:
SCDPO的工作流程包括两个主要阶段:
- 逐步控制的数据生成:首先,使用一个已经通过问题-解决方案对进行微调的模型,生成一组数学问题的解决方案。然后,选择那些最终答案与真实答案匹配的解决方案,这些解决方案的推理步骤可以视为正确的。接下来,通过调节模型的超参数(例如提高最终softmax函数的温度),从解决方案的各个中间步骤开始生成,并保留最终答案不正确的样本,从而创建出在特定步骤开始出错的解决方案。
- 逐步感知的DPO训练:在DPO训练中,将正确解决方案作为优选样本,并与通过上述方法生成的错误解决方案配对,使用问题和中间步骤作为提示。这些逐步控制的训练样本帮助模型学习详细的推理能力。
具体应用场景:
- 数学问题解决:SCDPO可以用于教育软件,帮助学生理解数学问题的解决过程,并指出常见的错误。
- 自动化测试和评估:在软件开发中,SCDPO可以用来测试代码的数学计算部分,确保计算过程的准确性。
- 研究和数据分析:在需要处理大量数学计算的领域,如物理学、工程学和经济学,SCDPO可以帮助研究人员验证模型和计算结果的正确性。
0条评论