对基于代码训练的大型语言模型的评估
通过对现有大型模型 (包括 Codex、GPT-J、GPT-Neo、GPT-NeoX-20B 和 CodeParrot) 的系统评估,我们填补了目前缺少大量模型和数据设计决策信息的空白,并提出了一个基于 GPT-2 架构的新模型 (PolyCoder)。我们发现虽然 Codex 本身并不是开源的,但现有的开源模型在某些编程语言上取得了接近的结果,并且在 C 编程语言中,PolyCoder 模型优于所有模型包括 Codex。
Feb, 2022
该研究探讨了三种代码生成模型(CodeGen、Codex 和 GPT-3.5)在单元测试生成中的效果,发现 Codex 模型在 HumanEval 数据集中可以达到 80% 以上的覆盖率,但在 EvoSuite SF110 基准测试中,没有模型的覆盖率超过 2% 且生成的测试代码存在多种测试异味问题。
Apr, 2023
本研究提出了一个基于 GPT-3.5 的评估框架,用于评估代码生成的功能正确性和人类偏好,能够在不需要测试 oracle 或参考文献的情况下,达到比 CodeBERTScore 更高的准确性和一致性。
Apr, 2023
该研究探讨了大型语言模型在编程问题中的应用,发现最新技术如 InstructGPT 和 ChatGPT 在处理指令时表现优异,而早期使用变量名如 Codex 的模型的性能受描述问题时表浅的指标较大影响。
Jun, 2023
本文研究了 OpenAI 的 Codex 是否能够定位和修复软件中的错误,发现 Codex 的泛用性使其非常有效,而且在修复 Python 中的错误方面具有一定的优势。
Nov, 2021
本文研究使用具备上下文的例句,将语义解析问题转化为规范语句的近义词问题,旨在改善大型语言模型在少量训练数据下的性能,并探究在自然语言映射为代码的语义解析任务中,使用预训练模型 OpenAI Codex 能否表现更好。实验发现,相比等效的 GPT-3 模型,Codex 在这种任务中表现更佳,尤其是在像 Overnight 和 SMCalFlow 这样的数据集中。
Dec, 2021
本文研究了利用大型语言模型进行自然语言生成的能力,并应用于编程课程中常见的两种学习资源的制作。研究发现,在创建编程练习时,只需要输入关键词,即可显著影响编程概念和上下文主题的内容,同时也证明了大多数自动生成的内容是全新且合理的。这些结果表明,使用大型生成机器学习模型作为教学工具是有重要价值的,但在交付给学生之前需要一些监督来确保生成的内容质量。文章还探讨了 OpenAI Codex 及类似工具对初学者编程教育的影响,并强调了可能改善教学体验的未来研究方向。
Jun, 2022
ChatGPT 是一种显著的大型语言模型,通过与人类程序员进行比较,本文提出了对其代码生成能力的综合评估。通过构建一个包含 5 个类别的新颖数据集,共计 131 个代码生成提示,ChatGPT 和人类程序员生成了 262 个代码样例。使用 14 个已建立的代码质量度量方法进行详细的手动评估,重点评估了正确性、可理解性和安全性。关键发现揭示了 ChatGPT 在制作简洁高效、具有高级结构的代码方面的优势,并展示了在数据分析任务(93.1% 准确度)中的强项,但在视觉图形方面存在局限性。与人类代码的比较分析凸显了 ChatGPT 对模块化设计和优秀的错误处理的倾向。此外,机器学习模型可以有效地区分 ChatGPT 和人类代码,准确率高达 88%,表明可以检测到的编码风格差异。通过量化指标和定性分析深入探讨了 ChatGPT 的代码生成能力和局限性,为推进基于人工智能的编程助手提供了宝贵的见解。精心策划的数据集和方法为这个新兴领域的未来研究提供了坚实的基础。所有数据和代码都可在此 https URL 上找到。
Nov, 2023
本研究检验了 AI 助手 Copilot 使用 Codex 生成代码时存在的简单错误(SStuBs),发现 Codex 和其他大型语言模型确实可以避免一些 SStuBs,但会生成已知的错误。我们探讨了这些错误的后果,并提出了一些避免策略,可能减少已知的 SStuBs 的产生,增加已知错误的修复概率。
Mar, 2023