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
Техника
Частые вопросы
Что такое Mixture of Experts (MoE) в LLM?
MoE — это архитектура, где модель содержит множество специализированных подсетей (экспертов), но для каждого входного токена активирует лишь небольшое подмножество. Gating-сеть (роутер) решает, каких экспертов использовать. Это позволяет модели иметь триллионы общих параметров, используя лишь малую часть на каждый токен, что резко снижает вычислительные затраты.
Как роутер решает, каких экспертов активировать?
Роутер — это небольшая нейросеть, которая принимает эмбеддинг токена и выдаёт оценку вероятности для каждого эксперта. Выбираются top-K экспертов (обычно K=1 или K=2) с наивысшими оценками. Их выходы комбинируются взвешенным суммированием на основе оценок роутера. Loss балансировки нагрузки при обучении обеспечивает примерно равномерное использование всех экспертов.
Каковы преимущества и недостатки MoE-моделей?
Преимущества: гораздо меньше вычислений на токен (активны только K экспертов вместо всех параметров), быстрый инференс, возможность масштабирования до очень большого числа параметров. Недостатки: все эксперты должны помещаться в память (высокие требования к VRAM), риск коллапса экспертов при обучении, сложная балансировка нагрузки, трудности с fine-tuning из-за непредсказуемой специализации экспертов.
Попробуй сам
Интерактивное демо этой техники
Объяснить архитектуру 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.
Мой путь обучения