论文
通过符号等价划分进行推理时间代码选择
Inference-Time Code Selection via Symbolic Equivalence Partitioning
摘要
在推理时对多个候选程序进行采样是改进 LLM 代码生成的有效方法。然而,它的好处取决于从生成的池中可靠地选择正确的解决方案。我们观察到这个选择问题具有独特的语义结构:尽管语法、实现或算法策略存在差异,但正确的解决方案通常会在有效输入上收敛到相同的功能行为。同时,仅达成共识并不足以保证正确性,因为模型还可以产生相关的错误解决方案,从而实现相同的错误行为。我们提出了符号等价划分(SEP),这是一种推理时间选择框架,它首先使用问题提供的公共示例作为轻量级有效性信号。然后,SEP 使用符号执行将剩余的候选程序划分为有界功能等价类,并从主导等价类中进行选择。在 HumanEval+ 和 LiveCodeBench 中,SEP 持续提高选择准确性,无需辅助测试生成、学习验证器或额外的 LLM 推理。在 $N=10$ 时,SEP 将 HumanEval+ 上的平均准确度从 0.754 提高到 0.826,将 LiveCodeBench 上的平均准确度从 0.565 提高到 0.647,这表明符号功能一致是推理时代码选择的有效信号。