Google’s AI unit, DeepMind, says its AlphaCode system can express code solutions that achieve a median-level score in programming contests in which new programmers enter.
In these competitions, participants must understand a problem presented in natural language and then code an efficient algorithm.
DeepMind says AlphaCode is the first AI code generation system to reach a competitive level in code competitions for human developers, and the research could enhance programmer productivity and help non-programmers express a solution even without programming skills.
Similar to human developers, AlphaCode had to understand a multi-paragraph description of the problem in natural language, background details, and a description of the preferred solution in terms of input and output.
To solve the problem, the competitor must come up with an algorithm and implement it efficiently, which may require a faster programming language like C++ over Python to go beyond these constraints.
DeepMind gave AlphaCode a boost by merging large-scale transformer models such as OpenAI’s GPT-3 and Google’s BERT language model. DeepMind used transformer-based language models to generate code and then filter the output to a small group of “promising programs” that were ready for evaluation.
“At evaluation time, we create a massive amount of C++ and Python programs for each problem, orders of magnitude larger than previous work,” DeepMind’s AlphaCode team says in a blog post.
“Then we filter, cluster, and re-rank those solutions to a small set of 10 candidate programs that we submit for external assessment. This automated system replaces competitors’ trial-and-error process of debugging, compiling, passing tests, and eventually submitting.”
There is a risk that automation will reduce the demand for developers, but DeepMind points out that its work should not pose a threat to human programmers. Ultimately, its goal is to come up with systems that can develop problem-solving skills to help humanity.
For more information, read the original story in ZDNet.