登陆注册
9314

研究:AI模型仍不擅长生成干净代码 GPT-4的API误用率达62%

站长网2023-08-30 16:43:280

文章概要:

1. AI模型在回答Java编码问题时,仍存在许多API误用问题。GPT-3.5和GPT-4的API误用率分别达到49.83%和62.09%。

2. Llama2API误用率最低,但由于它生成的代码较少,误导性很大。一旦生成更多代码,其误用率也大幅上升。

3. 添加相关API使用示例能稍微改善结果,但仍有改进空间。代码的可靠性和稳健性仍是难题。

近期,计算机科学家对几个大型语言模型在StackOverflow的Java编码问题上的回答进行了评估,结果发现这些模型的代码质量仍然不尽如人意。

研究人员收集了1208个StackOverflow上的Java编码问题,这些问题涉及24个常见的Java API。然后他们用4个可生成代码的大型语言模型(GPT-3.5、GPT-4、Llama2和Vicuna-1.5)进行了回答,并根据自己开发的API检查器RobustAPI对回答进行评估。RobustAPI旨在评估代码的可靠性,即抵御失败和意外输入的能力,以及承受高工作负载的能力。

加州大学圣地亚哥分校的研究人员测试了 OpenAI 的 GPT-3.5和 GPT-4,以及大型模型系统组织的两个开放模型:Meta 的 Llama2和 Vicuna-1.5。他们对这组问题进行了三种不同的测试:零样本,其中输入提示中没有提供正确的 API 使用示例;one-shot-imrelevant,其中提供的示例与问题无关;一次性相关,其中提示中提供了正确的 API 使用示例。

这些模型在零样本测试中表现出的总体 API 误用率如下:

GPT-3.5(49.83%);GPT-4(62.09%);Llama2(0.66%);和Vicuna-1.5 (16.97%)。

简单的说就是,在零样本测试中,GPT-3.5和GPT-4的API误用率较高,分别达到49.83%和62.09%。

Llama2的误用率最低,只有0.66%,但这主要是因为其大多数回答并不包含任何代码。

在添加不相关示例的一次样本测试中,各模型的误用率有所上升,尤其是Llama2上的升幅最大。这说明一旦生成了更多代码,Llama2的误用问题也显现出来。

对于一次性无关测试,误用率分别为:

GPT-3.5(62.00%);GPT-4(64.34%);Llama2(49.17%);和 Vicuna-1.5(48.51%)。

而在提供相关示例的一次样本测试中,误用率有所下降,但仍普遍存在,误用率如下:

GPT-3.5(31.13%);GPT-4(49.17%);Llama2(47.02%);和 Vicuna-1.5(27.32%)。

研究认为,大型语言模型代码生成能力的提升与代码可靠性和稳健性之间存在明显差距。模型生成的代码充其量只保证语义上的正确性,而忽视了意外输入和高负载环境下的稳定可靠性要求。改善这一问题仍有很大的空间。语言模型的代码生成还需要在工程质量上下功夫,而不仅仅追求生成更多代码。

0000
评论列表
共(0)条