Одному графическому процессору требуется всего 3 секунды, чтобы запустить тысячи сред и выполнить 8 миллионов шагов симуляции Стэнфорд разработал суперигровой движок

На этом этапе агенты ИИ кажутся всемогущими, играя в игры и имитируя людей для выполнения различных задач, и эти агенты в основном обучаются в сложных условиях. Кроме того, по мере усложнения задачи обучения возрастает и сложность моделируемой среды, что увеличивает стоимость моделируемой среды.

Даже для компаний и учреждений с ресурсами суперкомпьютерного масштаба обучение пригодного для использования агента может занять несколько дней.

Это препятствует прогрессу в этой области и снижает практичность обучения продвинутых агентов ИИ. Чтобы решить проблему высокой стоимости моделирования окружающей среды, недавние исследовательские усилия существенно переработали симуляторы для повышения эффективности обучения агентов. Эти работы разделяют идею пакетного моделирования, которое представляет собой одновременное выполнение множества независимых сред (обучающих экземпляров) в рамках одного движка симулятора.

В этой статье исследователи из Стэнфордского университета и других учреждений** предложили игровой движок для обучения с подкреплением под названием Madrona, который может параллельно запускать тысячи сред на одном графическом процессоре, сокращая время обучения агентов с часов до часов, минут*. *.

* Адрес бумаги:

  • Домашняя страница бумаги:

В частности, Madrona — это исследовательский игровой движок, предназначенный для создания обучающих сред, которые могут одновременно запускать тысячи экземпляров сред на одном графическом процессоре и реализовывать с очень высокой пропускной способностью (миллионы шагов агрегирования в секунду). Цель Madrona — облегчить исследователям создание новых высокопроизводительных сред для самых разных задач, тем самым на порядки ускорив обучение агентов ИИ.

Мадрона имеет следующие особенности:

  • Пакетное моделирование графического процессора: тысячи сред могут работать на одном графическом процессоре;
  • Архитектура Entity Component System (ECS);
  • Легко совместим с PyTorch.

Пример окружения Madrona:

Как мы упоминали выше, в исследовании использовались принципы проектирования ECS, и конкретный процесс был следующим:

Используя инфраструктуру Madrona, исследователи внедрили несколько обучающих сред, продемонстрировав ускорение на два-три порядка на графических процессорах по сравнению с базовым уровнем ЦП с открытым исходным кодом и ускорение на два-три порядка по сравнению с сильным базовым уровнем, работающим на 32 -thread CPU 5-33 раза. Кроме того, в рамках исследования также была реализована среда OpenAI «3D-прятки» в рамках, и на каждом этапе моделирования выполнялась физика твердого тела и трассировка лучей, достигая скорости более 1,9 миллиона шагов в секунду на одном графическом процессоре.

Один из авторов, Кейвон Фатахалян, адъюнкт-профессор компьютерных наук в Стэнфордском университете, сказал, что в Overcooked, кулинарной игре для нескольких агентов, с помощью игрового движка Madrona время для моделирования 8 миллионов шагов окружающей среды составляло сократилось с одного часа до трех секунд.

В настоящее время Madrona требует C++ для написания игровой логики. Madrona обеспечивает только поддержку рендеринга визуализации, и, хотя он может одновременно моделировать тысячи сред, визуализатор может одновременно просматривать только одну среду.

**Какие симуляторы окружающей среды основаны на Madrona? **

Сама Madrona — это не симулятор среды RL, а игровой движок или фреймворк. Это облегчает разработчикам реализацию собственных новых симуляторов среды, обеспечивая высокую производительность за счет запуска пакетного моделирования на графическом процессоре и тесной связи результатов моделирования с обучающим кодом.

Ниже приведены некоторые симуляторы окружения, основанные на Madrona.

Побег из комнаты Мадроны

Madrona Escape Room — это простая 3D-среда, использующая API Madrona ECS, а также возможности физики и рендеринга. В этой простой задаче агент должен научиться нажимать красную кнопку и нажимать на ящики других цветов, чтобы перемещаться по ряду комнат.

Переваренный ИИ

Среда Overcooked AI, совместная многоагентная обучающая среда на основе видеоигр (многопользовательская совместная кулинарная игра), здесь переписана в высокопроизводительной версии Madrona.

Источник:

Прятки

В сентябре 2019 года агент OpenAI устроил наступательную и оборонительную битву в прятки, создав собственные рутины и анти-рутины. Среда «Прятки» здесь воспроизведена с помощью Madrona.

Ханаби

Hanabi — это реализация карточной игры Hanabi, основанная на игровом движке Madrona и кооперативе Dec-POMDP. Среда основана на среде DeepMind Hanabi и частично поддерживает реализацию MAPPO.

тележка

Cartpole — типичная тренировочная среда RL с той же динамикой, что и реализация тренажерного зала, построенная на основе игрового движка Madrona.

Адрес гитхаба:

Пережаренная кулинарная игра: обучите лучшего агента за минуту

Переваренные на тысячах кухонь: обучение лучших агентов менее чем за минуту

Студентка Стэнфордского университета Бидипта Саркар, один из авторов статьи, написала в блоге подробный рассказ о процессе обучения агента кулинарной игре Overcooked. Overcooked — популярная кулинарная игра, которая также служит эталоном для совместных мультиагентных исследований.

В исследовании Саркара RL высокая стоимость моделирования виртуальных сред всегда была для него серьезным препятствием для обучения агентов.

В случае кулинарной игры Overcooked требуется примерно 8 миллионов игровых шагов, чтобы обучить пару агентов, которые сходятся к стратегии стабильного равновесия в макете узкой комнаты Overcooked (ниже). Реализация Overcooked с открытым исходным кодом написана на Python и работает со скоростью 2000 шагов в секунду на 8-ядерном процессоре AMD, поэтому создание необходимого агента занимает более 1 часа.

Напротив, выполнение всех других операций, необходимых для обучения (включая вывод политики для всех 8 миллионов шагов моделирования, обратное распространение для обучения политике), занимает менее 1 минуты на графическом процессоре NVIDIA A40. Очевидно, что обучение агентов Overcooked ограничено скоростью симулятора среды Overcooked.

Учитывая, что Overcooked — простая среда, кажется глупым бороться со скоростью симуляции. Поэтому Саркар попытался посмотреть, можно ли улучшить скорость симуляции среды Overcooked, что потребовало использования игрового движка Madrona.

Используя игровой движок Madrona, Sarkar получает plug-and-play замену оригинальной реализации Overcooked Python с ускорением на графическом процессоре. При параллельном моделировании 1000 сред Overcooked реализация с ускорением на графическом процессоре может генерировать 3,5 миллиона шагов в секунду на графическом процессоре A40.

В результате время моделирования 8 миллионов шагов среды сократилось с 1 часа до 3 секунд, что позволило обучить политику всего за 1 минуту с использованием графического процессора A40.

Скорость симулятора открывает новые возможности для выполнения обширных проверок гиперпараметров в Overcooked, особенно возможность обучения нескольких политик за время, которое ранее требовалось для обучения одной политики.

В конце концов Саркар понял, что портирование Overcooked на Madrona было гораздо более плавным процессом, чем существующие альтернативы для создания сред с ускорением на GPU, такие как PyTorch, Taichi Lang, Direct CUDA C++.

Подробности блога:

Ссылка на ссылку:

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить