Apr, 2024

CodeHalu: 基于执行验证的LLMs驱动的代码幻觉

TL;DR大型语言模型在代码生成领域取得了显著的进展,为自动化编程和开发人员提供了前所未有的支持。然而,大型语言模型有时生成的代码虽然看似合理,但无法满足预期要求或执行不正确。本研究提出了基于执行验证的代码幻觉定义方法,并首次引入了代码幻觉的概念,将代码幻觉分为映射、命名、资源和逻辑四种主要类型,以更好地理解和解决大型语言模型在代码生成过程中面临的独特挑战。我们提出了一种动态检测算法和构建了CodeHalu基准测试集,该测试集包括来自699个任务的8,883个样本,用于主动检测大型语言模型在编程过程中的幻觉现象。我们在该基准测试集上测试了16个流行的大型语言模型,评估了它们在代码生成过程中幻觉的频率和性质。研究结果揭示了大型语言模型在生成代码方面准确性和可靠性方面的显著差异,强调了改进模型和训练方法以确保自动生成代码的功能正确性和安全性的紧迫需求。本研究不仅对代码幻觉进行了分类和量化,还为基于大型语言模型的代码生成研究提供了改进的见解。CodeHalu基准测试集和代码可在此https URL上公开获取。