XYZNOT

Bài báo · arXiv 2407.17789

Mô phỏng Đa tác tử Quy mô Cực lớn trong AgentScope

Very Large-Scale Multi-Agent Simulation in AgentScope

Xuất bản cs.MAcs.AI arXivPDF

Đọc với bản dịch và AI

Tóm tắt trong ba dòng

  1. 🎯 Các nền tảng mô phỏng đa tác tử đối mặt với những nút thắt lớn về khả năng mở rộng, tính đa dạng của quần thể tác tử và việc quản lý vòng đời trên nhiều thiết bị ở quy mô lớn.
  2. 🔧 Triển khai cơ chế phân tán dựa trên mô hình actor với các chế độ tiến trình một-một và nhiều-một, tự động chuyển đổi luồng công việc thông qua to_dist, các môi trường đa tầng và bộ tạo chân dung tác tử tự động.
  3. 📈 Mô phỏng thành công 1 triệu tác tử trên 4 thiết bị đa GPU trong 12 phút (Llama3-8B) và hoàn thành benchmark 1 triệu tác tử giả lập (dummy) chỉ trong 40 giây.

Tóm tắt

Những tiến bộ gần đây trong các mô hình ngôn ngữ lớn (LLM) đã mở ra những hướng đi mới cho việc ứng dụng hệ thống đa tác tử trong các mô phỏng quy mô cực lớn. Tuy nhiên, vẫn còn nhiều thách thức khi thực hiện mô phỏng đa tác tử với các nền tảng hiện nay, chẳng hạn như khả năng mở rộng hạn chế và hiệu năng thấp, tính đa dạng của tác tử chưa đáp ứng yêu cầu, và quy trình quản trị tốn nhiều công sức. Để giải quyết các thách thức này, chúng tôi phát triển một số tính năng và thành phần mới cho AgentScope, một nền tảng đa tác tử thân thiện với người dùng, giúp nâng cao tính tiện lợi và linh hoạt nhằm hỗ trợ mô phỏng đa tác tử ở quy mô rất lớn. Cụ thể, chúng tôi đề xuất một cơ chế phân tán dựa trên mô hình actor làm cơ sở hạ tầng công nghệ nền tảng hướng tới khả năng mở rộng lớn và hiệu quả cao, đồng thời cung cấp hỗ trợ môi trường linh hoạt để mô phỏng các tình huống thực tế khác nhau, cho phép thực thi song song nhiều tác tử, tự động chuyển đổi luồng công việc để triển khai phân tán, cũng như hỗ trợ cả tương tác giữa các tác tử và giữa tác tử với môi trường. Hơn nữa, chúng tôi tích hợp một công cụ tùy cấu hình dễ sử dụng cùng quy trình tự động tạo bối cảnh trong AgentScope, đơn giản hóa việc tạo ra các tác tử có thiết lập nền tảng đa dạng nhưng chi tiết. Cuối cùng, chúng tôi cung cấp một giao diện nền web giúp theo dõi và quản lý thuận tiện số lượng lớn tác tử có thể được triển khai trên nhiều thiết bị. Chúng tôi thực hiện một mô phỏng toàn diện nhằm chứng minh hiệu quả của các cải tiến đề xuất này trong AgentScope, đồng thời đưa ra các quan sát chi tiết và thảo luận sâu sắc để làm nổi bật tiềm năng to lớn của việc ứng dụng hệ thống đa tác tử trong mô phỏng quy mô lớn. Mã nguồn được phát hành trên GitHub tại https://github.com/modelscope/agentscope/tree/main/examples/paper_large_scale_simulation nhằm truyền cảm hứng cho việc nghiên cứu và phát triển sâu hơn về mô phỏng đa tác tử quy mô lớn.

Tóm tắt gốc (tiếng Anh)

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.

Hướng dẫn đọc

Vấn đề và động lực

Các tác tử mô hình ngôn ngữ lớn (LLM) cho phép mô phỏng thực tế và mang tính tương tác cao mà không cần lập trình thủ công quy tắc quá phức tạp. Tuy nhiên, việc mở rộng mô phỏng đa tác tử lên quy mô nhân khẩu học thực tế bộc lộ ba nút thắt nghiêm trọng:

  1. Giới hạn về khả năng mở rộng và hiệu quả: Việc thực thi tập trung và khóa phiên dịch toàn cục (GIL) của Python cản trở quá trình thực thi tác tử. Các framework actor hiện có (ví dụ: Ray) khởi tạo một tiến trình mới cho mỗi actor, gây lãng phí tài nguyên khi xử lý hàng triệu tác tử nhẹ, nghẽn I/O.
  2. Phân phối quần thể và tính đa dạng của tác tử chưa đạt yêu cầu: Các tác tử có prompt bối cảnh đơn giản và giống hệt nhau sẽ hành xử đồng nhất, không đại diện được các phân phối nhân khẩu học thực tế (ví dụ: về học vấn, tuổi tác hoặc nghề nghiệp).
  3. Khó khăn trong quản lý: Việc điều phối, khởi chạy, giám sát và dừng hàng trăm nghìn hoặc hàng triệu tác tử phân tán trên các cụm máy chủ đòi hỏi chi phí vận hành rất lớn.

Các ý tưởng cốt lõi

  • Kiến trúc phân tán dựa trên actor: Các tác tử tính toán độc lập dưới dạng actor. Nền tảng hỗ trợ cả ánh xạ một-một (mỗi tác tử một tiến trình, tránh GIL cho các tác vụ nặng về tính toán) và nhiều-một (nhiều tác tử dùng chung tiến trình, tối đa hóa việc chia sẻ thời gian của lõi CPU trong thời gian chờ I/O).
  • Chuyển đổi phân tán không cần tái cấu trúc (to_dist): Người dùng xây dựng các luồng công việc tập trung, sau đó chúng được chuyển đổi một cách trong suốt sang các thiết lập phân tán bằng cách sử dụng proxy cục bộ và các placeholder thông điệp bất đồng bộ.
  • Môi trường hoạt động như một tác tử: Các môi trường được mô hình hóa thành các tác tử chuyên biệt hỗ trợ duy trì trạng thái, truy cập đồng thời cao qua RPC, các bộ kích hoạt hai chiều (thông qua listener) và các cấu trúc lồng nhau nhiều tầng cho các mô phỏng cấp độ nhóm.
  • Quy trình tạo quần thể không đồng nhất có thể cấu hình: Người dùng định nghĩa các phân phối nhân khẩu học trong tệp cấu hình, và một quy trình meta-prompt LLM sẽ tạo ra các persona tác tử đa dạng, cá nhân hóa.
  • Agent-Manager: Giao diện đồ họa nền web và mạng lưới máy chủ từ xa liên tục để triển khai, giám sát và dọn dẹp các tác tử trên các nút cụm.

Phương pháp

Thực thi Phân tán & Chuyển đổi Tự động

Trong AgentScope, các tác tử độc lập thực thi đồng thời. Khi một luồng công việc tập trung được gắn cờ .to_dist(), hai giai đoạn sẽ diễn ra:

  1. Các tác tử phân tán được sinh ra trên các worker từ xa; các đối tượng proxy nhẹ vẫn tồn tại trên bộ điều phối trung tâm.
  2. Các proxy ngay lập tức trả về các placeholder thông điệp khi nhận được lời gọi. Các tác tử downstream chỉ bị chặn (block) khi chúng kiểm tra các placeholder đang trỏ đến phép tính chưa hoàn tất từ các tác tử phía trước.

Động lực học Mô phỏng

Nền tảng đánh giá khả năng suy luận đa tác tử trên trò chơi kinh điển "đoán của giá trị trung bình". Mỗi tác tử đưa ra một giá trị . Mục tiêu chiến thắng là: Khi lặp lại với giả định tri thức chung về tính duy lý, điểm cân bằng Nash duy nhất sẽ hội tụ về . Trong các thí nghiệm khác kiểm tra khả năng khái quát hóa vượt ra ngoài dữ liệu huấn luyện trước đó, quy tắc mục tiêu được điều chỉnh thành: Đặt sẽ mang lại một cân bằng Nash khác không:

Kết quả

  • Khả năng mở rộng: Mô phỏng 1.000.000 tác tử hoàn thành trong 12 phút khi sử dụng 4 nút (mỗi nút có 8 GPU A100-80G, 64 lõi CPU, 1 TB RAM) với Llama3-8B cùng prompt cơ bản, và trong 85 phút khi dùng prompt Chain-of-Thought (CoT) (vốn làm tăng lượng token hơn 150 lần). Trong một bài benchmark tính toán giả lập loại bỏ độ trễ suy luận LLM, 1 triệu tác tử chạy trong 40 giây, so với 8,6 giờ qua I/O bất đồng bộ chuẩn của Python và ~12 ngày qua thực thi tuần tự.
  • Mở rộng theo chiều ngang: Với mức cố định 10.000 tác tử trên mỗi thiết bị, tổng thời gian chạy vẫn không đổi khi quy mô cụm tăng từ 1 lên 4 nút.
  • Prompting & độ sâu suy luận: Dưới prompt cơ bản, hầu hết các mô hình báo cáo khoảng 50 (mặc dù MistralAI-8x7B trung bình đạt 36,63 và MistralAI-8x22B trung bình đạt 31,69). Việc thêm hướng dẫn CoT đã đẩy các giá trị báo cáo về gần 0 (các con số chiến thắng của Qwen2-72B giảm từ 33,70 xuống 12,76, và trung bình ở vòng 5 của mô phỏng nhiều vòng giảm từ 25,16 xuống 2,02).
  • Nhân khẩu học & vai trò: Trình độ học vấn được chỉ định cao hơn sẽ tạo ra các phỏng đoán thấp hơn, tối ưu hơn về mặt lý thuyết trò chơi một cách có hệ thống (tác tử có học vị Tiến sĩ đưa ra con số thấp hơn tác tử học sinh tiểu học). Các nghề nghiệp như giáo sư lý thuyết trò chơi và nhà kinh tế học đưa ra những con số thấp nhất.
  • Các biến thể: Khi điểm cân bằng bị dịch chuyển sang 10 (), các tác tử lặp lại và hội tụ xung quanh 10 qua nhiều vòng.

Hạn chế và các câu hỏi mở

  • Sự thiếu nhất quán khi nhập vai trong các trường hợp biên: Khi được yêu cầu đóng vai một đứa trẻ 7 tuổi, các tác tử vẫn thực hiện các phép tính số học nhiều bước và suy luận đệ quy mâu thuẫn với persona đó.
  • Lỗi số học đơn giản: Thỉnh thoảng các tác tử mắc các lỗi tính toán cơ bản (đặc biệt liên quan đến phân số hoặc số thập phân), ngay cả khi logic suy luận chiến lược của chúng hoàn toàn đúng đắn.
  • Độ nhạy cảm với priors huấn luyện: Việc chuyển tỷ lệ mục tiêu từ sang làm suy giảm hiệu năng vì các mô hình dựa dẫm vào các mẫu lý thuyết trò chơi đã ghi nhớ; hiệu năng chỉ phục hồi khi các prompt nêu rõ ràng rằng trò chơi là một biến thể của trò "đoán của giá trị trung bình".

Thuật ngữ chính

AgentScope
Một nền tảng đa tác tử được thiết kế cho các ứng dụng dựa trên LLM, được mở rộng trong nghiên cứu này để hỗ trợ các mô phỏng phân tán quy mô cực lớn.
Actor Model
Một mô hình tính toán đồng thời trong đó mỗi actor hoạt động như một đơn vị tính toán tự chủ, giao tiếp thông qua truyền thông điệp mà không dùng bộ nhớ chia sẻ.
to_dist
Một hàm tích hợp sẵn của AgentScope giúp chuyển đổi quy trình đa tác tử được viết tuần tự, tập trung thành một pipeline thực thi phân tán sử dụng các proxy và placeholder.
Placeholders
Các token phản hồi bất đồng bộ được trả về ngay lập tức bởi các tác tử proxy để bộ điều phối tiếp tục thực thi mà không bị chặn khi chờ phản hồi từ worker từ xa.
Agent-Manager
Một bảng điều khiển trực quan nền web tập trung và cơ sở hạ tầng máy chủ ngầm (daemon) dùng để triển khai, quan sát và quản lý vòng đời của các tác tử trên các nút cụm từ xa.
Guess 2/3 of the Average
Một bài toán chuẩn kinh điển trong lý thuyết trò chơi, nơi người chơi chọn các số trong khoảng [0, 100] nhằm đạt mức 2/3 của giá trị trung bình chung, có điểm cân bằng Nash lý thuyết là 0.
Many-to-One Multi-Process Mode
Một chế độ thực thi trong AgentScope nơi nhiều tác tử cùng cư trú trong một tiến trình hệ điều hành duy nhất để chia sẻ luồng, lõi CPU và cổng mạng trong thời gian chờ I/O.

Câu hỏi thường gặp

AgentScope có thể mô phỏng đồng thời bao nhiêu tác tử?

Các tác giả đã chứng minh khả năng mô phỏng với tối đa 1.000.000 tác tử hoạt động đồng thời chạy trên 4 nút cụm vật lý (mỗi nút được trang bị 8 GPU A100-80G).

AgentScope tránh các giới hạn của Python GIL như thế nào trong quá trình song song hóa quy mô lớn?

Nền tảng triển khai đa tiến trình dựa trên actor với hai chế độ thực thi: một-một (mỗi tiến trình một tác tử) cho các tác vụ tiêu tốn nhiều tính toán, và nhiều-một (nhiều tác tử dùng chung một tiến trình) cho các tác vụ chờ API và nghẽn I/O, tránh sự tranh chấp GIL thông qua Lời gọi Thủ tục Từ xa (RPC).

Quần thể tác tử thực tế được tạo ra như thế nào?

Người dùng cung cấp các phân phối nhân khẩu học cấp cao (chẳng hạn như học vấn, giới tính, độ tuổi và nghề nghiệp) trong một tệp cấu hình, sau đó quy trình meta-prompt do LLM điều khiển sẽ lấy mẫu và mở rộng thành các tiểu sử nhân vật chi tiết.

Điều gì xảy ra khi các quy tắc trò chơi khác biệt so với các bài toán chuẩn của lý thuyết trò chơi?

Khi thay đổi tỷ lệ thành 51/100 hoặc đổi công thức mục tiêu thành 5 + 1/2 giá trị trung bình, ban đầu các tác tử gặp khó khăn do các định kiến đã ghi nhớ, nhưng việc thêm các ghi chú ngữ cảnh hoặc prompt CoT đã cho phép các mô hình như Qwen2-72B và MistralAI-8x22B hội tụ thành công về điểm cân bằng đã dịch chuyển.

Phần giải thích trên trang này do AI viết dựa trên bài báo và có thể có sai sót. Hãy đọc bài báo gốc để biết chi tiết.

Đọc với bản dịch và AI