The transformative influence of Large Language Models (LLMs) is profoundly reshaping the Artificial Intelligence (AI) technology domain. Notably, ChatGPT distinguishes itself within these models, demonstrating remarkable performance in multi-turn conversations and exhibiting code proficiency across an array of languages. In this paper, we carry out a comprehensive evaluation of ChatGPT's coding capabilities based on what is to date the largest catalog of coding challenges. Our focus is on the python programming language and problems centered on data structures and algorithms, two topics at the very foundations of Computer Science. We evaluate ChatGPT for its ability to generate correct solutions to the problems fed to it, its code quality, and nature of run-time errors thrown by its code. Where ChatGPT code successfully executes, but fails to solve the problem at hand, we look into patterns in the test cases passed in order to gain some insights into how wrong ChatGPT code is in these kinds of situations. To infer whether ChatGPT might have directly memorized some of the data that was used to train it, we methodically design an experiment to investigate this phenomena. Making comparisons with human performance whenever feasible, we investigate all the above questions from the context of both its underlying learning models (GPT-3.5 and GPT-4), on a vast array sub-topics within the main topics, and on problems having varying degrees of difficulty.
翻译:大型语言模型(LLM)的变革性影响正深刻重塑人工智能(AI)技术领域。值得注意的是,ChatGPT在这些模型中脱颖而出,在多轮对话中展现出卓越性能,并在多种编程语言中表现出代码能力。本文基于迄今为止规模最大的编程挑战数据集,对ChatGPT的编码能力进行了全面评估。我们重点关注Python编程语言,以及计算机科学基石之一的算法与数据结构问题。我们评估了ChatGPT生成正确解决方案的能力、代码质量及其代码引发的运行时错误类型。当ChatGPT代码成功执行但未能解决当前问题时,我们通过分析通过测试用例的模式,来洞察ChatGPT代码在此类情况下的错误程度。为推断ChatGPT是否可能直接记忆了部分训练数据,我们系统设计了一项实验来探究这一现象。在可行的情况下与人类表现进行对比,我们从其底层学习模型(GPT-3.5和GPT-4)的视角出发,针对主主题下的大量子主题以及不同难度的问题,对所有上述问题进行了研究。