AlphaCode (DeepMind)
Last updated
Last updated
Another AI-based code generator is Google-backed DeepMind’s AlphaCode, which gives developers access to source code from various language libraries. With AlphaCode, developers can leverage thousands of pre-made libraries, helping them connect and use third-party APIs quickly and easily.
AlphaCode also is a research paper and originally AlphaCode was designed to win programming competitions. AlphaCode is an example of where you're taking a Large Language Model and asking it to generate lots of different alternative programs to match a specification. In a programming competition you have a very good unambiguous clear description of exactly what the code should do and what the output should be. So they take that and they use it to synthesize many different versions of the program. In most Large Language Models you have a stochastic component, the randomization that you can dial up and down. This will give different alternatives essentially and so the idea is that you have a better chance of coming up with the best alternative that way.
But in the real world, you have very ambiguous and unclear description of exactly what the code should do and what the output should be. So LLM synthesize many times does not give a good response and therefore AlphaCode is not very effective.
With AlphaCode they take the description given in the programming competition. They generate a whole bunch of candidate programs and then they run cluster analysis on those programs because they want to find out a lot of those programs effectively do the same thing. The code might be exactly the same but they do the same things. They are 'Semantically equivalent' but not 'Syntactically equivalent'. The code doesn't match word for word but it does the same thing. They cluster all of those to find out to eliminate their duplicates and then they essentially cut it down to a couple of candidates and they try those and that's how it produces solutions. It's very good at winning programming competitions but it's not really that effective in the real world.
It's a good step and hopefully will improve to address these shortcomings. AlphaCode is not yet available to the public.