Один GPU займає лише 3 секунди, щоб запустити тисячі середовищ і 8 мільйонів кроків моделювання. Стенфордський університет розробив супер-ігровий двигун
На цьому етапі агенти штучного інтелекту здаються всемогутніми, грають в ігри та імітують людей для виконання різноманітних завдань, і ці агенти в основному навчаються в складних середовищах. Мало того, оскільки завдання навчання стає складнішим, складність змодельованого середовища також зростає, тим самим збільшуючи вартість змодельованого середовища.
Навіть для компаній та установ із суперкомп’ютерними ресурсами навчання придатного агента може тривати кілька днів.
Це перешкоджає прогресу в цій галузі та зменшує практичність навчання досвідчених агентів ШІ. Щоб подолати високу вартість симуляції навколишнього середовища, нещодавні дослідження докорінно переробили симулятори для досягнення більшої ефективності під час навчання агентів. Ці роботи поділяють ідею пакетного моделювання, яке є одночасним виконанням багатьох незалежних середовищ (навчальних екземплярів) в рамках одного двигуна симулятора.
У цій статті дослідники зі Стенфордського університету та інших установ** запропонували ігровий движок для підкріпленого навчання під назвою Madrona, який може запускати тисячі середовищ паралельно на одному GPU, скорочуючи час навчання агентів з годин на години. хвилина* *.
* Адреса паперу:
Домашня сторінка паперу:
Зокрема, Madrona — це дослідницький ігровий механізм, розроблений для створення навчальних середовищ, які можуть запускати тисячі екземплярів середовища одночасно на одному графічному процесорі з дуже високою пропускною здатністю (мільйони кроків агрегації за секунду). Мета Madrona — полегшити дослідникам створення нових високопродуктивних середовищ для різноманітних завдань, тим самим на порядки прискоривши навчання агентів ШІ.
Мадрона має такі особливості:
Пакетне моделювання GPU: тисячі середовищ можуть працювати на одному GPU;
Архітектура Entity Component System (ECS);
Легко сумісна з PyTorch.
Приклад середовища Madrona:
Як ми зазначали вище, у дослідженні використовувалися принципи проектування ECS, а конкретний процес виглядає наступним чином:
Використовуючи структуру Madrona, дослідники реалізували кілька середовищ навчання, демонструючи прискорення графічних процесорів на два-три порядки порівняно з базовим процесором з відкритим вихідним кодом, а також прискорення порівняно з потужним базовим сценарієм, що працює на 32-поточному процесорі. 5–33 рази. . Крім того, дослідження також реалізувало середовище OpenAI «хованки 3D» у рамках, і кожен крок моделювання виконував фізику твердого тіла та трасування променів, досягаючи швидкості понад 1,9 мільйона кроків на секунду на одному GPU.
Один із авторів, Кайвон Фатахаліан, доцент кафедри комп’ютерних наук Стенфордського університету, сказав, що в Overcooked, кулінарній грі для кількох агентів, за допомогою ігрового движка Madrona, час для симуляції 8 мільйонів екологічних кроків був скорочено з однієї години до трьох секунд.
Наразі Madrona вимагає C++ для написання логіки гри. Madrona забезпечує лише підтримку рендерингу візуалізації, і хоча він може імітувати тисячі середовищ одночасно, візуалізатор може переглядати лише одне середовище за раз.
**Які екологічні симулятори засновані на Madrona? **
Сама Madrona — це не симулятор середовища RL, а ігровий движок або фреймворк. Це полегшує розробникам реалізацію власних нових симуляторів середовища, досягаючи високої продуктивності шляхом запуску пакетного моделювання на графічному процесорі та тісного зв’язку результатів моделювання з навчальним кодом.
Нижче наведено деякі симулятори середовища на основі Madrona.
Madrona Escape Room
Madrona Escape Room — це просте 3D-середовище, яке використовує API ECS від Madrona, а також фізику та можливості візуалізації. У цьому простому завданні агент повинен навчитися натискати червону кнопку та штовхати ящики інших кольорів, щоб пересуватися через серію кімнат.
Переварений ШІ
Високопродуктивна переробка Madrona середовища Overcooked AI, багатоагентного навчального середовища для спільної відеоігри (спільна кулінарна гра для кількох гравців).
Джерело:
Хованки
У вересні 2019 року агент OpenAI влаштував наступальний і оборонний бій у хованки, створивши власні підпрограми та антипрограми. Середовище «Хованки» тут відтворено за допомогою Мадрони.
Ханабі
Hanabi — це реалізація карткової гри Hanabi на основі ігрового движка Madrona та кооперативу Dec-POMDP. Середовище базується на середовищі Hanabi від DeepMind і підтримує частину реалізації MAPPO.
Cartpole
Cartpole — це типове середовище для тренувань RL із тією ж динамікою, що й впровадження в тренажерному залі, створене на основі ігрового движка Madrona.
Адреса GitHub:
Гра про приготування їжі: навчіть найкращого агента за хвилину
Переварене на тисячах кухонь: навчання найефективніших агентів менш ніж за хвилину
Студентка Стенфордського університету Бідіпта Саркар, один із авторів статті, написала блог, у якому детально описує процес навчання агента грі в кулінарну гру Overcooked. Overcooked — це популярна кулінарна гра, яка також служить еталоном для спільного мультиагентного дослідження.
У дослідженні Саркара RL висока вартість моделювання віртуального середовища завжди була основною перешкодою для навчання агентів для нього.
У випадку гри Overcooked cooking потрібно приблизно 8 мільйонів ігрових кроків, щоб навчити пару агентів, які сходяться до стратегії стабільної рівноваги в макеті вузької кімнати Overcooked (нижче). Реалізація Overcooked із відкритим кодом написана на Python і працює зі швидкістю 2000 кроків на секунду на 8-ядерному процесорі AMD, тому створення необхідного досвіду агента займає більше 1 години.
Навпаки, виконання всіх інших операцій, необхідних для навчання (включно з визначенням політики для всіх 8 мільйонів кроків моделювання, зворотним розповсюдженням для навчання політикам), займає менше 1 хвилини на графічному процесорі NVIDIA A40. Очевидно, навчання агентів Overcooked обмежено швидкістю симулятора середовища Overcooked.
Враховуючи, що Overcooked є простим середовищем, здається нерозумним боротися зі швидкістю симуляції. Тож Саркар спробував з’ясувати, чи можна покращити швидкість моделювання середовища Overcooked, для чого потрібно було використовувати ігровий движок Madrona.
Використовуючи ігровий движок Madrona, Sarkar отримує заміну оригінальної реалізації Overcooked Python із прискоренням графічного процесора «plug-and-play». При паралельному моделюванні 1000 середовищ Overcooked реалізація з прискоренням GPU може генерувати 3,5 мільйона кроків на секунду на GPU A40.
У результаті час для моделювання 8 мільйонів кроків середовища скорочено з 1 години до 3 секунд, що дозволяє навчити політику лише за 1 хвилину за допомогою графічного процесора A40.
Швидкість симулятора відкриває нові можливості для виконання обширних розгорток гіперпараметрів у Overcooked, особливо можливість навчання кількох політик за час, який раніше був потрібний для навчання однієї політики.
Зрештою Саркар зрозумів, що перенесення Overcooked на Madrona було набагато плавнішим процесом, ніж існуючі альтернативи для створення GPU-прискорених середовищ, таких як PyTorch, Taichi Lang, Direct CUDA C++.
Деталі блогу:
Довідкове посилання:
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Один GPU займає лише 3 секунди, щоб запустити тисячі середовищ і 8 мільйонів кроків моделювання. Стенфордський університет розробив супер-ігровий двигун
На цьому етапі агенти штучного інтелекту здаються всемогутніми, грають в ігри та імітують людей для виконання різноманітних завдань, і ці агенти в основному навчаються в складних середовищах. Мало того, оскільки завдання навчання стає складнішим, складність змодельованого середовища також зростає, тим самим збільшуючи вартість змодельованого середовища.
Навіть для компаній та установ із суперкомп’ютерними ресурсами навчання придатного агента може тривати кілька днів.
Це перешкоджає прогресу в цій галузі та зменшує практичність навчання досвідчених агентів ШІ. Щоб подолати високу вартість симуляції навколишнього середовища, нещодавні дослідження докорінно переробили симулятори для досягнення більшої ефективності під час навчання агентів. Ці роботи поділяють ідею пакетного моделювання, яке є одночасним виконанням багатьох незалежних середовищ (навчальних екземплярів) в рамках одного двигуна симулятора.
У цій статті дослідники зі Стенфордського університету та інших установ** запропонували ігровий движок для підкріпленого навчання під назвою Madrona, який може запускати тисячі середовищ паралельно на одному GPU, скорочуючи час навчання агентів з годин на години. хвилина* *.
Зокрема, Madrona — це дослідницький ігровий механізм, розроблений для створення навчальних середовищ, які можуть запускати тисячі екземплярів середовища одночасно на одному графічному процесорі з дуже високою пропускною здатністю (мільйони кроків агрегації за секунду). Мета Madrona — полегшити дослідникам створення нових високопродуктивних середовищ для різноманітних завдань, тим самим на порядки прискоривши навчання агентів ШІ.
Мадрона має такі особливості:
Один із авторів, Кайвон Фатахаліан, доцент кафедри комп’ютерних наук Стенфордського університету, сказав, що в Overcooked, кулінарній грі для кількох агентів, за допомогою ігрового движка Madrona, час для симуляції 8 мільйонів екологічних кроків був скорочено з однієї години до трьох секунд.
**Які екологічні симулятори засновані на Madrona? **
Сама Madrona — це не симулятор середовища RL, а ігровий движок або фреймворк. Це полегшує розробникам реалізацію власних нових симуляторів середовища, досягаючи високої продуктивності шляхом запуску пакетного моделювання на графічному процесорі та тісного зв’язку результатів моделювання з навчальним кодом.
Нижче наведено деякі симулятори середовища на основі Madrona.
Madrona Escape Room
Madrona Escape Room — це просте 3D-середовище, яке використовує API ECS від Madrona, а також фізику та можливості візуалізації. У цьому простому завданні агент повинен навчитися натискати червону кнопку та штовхати ящики інших кольорів, щоб пересуватися через серію кімнат.
Високопродуктивна переробка Madrona середовища Overcooked AI, багатоагентного навчального середовища для спільної відеоігри (спільна кулінарна гра для кількох гравців).
Хованки
У вересні 2019 року агент OpenAI влаштував наступальний і оборонний бій у хованки, створивши власні підпрограми та антипрограми. Середовище «Хованки» тут відтворено за допомогою Мадрони.
Hanabi — це реалізація карткової гри Hanabi на основі ігрового движка Madrona та кооперативу Dec-POMDP. Середовище базується на середовищі Hanabi від DeepMind і підтримує частину реалізації MAPPO.
Cartpole — це типове середовище для тренувань RL із тією ж динамікою, що й впровадження в тренажерному залі, створене на основі ігрового движка Madrona.
Адреса GitHub:
Гра про приготування їжі: навчіть найкращого агента за хвилину
Переварене на тисячах кухонь: навчання найефективніших агентів менш ніж за хвилину
Студентка Стенфордського університету Бідіпта Саркар, один із авторів статті, написала блог, у якому детально описує процес навчання агента грі в кулінарну гру Overcooked. Overcooked — це популярна кулінарна гра, яка також служить еталоном для спільного мультиагентного дослідження.
У випадку гри Overcooked cooking потрібно приблизно 8 мільйонів ігрових кроків, щоб навчити пару агентів, які сходяться до стратегії стабільної рівноваги в макеті вузької кімнати Overcooked (нижче). Реалізація Overcooked із відкритим кодом написана на Python і працює зі швидкістю 2000 кроків на секунду на 8-ядерному процесорі AMD, тому створення необхідного досвіду агента займає більше 1 години.
Враховуючи, що Overcooked є простим середовищем, здається нерозумним боротися зі швидкістю симуляції. Тож Саркар спробував з’ясувати, чи можна покращити швидкість моделювання середовища Overcooked, для чого потрібно було використовувати ігровий движок Madrona.
Використовуючи ігровий движок Madrona, Sarkar отримує заміну оригінальної реалізації Overcooked Python із прискоренням графічного процесора «plug-and-play». При паралельному моделюванні 1000 середовищ Overcooked реалізація з прискоренням GPU може генерувати 3,5 мільйона кроків на секунду на GPU A40.
У результаті час для моделювання 8 мільйонів кроків середовища скорочено з 1 години до 3 секунд, що дозволяє навчити політику лише за 1 хвилину за допомогою графічного процесора A40.
Швидкість симулятора відкриває нові можливості для виконання обширних розгорток гіперпараметрів у Overcooked, особливо можливість навчання кількох політик за час, який раніше був потрібний для навчання однієї політики.
Зрештою Саркар зрозумів, що перенесення Overcooked на Madrona було набагато плавнішим процесом, ніж існуючі альтернативи для створення GPU-прискорених середовищ, таких як PyTorch, Taichi Lang, Direct CUDA C++.
Деталі блогу:
Довідкове посилання: