🤖🎮 GPT-4 играет в Minecraft и самообучается: сингулярность, в результате которой ИИ сам сделает себя умнее людей
В этой статье речь пойдет об эксперименте Voyager, в котором группа исследователей дала GPT-4 поиграть в Minecraft. Нейросеть сама учила себя играть, обучалась разным действиям вроде «срубить дерево» или «убить паука» и добавляла скиллы в свою библиотеку. Проще говоря, GPT-4 теперь пишет код, проверяет его и совершенствует. Именно с такого начинается так называемая сингулярность, в результате которой ИИ сам сделает себя умнее людей. Сингулярность Майнкрафта.
Статья читателя «Библиотеки программиста».
В этом видео есть объяснение на английском языке. Оригинал текста на английском языке находится здесь.
автоматический учебный план, который максимизирует исследование;
постоянно растущая библиотека навыков исполняемого кода для хранения и извлечения паттернов сложного поведения;
новый итеративный механизм подсказок, который включает в себя обратную связь со средой, ошибки выполнения и самопроверку для улучшения программы.
VOYAGER самостоятельно взаимодействует с GPT-4 через запросы LLM (GPT-4), что позволяет избежать необходимости тонкой настройки параметров модели. Навыки, разработанные VOYAGER, временно расширены, интерпретируемы и композиционны, что увеличивает возможности агента и решает вопрос катастрофического забывания. Эмпирически VOYAGER показывает сильную способность к обучению в контексте на протяжении всей жизни и демонстрирует исключительное мастерство в игре Майнкрафт.
Он получает в 3,3 раза больше уникальных предметов, путешествует в 2,3 раза дольше на расстояния и открывает ключевые вехи дерева технологий до 15,3 раза быстрее, чем предыдущая SOTA. VOYAGER может использовать библиотеку изученных навыков в новом мире Minecraft, чтобы решать новые задачи с нуля, в то время как другие методы с трудом поддаются обобщению.
Введение
Создание в целом способных агентов, которые постоянно исследуют, планируют и развивают новые навыки в открытых мирах, является серьезной задачей для сообщества ИИ. Классические подходы используют обучение с подкреплением (RL) и имитационное обучение, которые работают с примитивными действиями, которые могут быть сложными для систематического исследования, интерпретируемости и обобщения.
Последние достижения в области больших языковых моделей (LLM) позволяют использовать знания о мире, инкапсулированные в предварительно обученных LLM, для создания согласованных планов действий или исполняемых политик. Они применяются к воплощенным задачам, таким как игры и робототехника, а также к задачам НЛП без воплощения. Однако эти агенты на протяжении всей жизни не являются учащимися, которые могут постепенно приобретать, обновлять, накапливать и передавать знания в течение продолжительных промежутков времени.
Давайте рассмотрим Minecraft в качестве примера. В отличие от большинства других игр, изучаемых в области ИИ, Minecraft не навязывает заранее определенной конечной цели или фиксированной сюжетной линии, а скорее предоставляет уникальную игровую площадку с бесконечными возможностями. Эффективный агент, обучающийся на протяжении всей жизни, должен иметь такие же возможности, как и люди:
предлагать подходящие задачи, исходя из его текущего уровня навыков и состояния мира, например, научиться собирать песок и кактус раньше, чем железо, если оно окажется в пустыне, а не в лесу;
совершенствовать навыки на основе обратной связи с окружающей средой и закреплять освоенные навыки в памяти для повторного использования в будущем в аналогичных ситуациях (например, борьба с зомби похожа на борьбу с пауками);
постоянно исследовать мир и самостоятельно искать новые задачи.
Мы представляем Voyager, первого агента обучения на протяжении всей жизни на базе LLM, который ведет исследования, осваивает широкий спектр навыков и постоянно делает новые открытия без вмешательства человека в Minecraft. Voyager стал возможен благодаря трем ключевым модулям:
автоматическая учебная программа, которая максимизирует исследования;
библиотека навыков для хранения и извлечения сложных моделей поведения;
новый итеративный механизм подсказок, который генерирует исполняемый код для встроенного управления.
Мы решили использовать код в качестве пространства действий вместо низкоуровневых двигательных команд, потому что программы могут естественным образом представлять расширенные во времени и композиционные действия, которые необходимы для многих долгосрочных задач в Minecraft. Voyager взаимодействует с черным ящиком LLM (GPT-4) посредством подсказок и обучения в контексте. Наш подход обходит необходимость доступа к параметрам модели и явного обучения или тонкой настройки на основе градиента.
Мы систематически оцениваем Voyager и его базовые показатели с точки зрения их исследовательской производительности, мастерства дерева технологий, охвата карты и возможности обобщения с нуля для решения новых задач в новом мире.
Значительно лучшее исследование
Как показано на первом рисунке, превосходство Voyager проявляется в его способности постоянно делать новые шаги, обнаруживая 63 уникальных объекта за 160 итераций, что в 3,3 раза больше новых объектов по сравнению с его аналогами. С другой стороны, AutoGPT значительно отстает в обнаружении новых элементов, в то время как ReAct и Reflexion изо всех сил пытаются добиться значительного прогресса.
Дерево обучения
Обширный обход карты
Эффективное обобщение Zero-Shot для неизвестных задач
Абляционные исследования
Самопроверка является наиболее важной среди всех типов обратной связи. Самопроверка служит критическим механизмом для принятия решения о том, когда переходить к новой задаче или повторить попытку, которая ранее была неудачной.
GPT-4 значительно превосходит GPT-3.5 в генерации кода и получает в 5,7 раз больше уникальных предметов, поскольку GPT-4 демонстрирует квантовый скачок в возможностях кодирования.
GPT-4 и GPT-3.5 предлагают пользователям возможность назначать роль каждой подсказки среди трех параметров:
Система: инструкция высокого уровня, которая определяет поведение модели на протяжении всего разговора. Он задает общий тон и цель взаимодействия.
Пользователь: подробные инструкции, которые помогут помощнику приступить к следующему немедленному ответу.
Помощник: Модель сгенерировала ответное сообщение. Подробнее см. https://platform.openai.com/docs/guides/chat/introduction. Чтобы сэкономить использование токенов, вместо участия в многоэтапных разговорах мы объединяем систему подсказок и подсказку пользователя для получения ответа каждого помощника.
A.3. Автоматическая учебная программа
A.3.1. Компоненты подсказки Подсказка ввода в GPT-4 состоит из нескольких компонентов:
(1) Директивы, поощряющие разнообразное поведение и налагающие ограничения (так, чтобы предлагаемая задача была достижима и проверяема): см. разд. A.3.4.;
(2) Текущее состояние агента:
Инвентарь: словарь предметов с количеством, например, {‘cobblestone’: 4, ‘furnace’: 1, stone_pickaxe’: 1, ‘oak_planks’: 7, ‘dirt’: 6, ‘wooden_pickaxe’: 1, ‘crafting_table’: 1, ‘raw_iron’: 4, ‘coal’: 1}
Снаряжение: доспехи или оружие, экипированные агентами;
Ближайшие блоки: набор имен блоков на расстоянии 32 блоков от агента, например, ‘dirt’, ‘water’, ‘spruce_planks’, ‘grass_block’, ‘dirt_path’, ‘sugar_cane’, ‘fern’
Другие блоки, которые недавно видели: блоки, которых нет рядом или в инвентаре;
Ближайшие объекты: набор имен объектов на расстоянии 32 блоков от агента, например, «свинья», «кошка», «сельский житель», «зомби»;
Список сундуков, видимых агенту: Сундуки — это внешние контейнеры, в которых Агент может сдавать предметы. Если сундук ранее не открывался, его содержимое «Неизвестно». В противном случае агенту показываются предметы внутри каждого сундука.
Время: одно из значений «восход», «день», «полдень», «закат», «ночь», «полночь»;
Полоски здоровья и голода: максимальное значение 20;
Позиция: 3D-координата (x, y, z) положения агента в мире Minecraft;
(3) Ранее выполненные и неудавшиеся задачи;
(4) Дополнительный контекст: см. разд. А.3.2.;
(5) Подсказка по цепочке мыслей в ответ: Мы просим GPT-4 сначала объяснить причину текущего прогресса, а затем предложить следующую задачу.
A.3.2. Дополнительный контекст
Мы используем GPT-3.5, чтобы задавать себе вопросы, чтобы обеспечить дополнительный контекст. Каждый вопрос сопровождается концепцией, которая используется для поиска наиболее релевантного документа из базы знаний. Мы передаем содержимое документа в GPT-3.5 для ответов на вопросы. GPT-3.5 уже хорошо понимает Minecraft, поэтому использовать базу знаний необязательно. Внешняя база знаний становится выгодной, если не используется GPT-3.5.
A.3.3. График прогрева
На практике мы применяем график прогрева, чтобы постепенно добавлять дополнительный контекст в состояние агента.
A.3.4. Примеры промтов
Промт 1: Список пар «вопрос-ответ» помогает задать дополнительный контекст.
Промт 2: Промт для задавания вопросов.
Промт 3: Промт для формирования ответов на вопросы.
Ограничения и дальнейшая работа
Расходы. API GPT-4 требует значительных затрат. Это в 15 раз дороже, чем GPT-3,5. Тем не менее, VOYAGER требует качественного скачка качества генерации кода от GPT-4, который GPT-3.5 и LLM с открытым исходным кодом не могут предоставить.
Неточности. Несмотря на итеративный механизм подсказок, все еще бывают случаи, когда агент зависает и не может создать правильный навык. Автоматическая учебная программа имеет гибкость для повторной попытки решить эту задачу позже. Иногда модуль самопроверки также может дать сбой, например, не распознать нить паука как сигнал успеха в победе над пауком.
Галлюцинации. Автоматический учебный план иногда предлагает невыполнимые задачи. Например, попросить агента создать «медный меч» или «медный нагрудник», которые являются предметами, которых не существует. Галлюцинации также возникают в процессе генерации кода. Например, GPT-4 склонен использовать булыжник в качестве топлива, несмотря на то, что он не является источником топлива в игре. Кроме того, он может вызывать функции, отсутствующие в предоставленных API-интерфейсах примитивов управления, что приводит к ошибкам выполнения кода. Мы уверены, что улучшения в моделях GPT API, а также новые методы тонкой настройки LLM с открытым исходным кодом преодолеют эти ограничения в будущем.
Заключение
В этой работе мы представляем Voyager, первый встроенный агент обучения на протяжении всей жизни на базе LLM, который использует GPT-4 для непрерывного исследования мира, развития все более сложных навыков и последовательного совершения новых открытий без вмешательства человека. Voyager демонстрирует превосходную производительность в обнаружении новых предметов, разблокировке дерева технологий Minecraft, перемещении по разнообразным ландшафтам и применении библиотеки изученных навыков для выполнения неизвестных задач в новом созданном мире. Voyager служит отправной точкой для разработки мощных универсальных агентов без настройки параметров модели.
Когда появится Скайнет?