论文
基于 LLM 的代码生成的内省不确定性估计
Introspective Uncertainty Estimation for LLM-Based Code Generation
摘要
大型语言模型 (LLM) 越来越多地用于代码生成,但可以生成流畅但功能不正确的输出,这限制了人们对其在实际软件工程工作流程中的使用的信任。本论文研究了基于 LLM 内部隐藏状态表示的内省不确定性估计 (IUE) 是否能够可靠地指示代码生成任务的响应和行级别的正确性。目的是确定隐藏状态对有关功能代码正确性的信息进行编码的程度,以及如何利用这些信息进行实际风险评估和故障定位。从方法上讲,本文将 LiveCodeBench (LCB) 和 BigCodeBench (BCB) 上的响应级评估与从不正确的程序中派生词元级和行级标签的增强管道相结合。在此设置中,它比较静态和动态响应级特征,评估跨任务、编程域和词元位置的泛化,并研究线路级故障定位。结果表明,隐藏状态包含强烈的响应级别正确性信号。静态单词元探测表现最佳,而更复杂的动态策略则无法产生一致的收益。虽然跨任务、领域和词元位置的泛化是可行的,但对于现实世界的软件项目来说,依赖于设置的退化在很大程度上仍然存在。在细粒度上,线路级预测比响应级估计要困难得多。然而,在具有已知不正确程序的条件本地化设置中,Top-K 故障点排名仍然有效。总体而言,研究结果表明,隐藏状态是估计功能代码正确性的强大且信息丰富的资源,支持将响应级风险筛选与目标行级优先级结合起来的两阶段工作流程。