论文

基于 LLM 的代码生成中过度自信失败的特征

Characterizing Overconfident Failure in LLM-Based Code Generation

模型评测应用与实践鲁棒性、公平性与可信度评测编程

摘要

大型语言模型 (LLM) 越来越多地用于自动代码生成,但生成的程序在语法上看似合理,但仍然无法通过基于执行的正确性检查。现有的验证方法(例如测试和程序分析)仍然必不可少,但通常不完整、成本高昂或仅在生成后才应用。因此,模型导出的不确定性是一个自然的早期可靠性信号。本文研究了代码LLM中过度自信的困境,其中错误的程序经常生成,其token级别的置信度与正确的程序相当。我们通过四个开源代码模型和三个基于执行的基准测试来研究这一困境。我们的分析首先调查现有的不确定性指标是否为代码生成中的执行正确性提供可靠的代理。然后,我们在全局和局部token级别上描述过度自信的特征,询问在置信度和熵摘要(包括选择性生成和指令调整的限制)下,不正确的程序是否与正确的程序无法区分。 最后,我们评估常见的缓解策略是否可以减少这种故障模式。我们的研究得出了四项发现。首先,现有的不确定性信号仅提供执行失败的部分且依赖于模型的证据。其次,过度自信在计划和token层面都持续存在,基于不确定性的选择并不能持续提高接受集的准确性。第三,指令调整可以增加失败世代的确定性,而无需持续改进正确性辨别力。第四,常见的缓解技术可以改善可靠性的特定方面,但不能可靠地解决过度自信的故障。我们的探索性潜在分析表明,隐藏表示可能会编码输出置信度未暴露的与正确性相关的信号。