论文
代码生成中随处思考
Think Anywhere in Code Generation
摘要
推理 大语言模型 (LLM) 的最新进展主要依赖于预先思考,即推理发生在最终答案之前。然而,这种方法在代码生成方面受到严重限制,预先思考往往是不够的,因为问题的全部复杂性只有在代码实现过程中才会显现出来。此外,它无法在难度变化很大的整个代码生成过程中自适应地分配推理工作。在本文中,我们提出了 Think-Anywhere,这是一种新颖的推理机制,使 LLM 能够在代码生成过程中的任何词元位置调用按需思维。我们首先教 LLM 通过冷启动训练模仿推理模式,然后利用基于结果的 RL 奖励来驱动模型自主探索何时何地调用推理,从而实现 Think-Anywhere。对四种主流代码生成基准(即 LeetCode、LiveCodeBench、HumanEval 和 MBPP)的广泛实验表明,Think-Anywhere 相对于现有推理方法和最新的 后训练 方法实现了最先进的性能,同时在不同的 LLM 中展示了一致的泛化能力。我们的分析进一步表明,Think-Anywhere 使模型能够自适应地调用高熵位置的推理,从而提供增强的可解释性。