XYZNOT

Статьи · arXiv 2407.17789

Масштабное мультиагентное моделирование в AgentScope

Very Large-Scale Multi-Agent Simulation in AgentScope

Опубликовано cs.MAcs.AI arXivPDF

Читать с переводом и ИИ

Кратко в трёх строках

  1. 🎯 Платформы мультиагентного моделирования сталкиваются с узкими местами в масштабируемости, разнообразии популяций агентов и управлении их жизненным циклом на множестве устройств.
  2. 🔧 Реализован распределенный механизм на основе акторов с режимами «один к одному» и «многие к одному», автоконверсия пайплайнов через to_dist, многоуровневые среды и генератор персон.
  3. 📈 Успешно смоделирован 1 миллион агентов на 4 мульти-GPU серверах за 12 минут (Llama3-8B); фиктивный бенчмарк на 1 млн агентов завершился всего за 40 секунд.

Аннотация

Недавние успехи в области больших языковых моделей (LLM) открыли новые возможности для применения мультиагентных систем в масштабном имитационном моделировании. Тем не менее проведение подобных симуляций на существующих платформах сопряжено с рядом проблем: ограниченной масштабируемостью, низкой эффективностью, недостаточным разнообразием агентов и трудоемким управлением. Чтобы решить эти задачи, мы разработали несколько новых функций и компонентов для AgentScope — удобной платформы для мультиагентных систем, повысив ее гибкость и простоту использования при крупномасштабном моделировании. В частности, мы предложили распределенный механизм на основе модели акторов в качестве базовой инфраструктуры для обеспечения высокой масштабируемости и производительности. Мы также реализовали гибкую поддержку сред для симуляции реальных сценариев, позволяющую параллельно запускать множество агентов, автоматически преобразовывать рабочие процессы для распределенного развертывания и обеспечивать взаимодействия как между агентами, так и со средой. Кроме того, в AgentScope интегрированы удобный конфигурационный инструмент и автоматический пайплайн генерации бэкграунда, что упростило создание агентов с разнообразными детальными профилями. Наконец, мы разработали веб-интерфейс для комфортного мониторинга и управления большим числом агентов, распределенных по множеству устройств. Мы провели комплексную симуляцию для демонстрации эффективности предложенных улучшений в AgentScope, а также представили подробные наблюдения и анализ, подчеркивающие огромный потенциал использования мультиагентных систем в крупномасштабном моделировании. Исходный код опубликован на GitHub по адресу https://github.com/modelscope/agentscope/tree/main/examples/paper_large_scale_simulation для поддержки дальнейших исследований и разработок в этой сфере.

Оригинальная аннотация (англ.)

Recent advances in large language models (LLMs) have opened new avenues for applying multi-agent systems in very large-scale simulations. However, there remain several challenges when conducting multi-agent simulations with existing platforms, such as limited scalability and low efficiency, unsatisfied agent diversity, and effort-intensive management processes. To address these challenges, we develop several new features and components for AgentScope, a user-friendly multi-agent platform, enhancing its convenience and flexibility for supporting very large-scale multi-agent simulations. Specifically, we propose an actor-based distributed mechanism as the underlying technological infrastructure towards great scalability and high efficiency, and provide flexible environment support for simulating various real-world scenarios, which enables parallel execution of multiple agents, automatic workflow conversion for distributed deployment, and both inter-agent and agent-environment interactions. Moreover, we integrate an easy-to-use configurable tool and an automatic background generation pipeline in AgentScope, simplifying the process of creating agents with diverse yet detailed background settings. Last but not least, we provide a web-based interface for conveniently monitoring and managing a large number of agents that might deploy across multiple devices. We conduct a comprehensive simulation to demonstrate the effectiveness of these proposed enhancements in AgentScope, and provide detailed observations and insightful discussions to highlight the great potential of applying multi-agent systems in large-scale simulations. The source code is released on GitHub at https://github.com/modelscope/agentscope/tree/main/examples/paper_large_scale_simulation to inspire further research and development in large-scale multi-agent simulations.

Разбор статьи

Проблема и мотивация

Агенты на базе больших языковых моделей (LLM) обеспечивают интерактивную и реалистичную симуляцию без необходимости вручную программировать сложные правила. Однако масштабирование таких систем до реалистичных демографических объемов выявило три фундаментальных узких места:

  1. Ограничения масштабируемости и эффективности: централизованное исполнение и Python Global Interpreter Lock (GIL) сдерживают параллелизм. Существующие акторные фреймворки (например, Ray) выделяют отдельный процесс на каждого актора, что приводит к перерасходу ресурсов при обработке миллионов легковесных агентов, ограниченных операциями ввода-вывода (I/O-bound).
  2. Недостаточное разнообразие популяции агентов: агенты с простыми однотипными вводными промптами действуют шаблонно и не способны воспроизвести реальные демографические распределения (по уровню образования, возрасту или профессии).
  3. Сложность управления: оркестрация, запуск, мониторинг и корректное завершение сотен тысяч или миллионов агентов, распределенных по вычислительному кластеру, требуют огромных эксплуатационных затрат.

Ключевые идеи

  • Распределенная архитектура на базе модели акторов: агенты выполняют вычисления независимо как акторы. Платформа поддерживает схему «один к одному» (один процесс на агента, исключает влияние GIL для вычислительно тяжелых задач) и «многие к одному» (агенты делят общие процессы, максимизируя разделение времени ядер CPU во время ожидания ввода-вывода).
  • Распределенная конверсия без рефакторинга (to_dist): пользователи описывают централизованный рабочий процесс, который прозрачно преобразуется в распределенную конфигурацию с помощью локальных прокси и асинхронных заполнителей (placeholders).
  • Окружение как агент: виртуальная среда моделируется как специализированный агент, поддерживающий хранение состояния, высококонкурентный доступ через RPC, двунаправленные триггеры (через слушатели событий) и вложенные многоуровневые структуры для моделирования на уровне групп.
  • Конфигурируемый пайплайн гетерогенной популяции: пользователь задает демографические распределения в конфигурационном файле, а конвейер мета-промптов на базе LLM автоматически генерирует уникальные профили и биографии агентов.
  • Agent-Manager: веб-интерфейс и инфраструктура постоянных демонов на узлах кластера для развертывания, мониторинга и очистки ресурсов агентов.

Метод

Распределенное исполнение и автоконверсия

В AgentScope независимые агенты работают параллельно. При вызове метода .to_dist() для централизованного пайплайна выполняются два этапа:

  1. Распределенные агенты запускаются на удаленных воркерах; легковесные прокси-объекты остаются на центральном оркестраторе.
  2. При вызове прокси мгновенно возвращают заполнители сообщений (placeholders). Выполнение последующих агентов блокируется только тогда, когда им требуется прочитать конкретный заполнитель, ожидающий завершения вычислений на предыдущем шаге.

Динамика симуляции

Когнитивные способности и рассуждения агентов тестировались на классической теоретико-игровой задаче «Угадай от среднего». Каждый агент выбирает число . Победным значением является: При итеративной игре в условиях общего знания о рациональности игроков единственное равновесие Нэша стремится к . Для проверки устойчивости моделей к отклонениям от обучающей выборки целевое правило было изменено на: Приравнивание дает ненулевое равновесие Нэша:

Результаты

  • Масштабируемость: симуляция 1 000 000 агентов завершилась за 12 минут на 4 узлах (каждый оснащен 8 GPU A100-80G, 64 ядрами CPU, 1 ТБ RAM) с моделью Llama3-8B при базовых промптах и за 85 минут с использованием Chain-of-Thought (CoT), что увеличило число токенов более чем в 150 раз. В синтетическом бенчмарке без задержек инференса LLM 1 млн агентов отработал за 40 секунд (по сравнению с 8,6 часа на стандартном асинхронном Python I/O и ~12 днями при последовательном запуске).
  • Горизонтальное масштабирование: при фиксированной нагрузке в 10 000 агентов на узел общее время выполнения оставалось постоянным при расширении кластера с 1 до 4 узлов.
  • Промптинг и глубина рассуждений: при базовых промптах ответы большинства моделей концентрировались около 50 (хотя MistralAI-8x7B в среднем выдавала 36.63, а MistralAI-8x22B — 31.69). Добавление инструкций CoT сместило ответы ближе к 0 (у Qwen2-72B победные числа снизились с 33.70 до 12.76, а в пятом раунде многораундовой игры средние значения упали с 25.16 до 2.02).
  • Демография и роли: агенты с более высоким уровнем образования систематически выбирали более низкие, близкие к теоретическому оптимуму числа (агенты с Ph.D. называли меньшие значения, чем агенты со школьным образованием). Профессии вроде «профессор теории игр» или «экономист» приводили к наименьшим числам.
  • Модифицированные правила: при смещении точки равновесия к 10 () агенты итеративно сходились к 10 за несколько раундов.

Ограничения и открытые вопросы

  • Несоответствие роли в крайних случаях: если агенту задавалась роль 7-летнего ребенка, он все равно порой использовал сложные многошаговые вычисления и рекурсивные рассуждения, что противоречило профилю.
  • Арифметические ошибки: агенты периодически допускали тривиальные вычислительные ошибки (особенно с дробями и десятичными числами), даже когда общая стратегическая логика рассуждения была безупречной.
  • Чувствительность к заученным паттернам: замена коэффициента на приводила к ухудшению качества решений, так как модели опирались на память об оригинальной задаче; точность восстанавливалась только тогда, когда в промпте прямо указывалось, что игра является вариацией исходного теста.

Ключевые термины

AgentScope
Платформа для мультиагентных систем на базе LLM, расширенная в данном исследовании для поддержки сверхмасштабных распределенных симуляций.
Actor Model
Модель параллельных вычислений, в которой каждый актор выступает независимой вычислительной единицей, взаимодействующей через обмен сообщениями без разделяемой памяти.
to_dist
Встроенная функция AgentScope, преобразующая централизованный линейный агентный рабочий процесс в распределенный пайплайн с помощью прокси и плейсхолдеров.
Placeholders
Асинхронные маркеры ответов, немедленно возвращаемые прокси-агентами, позволяющие оркестратору продолжать работу без ожидания завершения вычислений на удаленных воркерах.
Agent-Manager
Централизованный веб-дашборд и серверная инфраструктура демонов для развертывания, наблюдения и управления жизненным циклом агентов на узлах кластера.
Guess 2/3 of the Average
Классическая игра из теории игр («Угадай 2/3 от среднего»), участники которой выбирают числа из диапазона [0, 100], стремясь попасть в 2/3 от среднего значения; имеет аналитическое равновесие Нэша в точке 0.
Many-to-One Multi-Process Mode
Режим выполнения в AgentScope, при котором несколько агентов размещаются в одном процессе ОС для совместного использования потоков, процессорных ядер и сетевых портов при ожидании ввода-вывода.

Вопросы

Сколько агентов может одновременно моделировать AgentScope?

Авторы успешно провели моделирование с 1 000 000 активных агентов на 4 физических серверах (каждый с 8 GPU A100-80G).

Как AgentScope обходит ограничения Python GIL при таком масштабе параллелизма?

Платформа использует акторную многопроцессность в двух режимах: «один к одному» (отдельный процесс на агента) для тяжелых вычислительных задач и «многие к одному» (несколько агентов делят один процесс) для задач с ожиданием API и I/O-операций, исключая влияние GIL через вызовы RPC.

Как создаются реалистичные популяции агентов?

Пользователь задает общие демографические пропорции (образование, пол, возраст, профессия) в файле конфигурации, после чего конвейер мета-промптов на базе LLM генерирует на их основе индивидуальные профили и биографии.

Что происходит, если правила игры отклоняются от стандартных задач теории игр?

При замене коэффициента на 51/100 или изменении формулы на 5 + 1/2 от среднего агенты поначалу ошибались из-за заученных шаблонов, однако добавление поясняющих контекстных указаний или цепочек рассуждений (CoT) помогло моделям (включая Qwen2-72B и MistralAI-8x22B) успешно сойтись к новому равновесию.

Обзор на этой странице написан ИИ по тексту статьи и может содержать ошибки. Подробности смотрите в самой статье.

Читать с переводом и ИИ