Competitive programming with AlphaCode
The news that hits me right in the heart: the DeepMind has released AlphaCode — the system that can solve competitive programming tasks.
1. To "solve" competitive programming task we can address it as seq2seq task: given a task description we need to write a code that solves it.
2. So, we can use typical encoder-decoder architecture.
3. And also use the power of pretraining — the model was pretrained on GitHub dataset of code snippets.
4. After that, dataset from competitive programming platform Codeforces was used for fine-tuning.
5. Moreover, this dataset was extended to show model more negative examples.
6. Now, well-prepared model generates very large (millions per sample) candidates of solution.
7. These candidates are filtered to obtain small set of candidates, that will be tested on test cases.
The model outperforms 54% of participants of the Codeforces — quite impressive but there is a big room for improvement.
Blogpost, paper with model description