Artificial intelligence learns to write its own software
DeepMind: Sorting Numbers by Size with Alpha Zero using Artificial Intelligence and Neural Networks based on Algorithms
Ellis, K. and others are in Proc. 33rd Neural Inf. Process. There is a system called the Syst. eds Wallach, H., Larochelle, H., Beygelzimer, A., d’Alché-Buc, F. and Fox, E.
For decades, the computing industry relied on Moore’s law: as transistors became ever smaller, the number that could be crammed onto a computer chip seemed to double every two years, enabling a similar leap in computing power. But Moore’s law has a natural limit, so software optimization has become just as crucial as miniaturization. In writing in Nature, the authors showed how Artificial Intelligence can be used to improve the efficiency with which C++ programming language sorts items in a list. Although seemingly mundane, this task is needed in computer programs the world over, and the AI version is now baked into a widely used implementation of the C++ library. Perhaps even more remarkably, the AI system can improve the code without any previous knowledge of the problem itself.
Computer scientists have for decades been making computers sort data in a way that shaves off time in return for search results and contact lists. The artificial-intelligence system for playing chess, Go and shogi is being used to improve sorting speeds by DeepMind. “This is an exciting result,” said Emma Brunskill, a computer scientist at Stanford University, California.
The researchers first applied AlphaDev to the task of sorting numbers by size. They started small, with algorithms that sorted only 3, 4, or 5 numbers at a time, but these are important because they’re used by algorithms that sort longer lists. AlphaDev operated at the level of assembly instructions: code generated by automated compilers from code that programmers write in C++, before it is translated into the 1s and 0s of machine code.
Alpha Zero considers its possible moves at each decision point and then decides which move is most likely to win the game. It uses something akin to intuition to narrow its search considering that branches may take longer than the age of the universe. Neural networks that are complex and tunable are the highlights of the game state that the computer program feeds into. During training, it continually updates the networks based on game outcomes. It explores moves based on not always picking the one that is the highest-rated.
In terms of the science, “I don’t know that there’s anything particularly deep in there,” says Michael Littman, a computer scientist at Brown University in Providence, Rhode Island, who notes that AlphaZero has already been around for six years. The engineering is amazing. The researchers behind DeepMind are good at fitting the method to new problems. Last year, DeepMind also modified AlphaZero to create AlphaTensor3, which invented faster ways to multiply grids of numbers.