Статьи · arXiv 2407.17789
Масштабное мультиагентное моделирование в AgentScope
Very Large-Scale Multi-Agent Simulation in AgentScope
Опубликовано cs.MAcs.AI arXivPDF
Кратко в трёх строках
- 🎯 Платформы мультиагентного моделирования сталкиваются с узкими местами в масштабируемости, разнообразии популяций агентов и управлении их жизненным циклом на множестве устройств.
- 🔧 Реализован распределенный механизм на основе акторов с режимами «один к одному» и «многие к одному», автоконверсия пайплайнов через to_dist, многоуровневые среды и генератор персон.
- 📈 Успешно смоделирован 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) обеспечивают интерактивную и реалистичную симуляцию без необходимости вручную программировать сложные правила. Однако масштабирование таких систем до реалистичных демографических объемов выявило три фундаментальных узких места:
- Ограничения масштабируемости и эффективности: централизованное исполнение и Python Global Interpreter Lock (GIL) сдерживают параллелизм. Существующие акторные фреймворки (например, Ray) выделяют отдельный процесс на каждого актора, что приводит к перерасходу ресурсов при обработке миллионов легковесных агентов, ограниченных операциями ввода-вывода (I/O-bound).
- Недостаточное разнообразие популяции агентов: агенты с простыми однотипными вводными промптами действуют шаблонно и не способны воспроизвести реальные демографические распределения (по уровню образования, возрасту или профессии).
- Сложность управления: оркестрация, запуск, мониторинг и корректное завершение сотен тысяч или миллионов агентов, распределенных по вычислительному кластеру, требуют огромных эксплуатационных затрат.
Ключевые идеи
- Распределенная архитектура на базе модели акторов: агенты выполняют вычисления независимо как акторы. Платформа поддерживает схему «один к одному» (один процесс на агента, исключает влияние GIL для вычислительно тяжелых задач) и «многие к одному» (агенты делят общие процессы, максимизируя разделение времени ядер CPU во время ожидания ввода-вывода).
- Распределенная конверсия без рефакторинга (
to_dist): пользователи описывают централизованный рабочий процесс, который прозрачно преобразуется в распределенную конфигурацию с помощью локальных прокси и асинхронных заполнителей (placeholders). - Окружение как агент: виртуальная среда моделируется как специализированный агент, поддерживающий хранение состояния, высококонкурентный доступ через RPC, двунаправленные триггеры (через слушатели событий) и вложенные многоуровневые структуры для моделирования на уровне групп.
- Конфигурируемый пайплайн гетерогенной популяции: пользователь задает демографические распределения в конфигурационном файле, а конвейер мета-промптов на базе LLM автоматически генерирует уникальные профили и биографии агентов.
- Agent-Manager: веб-интерфейс и инфраструктура постоянных демонов на узлах кластера для развертывания, мониторинга и очистки ресурсов агентов.
Метод
Распределенное исполнение и автоконверсия
В AgentScope независимые агенты работают параллельно. При вызове метода .to_dist() для централизованного пайплайна выполняются два этапа:
- Распределенные агенты запускаются на удаленных воркерах; легковесные прокси-объекты остаются на центральном оркестраторе.
- При вызове прокси мгновенно возвращают заполнители сообщений (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) успешно сойтись к новому равновесию.
Обзор на этой странице написан ИИ по тексту статьи и может содержать ошибки. Подробности смотрите в самой статье.