جامعه ی ذهن و بحث چند عامل
Type: Learn + Build
Languages: Python (stdlib)
Prerequisites: Phase 16 · 04 (Primitive Model)
Time: ~60 minutes
مشکل
خودآمرگی نمونه یک مدل را چندین بار و پاسخ اکثریت را بگیرید ارزان ترین پیشرفت استدلال است که می توانید روی آن حرکت کنید. این کار می کند، اما به سرعت اشباع می شود. شما می توانید نمونه های خود را دو برابر کنید و یک پرتاب معنی دار دیگر را مشاهده نکنید.
بحث پرتو را شکسته است. به جای نمونه های مستقل N از یک مدل، عوامل N استدلال و بررسی یکدیگر را می خوانند. ارتباط بین نمونه ها کاهش می یابد (آن ها دیگر یک نمونه نیستند) و نقطه تقارب اغلب درست است که رای گیری یک نمونه به طور مطمئن اشتباه بود.
مفهوم
الگوریتم دو و همکاران 2023
از arXiv:2305.14325 (ICML 2024):
- هر یک از عوامل N یک پاسخ اولیه به این سوال را تولید می کند.
- برای دور r = 2..R: هر عامل پاسخ های دور r-1 را نشان می دهد و از او می پرسد "با توجه به این، پاسخ خود را به روز می کنید".
- بعد از دور R، اکثریت رای به پاسخ های نهایی.
آزمایشات کاغذی در مورد MMLU، GSM8K، سوانح حیات، MATH، و معیار های واقعیت. بحث به طور مداوم CoT و خودعکاس را شکست می دهد.
دو دکمه مستقل
ابلاسیون از همان مقاله:
- Agent count alone(1 دور، اکثریت رای N) در اکثر وظایف، اما سطحه ها، یک عامل را شکست می دهد.
- Round count alone(۱ عامل با مشاهده استدلال قبلی خود) به سختی به ضعف شناخته شده بازتاب کمک می کند.
- Both togetherتبادل چند دور بین چند عامل باعث افزایش سود می شود.
چرا کار ميکنه
دو مکانیسم:
- Exposure to disagreement.وقتی یک عامل زنجیره استدلال یک عامل دیگر را با نتیجه گیری متفاوت می بیند، باید یا توجیه یا به روزسازی کند. به هر حال، زمینه برای دور r + 1 غنی تر از دور r است.
- Correlated error reduction.در خودآمرگی، همه نمونه ها از یک مدل هستند، بنابراین اشتباهات مرتبط هستند شما به طور متوسط به یک پاسخ اشتباه اطمینان دارید. مدل های مختلف یا دانه های مختلف غیر مرتبط هستند. دیدگاه های مختلف بحث شده بیشتر غیر مرتبط هستند.
بحث های متفاوت
A-HMAD و پیگیری های مرتبط با استفاده از مدن های پایه مختلف برای عوامل مختلف. بحث Llama + Claude + GPT کاهش سقوط مونوکلتور (درسی 26) را کاهش می دهد زیرا اشتباهات مرتبط یک خانواده مدل توسط دیگران به اشتراک گذاشته نمی شود.
منفی: یک مدل ضعیف که در یک بحث شرکت می کند می تواند توافق را به سمت پاسخ اشتباهش بکشد (ببینید "آیا باید دیوانه شویم؟" arXiv:2311.17371).
NLSOM افزونه ۱۲۹ عامل
ژوج و همکاران ("کوهکارهای ذهنی در جوامع ذهنی مبتنی بر زبان طبیعی"، arXiv:2305.17066) این ایده را به 129 جامعه عضو گسترش دادند. نتیجه: تخصص و خود سازماندهی با مقیاس ظاهر می شود و سیستم در وظایف مانند پاسخ دادن به سوالات بصری از عامل واحد بهتر است.
حالت شکست
- Sycophancy cascade.همه عوامل به هر عامل که بیشتر اعتماد به نفس دارد تأخیر می کنند. بحث به بلندترین صدای سقوط می کند. تشویق به نقش های مخالف ("یک عامل باید در مقابل موضع استدلال کند") کمک می کند.
- Topic drift.بحث های چند دور از سوال اصلی منحرف می شوند. کاهش: هر دور دوباره سوال را تزریق کنید.
- Compute blowup.N عوامل × R دور = N·R LLM تماس، هر یک با یک زمینه که رشد می کند. یک 5 عامل، 5 دور بحث است 25 تماس در یک زمینه در حال رشد. هزینه هر سوال می تواند بیش از 10× یک تماس CoT.
آن را بسازید
code/main.pyیک بحث 3 عامل × 3 دور در یک سوال ریاضی انجام می شود که هر عامل با یک پاسخ متفاوت (احتمالاً اشتباه) شروع می شود. عوامل با متوسط پاسخ همسایه با اعتماد به نفس نوشته شده به هر "تازه کاری" نوشته می شوند. کنورژن در دفترچه دور به دور قابل مشاهده است.
نمایش دو اثر کلیدی را نشان می دهد:
- يه دور تبادل باعث ميشه که ماموران به جواب درست نزديک بشن
- دور های اضافی پس از دور دوم نشان دهنده کاهش بازده (مطابقات سطح بالای دو و همکاران) است.
راه رفتن:
python3 code/main.pyازش استفاده کن
outputs/skill-debate-configurator.mdاین برنامه بحث را برای یک کار جدید تنظیم می کند: تعداد عوامل، تعداد دورها، همتایی (مودل مشابه در مقابل مخلوط) ، اختصاص نقش (متقابل در مقابل یک مخالف) همچنین هزینه های رمزنگاری را قبل از اینکه شما اجرا کنید تخمین می زند.
-باده
اگه بحث رو شروع کنيد:
- Cap rounds at 3.دو و همکاران نشان میدن که 3 دور بیشتر سود رو میگیرن بیشتر هزینه نیست کیفیت
- Cap agents at 5.بعد از ۵، انفجاره و هزینه ها برتری دارند.
- Heterogeneous by default.حداقل دو مدل مختلف در استخر
- Adversarial slot.يه مامور به هرحال با هم مخالف بود
- Log every round.سیستم های بحثی که دور های میانگین را پنهان می کنند نمی توانند خراب شوند یا مورد بررسی قرار گیرند.
تمرینات
- فرار کن
code/main.py، سپس تعداد گرد را به 5 تنظیم کنید و بازده های کاهش را تماشا کنید. - یک عامل چهارم با نقش مخالف را اضافه کنید: همیشه با اکثریت فعلی مخالف باشید. آیا این باعث شکستن یا بهبود تقارب می شود؟
- نقشه (طبق) امتیاز توافق در هر دور (تعداد عوامل در پاسخ اکثریت) چه زمانی به 1.0 می رسد و آیا این معادل "صحیح" است؟
- دو و همکاران را بخوانید. بخش 4 حذف کنید. "فقط توسط عوامل" در مقابل "فقط توسط دورها" در مقابل "هر دو" نتیجه را با استفاده از این کد تکرار کنید.
- "آیا باید دیوانه شویم؟" (arXiv:2311.17371) را بخوانید و دو نوع بحث را فراتر از دور روبن لیست کنید به عنوان مثال، قاضی رهبری، زنجیره بحث، خصومت.
اصطلاحات کلیدی
| Term | What people say | What it actually means |
|---|---|---|
| Society of Mind | "Minsky's idea" | Intelligence as interacting specialists; 1986 framing now operationalized via LLM debate. |
| Multi-agent debate | "Agents argue" | N agents propose, critique each other, revise over R rounds, majority-vote. |
| Consensus | "They agree" | Not epistemic truth — just fraction-on-majority-answer. Can be confidently wrong. |
| Rounds | "Exchange steps" | One round = each agent reads the others and updates once. |
| Heterogeneous debate | "Mix model families" | Using different base models to decorrelate errors. |
| Sycophancy cascade | "Everyone agrees with the loud one" | Debate failure where agents defer to the most confident agent regardless of correctness. |
| NLSOM | "129-agent society" | Natural-language society of mind; Zhuge et al.'s scaled version. |
| Correlated error | "Same model, same bug" | Why self-consistency saturates; debate across different views decorrelates. |
خواندن بیشتر
- Du et al. — Improving Factuality and Reasoning in Language Models through Multiagent Debate ورق مرجع، ICML 2024
- Zhuge et al. — Mindstorms in Natural Language-Based Societies of Mind 129-کارگری NLSOM
- Should we be going MAD? A Look at Multi-Agent Debate Strategies for LLMs تغییرات بحث بر اساس معیار
- Debate project page کد دو و همکاران، اطلاعات نمایش و حذف
This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.
Browse the complete course catalog or open this lesson on GitHub.