实际代码生成中的LLM幻觉:现象、机制与缓解
本研究旨在积极检测和减轻生成过程中的“幻觉”问题,通过候选幻觉的识别、校验、减轻和继续生成的方法,成功降低了GPT-3模型的幻觉比例平均从47.5%下降到14.5%。
Jul, 2023
通过主题分析,我们对生成的代码进行了总结和分类,建立了包括五个主要类别的幻觉的综合分类法。基于结果,我们提出了一个评估代码 LLM 性能的基准,名为 HalluCode,并通过 HalluCode 和 HumanEval 进行了幻觉识别和减轻实验,结果表明现有的 LLM 在识别幻觉方面面临巨大挑战,尤其是在识别幻觉类型方面,几乎无法减轻幻觉。我们相信我们的研究结果将为幻觉评估、检测和减轻的未来研究提供指导,为建立更有效可靠的代码 LLMs 铺平道路。
Apr, 2024
大型语言模型在代码生成领域取得了显著的进展,为自动化编程和开发人员提供了前所未有的支持。然而,大型语言模型有时生成的代码虽然看似合理,但无法满足预期要求或执行不正确。本研究提出了基于执行验证的代码幻觉定义方法,并首次引入了代码幻觉的概念,将代码幻觉分为映射、命名、资源和逻辑四种主要类型,以更好地理解和解决大型语言模型在代码生成过程中面临的独特挑战。我们提出了一种动态检测算法和构建了CodeHalu基准测试集,该测试集包括来自699个任务的8,883个样本,用于主动检测大型语言模型在编程过程中的幻觉现象。我们在该基准测试集上测试了16个流行的大型语言模型,评估了它们在代码生成过程中幻觉的频率和性质。研究结果揭示了大型语言模型在生成代码方面准确性和可靠性方面的显著差异,强调了改进模型和训练方法以确保自动生成代码的功能正确性和安全性的紧迫需求。本研究不仅对代码幻觉进行了分类和量化,还为基于大型语言模型的代码生成研究提供了改进的见解。CodeHalu基准测试集和代码可在此https URL上公开获取。
Apr, 2024
该研究通过对不同编程语言、设置和参数的LLMs配置进行严格全面的评估,探索了不同LLMs配置如何影响生成错误软件包建议的可能性,并识别了这种现象的根本原因。结果表明,所有经过测试的LLMs中有19.7%的生成软件包是产生幻觉的,并且幻觉软件包名的数量达到了205,474个,进一步凸显了这一威胁的严重性和普遍性。同时,实施的缓解策略明显降低了软件包幻觉发生的频率,其中一个模型的幻觉率降低到了3%以下。然而,研究表明软件包幻觉是一个系统性和持久性的现象,给代码生成的LLMs带来了重大挑战。
Jun, 2024
本文介绍了云API基准测试工具CloudAPIBench,用于测量与公共领域中的API假象出现频率相关的API假象。我们发现,Code LLMs在低频API方面存在困难。通过文档增强生成(DAG),我们提高了低频API的性能,但对高频API使用次优的检索器时会有负面影响。为了缓解这一问题,我们提出了智能触发DAG的方法,根据API索引或者利用Code LLMs的置信度分数进行检索。我们证明了我们的方法增强了低频和高频API性能的平衡,在云API基准测试上提高了API调用的可靠性(GPT-4o上绝对改进8.20%)。
Jul, 2024
本研究旨在填补对大语言模型生成代码的幻觉现象的研究空白。通过定义代码幻觉及其分类,提出了首个CodeMirage基准数据集,并检测多种开源LLM的代码幻觉。研究发现GPT-4在HumanEval数据集上的表现最佳,提出了多种减轻代码幻觉的策略,具有重要的实际意义。
Aug, 2024
本研究解决了大型语言模型(LLMs)代码生成的可靠性问题,特别是识别和分析生成代码中的缺陷。通过对367个缺陷进行分类和分析,发现了功能和算法错误是主要问题。研究表明,通过实施结构化的提示工程技术,可以显著减少常见缺陷,提高代码生成的准确性和可靠性。
Aug, 2024
本研究解决了大型语言模型(LLMs)中幻觉的不可避免性问题,强调幻觉不是偶然错误,而是这些系统固有的特性。通过引入“结构幻觉”概念,本论文表明幻觉源于LLM的基本数学和逻辑结构,指出无法通过架构改进或数据集增强完全消除幻觉,从而对现有观点提出挑战。
Sep, 2024
本研究针对大型语言模型(LLMs)在生成代码时产生幻觉的问题,提出了Collu-Bench这一基准,以支持代码生成和自动程序修复任务中的研究。通过收集来自多种数据集和LLMs的13234个代码幻觉实例,研究揭示了代码幻觉模式,并引出了准确定位LLMs幻觉的挑战,强调了需要更复杂技术的必要性。
Oct, 2024