The game Go has become quite the hit lately in the machine learning community ever since DeepMind unveiled it’s AlphaGo algorithm. It was the first machine led effort that beat a Go world champion. Since then, a lot of data scientists and researchers have dedicated themselves to understanding how to better DeepMind’s algorithm.
The latest effort was by Facebook’s Research team. At the recently concluded F8 conference, Facebook CTO Mike Schroepfer revealed that the team had been building a Go bot of their own, called ELF OpenGo. It is built on the ELF (Extensive, Lightweight, and Flexible) platform.
The exclamation point in this is that unlike DeepMind, Facebook has open sourced its algorithm. The team has released both the trained model and the code used to create it. All the details and resources are available here and on their GitHub page here.
ELF OpenGo was trained on 2,000 GPUs over a two week period, and has reached an amazingly high performance level. In it’s training phase, the bot was made to play against other open source bots and human Go players. The results? Overwhelmingly positive.
The bot started off by winning a series of games (198 wins, 2 losses) against LeelaZero, the strongest publicly available bot (using its default settings and no pondering.) It also set a record of 14 wins and 0 losses against four of the top 30 world-ranked human Go players! Incredible stuff.
These games were all played using a single GPU, making moves every 50 seconds. The games were played on Chinese rules with 7.5 komi, and human players were given unlimited time to consider their moves.
As an additional note, the team has also upgraded the ELF framework which was first released in June 2016. The latest version has higher efficiency, more friendly APIs, and support of distributed computation against thousands of machines.
As DeepMind continues to keep shut about it’s AlphaGo algorithm, Facebook has taken the open source route, which is an immensely welcoming step. This will certainly encourage research and enable the community to experiment with new strategies. The aim of releasing the code and models is to inspire others to think about new applications and research directions for this technology.
We encourage you to explore the code they have provided and try to understand how it works. The possibilities are endless and we hope to see someone in the AV community crack the next algorithm!
Under the AVBytes umbrella, we have also previously seen Minigo, an open source python implementation inspired by AlphaGo. Check it out as well.