OpenAI Five
OpenAI Five is a computer program by OpenAI that plays the five-on-five video game Dota 2. Its first public appearance occurred in 2017, where it was demonstrated in a live one-on-one game against the professional player Dendi, who lost to it. The following year, the system had advanced to the point of performing as a full team of five, and began playing against and showing the capability to defeat professional teams.
By choosing a game as complex as Dota 2 to study machine learning, OpenAI thought they could more accurately capture the unpredictability and continuity seen in the real world, thus constructing more general problem-solving systems. The algorithms and code used by OpenAI Five were eventually borrowed by another neural network in development by the company, one which controlled a physical robotic hand. OpenAI Five has been compared to other similar cases of artificial intelligence (AI) playing against and defeating humans, such as AlphaStar in the video game StarCraft II, AlphaGo in the board game Go, Deep Blue in chess, and Watson on the television game show Jeopardy!.
History
Development on the algorithms used for the bots began in November 2016. OpenAI decided to use Dota 2, a competitive five-on-five video game, as a base due to it being popular on the live streaming platform Twitch, having native support for Linux, and had an application programming interface (API) available.[1] Before becoming a team of five, the first public demonstration occurred at The International 2017 in August, the annual premiere championship tournament for the game, where Dendi, a Ukrainian professional player, lost against an OpenAI bot in a live one-on-one matchup.[2][3] After the match, CTO Greg Brockman explained that the bot had learned by playing against itself for two weeks of real time, and that the learning software was a step in the direction of creating software that can handle complex tasks "like being a surgeon".[4][5] OpenAI used a methodology called reinforcement learning, as the bots learn over time by playing against itself hundreds of times a day for months, in which they are rewarded for actions such as killing an enemy and destroying towers.[6][7][8]
By June 2018, the ability of the bots expanded to play together as a full team of five and were able to defeat teams of amateur and semi-professional players.[9][6][10][11] At The International 2018, OpenAI Five played in two games against professional teams, one against the Brazilian-based paiN Gaming and the other against an all-star team of former Chinese players.[12][13] Although the bots lost both matches, OpenAI still considered it a successful venture, stating that playing against some of the best players in Dota 2 allowed them to analyze and adjust their algorithms for future games.[14] The bots' final public demonstration occurred in April 2019, where they won a best-of-three series against The International 2018 champions OG at a live event in San Francisco.[15] A four-day online event to play against the bots, open to the public, occurred the same month.[16] There, the bots played in 42,729 public games, winning 99.4% of those games.[17]
Architecture
Each OpenAI Five bot is a neural network containing a single layer with a 4096-unit LSTM[18] that observes the current game state extracted from the Dota developer's API. The neural network conducts actions via numerous possible action heads (no human data involved), and every head has meaning. For instance, the number of ticks to delay an action, what action to select – the X or Y coordinate of this action in a grid around the unit. In addition, action heads are computed independently. The AI system observes the world as a list of 20,000 numbers and takes an action by conducting a list of eight enumeration values. Also, it selects different actions and targets to understand how to encode every action and observe the world.[19]
OpenAI Five has been developed as a general-purpose reinforcement learning training system on the "Rapid" infrastructure. Rapid consists of two layers: it spins up thousands of machines and helps them ‘talk’ to each other and a second layer runs software. By 2018, OpenAI Five had played around 180 years worth of games in reinforcement learning running on 256 GPUs and 128,000 CPU cores,[20] using Proximal Policy Optimization, a policy gradient method.[19][21]
OpenAI 1v1 bot (2017) | OpenAI Five (2018) | |
---|---|---|
CPUs | 60,000 CPU cores on Microsoft Azure | 128,000 pre-emptible CPU cores on the Google Cloud Platform (GCP) |
GPUs | 256 K80 GPUs on Azure | 256 P100 GPUs on the GCP |
Experience collected | ~300 years per day | ~180 years per day |
Size of observation | ~3.3kB | ~36.8kB |
Observations per second of gameplay | 10 | 7.5 |
Batch size | 8,388,608 observations | 1,048,576 observations |
Batches per minute | ~20 | ~60 |
Comparisons with other game AI systems
Prior to OpenAI Five, other AI versus human experiments and systems have been successfully used before, such as Jeopardy! with Watson, chess with Deep Blue, and Go with AlphaGo.[22][23][24] In comparison with other games that have used AI systems to play against human players, Dota 2 differs as explained below:[19]
Long run view: The bots run at 30 frames per second for an average match time of 45 minutes, which results in 80,000 ticks per game. OpenAI Five observes every fourth frame, generating 20,000 moves. By comparison, chess usually ends before 40 moves, while Go ends before 150 moves.
Partially observed state of the game: Players and their allies can only see the map directly around them. The rest of it is covered in a fog of war which hides enemies units and their movements. Thus, playing Dota 2 requires making inferences based on this incomplete data, as well as predicting what their opponent could be doing at the same time. By comparison, Chess and Go are "full-information games", as they do not hide elements from the opposing player.[25]
Continuous action space: Each playable character in a Dota 2 game, known as a hero, can take dozens of actions that target either another unit or a position. The OpenAI Five developers allow the space into 170,000 possible actions per hero. Without counting the perpetual aspects of the game, there are an average of ~1,000 valid actions each tick. By comparison, the average number of actions in chess is 35 and 250 in Go.
Continuous observation space: Dota 2 is played on a large map with ten heroes, five on each team, along with dozens of buildings and non-player character (NPC) units. The OpenAI system observes the state of a game through developers’ bot API, as 20,000 numbers that constitute all information a human is allowed to get access to. A chess board is represented as about 70 lists, whereas a Go board has about 400 enumerations.
Reception
OpenAI Five have received acknowledgement from the AI, tech, and video game community at large. Microsoft founder Bill Gates called it a "big deal", as their victories "required teamwork and collaboration".[8][26] Chess player Garry Kasparov, who lost against the Deep Blue AI in 1997, stated that despite their losing performance at The International 2018, the bots would eventually "get there, and sooner than expected".[27]
In a conversation with MIT Technology Review, AI experts also considered OpenAI Five system as a significant achievement, as they noted that Dota 2 was an "extremely complicated game", so even beating non-professional players was impressive.[25] PC Gamer wrote that their wins against professional players was a significant event in machine learning.[28] In contrast, Motherboard wrote that the victory was "basically cheating" due to the simplified hero pools on both sides, as well as the fact that bots were given direct access to the API, as opposed to using computer vision to interpret pixels on the screen.[29] The Verge wrote that the bots were evidence that the company's approach to reinforcement learning and its general philosophy about AI was "yielding milestones".[16]
In 2019, DeepMind unveiled a similar bot for Starcraft II, AlphaStar. Like OpenAI Five, AlphaStar used reinforcement learning and self-play. The Verge reported that "the goal with this type of AI research is not just to crush humans in various games just to prove it can be done. Instead, it’s to prove that — with enough time, effort, and resources — sophisticated AI software can best humans at virtually any competitive cognitive challenge, be it a board game or a modern video game." They added that the DeepMind and OpenAI victories were also a testament to the power of certain uses of reinforcement learning.[30]
It was OpenAI's hope that the technology could have applications outside of the digital realm. In 2018, they were able to reuse the same reinforcement learning algorithms and training code from OpenAI Five for Dactyl, a human-like robot hand with a neural network built to manipulate physical objects.[31] In 2019, Dactyl solved the Rubik's Cube.[32]
References
- ^ OpenAI. "OpenAI Five". openai.com/five. Archived from the original on 1 September 2018. Retrieved 10 October 2018.
- ^ Savov, Vlad (14 August 2017). "My favorite game has been invaded by killer AI bots and Elon Musk hype". The Verge. Archived from the original on 26 June 2018. Retrieved 25 June 2018.
- ^ Frank, Blair Hanley. "OpenAI's bot beats top Dota 2 player so badly that he quits". Venture Beat. Archived from the original on 12 August 2017. Retrieved 12 August 2017.
- ^ OpenAI (11 August 2017). "Dota 2". blog.openai.com. Archived from the original on 11 August 2017. Retrieved 12 August 2017.
- ^ OpenAI (16 August 2017). "More on Dota 2". blog.openai.com. Archived from the original on 16 August 2017. Retrieved 16 August 2017.
- ^ a b Simonite, Tom (25 June 2018). "Can Bots Outwit Humans in One of the Biggest Esports Games?". Wired. Archived from the original on 25 June 2018. Retrieved 25 June 2018.
- ^ Kahn, Jeremy (25 June 2018). "A Bot Backed by Elon Musk Has Made an AI Breakthrough in Video Game World". Bloomberg.com. Archived from the original on 27 June 2018. Retrieved 27 June 2018.
- ^ a b "Bill Gates says gamer bots from Elon Musk-backed nonprofit are 'huge milestone' in A.I." CNBC. 28 June 2018. Archived from the original on 28 June 2018. Retrieved 28 June 2018.
- ^ OpenAI (18 July 2018). "OpenAI Five Benchmark". blog.openai.com. Archived from the original on 26 August 2018. Retrieved 25 August 2018.
- ^ Vincent, James (25 June 2018). "AI bots trained for 180 years a day to beat humans at Dota 2". The Verge. Archived from the original on 25 June 2018. Retrieved 25 June 2018.
- ^ Savov, Vlad (6 August 2018). "The OpenAI Dota 2 bots just defeated a team of former pros". The Verge. Archived from the original on 7 August 2018. Retrieved 7 August 2018.
- ^ Simonite, Tom. "Pro Gamers Fend off Elon Musk-Backed AI Bots—for Now". Wired. Archived from the original on 24 August 2018. Retrieved 25 August 2018.
- ^ Quach, Katyanna. "Game over, machines: Humans defeat OpenAI bots once again at video games Olympics". The Register. Archived from the original on 25 August 2018. Retrieved 25 August 2018.
- ^ OpenAI (24 August 2018). "The International 2018: Results". blog.openai.com. Archived from the original on 24 August 2018. Retrieved 25 August 2018.
- ^ Wiggers, Kyle (13 April 2019). "OpenAI Five defeats professional Dota 2 team, twice". Venture Beat. Archived from the original on 13 April 2019. Retrieved 13 April 2019.
- ^ a b Statt, Nick (13 April 2019). "OpenAI's Dota 2 AI steamrolls world champion e-sports team with back-to-back victories". The Verge. Vox Media. Archived from the original on 15 April 2019. Retrieved 15 April 2019.
- ^ Wiggers, Kyle (22 April 2019). "OpenAI's Dota 2 bot defeated 99.4% of players in public matches". Venture Beat. Retrieved 22 April 2019.
- ^ "Understanding LSTM Networks". colah's blog. Archived from the original on 1 August 2017. Retrieved 27 August 2015.
- ^ a b c OpenAI (25 June 2018). "OpenAI Five". blog.openai.com. Archived from the original on 25 June 2018. Retrieved 25 June 2018.
- ^ "Why are AI researchers so obsessed with games?". QUARTZ. 4 August 2018. Archived from the original on 4 August 2018. Retrieved 4 August 2018.
- ^ Schulman, John; Wolski, Filip; Dhariwal, Prafulla; Radford, Alec; Klimov, Oleg (2017). "Proximal Policy Optimization Algorithms". arXiv:1707.06347 [cs.LG].
- ^ Gabbatt, Adam (17 February 2011). "IBM computer Watson wins Jeopardy clash". The Guardian. Archived from the original on 21 September 2013. Retrieved 17 February 2011.
- ^ "Chess grandmaster Garry Kasparov on what happens when machines 'reach the level that is impossible for humans to compete'". Business Insider. Archived from the original on 29 December 2017. Retrieved 29 December 2017.
- ^ "DeepMind's Go-playing AI doesn't need human help to beat us anymore". Verge. 18 October 2017. Archived from the original on 18 October 2017. Retrieved 18 October 2017.
- ^ a b Knight, Will (25 June 2018). "A team of AI algorithms just crushed humans in a complex computer game". MIT Tech Review. Retrieved 25 June 2018.
- ^ "Bill Gates hails 'huge milestone' for AI as bots work in a team to destroy humans at video game 'Dota 2'". Business Insider. Archived from the original on 27 June 2018. Retrieved 27 June 2018.
- ^ "Garry Kasparov's Twitter". 24 August 2018. Retrieved 24 August 2018.
- ^ Park, Morgan (11 August 2018). "How the OpenAI Five tore apart a team of Dota 2 pros". PC Gamer. Retrieved 25 May 2020.
- ^ Gault, Matthew (17 August 2018). "OpenAI Is Beating Humans at 'Dota 2' Because It's Basically Cheating". Vice. Retrieved 25 May 2020.
- ^ Statt, Nick (30 October 2019). "DeepMind's StarCraft 2 AI is now better than 99.8 percent of all human players". The Verge. Retrieved 25 May 2020.
- ^ OpenAI; Andrychowicz, Marcin; Baker, Bowen; Chociej, Maciek; Józefowicz, Rafał; McGrew, Bob; Pachocki, Jakub; Petron, Arthur; Plappert, Matthias; Powell, Glenn; Ray, Alex; Schneider, Jonas; Sidor, Szymon; Tobin, Josh; Welinder, Peter; Weng, Lilian; Zaremba, Wojciech (2019). "Learning Dexterous In-Hand Manipulation". arXiv:1808.00177v5 [cs.LG].
- ^ OpenAI; Akkaya, Ilge; Andrychowicz, Marcin; Chociej, Maciek; Litwin, Mateusz; McGrew, Bob; Petron, Arthur; Paino, Alex; Plappert, Matthias; Powell, Glenn; Ribas, Raphael (2019). "Solving Rubik's Cube with a Robot Hand". arXiv:1910.07113v1 [cs.LG].