Mixture of Experts

mixture of experts (moe) — архитектура из множества «специалистов»

Раздел
Обучение
Сокращ.
MoE
Обновлено
18.05.26

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]

Что важно:

  1. Sparsity. Только k экспертов из N активны (обычно k=2 из N=8-256).
  2. Routing decision. На каждый токен маршрутизатор сам решает, кто «справится». Это часть обучения — он учится распределять.
  3. Specialization. В обученной модели эксперты специализируются: один лучше отвечает на код, другой — на испанский, третий — на математику.
  4. 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× больших плотных моделей.