Mixture-of-Experts (MoE) (FA)

From Systems analysis Wiki
Jump to navigation Jump to search

Mixture-of-Experts (MoE) (به انگلیسی — «ترکیب متخصصان») — معماری‌ای از شبکه‌های عصبی است که بر اساس اصل محاسبات شرطی و پارادایم «تقسیم کن و حکومت کن» بنا شده است. به جای استفاده از یک مدل یکپارچه («متراکم») که در آن تمام پارامترها برای پردازش هر سیگنال ورودی به کار می‌روند، معماری MoE وظیفه را تجزیه کرده و آن را به زیرشبکه‌های تخصصی‌ای به نام «متخصصان» واگذار می‌کند. یک مؤلفه ویژه، شبکه‌ی مسیریاب (gating network یا روتر)، به صورت پویا تعیین می‌کند که کدام متخصصان هر token ورودی خاص را پردازش خواهند کرد[1][2].

این رویکرد امکان ایجاد مدل‌هایی با تعداد پارامتر بسیار زیاد (صدها میلیارد یا حتی تریلیون‌ها) را فراهم می‌کند، در حالی که هزینه‌های محاسباتی (FLOPs) در مرحله‌ی inference را در سطح مدل‌های متراکم بسیار کوچک‌تر نگه می‌دارد[3]. به همین دلیل، MoE به فناوری کلیدی برای مقیاس‌بندی مدل‌های زبانی بزرگ (LLM) مدرن تبدیل شده و در سیستم‌های پیشرفته‌ای مانند Mixtral 8x7B، Grok-1 و — بر اساس باور گسترده — GPT-4 به کار می‌رود[1].

اصل کلیدی: محاسبات شرطی و پراکندگی

مکانیزم بنیادین MoE، محاسبات شرطی (conditional computation) است. برخلاف مدل‌های متراکم که در آن‌ها همه پارامترها هنگام پردازش هر token فعال هستند، مدل‌های MoE تنها بخش کوچکی از پارامترهای خود را بسته به داده‌های ورودی فعال می‌کنند. این فرآیند به پراکندگی در فعال‌سازی‌ها (sparsity in activation) منجر می‌شود که مهم‌ترین تمایز از معماری‌های سنتی است[4].

این رویکرد امکان می‌دهد:

  • مقیاس‌بندی ظرفیت مدل: تعداد کل پارامترها (و در نتیجه «دانش» مدل) می‌تواند بدون افزایش متناسب بار محاسباتی به میزان قابل توجهی افزایش یابد.
  • افزایش کارایی: مدل محاسبات کمتری برای هر token انجام می‌دهد که منجر به inference سریع‌تر و کاهش هزینه‌های آموزش در بودجه محاسباتی ثابت می‌شود[5].

بنابراین، MoE گلوگاه را از توان محاسباتی به سمت نیازهای حافظه (VRAM) جابجا می‌کند، زیرا تمام پارامترهای تمام متخصصان باید در حافظه بارگذاری شوند، حتی اگر در هر لحظه تنها بخش کوچکی از آن‌ها استفاده شود[6].

اجزای معماری MoE

۱. زیرشبکه‌های متخصص (Experts)

متخصصان معمولاً شبکه‌های عصبی مستقل هستند. در بافت معماری transformer، لایه‌های MoE معمولاً جایگزین بلوک‌های متراکم کاملاً متصل (Feed-Forward Networks, FFN) می‌شوند و هر متخصص خود یک FFN است[1]. در طول آموزش، هر متخصص می‌تواند «تخصص» در حوزه‌های خاصی را توسعه دهد — برای مثال، یکی ممکن است در نحو تخصص داشته باشد، دیگری در حقایق یک حوزه دانشی خاص، و سومی در یک زبان یا سبک معین[7].

۲. شبکه کنترل‌کننده (Gating Network / Router)

شبکه‌ی مسیریاب مؤلفه‌ای کوچک اما حیاتی است که توزیع هوشمند وظایف را انجام می‌دهد. برای هر token ورودی، مسیریاب امتیازاتی (وزن‌هایی) محاسبه می‌کند که تعیین می‌کند کدام متخصصان برای پردازش آن مرتبط‌ترند. تصمیم مسیریابی پویا و وابسته به زمینه است[8].

متداول‌ترین استراتژی، مسیریابی Top-K است که در آن K متخصص با بالاترین امتیاز برای پردازش token انتخاب می‌شوند. مقدار K معمولاً کم است (مثلاً ۱ یا ۲) که همین پراکندگی را تضمین می‌کند.

۳. ترکیب داده‌های خروجی

پس از اینکه K متخصص انتخاب‌شده token را پردازش کردند، خروجی‌های فردی آن‌ها برای تشکیل نتیجه نهایی لایه MoE با هم ترکیب می‌شوند. معمولاً این کار از طریق جمع وزنی انجام می‌شود، جایی که وزن‌ها امتیازات نرمال‌شده‌ای هستند که توسط مسیریاب تولید شده‌اند[1].

تکامل MoE

مفهوم MoE برای اولین بار در سال ۱۹۹۱ در مقاله‌ای از رابرت جاکوبز، جفری هینتون و مایکل جردن با عنوان «ترکیب انطباقی متخصصان محلی» پیشنهاد شد[3]. با این حال، به دلیل محدودیت‌های محاسباتی و پیچیدگی آموزش، این ایده تا دوران یادگیری عمیق گسترش گسترده‌ای نیافت.

شکست بزرگ با ظهور معماری Transformer رخ داد. تحقیقات سال‌های ۲۰۱۰ تا ۲۰۱۵ درباره محاسبات شرطی (یوشوا بنژیو و دیگران) پایه نظری را گذاشتند و کار شازیر و دیگران (۲۰۱۷) امکان مقیاس‌بندی MoE به یک مدل LSTM با ۱۳۷ میلیارد پارامتر را نشان داد[8].

احیای مدرن MoE با مدل Switch Transformer گوگل (۲۰۲۱) مرتبط است که تا ۱.۶ تریلیون پارامتر با استفاده از مسیریابی ساده اما مؤثر Top-1 مقیاس‌بندی شد[9]. موفقیت مدل متن‌باز Mixtral 8x7B از Mistral AI در سال ۲۰۲۳ به طور قطعی MoE را به عنوان یکی از معماری‌های پیشرو برای ایجاد LLM با کارایی بالا تثبیت کرد[1].

چالش‌ها و روش‌های بهینه‌سازی

تعادل بار

یکی از مشکلات اصلی MoE، عدم تعادل بار است، زمانی که مسیریاب به طور مداوم همان متخصصان «محبوب» را انتخاب می‌کند در حالی که دیگران کم‌استفاده می‌مانند. این امر به آموزش ناکارآمد و «فروپاشی متخصصان» منجر می‌شود.

  • توابع زیان کمکی (Auxiliary Loss): روش سنتی که «جریمه‌ای» برای توزیع نامتوازن token‌ها به تابع زیان اصلی اضافه می‌کند. اگرچه این کار به تعادل کمک می‌کند، اما این رویکرد می‌تواند «گرادیان‌های مزاحم» ایجاد کند که عملکرد کلی را کاهش می‌دهند[10].
  • تعادل بدون زیان (Loss-Free Balancing): رویکرد جدیدتری که به صورت پویا انحراف (bias) را به امتیازات مسیریاب اعمال می‌کند و آن را به سمت تصمیمات متعادل‌تر سوق می‌دهد بدون اینکه در وظیفه اصلی آموزش دخالت کند[11].
  • مسیریابی با انتخاب متخصص (Expert Choice Routing): رویکرد جایگزینی که در آن نه token‌ها متخصصان را انتخاب می‌کنند، بلکه هر متخصص `top-k` token را از دسته انتخاب می‌کند. این تعادل کامل را تضمین می‌کند اما ممکن است در پیاده‌سازی پیچیده‌تر باشد[1].

تنظیم دقیق و کوانتیزاسیون

  • تنظیم دقیق (Fine-tuning): از نظر تاریخی، مدل‌های MoE به دلیل تعداد زیاد پارامترها مستعد بیش‌برازش بودند. برای کاهش این مشکل از روش‌هایی مانند «dropout متخصص» استفاده می‌شود[12].
  • کوانتیزاسیون (Quantization): کاهش دقت عددی وزن‌ها برای کاهش حجم مدل و سرعت‌بخشی به inference. برای MoE این کار به دلیل عدم تعادل بین متخصصان چالش‌برانگیز است. روش‌هایی مانند MoEQuant راه‌حل‌هایی مبتنی بر کالیبراسیون متعادل برای هر متخصص پیشنهاد می‌دهند[13].

بهینه‌سازی سیستمی

استقرار مؤثر MoE نیازمند رویکرد سیستمی جامع است که شامل موارد زیر می‌شود:

  • استراتژی‌های موازی‌سازی: موازی‌سازی متخصص (توزیع متخصصان روی GPU‌های مختلف)، موازی‌سازی مدل و موازی‌سازی داده[14].
  • هسته‌های تخصصی (Kernels): برای مثال، Megablocks برای Mixtral که ضرب‌های ماتریسی را برای عملیات پراکنده بهینه می‌کند[15].
  • طراحی مشترک سخت‌افزار (Hardware Co-design): توسعه راه‌حل‌های سخت‌افزاری که به طور خاص برای بارهای کاری MoE بهینه شده‌اند.

مدل‌های شاخص MoE

مقایسه معماری‌های برجسته MoE
مدل توسعه‌دهنده تعداد کل
پارامترها
پارامترهای
فعال
تعداد
متخصصان
متخصصان انتخاب‌شده (k)
Switch Transformer C-2048 Google ۱.۶ تریلیون وابسته به اندازه متخصص 2048 1
Mixtral 8x7B Mistral AI ~۴۷ میلیارد ~۱۳ میلیارد 8 2
Grok-1 xAI ۳۱۴ میلیارد ۸۶ میلیارد 8 2
GPT-4 (احتمالی) OpenAI >۱ تریلیون - 16 (احتمالی) 2 (احتمالی)
Qwen 2 MoE Alibaba ۵۷-۹۰ میلیارد ۱۴ میلیارد 64 4 یا 8
DeepSeekMoE 16B DeepSeek-AI ۱۶.۴ میلیارد ~۲.۸ میلیارد 64 (2 فعال) 2 (از 6)[16]

کاربرد در حوزه‌های مختلف

اگرچه MoE بیشتر در بافت LLM شناخته شده است، کاربرد آن به پردازش زبان طبیعی محدود نمی‌شود:

  • پیش‌بینی سری‌های زمانی: مدل Time-MoE معماری مقیاس‌پذیری برای پیش‌آموزش مدل‌های پیش‌بینی ارائه می‌دهد[17].
  • شناسایی آسیب‌پذیری‌ها: MoEVD از MoE برای تجزیه وظیفه شناسایی آسیب‌پذیری به طبقه‌بندی بر اساس انواع CWE استفاده می‌کند، جایی که هر متخصص در نوع خود تخصص دارد[18].
  • ادغام با فناوری‌های بلاک‌چین: MoE در بهینه‌سازی قراردادهای هوشمند و شناسایی تقلب کاربرد می‌یابد، جایی که متخصصان الگوهای مختلف تراکنش را تحلیل می‌کنند[19].
  • مدل‌های چندوجهی: MoE برای ترکیب متخصصانی که در روش‌های مختلف (متن، تصویر، صدا) تخصص دارند استفاده می‌شود و سیستم‌های همه‌منظوره‌تری ایجاد می‌کند[20].

یادداشت‌ها

  1. 1.0 1.1 1.2 1.3 1.4 1.5 «Applying Mixture of Experts in LLM Architectures». NVIDIA Technical Blog. [۱]
  2. «Mixture of Experts (MoE): A Big Data Perspective». arXiv. [۲]
  3. 3.0 3.1 «Mixture-of-Experts (MoE): что это такое и как работает». LLM Studio. [۳]
  4. «Serving Mixtral MoE Model». Friendli.ai Blog. [۴]
  5. «What is Mixture of Experts (MoE)? How it Works and Use Cases». Zilliz Learn. [۵]
  6. «Mixture of Experts (MoE) vs Dense LLMs». Maximilian Schwarzmüller's Blog. [۶]
  7. «Understanding Mixture of Experts in Deep Learning». VE3. [۷]
  8. 8.0 8.1 «Mixture of Experts Explained». Hugging Face Blog. [۸]
  9. «Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity». arXiv. [۹]
  10. «Auxiliary-Loss-Free Load Balancing Strategy for Mixture-of-Experts». OpenReview. [۱۰]
  11. «DeepSeek-V3 Explained: 3. Auxiliary-Loss-Free Load-Balancing». gopubby.com. [۱۱]
  12. «Switch Transformers: Scaling to Trillion Parameter Models with...». cse.ust.hk. [۱۲]
  13. «MoEQuant: Enhancing Quantization for Mixture-of-Experts...». arXiv. [۱۳]
  14. «A Survey of Mixture of Experts Models: Architectures and Applications in Business and Finance». Preprints.org. [۱۴]
  15. «Mixtral of Experts». arXiv. [۱۵]
  16. «A Survey on Inference Optimization Techniques for Mixture of Experts Models». arXiv. [۱۶]
  17. «Time-MoE: A Scalable and Unified Framework for Pre-training Time Series Foundation Models». arXiv. [۱۷]
  18. «MoEVD: A Mixture of Experts-based Framework for Vulnerability Detection». Semantic Scholar. [۱۸]
  19. «What a Decentralized Mixture-of-Experts (MoE) Is and How It Works». Gate.io Learn. [۱۹]
  20. «LLaMA-MoE: Building Mixture-of-Experts from Open-source LLMs». arXiv. [۲۰]