A systematic evaluation of large language models for generating programming code
本文是LLM系列文章,针对《A systematic evaluation of large language models for generating programming code》的翻译。
用于生成编程代码的大型语言模型的系统评估
- 摘要
- 引言
- 结果
- 讨论
- 方法
摘要
我们系统地评估了七个大型语言模型在使用各种提示策略、编程语言和任务困难生成编程代码方面的性能。GPT-4大大优于其他大型语言模型,包括Gemini Ultra和Claude 2。GPT-4的编码性能因不同的提示策略而有很大差异。在本研究评估的大多数LeetCode和GeeksforGeeks编码比赛中,采用最佳提示策略的GPT-4优于85%的人类参与者。此外,GPT-4在不同编程语言之间转换代码以及从过去的错误中学习方面表现出强大的能力。GPT-4生成的代码的计算效率与人类程序员的计算效率相当。这些结果表明,GPT-4有潜力在编程代码生成和软件开发中充当可靠的助手。
引言
结果
讨论
在这项研究中,我们发现GPT-4是生成编程代码中性能最好的LLM。GPT-4的性能在很大程度上受到各种提示策略的影响。最佳提示策略利用GPT-4的代码解释器功能来测试示例测试用例的有效性,并从以前未成功尝试的错误消息中获益。在LeetCode和GeeksforGeeks竞赛中,GPT-4表现出比大多数人类程序员更强的编码性能,而其他LLM的表现与普通人类程序员相似。GPT-4展示了跨各种编程语言的可靠编码性能,并显示了在不同编程语言之间翻译代码的强大能力。
这些结果表明,GPT-4可以作为生成实际应用程序代码的可靠助手。GPT-4可以使几乎没有或根本没有编程专业知识的个人能够解决简单或中等难度的编程任务。对于那些拥有高级编程专业知识的人来说,GPT-4可以分担工作量,使人类程序员能够专注于更具挑战性的任务。因此,GPT-4在人类人工智能协作中引入了一种新的范式,为生成编程代码的更高效和更具包容性的过程铺平了道路。
值得注意的是,生成编程代码只是软件工程的一个子领域。LLM管理项目、设计系统架构、创建用户界面、测试和维护代码以及执行许多其他与软件工程相关的任务的能力在本研究中尚未得到评估。此外,LLM依赖于对编程任务的充分文档化描述和全面的测试用例集来验证生成的编程代码。这种依赖可能需要在编写提示和建立软件测试基础设施方面付出额外的努力和专业知识。
