Mixture of Experts (MoE)
Триллион параметров по цене миллиарда
Проблема: Вам нужна модель с качеством триллион-параметрного гиганта, но ваш бюджет на вычисления покрывает только модель с миллиардом параметров. Увеличение параметров всегда означало пропорциональный рост compute — пока MoE не сломала эту зависимость. Как?
Решение: MoE — Активируй только то, что нужно
В стандартном (dense) трансформере каждый токен проходит через все параметры каждого слоя. MoE заменяет единственный FFN (feed-forward network) в каждом слое на несколько экспертных FFN и gating-сеть (роутер). Роутер анализирует эмбеддинг каждого токена и направляет его к top-K экспертам (обычно K=1 или K=2). Вычисляют только эти эксперты; остальные простаивают. Это называется разреженная активация (sparse activation) — модель имеет множество параметров, но использует лишь малую часть на каждый токен. Loss балансировки нагрузки при обучении предотвращает «коллапс экспертов», когда роутер направляет все токены к одним и тем же экспертам.
Представьте это как больницу с узкими специалистами — регистратура (роутер) направляет каждого пациента к нужным 2-3 врачам (экспертам), а не ко всем сразу. Каждый врач — профи в своей области, но пациент видит только тех, кто релевантен его случаю:
- 1. Токен поступает в роутер: Эмбеддинг каждого токена подаётся в небольшую gating-сеть (роутер) на MoE-слое. Роутер — это обучаемый линейный слой, который выдаёт оценку для каждого эксперта
- 2. Роутер оценивает всех экспертов: Gating-сеть применяет softmax для получения распределения вероятностей по всем N экспертам. Каждый эксперт получает вес маршрутизации, указывающий его релевантность для данного токена
- 3. Активируются top-K экспертов: Выбираются только K экспертов с наивысшими оценками (обычно K=2). Выбранные эксперты обрабатывают токен через свои FFN независимо. Все остальные эксперты простаивают, экономя вычисления
- 4. Выходы комбинируются взвешенно: Выходы K активных экспертов взвешиваются по их оценкам роутера и суммируются для получения финального выхода слоя. Эта взвешенная комбинация позволяет модели смешивать разные специализации экспертов для каждого токена
MoE на практике
- Mixtral 8x7B: Открытая MoE-модель от Mistral AI с 8 экспертами и top-2 маршрутизацией. Всего параметров: 46.7B, но активны лишь ~12.9B на токен. Сравнима или превосходит Llama 2 70B при 6-кратном ускорении инференса
- DeepSeek-V2/V3: Fine-grained MoE от DeepSeek с 160 экспертами и top-6 маршрутизацией в V2, и 256 экспертами в V3. Использует общих экспертов (всегда активны) плюс маршрутизируемых для гибридного подхода, улучшающего стабильность и качество
- Switch Transformer: Пионерская MoE-архитектура от Google с top-1 маршрутизацией для максимальной эффективности. Каждый токен идёт ровно к одному эксперту, максимизируя пропускную способность ценой некоторого качества. Масштабирована до 1.6 триллиона параметров в 2021
- Частая ошибка: MoE-модели эффективны по вычислениям, но НЕ по памяти. Все эксперты должны находиться в GPU-памяти, хотя активны лишь немногие. MoE-модель на 46.7B требует столько же VRAM, сколько dense-модель на 46.7B, несмотря на использование лишь 12.9B параметров за forward pass
Интересный факт: Mixtral 8x7B имеет 46.7 миллиарда параметров суммарно, но активирует лишь 12.9 миллиарда на токен. Это значит, что она работает примерно со скоростью dense-модели на 13B, при этом достигая качества, сравнимого с моделью на 70B — 5-кратный выигрыш в эффективности только за счёт sparse-маршрутизации.
Попробуйте сами!
Исследуй интерактивную визуализацию MoE ниже: маршрутизируй токены к экспертам, сравни dense и sparse вычисления и посмотри, как балансировка нагрузки распределяет работу между экспертами.
Смотри, как роутер назначает каждый токен двум лучшим экспертам:
Токен: "Python"
E1
Литература
E2
Код
E3
Математика
E4
Наука
E5
История
E6
Логика
E7
Языки
E8
Техника
Попробуй сам
Интерактивное демо этой техники
Объяснить архитектуру Mixtral 8x7B: параметры, routing, производительность
Mixtral 8x7B — это большая языковая модель от Mistral AI. Она использует архитектуру Mixture of Experts и является открытой. Модель хорошо работает на различных задачах.
Mixtral 8x7B Architecture:
-
Параметры: 46.7B суммарно, ~12.9B активных на токен. 8 экспертных FFN по ~7B + shared attention layers.
-
Routing: Top-2 — для каждого токена роутер (линейный слой + softmax) выбирает 2 из 8 экспертов. Выходы взвешенно суммируются по router scores.
-
Скорость: Inference ~5x быстрее dense 70B (активны 12.9B vs 70B). На бенчмарках сравнима или превосходит Llama 2 70B.
-
Компромиссы: Все 46.7B в GPU VRAM (не экономит память!). Экономит только FLOPs. Нужен expert parallelism для multi-GPU.
Задавая конкретные вопросы о MoE-архитектуре (total vs active params, routing, tradeoffs), вы получаете информацию с цифрами вместо общих фраз. Ключевое: MoE экономит compute, но НЕ память.
Создайте бесплатный аккаунт для решения челленджей
3 челленджей с AI-проверкой для этого урока
Этот урок — часть структурированного курса по LLM.
Мой путь обучения