𝗠𝗶𝘅𝘁𝘂𝗿𝗲 𝗼𝗳 𝗘𝘅𝗽𝗲𝗿𝘁𝘀 (𝗠𝗼𝗘): 𝗛𝗼𝘄 𝗜𝘁 𝗪𝗼𝗿𝗸𝘀 𝗮𝗻𝗱 𝗪𝗵𝗲𝗻 𝘁𝗼 𝗨𝘀𝗲 𝗜𝘁

You want to scale from a 7B model to a 70B model without buying four more GPUs.

Someone suggests Mixture of Experts (MoE). They claim you get 70B performance with only 7B compute.

It sounds like a free lunch. But there is a catch.

How does it work?

A dense transformer like Llama 3.2 uses 100 percent of its parameters for every token. If you scale from 7B to 70B, you multiply both memory and compute by 10x.

MoE splits these two. The model stores more parameters (higher memory cost) but uses only a fraction of them for each token (lower compute cost).

The Trade-off:

• Dense 7B: 7B total params | 7B active | 7B compute | 14 GB memory • Dense 70B: 70B total params | 70B active | 70B compute | 140 GB memory • MoE 45B: 45B total params | ~13B active | ~14B compute | ~90 GB memory

The catch: You still pay the memory cost of a large model. You cannot run Mixtral on a single 24 GB GPU. You need enough VRAM to hold all the experts, even the ones not being used.

The Architecture:

In a sparse MoE, the standard Feed-Forward Network (FFN) is replaced by multiple "expert" FFNs and a learned router.

  1. The router takes a token.
  2. It assigns a score to each expert.
  3. It selects the top-k experts (for Mixtral, k=2).
  4. It runs the token through those experts only.
  5. It combines the results.

The router is not a manual scheduler. It is a learned layer. It learns to send math tokens to one expert and code tokens to another.

The Training Challenge:

The biggest risk is router collapse. Without help, the router might send every token to the same two experts. Those experts get better, so the router sends even more traffic to them. The other experts become useless.

Engineers use an auxiliary load-balancing loss to fix this. It penalizes the model if it does not use all experts equally.

When to avoid MoE:

• You need consistent latency: MoE has higher variance in response times. • You have limited VRAM: If you only have one GPU under 48 GB, stick to dense models. • You are building tiny models: If your model is under 3B parameters, the overhead is too high. • You need simple infrastructure: MoE requires complex expert parallelism and custom kernels.

MoE is best when you target a dense baseline above 30B parameters and have the memory to support it.

مخلوطی از متخصصان (MoE): در لایه‌های زیرین واقعاً چه اتفاقی می‌افتد و چه زمانی سودمند است؟

مدل‌های زبانی بزرگ (LLMs) با سرعت خیره‌کننده‌ای در حال بزرگ‌تر شدن هستند. اما افزایش تعداد پارامترها همیشه به معنای افزایش متناسب هزینه‌های محاسباتی نیست. در اینجا معماری Mixture of Experts (MoE) وارد عمل می‌شود.

MoE چیست؟

در مدل‌های استاندارد (Dense models)، هر بار که یک توکن پردازش می‌شود، تمام پارامترهای مدل در محاسبات شرکت می‌کنند. اما در معماری MoE، مدل به جای یک بلوک واحد و بزرگ، از مجموعه‌ای از بخش‌های کوچک‌تر به نام Experts (متخصصان) تشکیل شده است.

اجزای اصلی:

  1. Experts (متخصصان): این‌ها شبکه‌های عصبی کوچکی هستند که هر کدام بخش خاصی از دانش یا الگوهای زبانی را یاد می‌گیرند.
  2. Gating Network (شبکه دروازه‌بان): این بخش مغز متفکر سیستم است. برای هر ورودی، شبکه دروازه‌بان تصمیم می‌گیرد که کدام متخصصان (مثلاً ۲ یا ۴ متخصص از مجموع ۱۶ متخصص) برای پردازش آن توکن مناسب‌تر هستند.

تفاوت مدل‌های متراکم (Dense) و پراکنده (Sparse)

  • مدل‌های متراکم (Dense): برای هر ورودی، از تمام پارامترها استفاده می‌کنند. این یعنی با بزرگ‌تر شدن مدل، هزینه محاسباتی (FLOPs) به طور مستقیم و خطی بالا می‌رود.
  • مدل‌های پراکنده (Sparse MoE): اگرچه تعداد کل پارامترهای مدل بسیار زیاد است، اما برای هر توکن فقط زیرمجموعه کوچکی از آن‌ها فعال می‌شود. این یعنی شما می‌توانید یک مدل با تریلیون‌ها پارامتر داشته باشید، اما هزینه محاسباتی آن تقریباً مشابه یک مدل بسیار کوچک‌تر باشد.

چرا MoE سودمند است؟ (مزایا)

  • مقیاس‌پذیری (Scaling): شما می‌توانید مدل را بسیار بزرگ کنید بدون اینکه نیاز به افزایش متناسب در توان محاسباتی برای هر مرحله از استنتاج (Inference) داشته باشید.
  • کارایی محاسباتی: با استفاده از پارامترهای کمتر برای هر توکن، سرعت پردازش افزایش می‌یابد و هزینه‌های عملیاتی کاهش می‌یابد.

چالش‌ها و محدودیت‌ها

  • مصرف حافظه (VRAM): اگرچه محاسبات کمتر است، اما تمام پارامترهای مدل باید در حافظه (VRAM) بارگذاری شوند. این یعنی برای اجرای یک مدل MoE بزرگ، به حافظه گرافیکی بسیار زیادی نیاز دارید.
  • پیچیدگی آموزش: آموزش مدل‌های MoE بسیار دشوارتر است و نیاز به مدیریت دقیق توزیع بار بین متخصصان دارد تا از پدیده "متخصص‌محوری" (که در آن فقط چند متخصص همیشه انتخاب می‌شوند و بقیه یاد نمی‌گیرند) جلوگیری شود.

نتیجه‌گیری

MoE راهی هوشمندانه برای عبور از محدودیت‌های محاسباتی است. این معماری به ما اجازه می‌دهد مدل‌هایی با دانش وسیع داشته باشیم، در حالی که سرعت استنتاج را در سطح قابل قبولی نگه می‌داریم.


Optional learning community: https://t.me/GyaanSetuAi