XYZNOT

論文 · arXiv 2407.17789

AgentScope 中的超大規模多智慧體模擬

Very Large-Scale Multi-Agent Simulation in AgentScope

發表於 cs.MAcs.AI arXivPDF

用 XYZNOT 閱讀(全文翻譯與 AI 講解)

三句話總結

  1. 🎯 多智慧體模擬平台在大規模擴展性、群體多樣性以及跨設備生命週期管理上面臨重大瓶頸。
  2. 🔧 實作了具備一對一與多對一進程模式的 Actor 分散式機制、透過 to_dist 實現自動工作流轉換、多層環境以及自動化人設生成器。
  3. 📈 成功在 4 台多 GPU 設備上於 12 分鐘內模擬了 100 萬個智慧體(Llama3-8B),並在僅 40 秒內完成了百萬智慧體虛擬基準測試。

摘要

大型語言模型(LLM)的最新進展,為在超大規模模擬中應用多智慧體系統開闢了新途徑。然而,現有平台在進行多智慧體模擬時仍面臨諸多挑戰,例如擴展性有限、效率低下、智慧體多樣性不足以及管理流程耗費人力。為了解決這些難題,我們為易用的多智慧體平台 AgentScope 開發了數個全新功能與組件,增強其支援超大規模多智慧體模擬的便利性與彈性。具體而言,我們提出了一種基於 Actor 的分散式機制,作為實現高擴展性與高效率的底層技術基礎設施,並為模擬各種真實世界情境提供彈性的環境支援,從而實現多智慧體並行執行、分散式部署的自動工作流轉換,以及智慧體間與智慧體-環境間的互動。此外,我們在 AgentScope 中整合了易用的配置工具與自動化背景生成流程,大幅簡化建立具有多樣化且詳細背景設定智慧體的過程。最後,我們提供了一個基於 Web 的介面,用於便捷地監控與管理可能跨多個設備部署的大量智慧體。我們進行了全面的模擬實驗以驗證 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)智慧體(Agent)無需繁瑣的手動規則編程,即可實現具互動性且逼真的模擬。然而,將多智慧體模擬擴展至逼真的人口規模時,揭示了三個關鍵瓶頸:

  1. 擴展性與效率限制:集中式執行與 Python 的全域直譯器鎖(GIL)阻礙了智慧體的執行。現有的 Actor 框架(如 Ray)會為每個 Actor 啟動一個新進程,在處理數百萬個輕量級、I/O 密集型智慧體時會浪費資源。
  2. 未滿足的群體分佈與智慧體多樣性:具有簡單、相同背景提示詞的智慧體行為表現高度同質化,無法代表真實的人口統計分佈(例如橫跨學歷、年齡或職業)。
  3. 管理困難:編排、啟動、監控和終止分佈在叢集中的數十萬或數百萬個智慧體需要耗費大量的維運成本。

核心概念

  • 基於 Actor 的分散式架構:智慧體作為 Actor 獨立進行計算。平台同時支援一對一(每個進程一個智慧體,在計算密集型任務中避免 GIL)與多對一(智慧體共享進程,在 I/O 等待期間最大化 CPU 核心的分時共享)映射。
  • 零重構分散式轉換(to_dist):使用者編寫集中式工作流程,系統透過本地代理(Proxy)與非同步訊息佔位符(Placeholders),將其無感轉換為分散式配置。
  • 環境即智慧體:環境被建模為特化的智慧體,支援狀態維護、透過 RPC 實現高併發存取、雙向觸發(透過監聽器)以及用於群組級別模擬的巢狀多層結構。
  • 可配置的異質群體生成管線:使用者在設定檔中定義人口統計分佈,LLM 元提示(Meta-prompt)流程隨後生成多樣化且個性化的智慧體人設。
  • Agent-Manager:一個基於 Web 的圖形介面與常駐遠端伺服器網路,用於在叢集節點間部署、監控和清理智慧體。

方法

分散式執行與自動轉換

在 AgentScope 中,獨立的智慧體會併發執行。當集中式管線標記了 .to_dist() 時,會進行兩個階段:

  1. 分散式智慧體在各遠端工作節點上生成;輕量級代理物件則保留在中心編排器上。
  2. 代理在接收到呼叫後立即返回訊息佔位符。下游智慧體只有在檢查指向前序智慧體未完成計算的佔位符時才會進入阻塞狀態。

模擬動態機制

平台在經典的「猜平均數的 」博弈中評估多智慧體推理能力。每個智慧體 提交數值 。獲勝目標為: 當在理性共識(Common Knowledge of Rationality)下進行迭代時,唯一的奈許均衡收斂至 。在測試模型對既有訓練資料之外的泛化能力的替代實驗中,目標規則被調整為: 令 可求得一個非零奈許均衡:

結果

  • 擴展性:使用 4 個節點(每個配備 8 A100-80G GPU、64 個 CPU 核心、1 TB RAM)並以 Llama3-8B 搭配基本提示詞,1,000,000 個智慧體的模擬在 12 分鐘 內完成;而在思維鏈(CoT)提示下(Token 數量增加了 150 倍以上)則耗時 85 分鐘。在去除 LLM 推論延遲的虛擬計算基準測試中,100 萬個智慧體的運行僅需 40 秒,相比之下,標準 Python 非同步 I/O 需花費 8.6 小時,序列化執行則需約 12 天。
  • 水平擴展:在每個設備固定 10,000 個智慧體的情況下,隨著叢集規模從 1 個節點增加到 4 個節點,整體運行時間保持恆定。
  • 提示詞與推理深度:在基本提示下,大多數模型的報告數值約為 50(儘管 MistralAI-8x7B 平均為 36.63,MistralAI-8x22B 平均為 31.69)。加入 CoT 指令後促使數值趨近於 0(Qwen2-72B 的獲勝數字從 33.70 降至 12.76,多輪對局中第 5 輪的平均值從 25.16 降至 2.02)。
  • 人口特徵與角色:設定較高的受教育程度系統性地產生了更低、博弈論上更優的猜測(博士學歷智慧體的報告數字低於小學學歷智慧體)。博弈論教授和經濟學家等職業報告的數字最低。
  • 規則變體:當均衡點平移至 10()時,智慧體在多輪對局中迭代收斂於 10 左右。

局限性與待解決問題

  • 邊界案例的角色扮演不一致性:當被提示扮演一名 7 歲兒童時,智慧體仍執行了與人設相矛盾的多步驟算術與遞迴推理。
  • 簡單算術錯誤:智慧體有時會出現基礎計算失誤(特別是涉及分數或小數時),即使其戰略推理邏輯是合理的。
  • 對訓練先驗的敏感性:將目標比率從 更改為 會導致表現下降,因為模型過度依賴死記硬背的博弈論模式;僅當提示詞中明確說明該遊戲為「猜平均數的 」的變體時,表現才得以恢復。

關鍵術語

AgentScope
一個專為基於 LLM 應用設計的多智慧體平台,本文中對其進行擴展以支援超大規模分散式模擬。
Actor Model (Actor 模型)
一種併發計算範式,其中每個 Actor 作為自治的計算單元,透過無共享記憶體的訊息傳遞進行通訊。
to_dist
AgentScope 內建的函數,可使用代理與佔位符將集中式、順序編寫的多智慧體工作流程轉換為分散式執行管線。
Placeholders (佔位符)
代理智慧體立即返回的非同步回應標記,使編排器能夠繼續執行而無需阻塞等待遠端工作節點的回應。
Agent-Manager
一個集中式的 Web 視覺化儀表板與常駐守護行程伺服器基礎設施,用於在遠端叢集節點間部署、觀察與管理智慧體的生命週期。
Guess 2/3 of the Average (猜平均數的 2/3)
經典的博弈論基準測試,玩家在 [0, 100] 內選擇數字,目標是猜中最接近整體平均值 2/3 的數,其理論奈許均衡為 0。
Many-to-One Multi-Process Mode (多對一多進程模式)
AgentScope 的一種執行模式,多個智慧體駐留在單個作業系統進程中,以便在 I/O 等待期間共享執行緒、CPU 核心與網路埠號。

常見問題

AgentScope 可以同時模擬多少個智慧體?

作者展示了在 4 個實體叢集節點(每個節點配備 8 張 A100-80G GPU)上運行高達 1,000,000 個活躍智慧體的模擬。

AgentScope 如何在大規模平行處理中避免 Python GIL 的限制?

它實作了基於 Actor 的多進程架構並提供兩種執行模式:用於計算密集型任務的一對一模式(每個進程一個智慧體),以及用於 API 等待和 I/O 密集型任務的多對一模式(多個智慧體共享一個進程),透過遠端程序呼叫(RPC)避免了 GIL 競爭。

逼真的智慧體群體是如何生成的?

使用者在設定檔中提供高階人口統計分佈(如學歷、性別、年齡和職業),由 LLM 驅動的元提示(Meta-prompt)流程對其進行抽樣,並擴展為詳細的角色背景傳記。

當博弈規則偏離標準博弈論基準時會發生什麼?

當將比率改為 51/100 或將目標公式平移為平均值的 5 + 1/2 時,智慧體最初因記憶中的先驗而表現不佳,但在加入背景說明或 CoT 提示後,像 Qwen2-72B 和 MistralAI-8x22B 這樣的模型能夠成功收斂至平移後的均衡點。

本頁解讀由 AI 根據論文生成,可能有錯誤;細節請以原文為準。

用 XYZNOT 閱讀(全文翻譯與 AI 講解)