本文是LLM系列文章,针对《CODEI/O: Condensing Reasoning Patterns via Code Input-Output Prediction》的翻译。
摘要
推理是大型语言模型的基本能力。虽然之前的研究主要集中在提高数学或代码生成等狭义技能上,但由于训练数据稀疏和碎片化,提高许多其他推理任务的性能仍然具有挑战性。为了解决这个问题,我们提出了CODEI/O,这是一种新颖的方法,通过将原始代码转换为代码输入输出预测格式,系统地压缩了嵌入在基于上下文的代码中的各种推理模式。通过训练模型来预测给定代码和测试用例的输入/输出,这些模型完全以自然语言作为思维链(CoT)原理,我们将它们暴露给通用推理原语,如逻辑流规划、状态空间搜索、决策树遍历和模块分解,同时将结构化推理与特定代码的语法解耦,并保持过程的严谨性。实验结果表明,CODEI/O可以在符号、科学、逻辑、数学和数值以及常识推理任务中实现一致的改进。通过匹配现有的真实实况输出或用预测的输入重新执行代码,我们可以验证每个预测,并通过多轮修正进一步增强CoT,从而产生CODEI/O++并实现更高的性能。我们的数据和模型在https://github.com/hkust-nlp/CodeIO可用。