摘要
arXiv:2502.07316v3 通知类型: 替换-交叉
摘要:推理是大型语言模型的基本能力。尽管先前的研究主要集中在增强诸如数学或代码生成之类的狭窄技能上,但由于训练数据稀疏且碎片化,提高其他许多推理任务的性能仍然具有挑战性。为了解决这一问题,我们提出了CodeI/O,这是一种新颖的方法,通过将原始代码转化为代码输入-输出预测格式,系统地浓缩了内在嵌入在上下文相关代码中的各种推理模式。通过训练模型以自然语言形式的思维过程(CoT)来预测给定代码和测试用例的输入/输出,我们将它们暴露于通用的推理原语——例如逻辑流程规划、状态空间搜索、决策树遍历以及模块化分解——同时分离结构化推理和代码特定的语法,保持过程的严谨性。实验结果表明,CodeI/O 在符号推理、科学推理、逻辑推理、数学与数值推理以及常识推理任务中均取得了一致的改进。通过匹配现有真实的输出或重新执行使用预测输入的代码,我们可以验证每个预测,并通过多轮修订进一步增强CoTs,从而形成CodeI/O++,实现更高的性能。我们的数据和模型可在 https://github.com/hkust-nlp/CodeIO 获取。