Command Palette
Search for a command to run...
基于AlphaCode的竞争级代码生成
基于AlphaCode的竞争级代码生成
摘要
编程是一种强大且无处不在的问题解决工具。开发能够辅助程序员甚至独立生成程序的系统,有望显著提升编程的效率与可及性。然而,迄今为止,将人工智能领域的创新成果融入编程系统仍面临巨大挑战。近期的大规模语言模型已展现出生成代码的惊人能力,能够完成一些简单的编程任务。但在面对更复杂、未曾见过的问题时,这些模型的表现依然不佳,尤其是当问题需要超越简单指令到代码翻译的深层推理能力时,例如需要理解算法和复杂自然语言的编程竞赛题目,仍然极具挑战性。为弥补这一差距,我们提出了 AlphaCode——一种用于代码生成的系统,能够针对需要深度推理能力的编程问题提出新颖的解决方案。在 Codeforces 平台近期编程竞赛的模拟评估中,AlphaCode 平均排名达到前 54.3%,在参赛人数超过 5,000 人的竞赛中表现优异。我们发现,实现稳定且出色的性能依赖于三个关键要素:(1)用于训练与评估的广泛且高质量的编程竞赛数据集;(2)基于 Transformer 架构的大规模、采样效率高的模型结构;(3)通过大规模模型采样探索解空间,并结合程序行为进行筛选,最终保留少量高质量的提交结果。