XYZNOT

Makaleler · arXiv 2407.17789

AgentScope ile Çok Büyük Ölçekli Çoklu Ajan Simülasyonu

Very Large-Scale Multi-Agent Simulation in AgentScope

Yayımlanma cs.MAcs.AI arXivPDF

Çeviri ve yapay zekâ ile oku

Üç satırda özet

  1. 🎯 Çoklu ajan simülasyon platformları; ölçeklenebilirlik, ajan popülasyonu çeşitliliği ve devasa ölçekte çoklu cihaz yaşam döngüsü yönetiminde büyük darboğazlarla karşılaşmaktadır.
  2. 🔧 Bire bir ve çoktan bire süreç modlarına sahip aktör tabanlı dağıtık bir mekanizma, to_dist aracılığıyla otomatik iş akışı dönüşümü, çok katmanlı ortamlar ve otomatik bir persona üreticisi uygular.
  3. 📈 4 adet çoklu GPU'lu cihazda 1 milyon ajanı 12 dakikada (Llama3-8B) başarıyla simüle etti ve yapay bir 1M ajan kıyaslamasını yalnızca 40 saniyede tamamladı.

Özet

Büyük dil modellerindeki (LLM'ler) son gelişmeler, çoklu ajan sistemlerinin çok büyük ölçekli simülasyonlarda uygulanması için yeni ufuklar açmıştır. Ancak, mevcut platformlarla çoklu ajan simülasyonları yürütülürken sınırlı ölçeklenebilirlik, düşük verimlilik, yetersiz ajan çeşitliliği ve yoğun çaba gerektiren yönetim süreçleri gibi çeşitli zorluklar devam etmektedir. Bu zorlukların üstesinden gelmek için, kullanıcı dostu bir çoklu ajan platformu olan AgentScope'a yeni özellikler ve bileşenler kazandırarak, platformun çok büyük ölçekli çoklu ajan simülasyonlarını destekleme konusundaki kolaylığını ve esnekliğini artırıyoruz. Özellikle, yüksek ölçeklenebilirlik ve yüksek verimlilik hedefleyen temel bir teknolojik altyapı olarak aktör tabanlı dağıtık bir mekanizma öneriyor ve çeşitli gerçek dünya senaryolarını simüle etmek için esnek çevre desteği sunuyoruz; bu da birden fazla ajanın paralel yürütülmesini, dağıtık dağıtım için otomatik iş akışı dönüşümünü ve hem ajanlar arası hem de ajan-çevre etkileşimlerini mümkün kılıyor. Ayrıca, çeşitli ancak ayrıntılı arka plan ayarlarına sahip ajanlar oluşturma sürecini basitleştirmek adına AgentScope'a kullanımı kolay, yapılandırılabilir bir araç ve otomatik bir arka plan oluşturma ardışık düzeni entegre ediyoruz. Son olarak, birden fazla cihaza dağıtılmış olabilecek çok sayıda ajanı kolayca izlemek ve yönetmek için web tabanlı bir arayüz sunuyoruz. AgentScope'taki bu önerilen geliştirmelerin etkinliğini göstermek için kapsamlı bir simülasyon yürütüyor, çoklu ajan sistemlerinin büyük ölçekli simülasyonlarda uygulanmasının sunduğu büyük potansiyeli vurgulamak adına ayrıntılı gözlemler ve içgörülü tartışmalar paylaşıyoruz. Büyük ölçekli çoklu ajan simülasyonlarında daha fazla araştırma ve geliştirmeye ilham vermek amacıyla kaynak kodları https://github.com/modelscope/agentscope/tree/main/examples/paper_large_scale_simulation adresinde GitHub üzerinden yayımlanmıştır.

Orijinal özet (İngilizce)

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.

Okuma rehberi

Problem ve motivasyon

Büyük dil modeli (LLM) ajanları, kapsamlı manuel kural programlamasına gerek kalmadan etkileşimli ve gerçekçi simülasyonlar sağlar. Ancak, çoklu ajan simülasyonlarını gerçekçi demografik boyutlara ölçeklendirmek üç kritik darboğazı ortaya çıkarır:

  1. Ölçeklenebilirlik ve verimlilik sınırları: Merkezi yürütme ve Python'ın Global Interpreter Lock (GIL) mekanizması ajan yürütmesini engeller. Mevcut aktör çatıları (ör. Ray), aktör başına yeni bir süreç başlatır ve bu durum milyonlarca hafif, G/Ç kısıtlı ajanı işlerken kaynak israfına yol açar.
  2. Yetersiz popülasyon dağılımları ve ajan çeşitliliği: Basit ve özdeş arka plan istemlerine sahip ajanlar homojen davranarak gerçekçi demografik dağılımları (ör. eğitim, yaş veya meslek açısından) temsil edemez.
  3. Zor yönetim: Kümelere dağıtılmış yüz binlerce veya milyonlarca ajanın orkestrasyonunu sağlamak, başlatmak, izlemek ve sonlandırmak ciddi bir operasyonel iş yükü gerektirir.

Temel fikirler

  • Aktör tabanlı dağıtık mimari: Ajanlar aktörler olarak bağımsız şekilde hesaplama yapar. Platform hem bire bir (süreç başına ajan; hesaplama ağırlıklı görevler için GIL'den kaçınır) hem de çoktan bire (ajanlar süreçleri paylaşır; G/Ç beklemeleri sırasında CPU çekirdeği zaman paylaşımını en üst düzeye çıkarır) eşlemeleri destekler.
  • Sıfır yeniden düzenleme ile dağıtık dönüşüm (to_dist): Kullanıcılar merkezi iş akışları yazar; bunlar yerel vekiller ve eşzamansız mesaj yer tutucuları kullanılarak şeffaf bir şekilde dağıtık kurgulara dönüştürülür.
  • Bir ajan olarak çevre: Çevreler, durum bakımını, RPC yoluyla yüksek eşzamanlı erişimi, çift yönlü tetikleyicileri (dinleyiciler aracılığıyla) ve grup düzeyinde simülasyonlar için iç içe geçmiş çok katmanlı yapıları destekleyen özelleşmiş ajanlar olarak modellenir.
  • Yapılandırılabilir heterojen popülasyon ardışık düzeni: Kullanıcılar demografik dağılımları yapılandırma dosyalarında tanımlar ve bir LLM meta-istem ardışık düzeni çeşitli, bireyselleştirilmiş ajan personaları üretir.
  • Agent-Manager: Küme düğümleri genelinde ajanları dağıtmak, izlemek ve temizlemek için web tabanlı bir grafik arayüz ve kalıcı uzak sunucu ağı.

Yöntem

Dağıtık Yürütme ve Otomatik Dönüşüm

AgentScope'ta bağımsız ajanlar eşzamanlı olarak yürütülür. Merkezi bir ardışık düzen .to_dist() ile etiketlendiğinde iki aşama gerçekleşir:

  1. Dağıtık ajanlar uzak çalışanlar üzerinde başlatılır; hafif vekil nesneler merkezi orkestratör üzerinde kalır.
  2. Vekiller bir çağrı aldıklarında hemen mesaj yer tutucuları döndürür. Akış yönündeki ajanlar, yalnızca önceki ajanlardan bekleyen hesaplamalara işaret eden yer tutucuları incelediklerinde engellenir (block).

Simülasyon Dinamikleri

Platform, çoklu ajan akıl yürütmesini klasik "ortalamanın 'ünü tahmin etme" oyunu üzerinden değerlendirir. Her ajanı aralığında bir değer sunar. Kazanan hedef şudur: Rasyonelliğin ortak bilgi olduğu varsayımı altında tekrarlandığında, tek Nash dengesi 'a yakınsar. Önceki eğitim verilerinin ötesinde genelleştirmeyi test eden alternatif deneylerde, hedef kural şu şekilde ayarlanmıştır: eşitliği sıfır olmayan bir Nash dengesi üretir:

Sonuçlar

  • Ölçeklenebilirlik: 1.000.000 ajanlık bir simülasyon, temel istemlere sahip Llama3-8B kullanılarak 4 düğümde (her birinde 8 A100-80G GPU, 64 CPU çekirdeği, 1 TB RAM) 12 dakikada, Düşünce Zinciri (CoT) istemlemesiyle ise (belirteç sayılarını 150 kattan fazla artırmıştır) 85 dakikada tamamlanmıştır. LLM çıkarım gecikmesini ortadan kaldıran yapay bir hesaplama kıyaslamasında, 1 milyon ajan standart Python eşzamansız G/Ç ile 8,6 saat ve seri yürütme ile ~12 gün sürerken, bu mimariyle 40 saniyede çalışmıştır.
  • Yatay ölçekleme: Cihaz başına sabit 10.000 ajan ile küme boyutu 1 düğümden 4 düğüme çıkarıldığında toplam çalışma süresi sabit kalmıştır.
  • İstemleme ve akıl yürütme derinliği: Temel istemleme altında çoğu model 50 civarında sonuç bildirmiştir (MistralAI-8x7B ortalama 36,63 ve MistralAI-8x22B ortalama 31,69 bildirmiştir). CoT talimatlarının eklenmesi bildirimleri 0'a doğru çekmiştir (Qwen2-72B kazanan sayıları 33,70'ten 12,76'ya düşmüş ve çok turlu 5. tur ortalamaları 25,16'dan 2,02'ye gerilemiştir).
  • Demografi ve roller: Atanan eğitim seviyesinin daha yüksek olması, sistematik olarak daha düşük ve oyun teorisi açısından daha optimal tahminler üretmiştir (doktora dereceli ajanlar ilkokul seviyesindeki ajanlardan daha düşük sayılar bildirmiştir). Oyun teorisi profesörleri ve ekonomistler gibi meslekler en düşük sayıları bildirmiştir.
  • Varyantlar: Denge noktası 10'a kaydırıldığında (), ajanlar birden fazla tur boyunca yinelemeli olarak 10 civarında yakınsamıştır.

Sınırlılıklar ve açık sorular

  • Uç durumlarda rol yapma tutarsızlığı: 7 yaşında bir çocuk gibi davranması istendiğinde ajanlar, bu persona ile çelişen çok adımlı aritmetik ve özyinelemeli akıl yürütmeler yapmaya devam etmiştir.
  • Basit aritmetik hataları: Stratejik akıl yürütme mantıkları sağlam olsa bile, ajanlar zaman zaman basit hesaplama hataları (özellikle kesirler veya ondalık sayılar içeren) yapmıştır.
  • Eğitim öncüllerine duyarlılık: Hedef oranının 'ten 'e kaydırılması, modellerin ezberlenmiş oyun teorisi kalıplarına dayanması nedeniyle performansı düşürmüştür; performans yalnızca istemlerde oyunun "ortalamanın 'ünü tahmin etme" oyununun bir varyantı olduğu açıkça belirtildiğinde düzelmiştir.

Temel terimler

AgentScope
LLM tabanlı uygulamalar için tasarlanmış ve burada çok büyük ölçekli dağıtık simülasyonları destekleyecek şekilde genişletilmiş bir çoklu ajan platformu.
Actor Model
Her aktörün paylaşımlı bellek olmaksızın mesaj iletimi yoluyla iletişim kurduğu özerk bir hesaplama birimi olarak davrandığı eşzamanlı bir hesaplama paradigması.
to_dist
Merkezi ve sıralı olarak yazılmış bir çoklu ajan iş akışını, vekiller ve yer tutucular kullanarak dağıtık bir yürütme ardışık düzenine dönüştüren yerleşik bir AgentScope fonksiyonu.
Placeholders
Orkestratörlerin uzak çalışan yanıtlarını beklemeden yürütmeye devam edebilmesi için vekil ajanlar tarafından anında döndürülen eşzamansız yanıt belirteçleri.
Agent-Manager
Uzak küme düğümleri genelinde ajanların yaşam döngüsünü dağıtmak, gözlemlemek ve yönetmek için kullanılan merkezi, web tabanlı bir görsel gösterge paneli ve arka plan sunucusu altyapısı.
Guess 2/3 of the Average
Oyuncuların genel ortalamanın 2/3'ünü tutturmayı hedefleyerek [0, 100] aralığında sayılar seçtiği ve teorik Nash dengesi 0 olan klasik bir oyun teorisi kıyaslama testi.
Many-to-One Multi-Process Mode
G/Ç beklemeleri sırasında iş parçacıklarını, CPU çekirdeklerini ve ağ bağlantı noktalarını paylaşmak üzere birden fazla ajanın tek bir işletim sistemi sürecinde yer aldığı bir AgentScope yürütme modu.

Sorular

AgentScope aynı anda kaç ajanı simüle edebilir?

Yazarlar, 4 fiziksel küme düğümünde (her biri 8 adet A100-80G GPU ile donatılmış) çalışan 1.000.000'a kadar aktif ajanla simülasyonlar gerçekleştirmiştir.

AgentScope, büyük ölçekli paralellikte Python GIL sınırlamalarından nasıl kaçınır?

İki yürütme moduna sahip aktör tabanlı çoklu işlem uygular: hesaplama ağırlıklı görevler için bire bir (ajan başına bir süreç) ve API bekleme ile G/Ç kısıtlı görevler için çoktan bire (bir süreci paylaşan birden fazla ajan); Uzaktan Yordam Çağrıları (RPC) aracılığıyla GIL çekişmesini önler.

Gerçekçi ajan popülasyonları nasıl oluşturulur?

Kullanıcılar bir yapılandırma dosyasında üst düzey demografik dağılımları (eğitim, cinsiyet, yaş ve meslek gibi) belirtir; LLM güdümlü bir meta-istem ardışık düzeni bu verileri örnekleyerek ayrıntılı karakter biyografilerine dönüştürür.

Oyun kuralları standart oyun teorisi kıyaslamalarından saptığında ne olur?

Oran 51/100 olarak değiştirildiğinde veya hedef formül ortalamanın 5 + 1/2'sine kaydırıldığında, ajanlar ezberlenmiş öncüller nedeniyle başlangıçta zorlanmıştır; ancak bağlamsal notlar veya CoT istemleri eklemek, Qwen2-72B ve MistralAI-8x22B gibi modellerin kaydırılan dengeye başarıyla yakınsamasını sağlamıştır.

Bu sayfadaki açıklama yapay zekâ tarafından makaleden yazılmıştır ve hata içerebilir. Ayrıntılar için makaleyi okuyun.

Çeviri ve yapay zekâ ile oku