Новое исследованиепоказало that the neural network of Deepmind alphacode can become a full -fledged assistant to experienced programmers, but will still not be able to replace them completely.
alphacode studied the syntax of a large volume of code from GitHub, and then learned to convert descriptions of tasks into the code using thousands of tasks from programming competitions. AlphaCode can generate up to 1 million solutions to the problem (on Python or C ++) and screeches inappropriate. After training, AlphaCode solved about 34% of the tasks.
to filter unnecessary solutions:
- alphaCode first preserves only 1% of the programs that go through test cases.
- in order to narrow the search for the solution even more, it groups the guardians based on the similarity of their output data with generated input data;
- Then he sends the programs from each cluster one after another, starting from the largest cluster, until he stops on successful or reaches 10 performances (the average maximum that people represent at competitions). Sending from different clusters allows you to test a wide range of programming tactics.
In online programming Alphacode programming, more than 45% (out of 5000) programmers. Moreover, when solving problems, Alphacode did not use ready -made templates, but generated a new code.
According to DeepMind, the neural network can perform routine work from software, freeing from this experienced developers so that they can focus on higher levels. AlphaCode is also able to help people without programming skills create simple programs, but sometimes it makes mistakes – for example, creates variables and does not use them.
DeepMind notes that the current Alphacode skills are applicable only for programmers, but in the future, AlphaCode will make programming fully automated.