Перейти к содержанию

OpenAI Five

Материал из Википедии — свободной энциклопедии

OpenAI Five — система искусственного интеллекта, разработанная исследовательской организацией OpenAI для игры в Dota 2 в формате командных матчей пять на пять. Система использовала обучение с подкреплением и самообучение посредством игры против собственных предыдущих версий; её агенты обучались без использования данных о действиях людей[1][2]. OpenAI представила OpenAI Five в июне 2018 года как развитие своего более раннего проекта по созданию агента для одиночных матчей Dota 2[3].

13 апреля 2019 года OpenAI Five победила со счётом 2:0 команду OG, победителя The International 2018. Это стало первым случаем, когда система искусственного интеллекта победила действующих чемпионов мира по киберспортивной дисциплине[4][5].

Предшествующий проект

[править | править код]

Работа OpenAI над агентами для Dota 2 стала публичной в 2017 году. Первоначальная система была предназначена не для полноценной командной игры, а для матчей один на один на центральной линии, в которых оба участника управляли героем Shadow Fiend. Агент обучался преимущественно посредством игры против собственных копий, не используя записи матчей профессиональных игроков. В августе 2017 года на турнире The International 2017 он победил нескольких профессиональных игроков, включая Артура «Arteezy» Бабаева и Сумаила «SumaiL» Хассана, а во время публичной демонстрации выиграл серию до двух побед у Данила «Dendi» Ишутина со счётом 2:0[6][7].

Возможности первого агента были существенно ограничены по сравнению с полной версией Dota 2: он играл только одним героем и только в формате 1×1. После демонстрации OpenAI объявила следующей целью создание системы, способной участвовать в полноценных матчах пять на пять и взаимодействовать с другими агентами как единая команда[6][8].

OpenAI Five и The International 2018

[править | править код]

25 июня 2018 года OpenAI представила OpenAI Five — систему из пяти агентов, способных совместно играть одной командой. К этому времени система уже побеждала команды игроков-любителей и полупрофессионалов[2][3].

5 августа 2018 года OpenAI провела публичный тест OpenAI Five перед выступлением на The International. Система выиграла первые две игры серии против команды из пяти высокорейтинговых игроков, четверо из которых ранее выступали профессионально; третью игру выиграла команда людей после того, как состав героев OpenAI Five был выбран зрителями с целью создать для системы неблагоприятные условия[9][10].

На The International 2018 в Ванкувере OpenAI Five провела два показательных матча против профессиональных игроков. В первом система встретилась с бразильской командой paiN Gaming и проиграла после примерно 50 минут игры. Во втором матче ей противостояла сборная известных китайских профессиональных игроков; OpenAI Five также потерпела поражение[11][12].

Победа над OG и OpenAI Five Arena

[править | править код]
Image
Состав OG на The International 2018. В апреле 2019 года действующие чемпионы турнира сыграли против OpenAI Five

Следующая крупная публичная демонстрация состоялась 13 апреля 2019 года в Сан-Франциско. В серии до двух побед OpenAI Five встретилась с OG, победителем The International 2018. Система выиграла обе игры и завершила серию со счётом 2:0[13][14].

После матча с OG OpenAI организовала онлайн-эксперимент OpenAI Five Arena, позволив пользователям Dota 2 играть с системой или против неё через Интернет. С 18 по 21 апреля 2019 года OpenAI Five участвовала в десятках тысяч игр с пользователями. В соревновательном режиме система выиграла 7215 из 7257 матчей, то есть 99,4 %, проиграв 42 игры[15].

В декабре 2019 года исследователи OpenAI опубликовали работу Dota 2 with Large Scale Deep Reinforcement Learning, в которой обобщили устройство системы, процесс её обучения и результаты экспериментов[16].

Архитектура и обучение

[править | править код]

Архитектура

[править | править код]
Image
Схема архитектуры обучения OpenAI Five

OpenAI Five получала сведения о состоянии игры не из изображения на экране, а в виде структурированных данных через API ботов Dota 2, предоставленный Valve. Наблюдения включали доступные игроку сведения о героях, других юнитах, зданиях, предметах и состоянии карты. При этом система учитывала туман войны и не получала скрытых от команды данных противника. В ранней версии 2018 года состояние игры представлялось приблизительно 20 тысячами числовых значений; решение о следующем действии принималось каждый четвёртый игровой кадр[3].

Каждым из пяти героев управляла отдельная копия одной и той же нейронной сети с общими параметрами, но собственным скрытым состоянием. Для того чтобы агенты могли выполнять разные действия, входные данные содержали информацию о том, каким именно героем управляет конкретная копия сети[17]. Итоговая архитектура, описанная исследователями в 2019 году, использовала однослойную сеть LSTM с 4096 блоками. Полученное LSTM-представление передавалось функции ценности и нескольким выходным слоям, отвечавшим за выбор типа действия, цели и других его параметров; на LSTM приходилось около 84 % параметров модели[18]. В опубликованном в июне 2018 года описании OpenAI Five использовалась LSTM с 1024 блоками[3].

Прямого канала связи между пятью агентами в системе не существовало. Координация возникала в процессе совместного обучения. Разработчики использовали параметр, названный ими «командным духом» (англ. team spirit), который определял соотношение между индивидуальным вознаграждением каждого агента и средним вознаграждением всей команды. В ходе обучения его значение постепенно повышалось, увеличивая долю командного вознаграждения по отношению к индивидуальному[3].

Обучение с подкреплением и self-play

[править | править код]

OpenAI Five обучалась с помощью масштабированной версии алгоритма обучения с подкреплением Proximal Policy Optimization[англ.] (PPO). Обучение начиналось со случайно инициализированных параметров; система не использовала записи матчей людей для имитации их действий и не применяла поиск по дереву вариантов, характерный для ряда других игровых систем искусственного интеллекта[3][17]. Вместо этого агенты совершенствовали свою стратегию посредством игры против собственных копий (англ. self-play)[2].

Чтобы уменьшить вероятность так называемого «коллапса стратегии», при котором новая версия агента могла забывать способы противодействия более старым стратегиям, около 80 % тренировочных матчей проводились против текущей версии OpenAI Five, а оставшиеся 20 % — против сохранённых предыдущих версий системы[18]. Вознаграждение агента учитывало не только исход матча, но и промежуточные показатели игрового состояния, в том числе изменение общего количества ресурсов, убийства, смерти и другие события[3].

Одной из задач разработчиков было обучение принятию решений с последствиями, проявлявшимися через несколько минут. В ходе обучения коэффициент дисконтирования будущего вознаграждения увеличивался: в описанной в 2018 году версии условный период полураспада значения будущего вознаграждения вырос приблизительно с 46 секунд до пяти минут. По мнению разработчиков, это позволяло агентам предпочитать долгосрочные стратегические преимущества немедленной краткосрочной выгоде[3].

Вычислительная инфраструктура

[править | править код]

Для обучения OpenAI разработала распределённую систему Rapid, в которой большое число процессов одновременно запускало экземпляры Dota 2 и собирало игровой опыт, после чего вычислительные узлы выполняли обновление параметров нейронной сети посредством синхронного градиентного спуска[3]. Летом 2018 года обучение выполнялось с использованием 256 графических процессоров и около 128 тысяч процессорных ядер; система накапливала за сутки опыт, эквивалентный приблизительно 180 годам игры[2][3].

В итоговой системе обучение продолжалось в течение десяти месяцев. Распределённая инфраструктура обрабатывала пакеты примерно из двух миллионов игровых кадров каждые две секунды, а к апрелю 2019 года OpenAI Five накопила около 45 тысяч лет моделируемого игрового опыта[17][19].

Из-за обновлений Dota 2 и изменений архитектуры OpenAI Five разработчики создали набор методов переноса уже обученных параметров на изменённую модель, получивший название surgery («хирургия»). Эти методы позволяли продолжать обучение с минимальной потерей достигнутого качества после изменения входных данных, структуры модели или правил игры. За десять месяцев обучения подобные операции проводились в среднем примерно раз в две недели[18].

Особенности игры

[править | править код]

Условия и ограничения

[править | править код]

Условия, в которых играла OpenAI Five, менялись по мере разработки системы. В первой публично описанной версии 2018 года обе команды были ограничены одинаковым набором из пяти героев — Necrophos, Sniper, Viper, Crystal Maiden и Lich. Были отключены установка вардов, сражение с Рошаном, невидимость, призываемые существа и иллюзии, сканирование карты, а также использование ряда предметов. Кроме того, каждый из пяти героев имел собственного неуязвимого курьера, которого запрещалось использовать для разведки или блокирования урона[3].

К августу 2018 года разработчики добавили поддержку вардов и Рошана, отказались от зеркального выбора героев и расширили доступный набор до 18 персонажей[20]. Перед выступлением на The International 2018 пять неуязвимых курьеров были заменены одним обычным командным курьером. По данным OpenAI, наличие отдельного курьера у каждого героя ранее способствовало формированию характерной агрессивной стратегии: агенты постоянно получали восстанавливающие здоровье и ману предметы и могли продолжать давление на соперника, не возвращаясь на базу. Разработчики отказались от этого правила после критики со стороны игрового сообщества, поскольку оно существенно отличалось от обычной Dota 2[12].

В окончательной версии системы 2019 года поддерживались 17 из 117 существовавших на тот момент героев. Вторым существенным ограничением оставалось отсутствие механик, позволявших одному игроку временно управлять несколькими юнитами: OpenAI Five не использовала Illusion Rune, Helm of the Dominator, Manta Style и Necronomicon. Разработчики объясняли это дополнительной технической сложностью реализации управления несколькими юнитами[21]. Набор героев был сокращён с 18 до 17 после существенного изменения способностей Lich в версии Dota 2 7.20; эксперименты с наборами до 25 героев проводились, однако за оставшееся до финального матча время эти версии не достигли уровня игры основной системы[19].

Не все игровые решения принимались непосредственно нейронной сетью. В окончательной версии заданной вручную логикой по-прежнему определялись порядок изучения способностей и покупки части предметов, управление командным курьером и некоторые операции с инвентарём. По словам исследователей, эти элементы сохранялись главным образом вследствие исторического развития проекта; управление всё большим числом игровых действий постепенно передавалось обучаемой модели[21].

Скорость реакции

[править | править код]

Чтобы преимущество OpenAI Five не сводилось к недостижимой для человека скорости управления, разработчики искусственно ограничивали частоту её реакции. В ранних экспериментах 2018 года задержка составляла около 80 мс, однако перед OpenAI Five Benchmark её увеличили до 200 мс[20]. В окончательной системе агент мог реагировать на появление новой информации через 167—267 мс, в среднем примерно через 217 мс. Для сравнения, в научной работе разработчики приводили типичное время простой зрительной реакции человека около 250 мс, отмечая, что реальная реакция во время партии в Dota 2, вероятно, медленнее[21]. Ars Technica также отмечала, что скорость реакции системы была намеренно ограничена, чтобы её результат не объяснялся исключительно сверхчеловеческими рефлексами[13].

Стиль игры

[править | править код]

В процессе обучения OpenAI Five самостоятельно освоила ряд приёмов, характерных для игры людей: распределение по линиям, получение золота и опыта, перемещение героев между линиями, нападения на изолированных противников и совместные атаки всей команды. Уже в 2018 году система предпочитала сравнительно рано объединять героев и атаковать башни, стремясь перевести преимущество в контроль карты прежде, чем противник успевал подготовить ответные действия[3]. В матчах OpenAI Five Benchmark Ars Technica характеризовала её игру как ориентированную на выполнение командных целей, давление на башни и поддержание высокого темпа, благодаря которому соперники не успевали накопить необходимые уровни и предметы[9].

Распределение ресурсов между героями также первоначально отличалось от распространённой профессиональной стратегии. Команды людей обычно отдавали бо́льшую долю золота и опыта героям основной позиции, тогда как OpenAI Five сравнительно щедро распределяла ресурсы между героями поддержки[9][3]. В более поздних версиях система сильнее концентрировала ресурсы на наиболее важных героях, избегала невыгодных сражений при отставании и переходила к накоплению ресурсов, сохраняя склонность к ранним командным боям и давлению при получении преимущества[21].

Несмотря на отсутствие прямого канала связи между пятью агентами, наблюдатели отмечали высокий уровень их согласованности. Во время сражений несколько агентов могли практически одновременно принять решение об атаке одной цели и совместно реализовать его. Ars Technica характеризовала такую координацию как одну из наиболее заметных сильных сторон OpenAI Five[13]. При этом система демонстрировала и нетипичные для профессиональных игроков решения: например, чаще использовала наносящие урон способности для постепенного снижения здоровья противника, тогда как игроки-люди могли сохранять те же способности для нанесения завершающего удара[9].

Среди слабых сторон OpenAI Five отмечались относительно невысокая эффективность добивания крипов для получения золота и сложности при взаимодействии с некоторыми специфическими механиками. В финальной демонстрации 2019 года система испытывала трудности против невидимых противников и способности Fissure героя Earthshaker, создающей непроходимое препятствие на местности[13]. Во время The International 2018, когда OpenAI Five проиграла профессиональным игрокам, она оставалась конкурентоспособной в начале и середине матчей, однако уступала соперникам в более продолжительной стратегической игре[11].

Значение и оценки

[править | править код]

Специалисты, опрошенные MIT Technology Review[англ.], оценивали способность OpenAI Five конкурировать с сильными игроками как значительный результат: Dota 2 требует принятия длинных последовательностей решений при неполной информации и координации нескольких агентов[1].

В итоговой научной работе исследователи OpenAI подчёркивали, что достигнутый уровень игры обеспечивался не принципиально новым алгоритмом, а масштабированием существующих методов self-play и глубокого обучения с подкреплением; данные о действиях игроков-людей для обучения не использовались[17][19].

В отдельной работе исследователи OpenAI анализировали внутренние состояния OpenAI Five и обнаружили признаки того, что скрытые состояния модели содержали информацию о положении команд и будущих подзадачах за несколько минут до их выполнения, несмотря на отсутствие явно заданной иерархической системы планирования[22].

Разработанная для проекта инфраструктура применялась и за пределами Dota 2. Распределённая система обучения Rapid и тот же общий алгоритм обучения с подкреплением были использованы OpenAI при создании Dactyl — системы управления роботизированной кистью, обучавшейся манипулировать физическими объектами в симуляции с последующим переносом навыков на реального робота[23].

Ограничения и критика

[править | править код]

Оценивая результаты OpenAI Five, исследователь искусственного интеллекта Дэвид Черчилль отмечал в Wired, что значимость победы над профессионалами зависит от конкретных условий матча и степени их соответствия игре людей[2].

Отдельная критика касалась использования API Dota 2 вместо обработки изображения игры. Исследователь Технологического института Джорджии Марк Ридл отмечал, что структурированные данные давали OpenAI Five иной способ восприятия среды, чем у человека, и считал более прямым сравнением использование компьютерного зрения[24].

Ars Technica рассматривала найденные игроками нестандартные стратегии против OpenAI Five как иллюстрацию различия между высокоэффективным выполнением обученной задачи и более общим пониманием правил игры: система хуже справлялась с состояниями, редко встречавшимися в её тренировочном опыте[13].

Wired отмечал большое количество требуемого тренировочного опыта как одно из препятствий для переноса подобных методов обучения с подкреплением из быстро моделируемых игровых сред на задачи реального мира[2]. После завершения проекта сама OpenAI также называла необходимость огромного количества тренировочного опыта одним из основных недостатков применённого подхода и одной из дальнейших проблем исследований обучения с подкреплением[19].

Примечания

[править | править код]
  1. 1 2 Will Knight. A team of AI algorithms just crushed humans in a complex computer game (англ.). MIT Technology Review (25 июня 2018). Дата обращения: 26 августа 2026.
  2. 1 2 3 4 5 6 Tom Simonite. Can Bots Outwit Humans in One of the Biggest Esports Games? (англ.). Wired (25 июня 2018). Дата обращения: 26 августа 2026. Архивировано 9 февраля 2019 года.
  3. 1 2 3 4 5 6 7 8 9 10 11 12 13 OpenAI Five (англ.). OpenAI (25 июня 2018). Дата обращения: 26 августа 2026.
  4. ↑ Nick Statt. OpenAI’s Dota 2 AI steamrolls world champion e-sports team with back-to-back victories (англ.). The Verge (13 апреля 2019). Дата обращения: 26 августа 2026. Архивировано 15 апреля 2019 года.
  5. ↑ Dota 2 with Large Scale Deep Reinforcement Learning (англ.). OpenAI (13 декабря 2019). Дата обращения: 26 августа 2026. Архивировано 13 июля 2026 года.
  6. 1 2 Elon Musk’s Dota 2 AI beats the professionals at their own game (англ.). Ars Technica (14 августа 2017). Дата обращения: 26 августа 2026.
  7. ↑ Dota 2 (англ.). OpenAI (11 августа 2017). Дата обращения: 26 августа 2026.
  8. ↑ More on Dota 2 (англ.). OpenAI (16 августа 2017). Дата обращения: 26 августа 2026. Архивировано 9 августа 2026 года.
  9. 1 2 3 4 Elon Musk-funded Dota 2 bots spank top-tier humans, and they know how to trash talk (англ.). Ars Technica (6 августа 2018). Дата обращения: 26 августа 2026. Архивировано 1 января 2025 года.
  10. ↑ OpenAI Five Benchmark: Results (англ.). OpenAI (6 августа 2018). Дата обращения: 26 августа 2026. Архивировано 10 февраля 2026 года.
  11. 1 2 Tom Simonite. Pro Gamers Fend off Elon Musk-Backed AI Bots—for Now (англ.). Wired (23 августа 2018). Дата обращения: 26 августа 2026. Архивировано 4 октября 2018 года.
  12. 1 2 The International 2018: Results (англ.). OpenAI (23 августа 2018). Дата обращения: 26 августа 2026. Архивировано 16 июня 2026 года.
  13. 1 2 3 4 5 OpenAI bot crushes Dota 2 champions, and now anyone can play against it (англ.). Ars Technica (15 апреля 2019). Дата обращения: 26 августа 2026.
  14. ↑ Jon Fingas. AI defeated a top-tier 'Dota 2' esports team (англ.). Engadget (14 апреля 2019). Дата обращения: 26 августа 2026.
  15. ↑ Mariella Moon. OpenAI's 'Dota 2' bot won 7,215 games against humans in three days (англ.). Engadget (23 апреля 2019). Дата обращения: 26 августа 2026. Архивировано 24 июля 2025 года.
  16. ↑ Berner, Christopher; et al. (13 декабря 2019). Dota 2 with Large Scale Deep Reinforcement Learning. arXiv:1912.06680 [cs.LG].
  17. 1 2 3 4 Berner, Christopher; Brockman, Greg; Chan, Brooke; et al. Dota 2 with Large Scale Deep Reinforcement Learning (англ.). arXiv (13 декабря 2019). Дата обращения: 26 августа 2026. Архивировано 23 августа 2026 года.
  18. 1 2 3 Berner, Christopher; Brockman, Greg; Chan, Brooke; et al. Dota 2 with Large Scale Deep Reinforcement Learning (англ.) (PDF). OpenAI (2019). Дата обращения: 26 августа 2026. Архивировано 26 сентября 2024 года.
  19. 1 2 3 4 OpenAI Five defeats Dota 2 world champions (англ.). OpenAI (15 апреля 2019). Дата обращения: 26 августа 2026. Архивировано 23 августа 2026 года.
  20. 1 2 OpenAI Five Benchmark (англ.). OpenAI (18 июля 2018). Дата обращения: 26 августа 2026. Архивировано 6 апреля 2026 года.
  21. 1 2 3 4 OpenAI; Berner, Christopher; Brockman, Greg; Chan, Brooke; et al. (13 декабря 2019). Dota 2 with Large Scale Deep Reinforcement Learning. arXiv:1912.06680 [cs.LG]. {{cite arXiv}}: Явное указание et al. в: |author= (справка)Википедия:Обслуживание CS1 (множественные имена: authors list) (ссылка)
  22. ↑ Raiman, Jonathan; Zhang, Susan; Wolski, Filip. Long-Term Planning and Situational Awareness in OpenAI Five (англ.). arXiv (13 декабря 2019). Дата обращения: 26 августа 2026.
  23. ↑ Andrychowicz, Marcin; Baker, Bowen; Chociej, Maciek; et al. Learning Dexterous In-Hand Manipulation (англ.). arXiv (1 августа 2018). Дата обращения: 26 августа 2026. Архивировано 25 августа 2026 года.
  24. ↑ Matthew Gault. OpenAI Is Beating Humans at ‘Dota 2’ Because It’s Basically Cheating (англ.). Vice (17 августа 2018). Дата обращения: 26 августа 2026. Архивировано 19 марта 2026 года.