За какую сторону ИИ побеждает чаще? Как именно боты выбирают предметы для покупки? Какого процессора достаточно для запуска готовой версии OpenAI? На эти и другие вопросы ответила команда разработчиков искусственного интеллекта во время сессии ask-me-anything на Reddit, а мы собрали наиболее интересные из них.
— Чем руководствуются боты, когда ставят 4 варда в одном месте или оставляют последнего крипа в лагере в своем лесу?
— У нас есть теория: бот ставит варды, чтобы освободить слоты в инвентаре для более ценных предметов. Так как он самообучаем, мы можем лишь предполагать, почему он решил, что поставить варды — наиболее оптимальное действие в данный момент времени.
— Боты знают, что можно переложить предметы в рюкзак?
— Да, но перекладывание предметов из инвентаря в рюкзак заскриптовано [настроено вручную — прим.].
— Почему? Они не поняли, для чего это нужно, или есть какие-то проблемы, не позволяющие им это использовать?
— Мы провели эксперимент, в ходе которого позволили им этому научиться. Они научились неплохо перекладывать предметы, но пользовались этим навыком не лучше, чем в случае со скриптом, поэтому мы решили убрать его перед матчем с OG.
— Ради любопытства: почему не оставить их в режиме самообучения? Если в нем они дошли до уровня скрипта, то зачем убирать его?
— Последние несколько недель перед матчем с OG в модели наблюдались ошибки. Мы подумали, что это из-за новых параметров и действий. В последнюю минуту мы откатили эти изменения и запустили тренировку с предыдущей точки сохранения, но, к сожалению, в ней не было логики перекладывания предметов.
— Логика использования расходников заскриптована, так что бот не выбирает между покупкой вардов и фласок. Когда курьер приносит предмет, который боту не нужен, он его сразу же использует — особенно в том случае, когда слоты его инвентаря заполнены, и он хочет что-нибудь переложить в рюкзак.
Что касается лагерей крипов, не до конца ясно, понимают ли они «правила»: добивание последнего крипа, блокирование спауна. Ещё более непонятно, знают ли они о времени возрождения крипов.
— Значит ли это, что выбор между Healing Salve и Tango был сделан вами, а не ботом?
— Мы изначально убрали Tango (отчасти потому, что поначалу не говорили им о деревьях в игре). Мы тренировали ИИ в течение последнего месяца, но из-за ошибок пришлось вернуть предыдущий вариант перед матчем с OG.
Что касается выбора, то это результат некоторой комбинации: хотя мы и говорим им, что покупать, поначалу мы наблюдаем за тем, как они справляются под действием скриптов (например, чтобы выяснить, в чём они хороши и что им нравится), и сравниваем проценты побед для выяснения лучшего варианта.
Первая победа людей в рамках OpenAI Five Arena
— Есть ли преимущество у той или иной стороны во время тренировок бота? Например, в матчах между людьми наблюдается большая разница: Dotabuff
— OpenAI побеждает за Свет на 5% чаще.
— Команда тестировщиков выяснила, что поведение бота при игре за Свет и Тьму различается: в приоритизации строений (например, уничтожение Т1 вышки Сил Света при игре за Тьму они считают очень важным) и конфронтации на линиях, что влияет на результативность, а значит, и долю побед. В целом, смена стороны, видимо, влияет не так, как на людей (например, они не подвержены влиянию угла камеры).
— Рассматриваете ли вы возможность заменить текущих ботов в «Доте» на одну из версий OpenAI?
— Нужно будет спросить об этом Valve :)
— Возможно ли будет в будущем сыграть с OpenAI снова?
— На данный момент у нас нет планов по публичному тестированию OpenAI Five, к сожалению.
— Главная проблема здесь в том, что понимание игры у Five снижается после каждого патча от Valve.
— После этих выходных OpenAI уйдет из «Доты»?
— После этих выходных мы закроем компетитив-часть нашего проекта: после победы над OG осталось не так много, чего можно достичь, продолжая эксперименты в соревновательном направлении.
— Кстати, мы спрятали небольшое «пасхальное яйцо» на стадии драфта. До сих пор его не нашли, насколько нам известно!
— Да!
— Насколько велика модель?
— У нее сейчас приблизительно 167 миллионов параметров.
Победа команды Wagamama в рамках OpenAI Five Arena
— Сколько ресурсов необходимо для запуска OpenAI после того, как тренировка завершится?
— 32-ядерного процессора достаточно для игры с OpenAI Five.
— Уточню: это 32-поточный Intel Skylake с hyper-threading, так что процессора с 16 физическими ядрами вполне достаточно для запуска матча вместе с ботом.
— Как вы выбрали героев для тренировок OpenAI?
— Когда мы начали, мы выбрали тех героев, которых считали наиболее легкими для изучения искусственным интеллектом (с дальним типом атаки, простыми способностями и т.д.). Когда увидели прогресс, мы попытались сбалансировать доступный список, добавляя в него юнитов ближнего боя и саппортов-«четвёрок». Дальше мы планировали внедрить весёлых и интересных героев, но ИИ не научился управлять ими на одном уровне с первоначальными.
Первыми двумя после основных были Drow Ranger и Huskar. Когда они достигли уровня героев из первоначального списка, мы добавили Pugna, Pudge, Venomancer, Mirana и
Windranger, чтобы посмотреть, научится ли ИИ новым механикам, недоступным в первоначальном списке. Также мы попробовали тренировки со списком из около 80 героев, исключая способных призывать суммонов и иллюзии.
У Huskar наблюдались некоторые проблемы. Искусственный интеллект очень хорошо справляется с одной целью, из-за этого на начальных этапах Huskar проводил очень много времени мёртвым.
— Как вы сотрудничаете с Valve?
— Valve помогла нам получить «замороженные» версии игры. Из-за того что с выходом каждого патча ИИ нужно заново учиться и на это может уходить большое количество времени, нам было важно получить версию клиента, которая не будет меняться.
— Планируете ли вы попробовать другие игры?
— На данный момент — нет. С «Дотой» всё еще остались нерешённые вопросы, которые мы можем изучить и использовать в нашем исследовании.
— Как ИИ видит себя, союзных юнитов и строения? Может ли он «увидеть» это всё одновременно, в то время как человек видит лишь часть, ограниченную собственным восприятием?
— OpenAI Five использует специальное API, чтобы отслеживать состояние игры. Мы не можем дать ему видеть в тумане войны, но он одновременно видит всех юнитов в том месте, где они находились последний раз. Это значит, что он в курсе событий, происходящих далеко от него.
Однако мы ограничиваем количество юнитов, которое он может видеть во время игры, и сортируем их по расстоянию до соответствующего бота. Это означает, что когда карта переполнена, он видит только ближайших юнитов.
Слева — как «Доту» видит человек, справа — взгляд искусственного интеллекта
— Увидим ли мы когда-нибудь бота с возможностью играть за любого героя из «Доты»?
— На данный момент мы не планируем увеличивать доступное количество героев, но если в будущем получится повысить эффективность тренировок, можем рассмотреть этот вариант.
— Как боты выбирают предметы для покупки и способности для изучения? Если не ошибаюсь, одна из ранних версий OpenAI работала по готовым сборкам для каждого героя, а боты лишь выбирали одну из них. Что-нибудь изменилось?
— Мы до сих пор используем готовые (заскриптованные) сборки. Во время тренировок они подбираются случайным образом, чтобы модель научилась играть против разных сборок.
Мы экспериментировали с внедрением самообучения по выбору предметов для ботов, и даже появились первые результаты. Но, к сожалению, нам не хватило времени перед шоу-матчем и дальнейшим тестированием.
— Можно ли решить проблему ИИ с использованием Smoke/вардов и невидимости с помощью специальных карт? Например, вместо обычной Dota 2 поместить их на карту, где нужно пройти из точки А в точку Б, оставшись незамеченным.
— Да, мы тестировали несколько способов генерирования случайного окружения, чтобы Five научился вести себя в таких ситуациях. Например, мы меняли количество очков здоровья Рошана, чтобы Five легче понимал, когда стоит его убивать.
— Почему вы выбрали Dota 2?
— На это есть ряд причин:
- популярность (и огромные призовые);
- то, что реакция и микроконтроль — второстепенные навыки;
- глубина (сложность);
- доступность на Linux;
- API.
Все вышеперечисленные пункты одинаково важны.
Сложность даёт нам интересную проблему для решения. Независимость от скорости реакции делает игру более честной в матче между человеком и искусственным интеллектом. Благодаря популярности и размеру призовых люди вложили в игру бесчисленное количество часов, что позволяет нам эффективно тренироваться. Наконец, поддержка Linux и API делает вещи более эффективными с точки зрения затрат.
Комментарии
ПравилаВ комментариях под материалами на сайте действуют все правила портала, с которыми можно ознакомиться на специальной странице — https://dota2.ru/forum/rules/. Помимо этого, в комментариях к новостям существуют дополнительные ограничения: