2 个月前
使用APPS测量编码挑战能力
Dan Hendrycks; Steven Basart; Saurav Kadavath; Mantas Mazeika; Akul Arora; Ethan Guo; Collin Burns; Samir Puranik; Horace He; Dawn Song; Jacob Steinhardt

摘要
尽管编程是现代社会中最广泛适用的技能之一,但现代机器学习模型仍然无法为基本问题编写代码解决方案。尽管其重要性显而易见,但在评估代码生成方面的工作却出乎意料地少,且难以准确严格地评估代码生成性能。为了应对这一挑战,我们引入了APPS,一个用于代码生成的基准测试。与之前在更受限环境下的工作不同,我们的基准测试衡量的是模型根据任意自然语言规范生成令人满意的Python代码的能力。类似于公司评估候选软件开发人员的方式,我们通过检查模型生成的代码在测试用例中的表现来对其进行评估。我们的基准测试包括10,000个问题,这些问题从简单的单行解决方案到复杂的算法挑战不等。我们在GitHub和我们的训练集上对大型语言模型进行了微调,并发现随着模型的改进,语法错误的发生率呈指数下降。最近的模型如GPT-Neo可以在大约20%的入门级问题测试用例中通过,因此我们认为机器学习模型现在开始学会如何编程。随着自动代码生成的社会意义在未来几年不断增加,我们的基准测试可以提供一个重要指标来跟踪相关进展。