بهینه سازی گروه برای LLM (PSO، ACO)
Type: Learn + Build
Languages: Python (stdlib)
Prerequisites: Phase 16 · 09 (Parallel Swarm Networks), Phase 16 · 14 (Consensus and BFT)
Time: ~75 minutes
مشکل
شما یک پرامپت دارید که در ارزیابی وظیفه خود 62 درصد امتیاز می دهد. شما می خواهید آن را بهبود بخشید. حرکت ساده ای اصلاح دستی بدون گرادینت است که مقیاس بد است. یادگیری تقویت نیاز به سیگنال های پاداش و راه اندازی های کافی برای آموزش دارد. پس از انجام درخواست ها واقعا امکان پذیر نیست پرامپت یک رشته جداگانه است، نه یک پارامتر قابل تفاوت است.
بهینه سازی با الهام از زیست شناسی کلاسیک PSO برای فضای جستجو مداوم، ACO برای انتخاب مسیر دقیقا برای این رژیم طراحی شده است: بدون گرادینت، مبتنی بر جمعیت، ارزان در هر ارزیابی. آنها را با LLM برای مرحله جستجو بدون گرادینت ترکیب کنید، و شما یک بهینه سازی شگفت انگیز عملی را دریافت می کنید.
این الگوهای مشابه برای عامل روٹنگ در سیستم های چند عامل اعمال می شود. یک فرومون به سبک ACO ردیابی را ثبت می کند که کدام عامل بهترین کار را در کدام نوع کار انجام می دهد، اجازه می دهد تا روتر از مسیر بهره برداری کند و فرومون ها را تجزیه می کند تا مسیرها دوباره کشف شوند.
مفهوم
تازه سازی PSO (Kennedy & Eberhart 1995)
بهینه سازی سوق ذرات: جمعیت ذرات در یک فضای جستجوی مداوم. هر ذره دارای موقعیت است x_iو سرعتv_iهر تکرار:
v_i <- w * v_i + c1 * r1 * (p_best_i - x_i) + c2 * r2 * (g_best - x_i)
x_i <- x_i + v_i
evaluate fitness(x_i)
update p_best_i if improved
update g_best if global bestکجاp_bestبهترین ذره خودش هستg_bestبهترين گروه هستw, c1, c2این ها جرات + شناختی + وزنهای اجتماعی هستند.r1, r2عوامل تصادفی هستند.
PSO در مورد نتایج LLM LMPSO
arXiv:2504.09247 PSO را برای تولیدات ساختاری LLM (عبارات ریاضی، برنامه ها) سازگار می کند. هر ذره یک محصول کاندید است. سرعت یک پرامپت است که نحوه تغییر تولید فعلی را به سمت بهترین شخصی / جهانی توصیف می کند. LLM تولیدات جدید را از پرامپت سرعت تولید می کند. "درگیری" سرعت یک پرامپت مانند "تغییرات کوچک را ایجاد کنید".
این کار خوب وقتی کار می کنه:
- تولید ساختار یافته است (تفحص پذیر، قابل ارزیابی).
- تناسب اندام خودکار است (مایش های تست، ارزیابی ریاضی).
- جمعیت کوچک است (~ 10-30 ذره) بنابراین کل تماس های LLM قابل مدیریت است.
وقتی که تناسب اندام نیاز به بررسی انسانی دارد خوب کار نمی کند هزینه تکرار ممنوع می شود.
نماد سوژه ها
arXiv:2410.11163 PSO را از لایه خروجی به لایه مدل می برد. هر "ذره" یک LLM متخصص (پاراست) است. سور پیرامیترها را از طریق یک بروزرسانی بدون گرادیانت به سمت بهترین جمعی حرکت می کند. گزارش شده: 13.3% افزایش متوسط بیش از 12 خط پایه در 9 مجموعه داده ، با فقط 200 نمونه در هر تکرار.
بینش اصلی این است که مدل های متخصص LLM در یک دسته پارامتر مشترک (وزن آداپتور، دلتای LoRA) در نزدیکی هستند. PSO در این فرعی کم ابعاد ارزان و موثر است.
تازه کننده ACO (دورگو 1992)
اصلاح مستعمره مورچه ها: مورچه ها از یک نمودار عبور می کنند؛ هر مسیر یک مسیر فرومون دارد. مورچه ها وزن احتمالات را با قدرت فرومون حرکت می دهند. مورچه هایی که کار را انجام می دهند، فرومون را متناسب با کیفیت محلول ذخیره می کنند. فرومون با گذشت زمان تجزیه می شود.
AMRO-S ACO برای رویتینگ آژانس
arXiv:2603.12933 از ACO برای مسیرهای چند عامل استفاده می کند. هر نوع کار یک "مرکز" است؛ هر عامل یک مسیر احتمالی است. فرومون ها مسیرهای خوبی را تقویت می کنند که نتایج خوبی را تولید می کنند. کمک های اصلی:
- Interpretable routing evidence.قدرت فيرمون يک سيگنال قابل خواندن انسان است
- Quality-gated asynchronous update.فرومون ها فقط پس از گذر از چک های کیفیت، تازه می شوند و نتیجه گیری را از یادگیری جدا می کنند.
- 4.7x speedupدر مورد شاخص مرجع راه اندازی چند عامل.
دروازه کیفیت مهم است: بدون آن، عوامل سریع اما اشتباه فرومون را جمع می کنند و سیستم در مسیرهای بد قفل می شود.
چه زمانی باید از PSO / ACO برای LLM استفاده شود
Use PSO when:
- فضای جستجو مستمر است یا نقشه به پارامترهای مستمر (شامل سازی فوری، وزن LoRA، پارامترهای تولید عددی).
- تناسب اندام ارزان و اتوماتيكه
- جمعیت ممکن است کوچک باشد (10-30).
Use ACO when:
- مشکل راهبری یا راه انتخاب دارید.
- تصمیمات با گذشت زمان تقویت می شوند (هم نوع وظایف دوباره تکرار می شوند).
- براي تصميم هاي راهپيمايي به شواهد تعبير پذير نياز داريد
Do not use either when:
- تناسب اندام نیاز به بررسی انسانی دارد (در هر تکرار بیش از حد گران است).
- فضای جستجو به گونه ای متمایز و ترکیبی است که PSO آن را پوشش نمی دهد (به جای آن الگوریتم های ژنتیکی را استفاده کنید).
- تصمیمات زمان واقعی نیاز به تاخیر سخت دارد (PSO / ACO به آرامی نسبت به هوریستیک یک گذرگاه به آرامی به هم می پیوندد).
چرا الهام بخش باولو هنوز برنده می شود
روش های مبتنی بر درجه بندی نیاز به سیگنال های قابل تفاوتی دارند. نتایج LLM و تصمیمات مسیر قابل تفاوتی نیستند. روش های پزودوگرادینت (روترهای تقویت شده، DPO-style prompt tuners) کار می کنند اما به آموزش گران قیمت نیاز دارند.
PSO و ACO فقط به یک تابع ارزیابی کننده نیاز دارند. اگر می توانید یک نتیجه گیری نامزدی یا یک تصمیم رویت را انجام دهید، می توانید فضای را بهینه سازی کنید. این باعث می شود که بار کاربرد بسیار پایین تر باشد.
محدودیت های عملی
- Population budget.N ذرات × T تکرار × هزینه در هر دوره. برای ارزیابی LLM در ~$0.02 / call, a 20-particle PSO running 50 iterations costs ~$20 . برنامه ریزی کنید
- Exploration vs exploitation.نرخ تجزیه فیرومون و بی ثباتی PSO از بین می رود؛ تجزیه خیلی سریع → فراموش کردن راه حل ها؛ خیلی آهسته → گیر در اولین بهینه محلی.
- Catastrophic drift.هر دو الگوریتم می توانند در صورت تغییر چشم انداز تناسب اندام (توزيع داده های جدید) همگام شوند و سپس متفاوت شوند. ثبات بهترین تناسب اندام را نظارت کنید.
آن را بسازید
code/main.pyابزار:
LMPSOPSO بر روی پارامترهای فوری عددی (حرارتی، وزنه های top_k) . "پدول LLM" هر ذره به عنوان یک تابع تناسب اندام اسکریپت شبیه سازی می شود. الگوریتم را برای 30 تکرار اجرا می کند و g_best کنورژن را نشان می دهد.AMRO_Sمسیر به سبک ACO. 3 عامل، 4 نوع وظیفه، ماتریس فرومون، 100 وظیفه مسیر داده شده. چاپ (تاکس_تایپ → انتخاب عامل) توزیع در طول زمان برای نشان دادن تشکیل مسیر.- مقایسه: رویت تصادفی در مقابل رویت ACO در یک جریان کار. کیفیت و تاخیر را اندازه گیری می کند.
راه رفتن:
python3 code/main.pyتولید انتظار می رود:
- LMPSO: g_best fitness از تصادفی به نزدیک بهینه بیش از 30 تکرار بهبود می یابد.
- AMRO-S: جدول فرومون در عامل درست برای هر نوع کار پایدار می شود؛ ACO رویت به طور تصادفی در کیفیت ~ 30-40٪ می کند و همچنین تاخیر را کاهش می دهد (کم تر تلاش مجدد).
ازش استفاده کن
outputs/skill-swarm-optimizer.mdکمک می کند که بین PSO، ACO، الگوریتم های ژنتیکی و بهینه سازی های مبتنی بر گرادینت برای مشکلات بهینه سازی LLM / عامل انتخاب کنید.
-باده
- Start small.10-20 ذره، 20-50 تکرار فقط در صورت که منحنی کنورژانس افزایش واضح نشان دهد.
- Log pheromones or g_best per iteration.درست کردن اصلاحات دسته بدون ردیابی دردناک است.
- Quality-gate updates.مخصوصا برای مسیر ACO: عوامل سریع و نادرست نباید فرومون را جمع کنند.
- Reset decay on distribution shift.وقتی توزیع ارزیابی شما تغییر می کند، فرومون های پیر شده قدیمی هستند؛ سرعت تجزیه را به طور موقت تنظیم کنید یا دو برابر کنید.
- Cap the per-iteration cost.پی اس او که هزینه 500 دلار / تکرار و 0.5 درصد سود دارد قابل حمل نیست.
تمرینات
- فرار کن
code/main.py. مشاهده کنورژن LMPSO. اندازه جمعیت متفاوت 5, 10, 20, 50. - آزمایش "دریفت فاجعه بار" را اجرا کنید: پس از تکرار 30، عملکرد تناسب اندام را تغییر دهید. PSO چقدر سریع سازگار می شود؟ آیا تنظیم مجدد
p_bestکمک؟ - یک دروازه کیفیت را به AMRO-S اضافه کنید: صرفاً در رنز هایی که نمره ارزیابی > 0.7 دارند، فیرمون سپرده می شود. این چگونه تبدیل به کنورژانس در مقایسه با نسخه غیر پوشیده می شود؟
- LMPSO را بخوانید (arXiv:2504.09247). "سرعت به عنوان یک پیام" را به سرعت عددی خود برگردانید. در شبیه سازی چه چیزی از دست می رود و چه چیزی حفظ می شود؟
- AMRO-S را بخوانید (arXiv:2603.12933). "راه سریع انفراسشن" را با بروزرسانی فرومون غیرمسلح پیاده سازی کنید. این چگونه تاخیر سیستم را تحت بار مداوم تغییر می دهد؟
اصطلاحات کلیدی
| Term | What people say | What it actually means |
|---|---|---|
| PSO | "Particle Swarm Optimization" | Kennedy-Eberhart 1995. Population-based gradient-free optimizer. |
| ACO | "Ant Colony Optimization" | Dorigo 1992. Path/route optimization via pheromone trails. |
| LMPSO | "PSO with LLM generation" | arXiv:2504.09247. Velocity is a prompt; LLM produces candidates. |
| Model Swarms | "PSO on expert weights" | arXiv:2410.11163. Gradient-free update on model parameter subspace. |
| AMRO-S | "ACO for agent routing" | arXiv:2603.12933. Pheromone matrix over task-type × agent. |
| p_best / g_best | "Personal / global best" | Per-particle and swarm-wide best solutions found so far. |
| Pheromone | "Routing memory" | Strength on an edge; decays over time; deposits on quality. |
| Quality-gated update | "Only learn from good runs" | Pheromone deposit conditioned on quality check. |
| Catastrophic drift | "Distribution shift" | Fitness landscape changes; old p_best and pheromones become stale. |
خواندن بیشتر
- Kennedy & Eberhart — Particle Swarm Optimization مقاله سال 1995 PSO
- Dorigo — Ant Colony Optimization 1992 بنیاد های ACO
- LMPSO — Language Model Particle Swarm Optimization PSO برای محصولات LLM ساختاری
- Model Swarms — gradient-free LLM expert optimization PSO در زیرمناطق وزن مدل
- AMRO-S — ant-colony multi-agent routing مسیرهای فرومونی با دروازه کیفیت
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.