OpenAI Five

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

OpenAI Five — це назва системи машинного навчання, яка керує командою з п'яти ботів, що грають проти команди з п'яти людей у відеогру Dota 2. Проект був розроблений американською дослідницькою компанією зі штучного інтелекту (ШІ) OpenAI, яка була заснована з метою розробки безпечного ШІ на користь людства. Перший публічний виступ OpenAI Five відбувся у 2017 році, коли він був продемонстрований в живій грі та переміг професійного гравця, відомого під ніком Dendi. Наступного року система розвинулась до того рівня, що працювала як повна команда з п'яти осіб, і могла перемагати професійні команди.

Компанія OpenAI використовує «Dota 2» в якості прикладу застосування прикладного машинного навчання загального призначення, щоб відобразити непередбачуваність і безперервну природу реального світу. Команда розробників заявила, що головними причинами вибору цієї відеогри були складні правила та її сильна залежність від командної роботи для досягнення перемоги. Алгоритми, використані у проекті, також були застосовані до інших систем, таких як керування роботизованою рукою. Проект також порівнюють з низкою інших подібних робіт, де ШІ грає та перемагає людей, наприклад Watson у телевізійному ігровому шоу Jeopardy![en], Deep Blue — ШІ для гри в шахи і AlphaGo для настільної гри Ґо.

Історія[ред. | ред. код]

В листопаді 2016 року почалася робота над алгоритмами, які б використовувалися для ботів. OpenAI вирішив взяти за основу відеогру Dota 2, в якій змагаються команди у форматі п'ять на п'ять, через її популярність на стримінговій платформі Twitch, яка має вбудовану підтримку Linux і має доступний API.[1] Спочатку, до того як почати симулювати гру команди із п'яти осіб, система перемогла у прямому ефірі один на один професійного українського кіберспортсмена Денді на першій публічній демонстрації у серпні під час щорічного чемпіонату світу The International 2017.[2][3] Після матчу, технічний директор проекту Грег Брокман пояснив, що бот вчився, граючи проти самого себе протягом двох тижнів реального часу, і що створене для цього програмне забезпечення було кроком у напрямку створення систем, які зможуть виконувати більш складні завдання «на кшталт, бути хірургом».[4][5] OpenAI використовували у своїй роботі «навчання з підкріпленням», оскільки боти вчились, граючи проти себе сотні разів на день протягом місяців, отримуючи винагороду за такі дії, як вбивство ворога та руйнування веж.[6][7][8]

У червні 2018 року можливості ботів розширилися до можливості грати разом як повна команда з п'яти осіб, і вони могли перемогати команди аматорів і напівпрофесійних гравців.[9][6][10][11] Під час The International 2018[en] OpenAI Five зіграв у двох матчах проти професійних команд, перший матч був проти бразильської paiN Gaming, а другий був проти команди всіх зірок[en], створеної із колишніх професійних китайських гравців.[12][13] Хоча боти програли обидва матчі, OpenAI вважали це успішним результатом, заявивши, що гра проти одних із кращих гравців в «Dota 2» дозволила їм проаналізувати та налаштувати свої алгоритми для майбутніх ігор.[14] Остання публічна демонстрація ботів відбулася у квітні 2019 року, коли вони виграли best-of-three[en] серію проти чемпіонів The International 2018 OG[en] на живому заході в Сан-Франциско.[15] Того ж місяця відбулася чотириденна онлайн-подія в самій грі, де кожний бажаючий міг зіграти проти ботів.[16] У підсумку з ботами було зіграно 42 729 публічні гри, серед яких боти програли тільки 4 075 гри.[17]

Архітектура[ред. | ред. код]

Кожна мережа OpenAI Five містить один шар із 4096 вузлів LSTM[18], який спостерігає за поточним станом гри, отриманим через API Dota. Нейронна мережа виконує дії за допомогою численних можливих «голів» дій (без залучення людських даних), і кожна така «голова» має семантичне значення. Наприклад, кількість часу для затримки дії, яку дію обрати — координати X або Y для цієї дії у системі координат юніта. Крім того, «голови» дій обчислюються незалежно. Система ШІ спостерігає за оточенням, представленим у вигляді списку із 20 000 чисел і виконує дію, створюючи список із восьми перерахованих значень. Крім того, вона обирає різні дії та цілі, щоб зрозуміти, як кодувати кожну дію та спостерігати за оточенням.[19]

OpenAI Five розроблена як універсальна система навчання з підкріпленням на інфраструктурі «Rapid». Rapid складається з двох типів воркерів: перший тип — rollout, який запускає тисячі копій гри і допомагає їм «розмовляти» один з одним, другий тип — optimizer, запускає програмне забезпечення для виконання градієнтного спуску. До 2018 року для навчання з підкріпленням градієнтним методом «Проксимальна стратегія оптимізації» (англ. Proximal Policy Optimization) OpenAI Five встиг награти близько 180 років гри на 256 GPU і 128 000 ядрах CPU[20][19][21].

Порівняльна таблиця
OpenAI 1v1 бот (2017) OpenAI Five (2018)
CPU 60,000 ядер CPU, працюючих на Microsoft Azure 128,000 витискальних ядер CPU, працюючих на Google Cloud Platform (GCP)
GPU 256 K80 GPU на Azure 256 P100 GPUs on the GCP
Зібраний досвід ~300 років за день ~180 років за день
Розмір спостереження ~3.3kB ~36.8kB
Спостережень за секунду ігрового процесу 10 7.5
Розмір пакету 8,388,608 спостережень 1,048,576 спостережень
Пакетів за хвилину ~20 ~60

Порівняння з іншими ігровими системами ШІ[ред. | ред. код]

До OpenAI Five раніше успішно використовувалися інші проекти та системи ШІ, що грають проти людей, наприклад Jeopardy![en] з Watson[en], шахи з Deep Blue і Го з AlphaGo.[22][23][24] У порівнянні з іншими іграми, які використовували системи штучного інтелекту для гри проти людей, Dota 2 відрізняється наявністю наступних елементів:

Перегляд довгострокової дії: боти працюють зі швидкістю 30 кадрів за секунду протягом середнього матчу тривалістю 45 хвилин, що призводить до 80 000 ходів за гру. OpenAI Five спостерігає за кожним четвертим кадром, генеруючи 20 000 ходів. Для порівняння, шахи зазвичай закінчуються до 40 ходу, тоді як Го закінчується до 150 ходу.[25]

Частково спостережуваний стан гри: гравці та їхні союзники можуть бачити карту лише навколо себе. Решта його вкрита туманом війни, який приховує ворожі підрозділи та їхні переміщення. Таким чином, гра в Dota 2 вимагає робити висновки на основі цих неповних даних, а також передбачати, що може робити опонент в цей самий час. Для порівняння, шахи і Го — це ігри з повною інформацією, оскільки вони не приховують елементів від гравця суперника.[25][26]

Простір безперервної дії: кожен персонаж у грі Dota 2, відомий як герой, може виконувати десятки дій, спрямованих на іншого персонажа або позицію. Розробники OpenAI Five надають простір для 170 000 можливих дій для одного героя. Не враховуючи постійних аспектів гри, існує в середньому приблизно 1000 дійсних дій для кожного моменту часу. Для порівняння, середня кількість дій у шахах становить 35 і 250 у Го.[25]

Простір безперервного спостереження: Dota 2 грається на великій карті з десятьма героями, по п'ять у кожній команді, а також десятками будівель та персонажами (NPC). Система OpenAI спостерігає за станом гри через API бота розробників, отримуючи 20 000 значень, що становлять всю інформацію, до якої може отримати доступ людина. Шахова дошка представлена приблизно 70 значеннями, тоді як дошка для Го має близько 400 значень.[25]

Оцінка[ред. | ред. код]

OpenAI Five отримала визнання від спільноти ШІ, технологій та відеоігор у цілому. Засновник Майкрософт Білл Гейтс назвав це «великою справою», оскільки їхні перемоги вимагали командної роботи та співпраці.[27][28] Гравець в шахи Гаррі Каспаров, який програв ШІ Deep Blue у 1997 році, заявив, що, незважаючи на те, що боти програли на The International 2018, вони зрештою переможуть, і це буде раніше, ніж очікується.[29]

У розмові з MIT Technology Review[en] експерти зі штучного інтелекту також вважали систему OpenAI Five значним досягненням, оскільки відзначили, що Dota 2 є надзвичайно складною грою, тож навіть перемоги над непрофесійними гравцями вражали.[26] PC Gamer написав, що перемоги ботів над професійними гравцями були важливою подією для машинного навчання.[30] На відміну від цього, Motherboard[en] писав, що перемога була «шахрайством» через зменшений вибір доступних для гри героїв з обох сторін, а також через те, що ботам надали прямий доступ до API, на відміну від використання ними технології комп'ютерного зору для інтерпретації пікселів на екрані.[31] The Verge писав, що боти були доказом того, що підхід компанії до навчання з підкріпленням та її загальна філософія щодо штучного інтелекту «приносять плоди».[32]

У 2019 році DeepMind показав AlphaStar[en] — схожого бота для Starcraft II. Як і OpenAI Five, AlphaStar використовував навчання з підкріпленням і гру сам із собою. «The Verge» повідомляє, що «мета такого типу досліджень штучного інтелекту полягає не тільки в тому, щоб перемогти людей у різних іграх, а щоб довести, що це можливо. Складне програмне забезпечення для штучного інтелекту може краще людей виконувати майже будь-яке когнітивне завдання, будь то настільна чи сучасна відеогра». Вони додали, що перемоги DeepMind і OpenAI також є свідченням користі використання навчання з підкріпленням.[33]

Примітки[ред. | ред. код]

  1. OpenAI Five. openai.com/five. Архів оригіналу за 1 вересня 2018. Процитовано 10 жовтня 2018.  Проігноровано невідомий параметр |df= (довідка)
  2. Savov, Vlad. My favorite game has been invaded by killer AI bots and Elon Musk hype. The Verge. Архів оригіналу за 26 червня 2018. Процитовано 25 червня 2018.  Проігноровано невідомий параметр |df= (довідка)
  3. Frank, Blair Hanley. OpenAI's bot beats top Dota 2 player so badly that he quits. Venture Beat. Архів оригіналу за 12 серпня 2017. Процитовано 12 серпня 2017. 
  4. Dota 2. blog.openai.com. Архів оригіналу за 11 серпня 2017. Процитовано 12 серпня 2017.  Проігноровано невідомий параметр |df= (довідка)
  5. More on Dota 2. blog.openai.com. Архів оригіналу за 16 серпня 2017. Процитовано 16 серпня 2017.  Проігноровано невідомий параметр |df= (довідка)
  6. а б Simonite, Tom. Can Bots Outwit Humans in One of the Biggest Esports Games?. Wired. Архів оригіналу за 25 червня 2018. Процитовано 25 червня 2018.  Проігноровано невідомий параметр |df= (довідка)
  7. Kahn, Jeremy. A Bot Backed by Elon Musk Has Made an AI Breakthrough in Video Game World. Bloomberg. Архів оригіналу за 27 червня 2018. Процитовано 27 червня 2018.  Проігноровано невідомий параметр |df= (довідка)
  8. Clifford, Catherine. Bill Gates says gamer bots from Elon Musk-backed nonprofit are 'huge milestone' in A.I.. CNBC. Архів оригіналу за 28 червня 2018. Процитовано 29 червня 2018.  Проігноровано невідомий параметр |df= (довідка)
  9. OpenAI Five Benchmark. blog.openai.com. Архів оригіналу за 26 серпня 2018. Процитовано 25 серпня 2018.  Проігноровано невідомий параметр |df= (довідка)
  10. Vincent, James. AI bots trained for 180 years a day to beat humans at Dota 2. The Verge. Архів оригіналу за 25 червня 2018. Процитовано 25 червня 2018.  Проігноровано невідомий параметр |df= (довідка)
  11. Savov, Vlad. The OpenAI Dota 2 bots just defeated a team of former pros. The Verge. Архів оригіналу за 7 серпня 2018. Процитовано 7 серпня 2018.  Проігноровано невідомий параметр |df= (довідка)
  12. Simonite, Tom. Pro Gamers Fend off Elon Musk-Backed AI Bots—for Now. Wired. Архів оригіналу за 24 серпня 2018. Процитовано 25 серпня 2018.  Проігноровано невідомий параметр |df= (довідка)
  13. Quach, Katyanna. Game over, machines: Humans defeat OpenAI bots once again at video games Olympics. The Register. Архів оригіналу за 25 серпня 2018. Процитовано 25 серпня 2018.  Проігноровано невідомий параметр |df= (довідка)
  14. The International 2018: Results. blog.openai.com. Архів оригіналу за 24 серпня 2018. Процитовано 25 серпня 2018.  Проігноровано невідомий параметр |df= (довідка)
  15. Wiggers, Kyle. OpenAI Five defeats professional Dota 2 team, twice. Venture Beat. Архів оригіналу за 13 квітня 2019. Процитовано 13 квітня 2019.  Проігноровано невідомий параметр |df= (довідка)
  16. Statt, Nick. OpenAI's Dota 2 AI steamrolls world champion e-sports team with back-to-back victories. The Verge. Архів оригіналу за 15 квітня 2019. Процитовано 15 квітня 2019.  Проігноровано невідомий параметр |df= (довідка)
  17. Wiggers, Kyle. OpenAI's Dota 2 bot defeated 99.4% of players in public matches. Venture Beat. Архів оригіналу за 11 липня 2019. Процитовано 22 квітня 2019. 
  18. Understanding LSTM Networks. colah's blog. Архів оригіналу за 1 серпня 2017. Процитовано 27 серпня 2015.  Проігноровано невідомий параметр |df= (довідка)
  19. а б OpenAI Five. blog.openai.com. 25 червня 2018. Архів оригіналу за 25 червня 2018. Процитовано 25 червня 2018.  Проігноровано невідомий параметр |df= (довідка)
  20. Why are AI researchers so obsessed with games?. QUARTZ. Архів оригіналу за 4 серпня 2018. Процитовано 4 серпня 2018.  Проігноровано невідомий параметр |df= (довідка)
  21. Schulman, John; Wolski, Filip; Dhariwal, Prafulla; Radford, Alec; Klimov, Oleg (2017). «Proximal Policy Optimization Algorithms». arXiv:1707.06347 [cs.LG]. 
  22. Gabbatt, Adam (17 лютого 2011). IBM computer Watson wins Jeopardy clash. The Guardian. Архів оригіналу за 21 вересня 2013. Процитовано 17 лютого 2011.  Проігноровано невідомий параметр |df= (довідка)
  23. Chess grandmaster Garry Kasparov on what happens when machines 'reach the level that is impossible for humans to compete'. Business Insider. Архів оригіналу за 29 грудня 2017. Процитовано 29 грудня 2017.  Проігноровано невідомий параметр |df= (довідка)
  24. DeepMind's Go-playing AI doesn't need human help to beat us anymore. Verge. 18 жовтня 2017. Архів оригіналу за 18 жовтня 2017. Процитовано 18 жовтня 2017.  Проігноровано невідомий параметр |df= (довідка)
  25. а б в г OpenAI Five. blog.openai.com. 25 червня 2018. Архів оригіналу за 25 червня 2018. Процитовано 25 червня 2018.  Проігноровано невідомий параметр |df= (довідка)
  26. а б A team of AI algorithms just crushed humans in a complex computer game. MIT Tech Review. Архів оригіналу за 26 червня 2018. Процитовано 25 червня 2018. 
  27. Bill Gates says gamer bots from Elon Musk-backed nonprofit are 'huge milestone' in A.I.. CNBC. 28 червня 2018. Архів оригіналу за 28 червня 2018. Процитовано 28 червня 2018.  Проігноровано невідомий параметр |df= (довідка)
  28. Bill Gates hails 'huge milestone' for AI as bots work in a team to destroy humans at video game 'Dota 2'. Business Insider. Архів оригіналу за 27 червня 2018. Процитовано 27 червня 2018.  Проігноровано невідомий параметр |df= (довідка)
  29. Twitter Гаррі Каспарова. 24 серпня 2018. Архів оригіналу за 9 липня 2020. Процитовано 24 серпня 2018. 
  30. Park, Morgan (11 серпня 2018). How the OpenAI Five tore apart a team of Dota 2 pros. PC Gamer. Архів оригіналу за 25 грудня 2019. Процитовано 25 травня 2020. 
  31. Gault, Matthew (17 серпня 2018). OpenAI Is Beating Humans at 'Dota 2' Because It's Basically Cheating. Vice (англ.). Архів оригіналу за 28 травня 2020. Процитовано 25 травня 2020. 
  32. Statt, Nick (13 квітня 2019). OpenAI's Dota 2 AI steamrolls world champion e-sports team with back-to-back victories. The Verge (англ.). Архів оригіналу за 15 квітня 2019. Процитовано 25 травня 2020. 
  33. Statt, Nick (30 жовтня 2019). DeepMind's StarCraft 2 AI is now better than 99.8 percent of all human players. The Verge (англ.). Архів оригіналу за 26 лютого 2020. Процитовано 25 травня 2020. 

Посилання[ред. | ред. код]