Mixture of Experts
mixture of experts (moe) — архитектура из множества «специалистов»
Mixture of Experts (MoE) — архитектура нейросетей, где модель состоит не из одной плотной сети, а из десятков «экспертов»: на каждый токен активируется только 2-4 нужных, остальные «спят». Так модель получается умной как триллион-параметровая, но дешёвой и быстрой как 30-миллиардная. На MoE построены все современные frontier-модели: GPT-4, Claude Opus, DeepSeek V3, Mixtral, Kimi K2.
Коротко
Коротко. Mixture of Experts (MoE) — архитектура нейросетей, где вместо одной плотной сети используются сотни «экспертов», каждый специализирующийся на своих типах задач. На каждый токен входа специальный «маршрутизатор» активирует только 2-4 эксперта из всех. Результат: модель имеет триллион параметров суммарно, но на одном запросе использует только 30-50 миллиардов — быстрее и дешевле плотных аналогов того же интеллекта. На MoE построены: GPT-4, Claude Opus 4, DeepSeek V3, Mixtral, Kimi K2.
Что это такое
Идея MoE простая: представьте больницу из 1000 врачей разных специальностей. Когда приходит пациент с переломом — приём ведёт травматолог, не вся больница. Когда сердечная проблема — кардиолог. Один специалист на одну задачу — но за счёт большого пула покрывается всё.
Так и MoE: вместо одной «универсальной» сети на 30 миллиардов параметров — 64 «эксперта» по 30 миллиардов каждый, плюс маленький «маршрутизатор», который на каждое слово выбирает 2 нужных. Модель на бумаге — 30 × 64 = ~2 триллиона параметров. На реальном запросе работает только 60 миллиардов (2 эксперта по 30B).
История:
- 1991 — Robert Jacobs et al. вводят концепцию «adaptive mixture of local experts».
- 2017 — Google «Outrageously Large Neural Networks» (Shazeer et al.) — первая большая sparse-MoE.
- 2021 — Switch Transformer от Google: 1.6T параметров, рабочая.
- 2023 — Mistral выкатывает Mixtral 8x7B (open-source, 47B total / 12.9B activated).
- 2024 — GPT-4 (~1.8T параметров MoE), Claude Opus, Gemini Ultra.
- 2025 — DeepSeek V3 (671B / 37B activated), Kimi K2 (1T / 32B activated) — open-source.
К 2026 — все frontier-модели MoE. Плотные модели остаются для маленьких размеров (≤30B).
Как это работает
Внутри transformer-слоя классический FFN-блок (Feed-Forward Network) заменяется на MoE-блок:
[input token]
↓
[Router] ← маленькая нейросеть, выбирает экспертов
↓
выбрала: Expert_5 (вес 0.7) + Expert_23 (вес 0.3)
↓
[Expert_5] [Expert_23] ← 2 из 64 активированы
| |
↓ ↓
результат*0.7 + результат*0.3
↓
[output token]
Что важно:
- Sparsity. Только k экспертов из N активны (обычно k=2 из N=8-256).
- Routing decision. На каждый токен маршрутизатор сам решает, кто «справится». Это часть обучения — он учится распределять.
- Specialization. В обученной модели эксперты специализируются: один лучше отвечает на код, другой — на испанский, третий — на математику.
- Load balancing. Если все токены идут к одному эксперту — обучение ломается. Используется auxiliary loss на равномерное распределение.
Минусы MoE:
- Memory. Нужно держать всех экспертов в RAM (или быстро подгружать) — для самообслуживания нужны кластеры.
- Inference complexity. Routing разбивает batch на разные пути — инфраструктура сложнее.
- Communication overhead. В распределённом обучении эксперты живут на разных GPU, нужна интенсивная межGPU-комм.
- Instability. Обучение MoE капризнее, чем плотных моделей. Требует aux losses, careful initialization.
Пример на практике
Вы — стартап, обучаете LLM на $5M бюджета. Что выбрать?
Вариант A — Плотная 70B-модель.
- Параметры: 70 миллиардов.
- Compute на обучение: $4M.
- Inference: 70B на токен.
- Качество: ~уровень Llama 3 70B.
Вариант B — MoE 8x7B (как Mixtral).
- Параметры: 47B total, 12.9B activated.
- Compute на обучение: $3M (меньше плотной).
- Inference: ~13B на токен (в ~5× дешевле плотной 70B).
- Качество: ~уровень GPT-3.5 / Mixtral 8x22B.
DeepSeek V3 пошёл ещё дальше — MoE 671B / 37B activated, обучение за $5.6M (по их utterance), на уровне GPT-4 в open-source. Это и стало шоком января 2025-го.
В практической работе MoE-модели интересны для self-hosting:
# Mixtral 8x7B через HuggingFace + transformers
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained(
"mistralai/Mixtral-8x7B-Instruct-v0.1",
device_map="auto",
torch_dtype=torch.float16
)
# Требует ~90GB VRAM (можно с offloading на 24GB)
В ComfyUI MoE-модели работают через стандартные LLM-ноды (text-generation-webui интеграции). Для image-generation MoE тоже появляется (FLUX-MoE), но менее распространено.
С чем часто путают
- MoE и Ensemble — ensemble: несколько разных моделей, голосуют. MoE: одна модель с разными «слоями» внутри. Ensemble требует prompt каждой модели, MoE — один прогон.
- MoE и Multi-task — multi-task: одна сеть учит много задач. MoE: одна сеть с динамическим routing — может выглядеть как multi-task, но механика другая.
- MoE и Fine-tuning по экспертам — некоторые думают, что эксперты MoE = специалисты по доменам. Это не так. Эксперты в обучении сами выбирают, в чём специализироваться, и часто это нечто странное (например, один эксперт = «начало предложения», другой = «после числа»).
- Total params и Active params — MoE 671B (DeepSeek V3): 671 миллиардов параметров суммарно, но 37 миллиардов на токен активны. Цена/скорость = по active.
- MoE и Grouped Query Attention — разные оптимизации. MoE — про FFN-блок. GQA — про attention-блок. Часто используются вместе.
Частые ошибки и заблуждения
- «MoE всегда лучше плотных». Не всегда. Для маленьких моделей (≤30B) плотные часто конкурентны и проще в эксплуатации.
- «Эксперты можно изолировать и использовать отдельно». Технически — нет. Эксперты обучены работать в системе с роутером. Без роутера они отдельно не выдают качества.
- «MoE — это про latency». Плюс к latency может быть, но главный плюс — про training cost и quality на equal-active-params.
- «MoE решает проблему compute». Снижает inference cost, но обучение всё равно дорогое; cluster-инфраструктура усложняется.
- «Можно превратить любую модель в MoE». Есть техники upcycling (перекомпиляция плотной в MoE), но обычно дешевле обучить MoE с нуля.
Связанные термины
- DeepSeek — V3 — крупнейшая open MoE.
- Kimi — K2 — open MoE с 1T параметров.
- LLM — общая категория, MoE — архитектурная техника внутри.
- Quantization — комплементарная техника для запуска больших MoE.
- Fine-tuning — MoE можно fine-tunить, но сложнее плотных.
Частые вопросы
Сколько всего MoE-моделей в open? DeepSeek V3, Kimi K2, Mixtral 8x7B/8x22B, Qwen MoE, Grok-1 (314B), Llama MoE-варианты. Растёт каждый месяц.
Зачем GPT-4 был MoE? Для масштабирования качества при контролируемой цене inference. Плотная 1.8T-модель была бы непрактична для обслуживания миллионов пользователей.
Какой минимальный hardware для запуска MoE? Mixtral 8x7B — 1×4090 с offloading, 4-bit quantization. DeepSeek V3 — кластер. Kimi K2 — большой кластер.
MoE можно тренировать самому? Да, но сложно. Mistral открыл код Mixtral, есть туториалы fine-tuning. Тренировать с нуля — нужны $1M+ инфраструктуры.
Все ли модели становятся MoE? Frontier-модели — да, тренд. Маленькие (≤30B) — часто остаются плотными для простоты эксплуатации.
Главное
Mixture of Experts (MoE) — архитектура, где модель состоит из десятков «экспертов», каждый из которых маленькая FFN-сеть. На каждый токен активируются только 2-4 эксперта из десятков-сотен. Это даёт качество огромной модели при затратах compute на маленькую: GPT-4 (~1.8T total), DeepSeek V3 (671B total / 37B active), Kimi K2 (1T / 32B active) — все построены так. К 2026 — стандарт для frontier-моделей. Open-source: Mixtral, DeepSeek, Kimi, Qwen MoE. Минусы: сложнее в эксплуатации, требует больше памяти при самообслуживании, обучение капризнее. Главная экономия — на inference cost при квалитете на уровне в 5-10× больших плотных моделей.