Programming is a powerful and ubiquitous problem-solving tool. Developing systems that can assist programmers or even generate programs independently could make programming more productive and accessible, yet so far incorporating innovations in AI has proven challenging. Recent large-scale language models have demonstrated an impressive ability to generate code, and are now able to complete simple programming tasks. However, these models still perform poorly when evaluated on more complex, unseen problems that require problem-solving skills beyond simply translating instructions into code. For example, competitive programming problems which require an understanding of algorithms and complex natural language remain extremely challenging. To address this gap, we introduce AlphaCode, a system for code generation that can create novel solutions to these problems that require deeper reasoning. In simulated evaluations on recent programming competitions on the Codeforces platform, AlphaCode achieved on average a ranking of top 54.3% in competitions with more than 5,000 participants. We found that three key components were critical to achieve good and reliable performance: (1) an extensive and clean competitive programming dataset for training and evaluation, (2) large and efficient-to-sample transformer-based architectures, and (3) large-scale model sampling to explore the search space, followed by filtering based on program behavior to a small set of submissions.

PDF Abstract DeepMind 2022 PDF

Results from the Paper


Task Dataset Model Metric Name Metric Value Global Rank Benchmark
Code Generation APPS AlphaCode 1B Introductory Pass@1000 17.67% # 6
Interview Pass@1000 5.24% # 5
Competition Pass@1000 7.06% # 5
Code Generation APPS AlphaCode 1B Filtered from 50000 Competition Pass@5 7.75% # 1
Interview Pass@5 9.66% # 1
Introductory Pass@5 20.36% # 1
Competition Pass@any 7.75% # 6
Interview Pass@any 9.66% # 5
Introductory Pass@any 20.36% # 7
Code Generation CodeContests AlphaCode 41B + clustering Test Set 10@100k 29.6 # 1
Code Generation HumanEval Pretrained Decoder-only 1.1B Pass@1 17.1 # 105

Methods


No methods listed for this paper. Add relevant methods here