Facebook open source AI Weiqi source code, beat professional chess players only need a piece of GPU

2018-07-01

Facebook open source AI Weiqi source code, beat professional chess players only need a piece of GPU

Lei Feng network AI technology comment news: in May 2nd, the Facebook AI Research (FAIR) official web blog announced the open source its AI go robot ELF OpenGo (including the source code and a trained model). The robot was developed based on the ELF platform and defeated 4 top 30 chess players in the world.

According to Lei Feng net, the work is mainly initiated by DeepMind. FAIR started the work earlier this year, hoping to reproduce the recent results of AlphaGoZero based on the Extensible Lightweight Framework (ELF) developed based on its intensive learning research. The goal is to create an open source implementation system that can study Weiqi to achieve the level or higher level of the human professional chess player; and they also want to inspire more people to think about the new application and research direction of the technology through the published code and model.

Facebook open source AI Weiqi source code, beat professional chess players only need a piece of GPU

According to Tian Yuandong, the director of the project, they trained the model with two thousand pieces of GPU and got the current version of the weiqi AI model about two to three weeks later, which was basically beyond the level of the strong professional chess player. ELF OpenGo, in the game with the top 30 top four professional go players (Jin Zhixi, Shen Zhen, Pu Yongxun and Cui Zhehan), won all the games with 14:0, in which OpenGo uses a single GPU of 50 seconds per step of search time (80 thousand situations per step), and the human chess player can have Think for a long time.

In addition, ELF OpenGo is one of the most publicly available, strongest go – go robot LeelaZero, which uses the default configuration except ponder, and the public weight (192x15158603eb, Apr. 252018), and OpenGo wins all 200 games.

In a subsequent article, Dr. Tian Yuandong said that the OpenGo project was “not to make the best game of go, not to beat who”. There are three purposes for this project:

(1) AlphaGoZero/AlphaZero algorithm is very interesting, we want to know why it has effect, how does it have effect, is it as a propaganda one is the universal algorithm of 100 try bailing, is it just heap machine, strong artificial intelligence immediately come? Or in fact what problems and weaknesses of the algorithm? DeepMind No open source or details, and some of the articles are not well written. I have written about Blog before, but without first-hand experience, it is not very practical. Therefore, in the light of the purpose of research, we need to reappear. First, we have to reappear before we have innovation. This is the habit of doing research. (2) at the beginning of this year, I rewrote the core code of ELF, and also added distributed training. I need to find a specific application to test it. From this point of view, AlphaGoZero/AlphaZero is a perfect choice, and there is also the experience of DarkForest code and Weiqi program before, so it doesn’t take too much effort to put them together. (3) whether it is general algorithm or distributed platform, it can be used to do many other things, not necessarily go, not necessarily a game. If we look at the code of ELF OpenGo, we will find that a large part of it is not related to weiqi, so it is suitable for other directions. Weiqi is just a means for us to do well with algorithms and platforms. At this point, it pays to spend some time doing the go.

Dr. Tian Yuandong said that with the release of today’s ELF OpenGo, these three goals have been achieved. Of course, what they want more is to take this opportunity to promote the ELF platform and PyTorch deep learning framework, so that more people can use and improve it.

The code is: https://github.com/pytorch/ELF

Model see: https://github.com/pytorch/ELF/releases

See blog in English: https://research.fb.com/facebook-open-sources-elf-opengo/

ELF platform

The ELF platform is an extensible, lightweight, and very flexible game research platform, especially for the research of real-time strategy (RTS) games, which was first released in June 2016.

Facebook open source AI Weiqi source code, beat professional chess players only need a piece of GPU

At the C++ side, ELF and C++ threads are managed by multiple games at the same time; and at the Python side, ELF can return a batch of game states at a time, which makes it very friendly to modern intensive learning. In contrast, other platforms (such as OpenAI Gym) simply encapsulate a single game using a Python interface, which makes the execution of concurrency games more complicated than many modern reinforcement learning algorithms have this requirement.

ELF has the following features:

  • End to end: ELF provides an end-to-end solution for game research. It provides a micro real-time strategy game environment, parallel simulation, visual API, Web based visualization, and also has a enhanced learning backend authorized by the Pytorch, with the least resource requirements.
  • Extensibility: any game with C / C + + interface can be inserted into this framework by writing a simple wrapper.
  • Lightweight: ELF runs very fast and costs little. On a MacBook Pro, a simple game based on the RTS engine (MiniRTS) uses a ELF platform to run 40K frames per second; only 6 blocks of CPU+1 GPU are used to train MiniRTS from zero, and only six days.
  • Flexibility: the pairing between environment and participants is very flexible. For example, a single agent and a single environment (such as Vanilla A3C), multiple agent and a single environment (Self-play/MCTS), or a single agent and multiple environments (BatchA3C, GA3C), and so on. Moreover, any game built on the RTS engine can fully access its internal representation and dynamics.

With the open source of this OpenGo, FAIR has also improved the ELF platform, upgrading a more efficient, friendly API and a framework for supporting distributed computing with a number of thousands of computers. As part of PyTorch, ELF can enable researchers to easily experiment with different reinforcement learning ideas and make quick and flexible experiments.

Lei Feng and Amihara Fumiaki are not authorized to reprint. For details, see the notice of the reprint.

AiShangHai LoveShangHai