𝗠𝗶𝘅𝘁𝘂𝗿𝗲 𝗼𝗳 𝗘𝘅𝗽𝗲𝗿𝘁𝘀 (𝗠𝗼𝗘): 𝗛𝗼𝘄 𝗜𝘁 𝗪𝗼𝗿𝗸𝘀 𝗮𝗻𝗱 𝗪𝗵𝗲𝗻 𝘁𝗼 𝗨𝘀𝗲 𝗜𝘁
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.
- The router takes a token.
- It assigns a score to each expert.
- It selects the top-k experts (for Mixtral, k=2).
- It runs the token through those experts only.
- 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.
Mixture of Experts (MoE): Що насправді відбувається «під капотом» і коли це дає результат
Ви напевно чули про Mixture of Experts (MoE) — архітектуру, яка стоїть за такими гігантами, як GPT-4 та Mixtral. Але що це насправді означає? Як це працює на технічному рівні? І чи завжди це краще, ніж звичайні «щільні» (dense) моделі?
У цій статті ми розберемося з основами MoE, зрозуміємо різницю між розрідженими та щільними моделями та з'ясуємо, коли використання MoE є виправданим.
Що таке Mixture of Experts (MoE)?
У традиційних нейронних мережах (які ми називаємо «щільними» або dense моделями) кожен вхідний токен проходить через усі параметри моделі. Якщо у вас модель на 100 мільярдів параметрів, то для обробки кожного слова ви використовуєте всі 100 мільярдів параметрів. Це вимагає величезної обчислювальної потужності.
Mixture of Experts (MoE) змінює цей підхід. Замість того, щоб використовувати всю модель для кожного завдання, MoE використовує лише частину її параметрів.
Модель MoE складається з двох основних компонентів:
- Гейтингова мережа (Gating Network / Router): Вона вирішує, які саме «експерти» найкраще підійдуть для обробки конкретного вхідного сигналу.
- Експерти (Experts): Це набір менших підмереж (зазвичай feed-forward networks), кожна з яких спеціалізується на певних типах даних або закономірностях.
Як це працює: Механізм маршрутизації
Уявіть собі велику бібліотеку. У «щільній» моделі ви б щоразу переглядали всі книги в бібліотеці, щоб знайти відповідь. У моделі MoE у вас є бібліотекар (гейтингова мережа), який знає, у якому відділі (експерті) лежить потрібна інформація, і відправляє вас саме туди.
Процес виглядає так:
- Вхідний токен надходить у модель.
- Гейтингова мережа обчислює ваги для кожного експерта. Вона визначає, наскільки кожен експерт є релевантним для цього токена.
- Вибираються Top-k експерти (наприклад, лише 2 з 8 доступних).
- Обчислення виконуються лише для цих вибраних експертів.
- Результати від вибраних експертів об'єднуються (weighted sum) і передаються на наступний шар.
Це і називається розрідженістю (sparsity). Хоча загальна кількість параметрів моделі може бути величезною, кількість параметрів, що беруть участь в обчисленнях для одного токена, залишається невеликою.
Розріджені (Sparse) vs Щільні (Dense) моделі
| Характеристика | Щільні моделі (Dense) | Розріджені моделі (MoE) |
|---|---|---|
| Використання параметрів | Усі параметри активні для кожного токена | Лише невелика частина параметрів активна |
| Обчислювальна вартість (FLOPs) | Висока (пропорційна загальній кількості параметрів) | Нижча (пропорційна кількості активних параметрів) |
| Пам'ять (VRAM) | Менше (потрібно зберігати лише параметри моделі) | Більше (потрібно зберігати всіх експертів у пам'яті) |
| Масштабованість | Складно масштабувати без експоненціального зростання витрат | Легше масштабувати кількість параметрів без зростання обчислювальної вартості |
Коли MoE «окупається»?
1. Ефективне масштабування
MoE дозволяє створювати моделі з трильйонами параметрів, які працюють так само швидко, як набагато менші щільні моделі. Це дозволяє досягати вищої якості (через велику кількість знань у параметрах), зберігаючи прийнятну швидкість генерації.
2. Економія обчислювальних ресурсів (Inference)
Оскільки для кожного токена працює лише частина мережі, вартість одного запиту (inference cost) значно нижча порівняно з щільними моделями такого ж розміру.
Виклики та недоліки
Незважаючи на переваги, MoE не є «срібною кулею».
- Споживання пам'яті: Хоча обчислень менше, вам все одно потрібно завантажити всіх експертів у відеопам'ять (VRAM). Це робить MoE моделі дуже «важкими» для обладнання з обмеженою пам'яттю.
- Складність навчання: Навчання гейтингової мережі — це важке завдання. Якщо вона почне вибирати лише одного або двох експертів, інші залишаться невикористаними (проблема «смерті експертів»). Для вирішення цього використовують спеціальні функції втрат (auxiliary loss), щоб змусити модель використовувати всіх експертів рівномірно.
- Проблеми з комунікацією: У розподілених системах (коли експерти знаходяться на різних GPU) передача даних між ними може стати «вузьким місцем» (bottleneck), що нівелює переваги швидкості.
Висновок
Mixture of Experts — це потужний інструмент, який дозволяє розривати зв'язок між загальною кількістю параметрів моделі та обчислювальною складністю. Це шлях до створення розумніших і масштабніших моделей, які залишаються доступними для використання. Проте це вимагає складнішої інфраструктури та ретельного управління пам'яттю.
Optional learning community: https://t.me/GyaanSetuAi