Модели и платформы ИИ

POKELLMON: Агент с человеческим уровнем сложности для битв в Pokémon с помощью LLM

mm
Добавьте Unite.AI в избранные источники в Google

Большие языковые модели и генеративный ИИ продемонстрировали беспрецедентный успех в широком спектре задач обработки естественного языка. После завоевания области NLP, следующим вызовом для исследователей GenAI и LLM является изучение того, как большие языковые модели могут действовать автономно в реальном мире с расширенным разрывом между текстом и действием, что представляет собой значительный парадигм в стремлении к искусственному общему интеллекту. Онлайн-игры считаются подходящей основой для разработки воплощенных агентов на основе LLM, которые взаимодействуют с визуальной средой так, как это делает человек.

Например, в популярной онлайн-симуляционной игре Minecraft агенты принятия решений могут быть использованы для помощи игрокам в исследовании мира, а также для развития навыков создания инструментов и решения задач. Другим примером взаимодействия агентов LLM с визуальной средой является онлайн-игра The Sims, где агенты продемонстрировали замечательный успех в социальных взаимодействиях и демонстрируют поведение, похожее на человеческое. Однако, по сравнению с существующими играми, тактические игры могут оказаться лучшим выбором для оценки способности больших языковых моделей играть в виртуальные игры. Основная причина, по которой тактические игры являются лучшим выбором, заключается в том, что коэффициент побед можно измерить напрямую, и последовательные противники, включая человеческих игроков и ИИ, всегда доступны.

Основываясь на этом, POKELLMON стремится стать первым воплощенным агентом, который достигает человеческого уровня сложности в тактических играх, подобных битвам в Pokémon. В своей основе框架 POKELLMON включает три основных стратегии.

  1. Обучение с подкреплением в контексте, которое потребляет текстовую обратную связь, полученную из битв мгновенно, для итеративного уточнения политики.
  2. Генерация с дополнением знаний, которая извлекает внешние знания для противодействия галлюцинациям, позволяя агенту действовать своевременно и правильно.
  3. Последовательная генерация действий для минимизации панической смены ситуации, когда агент сталкивается с сильным противником и хочет избежать столкновения с ним.

Эта статья направлена на подробное описание框架а POKELLMON, и мы исследуем механизм, методологию, архитектуру框架а, а также его сравнение с современными框架ами. Мы также поговорим о том, как POKELLMON демонстрирует замечательные, похожие на человеческие, стратегии битв и способности принятия решений в реальном времени, достигая уважаемого коэффициента побед в почти 50%.

POKELLMON: Агент с человеческим уровнем сложности для битв в Pokémon с помощью LLM

Рост возможностей и эффективности больших языковых моделей и генеративных ИИ-рамок за последние несколько лет был просто чудесным, особенно в задачах NLP. Недавно разработчики и исследователи ИИ работали над тем, чтобы сделать генеративный ИИ и LLM более заметными в реальных сценариях с возможностью действовать автономно в физическом мире. Для достижения автономного поведения в физических и реальных ситуациях исследователи и разработчики считают игры подходящей основой для разработки воплощенных агентов LLM, которые взаимодействуют с виртуальной средой так, как это делает человек.

Ранее разработчики пытались разработать воплощенные агенты LLM в виртуальных симуляционных играх, таких как Minecraft и The Sims, хотя считается, что тактические игры, такие как Pokémon, могут быть лучшим выбором для разработки этих агентов. Битвы в Pokémon позволяют разработчикам оценить способность тренера сражаться в известных играх Pokémon и предлагают несколько преимуществ перед другими тактическими играми. Поскольку пространства действий и состояний являются дискретными, их можно перевести в текст без потери информации. Следующая фигура иллюстрирует типичную битву в Pokémon, где игроку предлагается сгенерировать действие для выполнения на каждом ходу, учитывая текущее состояние Pokémon с каждой стороны.

POKELLMON: Методология и архитектура

Общая структура и архитектура框架а POKELLMON иллюстрируются на следующем изображении.

На каждом ходу框架 POKELLMON использует предыдущие действия и соответствующую текстовую обратную связь для итеративного уточнения политики, а также дополняет текущую информацию о состоянии внешними знаниями, такими как эффекты способностей/ходов или отношения преимуществ/слабостей. Для входных данных框架 POKELLMON генерирует несколько действий независимо, а затем выбирает наиболее последовательные из них в качестве окончательного вывода.

Обучение с подкреплением в контексте

Человеческие игроки и спортсмены часто принимают решения не только на основе текущего состояния, но также размышляют о обратной связи от предыдущих действий, а также о опыте других игроков. Можно сказать, что положительная обратная связь помогает игроку учиться на ошибках и избегать повторения одних и тех же ошибок. Без надлежащей обратной связи агенты POKELLMON могут продолжать совершать одну и ту же ошибку, как показано на следующем изображении.

Как можно наблюдать, агент в игре использует водный ход против Pokémon с способностью “Dry Skin”, которая позволяет ему нейтрализовать урон от водных атак. Игра пытается предупредить пользователя, отображая сообщение “Immune” на экране, что может побудить человеческого игрока пересмотреть свои действия, даже не зная о “Dry Skin”. Однако это не включено в описание состояния для агента, в результате чего агент совершает одну и ту же ошибку снова.

Чтобы обеспечить, чтобы агент POKELLMON учился на предыдущих ошибках,框架 реализует подход обучения с подкреплением в контексте. Обучение с подкреплением является популярным подходом в машинном обучении, и оно помогает разработчикам уточнять политику, поскольку требует числовых наград для оценки действий. Поскольку большие языковые модели могут интерпретировать и понимать язык, текстовые описания стали новой формой награды для LLM.

  1. Фактический урон, нанесенный атакой, на основе разницы в HP за два последовательных хода.
  2. Эффективность атак. Обратная связь указывает на эффективность атаки в терминах отсутствия эффекта или иммунитета, неэффективности или суперэффективности из-за эффектов способностей/ходов или типового преимущества.
  3. Порядок выполнения хода. Поскольку точные статистики противника не доступны, обратная связь по порядку выполнения хода обеспечивает приблизительную оценку скорости.
  4. Фактический эффект выполненных ходов на противнике. И атаки, и статус могут привести к результатам, таким как восстановление HP, увеличение статистики или уменьшение, наложение условий, таких как заморозка, ожог или отравление.

Более того, использование подхода обучения с подкреплением в контексте приводит к значительному увеличению производительности, как показано на следующем изображении.

Когда его сравнивают с исходной производительностью на GPT-4, коэффициент побед увеличивается почти на 10%, а также наблюдается увеличение балла битвы на 13%. Более того, как показано на следующем изображении, агент начинает анализировать и менять свое действие, если ходы, выполненные в предыдущих ходах, не оправдали ожиданий.

Генерация с дополнением знаний или KAG

Хотя реализация обучения с подкреплением в контексте помогает с галлюцинациями до некоторой степени, это все еще может привести к фатальным последствиям до того, как агент получит обратную связь. Например, если агент решает сражаться с огненного типа Pokémon с травяным типом Pokémon, первый, скорее всего, выиграет, вероятно, за один ход. Чтобы еще больше уменьшить галлюцинации и улучшить способность агента принимать решения,框架 POKELLMON реализует подход генерации с дополнением знаний или KAG, технику, которая использует внешние знания для дополнения генерации.

Теперь, когда модель генерирует четыре типа обратной связи, упомянутые выше, она аннотирует ходы Pokémon и информацию, позволяя агенту сделать вывод о типовом преимуществе самостоятельно. Чтобы еще больше уменьшить галлюцинации, содержащиеся в рассуждениях,框架 POKELLMON явно аннотирует типовое преимущество и слабость противника и Pokémon агента с достаточными описаниями. Более того, сложно запомнить ходы и способности с разными эффектами Pokémon, особенно поскольку их много. Следующая таблица демонстрирует результаты генерации с дополнением знаний.

Более того, разработчики наблюдали, что когда агенту предоставлялись внешние знания о Pokémon, он начал использовать специальные ходы в нужное время, как показано на следующем изображении.

Последовательная генерация действий

Существующие модели демонстрируют, что реализация подходов подсказки и рассуждений может улучшить способность LLM решать сложные задачи. Вместо генерации одного действия,框架 POKELLMON оценивает существующие стратегии подсказки, включая CoT или цепочку мыслей, ToT или дерево мыслей, и самосогласованность. Для цепочки мыслей агент сначала генерирует мысль, которая анализирует текущую ситуацию битвы, и выводит действие, обусловленное этой мыслью.

Есть только одно действие для каждого хода, что означает, что даже если агент решает переключиться, и противник решает атаковать, переключенный Pokémon будет принимать урон. Обычно агент решает переключиться, потому что он хочет переключиться на Pokémon с типовым преимуществом, и таким образом, переключенный Pokémon может выдержать урон, поскольку он был типо-устойчивым к ходам противника. Однако, как выше, для агента с рассуждением CoT, даже если мощный противник заставляет различные вращения, он действует не последовательно с миссией, потому что он может не хотеть переключиться на Pokémon, но несколько Pokémon и обратно, что мы называем панической сменой.

POKELLMON: Результаты и эксперименты

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

  1. Сначала парсит сообщение и обновляет локальные переменные состояния, 2. затем переводит переменные состояния в текст. Описание текста имеет в основном четыре части: 1. Информация о своей команде, которая содержит атрибуты Pokémon на поле и вне поля (неиспользуемые).
  2. Информация о команде противника, которая содержит атрибуты Pokémon противника на поле и вне поля (некоторая информация неизвестна).
  3. Информация о поле битвы, которая включает погоду, входные опасности и местность.
  4. Историческая информация о журнале хода, которая содержит предыдущие действия обоих Pokémon и хранится в очереди журнала. LLM принимает переведенное состояние в качестве входных данных и выводит действия для следующего шага. Действие затем отправляется на сервер и выполняется одновременно с действием, выполненным человеком.

Битва против человеческих игроков

Следующая таблица иллюстрирует производительность агента POKELLMON против человеческих игроков.

Как можно наблюдать, агент POKELLMON демонстрирует производительность, сравнимую с игроками лестницы, которые имеют более высокий коэффициент побед, чем приглашенный игрок, и имеют обширный опыт битв.

Анализ навыков битвы

Фреймворк POKELLMON редко совершает ошибку в выборе эффективного хода и переключении на другого подходящего Pokémon благодаря стратегии генерации с дополнением знаний.

Как показано в примере выше, агент использует только одного Pokémon, чтобы победить всю команду противника, поскольку он может выбрать разные атаки, которые наиболее эффективны для противника в этой ситуации. Более того, фреймворк POKELLMON также демонстрирует человеческую стратегию износа. Некоторые Pokémon имеют ход “Toxic”, который может нанести дополнительный урон на каждом ходу, в то время как ход “Recover” позволяет ему восстановить HP. Воспользовавшись этим, агент сначала отравляет противника, а затем использует ход “Recover”, чтобы предотвратить свое падение.

Окончательные мысли

В этой статье мы говорили о POKELLMON, подходе, который позволяет большим языковым моделям играть в битвы Pokémon против людей автономно. POKELLMON стремится стать первым воплощенным агентом, который достигает человеческого уровня сложности в тактических играх, подобных битвам в Pokémon. Фреймворк POKELLMON вводит три основных стратегии: обучение с подкреплением в контексте, которое потребляет текстовую обратную связь в качестве “награды” для итеративного уточнения политики генерации действий без обучения, генерация с дополнением знаний, которая извлекает внешние знания для противодействия галлюцинациям и обеспечения своевременных и правильных действий агента, и последовательная генерация действий, которая предотвращает проблему панической смены при столкновении с мощными противниками.

Kunal Kejriwal — backend‑инженер, специализирующийся на Python, PostgreSQL, Redis и облачной инфраструктуре в GCP и AWS. Имея три года опыта в построении и масштабировании производственных систем, он пишет об инфраструктуре ИИ, распределённых системах и архитектуре развертывания нагрузок машинного обучения.