Содержание
  1. Эксперт — подсеть внутри одной модели
  2. Роутер выбирает экспертов для каждого токена
  3. Общие и экспертные параметры
  4. Как посчитать total и active на макете
  5. Почему active не равен требованию памяти
  6. MoE, выбор модели и команды агентов
  7. Как читать карточку конкретной модели
  8. Как оценивать скорость и качество на задачах
  9. Частые вопросы
Справочник

Mixture of Experts: что означает MoE в нейросети

9 ноября 2026 · 12 минут чтения

Mixture of Experts: что означает MoE в нейросети — это архитектура одной модели, где слой прямой связи заменён набором подсетей-экспертов, а роутер для каждого токена выбирает, какие из них сработают. Часть параметров общая, часть принадлежит экспертам, поэтому total и active считаются отдельно.

Эксперт — подсеть внутри одной модели

Эксперт в MoE — это отдельная нейросеть внутри общей модели. В трансформерах роль эксперта обычно играет блок прямой связи (feed-forward network, FFN). В документации Hugging Face сказано, что в разреженных MoE-слоях стоит определённое число экспертов, например восемь, и каждый эксперт — нейросеть; на практике это FFN, но встречаются и более сложные сети, вплоть до вложенных MoE. Эксперт здесь является подсетью внутри общей модели.

Работает это так. В обычном трансформере каждый слой прямой связи обрабатывает все токены одинаково. В MoE-версии слой прямой связи разбит на группы параметров, и для каждого токена активируется лишь часть групп. В анонсе Mistral про Mixtral 8x7B сказано, что это разреженная смесь экспертов с открытыми весами, где блок прямой связи выбирает из восьми групп параметров. В статье на arXiv про Mixtral уточняется: архитектура совпадает с Mistral 7B, разница в том, что каждый слой состоит из восьми блоков прямой связи, то есть экспертов.

Отсюда практический вывод для читателя. Когда вы видите название модели с пометкой MoE, речь идёт об одной модели с внутренним ветвлением. Эксперты делят между собой работу над слоями, но остаются частью единого набора весов. Это отличает MoE от ситуации, когда вы запускаете несколько отдельных моделей и переключаетесь между ними.

Ещё одно следствие: эксперты обучаются вместе с остальной сетью. В документации Hugging Face отмечено, что роутер состоит из обучаемых параметров и предобучается одновременно с остальной сетью. В анонсе Mistral сказано, что эксперты и роутеры обучаются одновременно. Значит, разделение труда между экспертами складывается в ходе обучения, и заранее назначить каждому эксперту узкую тему нельзя.

Роутер выбирает экспертов для каждого токена

Роутер, или гейт, — это механизм, который для каждого токена решает, каким экспертам его отдать. В документации Hugging Face описано: гейт-сеть определяет, какие токены идут к каким экспертам; в примере токен отправляется ко второму эксперту, а другой токен — к первой сети. Токен может уйти более чем к одному эксперту.

В анонсе Mistral механика описана для конкретной модели: на каждом слое для каждого токена роутер выбирает две из восьми групп параметров и складывает их выход. В статье на arXiv про Mixtral добавлено, что выбранные эксперты могут различаться на каждом шаге, хотя каждый токен видит только двух экспертов.

Классическая формула гейта — softmax от произведения входа на матрицу весов гейта. В документации Hugging Face приведён и вариант с шумом: к логитам добавляется шум, затем берутся top-k значений, и уже к ним применяется softmax. Шум нужен для балансировки нагрузки. Если все токены уходят к нескольким популярным экспертам, обучение идёт неэффективно; чтобы выровнять нагрузку, добавляют вспомогательную функцию потерь, которая поощряет равную значимость экспертов. В библиотеке transformers эта функция доступна через параметр aux_loss.

Роутер — обучаемый компонент модели. Вы не выбираете эксперта вручную, и в карточке модели обычно не указано, какой эксперт за что отвечает. В документации Hugging Face отмечено, что эксперты-энкодеры специализируются на группах токенов или поверхностных понятиях, например на пунктуации или именах собственных, а эксперты-декодеры специализируются слабее. При многоязычном обучении отдельного эксперта под конкретный язык не возникает: из-за маршрутизации и балансировки нагрузки такого закрепления нет.

Общие и экспертные параметры

Ключ к пониманию MoE — разделение параметров на общие и экспертные. В документации Hugging Face объяснено, почему у Mixtral 8x7B около 47B параметров: в MoE-моделях только слои прямой связи считаются отдельными экспертами, остальные параметры общие. То есть внимание, эмбеддинги и прочие слои существуют в одном экземпляре и используются всеми токенами.

Это объясняет, почему арифметика «число экспертов умножить на размер эксперта» даёт завышенную оценку. Общая часть не дублируется по экспертам. В статье на arXiv про Mixtral указано, что каждый токен имеет доступ к 47B параметрам, но использует только 13B активных параметров при выводе. В анонсе Mistral приведены те же величины: 46.7B параметров во всей модели и 12.9B параметров на токен.

Разберём это на условном макете, который не является реальной моделью. Пусть общая часть S = 50 единиц весов, экспертов восемь по 100 единиц, и для токена выбираются два эксперта. Тогда total = 50 + 8 × 100 = 850, а active = 50 + 2 × 100 = 250. Токен A может уйти к экспертам E1 и E4, токен B — к E2 и E4; в обоих случаях активны 250 единиц, а объём всех весов равен 850. В этом макете вес гейта и общие слои условно включены в S. Счёт служит учебной иллюстрацией и не является формулой для объёма видеопамяти, числа операций или прогноза качества.

Таблица ниже показывает, как соотносятся части модели в этом макете.

Часть модели Единиц весов Участвует в обработке токена
Общая часть S 50 Да, всегда
Эксперт E1 100 Только если выбран
Эксперт E2 100 Только если выбран
Эксперты E3–E8 по 100 Только если выбраны
Total 850 Хранится целиком
Active на токен 250 Считается на токен

Как посчитать total и active на макете

Порядок расчёта на условном макете выглядит так.

  1. Зафиксируйте общую часть S — параметры, которые есть в одном экземпляре: внимание, эмбеддинги, прочие общие слои.
  2. Зафиксируйте число экспертов N и размер одного эксперта E.
  3. Зафиксируйте, сколько экспертов выбирается на токен, — это k.
  4. Посчитайте total = S + N × E.
  5. Посчитайте active = S + k × E.

Проверим на макете: S = 50, N = 8, E = 100, k = 2. Total = S + N × E = 850. Active = S + k × E = 250. Изменение k влияет на active, а изменение числа экспертов при фиксированном k увеличивает total. Это условная арифметика учебной архитектуры.

Этот расчёт полезен тем, что отделяет две разные величины. Total описывает объём набора весов. Active описывает, сколько весов участвует в обработке одного токена. Смешивать их в одной оценке нельзя: из active не следует объём памяти, а из total не следует скорость обработки.

Почему active не равен требованию памяти

Распространённая ошибка — считать, что модель с 250 активными единицами весов займёт в памяти столько же, сколько модель с 250 весами. В документации Hugging Face прямо сказано: хотя в MoE при выводе используется лишь часть параметров, все параметры нужно загрузить в оперативную память, поэтому требования к памяти высоки. Там же приведён пример: для Mixtral 8x7B нужен объём видеопамяти, достаточный для плотной модели на 47B параметров.

Причина в том, что роутер выбирает экспертов динамически. Заранее неизвестно, какие эксперты понадобятся следующему токену, поэтому в памяти должны лежать все. В блоге NVIDIA описано, что для каждого токена графические процессоры динамически подгружают параметры выбранных экспертов из памяти с высокой пропускной способностью, что создаёт постоянное давление на пропускную способность памяти. Там же отмечено, что frontier-модели MoE слишком велики для одного GPU, и экспертов распределяют по нескольким GPU — этот приём называют экспертный параллелизм.

Отсюда практическое правило. Active параметры описывают вычислительную нагрузку на токен. Требование памяти определяется total и стратегией размещения. В документации Hugging Face приведён ориентир для развёртывания: хорошая отправная точка — маршрутизация top-2 с коэффициентом ёмкости 1.25 и одним экспертом на ядро; при медленных all-to-all коммуникациях лучше меньший коэффициент ёмкости.

MoE, выбор модели и команды агентов

Три вещи часто путают, и их стоит развести.

MoE — это архитектура внутри одной модели. Эксперты — подсети этой модели, они обучаются совместно и не существуют как отдельные запускаемые программы.

Выбор модели на один запрос — это внешнее решение. Вы или приложение решаете, к какой модели обратиться: к большой, к быстрой, к специализированной. Модель при этом остаётся цельной, и её внутренние эксперты не выбираются вами.

Команда агентов — это несколько независимых систем, которые обмениваются результатами. В блоге NVIDIA приведено сравнение: в агентных системах разные агенты отвечают за планирование, восприятие, рассуждение, работу с инструментами или поиск, а оркестратор координирует их ради одного результата. Там же отмечено, что базовый шаблон напоминает MoE: направить часть задачи подходящему исполнителю и собрать выходы. Сходство здесь структурное; природа компонентов различается. Агенты — отдельные системы, эксперты — подсети одной модели.

Практический вывод: если вам нужна одна модель с внутренним разделением труда, смотрите на MoE. Если нужно распределить роли между разными системами с обменом сообщениями, речь об агентной схеме. Название архитектуры не описывает, как вы организуете работу приложения.

Как читать карточку конкретной модели

Карточка модели — источник проверяемых величин. Смотрите на пять полей.

Поле карточки Что показывает На что влияет
Total параметры Объём всего набора весов Требование памяти при загрузке
Active параметры Вес, участвующий в обработке токена Вычислительная нагрузка и скорость
Routing Сколько экспертов выбирается на токен Баланс между качеством и вычислениями
Quantization Формат хранения весов Объём памяти и точность
Формат запуска Чем модель обслуживается Совместимость с вашим стеком

Разберём на историческом примере Mixtral 8x7B. В анонсе Mistral указано: 46.7B параметров во всей модели, 12.9B параметров на токен, контекст 32k токенов, лицензия Apache 2.0. В статье на arXiv про Mixtral сказано, что модель обучена с размером контекста 32k токенов и превосходит или повторяет Llama 2 70B и GPT-3.5 на всех оцениваемых бенчмарках, а на математике, генерации кода и многоязычных задачах заметно превосходит Llama 2 70B. Инструктивная версия, по данным той же статьи, обходит GPT-3.5 Turbo, Claude-2.1, Gemini Pro и Llama 2 70B chat на человеческих бенчмарках.

Это исторический пример 2023 года, он иллюстрирует механику и не описывает самую новую модель. В блоге NVIDIA приведены более поздние данные: на независимом лидерборде Artificial Analysis десять самых сильных открытых моделей используют архитектуру MoE, среди них DeepSeek-R1, Kimi K2 Thinking, gpt-oss-120B и Mistral Large 3. Там же сказано, что MoE стала архитектурой выбора для frontier-моделей и её применяют более 60% открытых релизов моделей за год. Это сведения из отраслевого среза, приведённого NVIDIA; они не гарантируют скорость и качество выбранной модели на ваших задачах.

Как оценивать скорость и качество на задачах

Название архитектуры само по себе не говорит, как модель поведёт себя на вашей задаче. В документации Hugging Face приведены ориентиры, когда разреженные MoE уместны: они полезны в сценариях с высокой пропускной способностью и множеством машин; при фиксированном бюджете вычислений на предобучение разреженная модель оптимальнее, а при низкой пропускной способности и малом объёме видеопамяти лучше плотная модель. Там же отмечено, что напрямую сравнивать число параметров разреженной и плотной модели нельзя, потому что эти величины означают разное.

Порядок оценки на своих задачах:

  1. Соберите набор из 20–50 реальных запросов вашего сценария с ожидаемыми ответами.
  2. Прогоните через кандидатов одинаковые промпты и одинаковые параметры генерации.
  3. Замерьте время до первого токена и общее время ответа.
  4. Замерьте пиковое потребление памяти при загрузке и во время генерации.
  5. Оцените ответы по явным критериям: полнота, точность фактов, соблюдение формата.
  6. Сравните стоимость на тысячу запросов с учётом вашего железа.

Отдельно учтите данные о тонкой настройке. В документации Hugging Face сказано, что разреженные модели сильнее склонны к переобучению, поэтому можно повышать регуляризацию внутри экспертов, задавая отдельный, более высокий dropout для разреженных слоёв. Там же приведено наблюдение из работы ST-MoE: при фиксированной перплексии предобучения разреженная модель хуже плотной на задачах рассуждения, например на SuperGLUE, и заметно лучше на задачах, требующих знаний, например на TriviaQA. Ещё одно наблюдение: заморозка только параметров MoE-слоёв работала почти так же хорошо, как обновление всех параметров, что ускоряет и удешевляет тонкую настройку.

Промпт ниже помогает собрать чек-лист оценки под вашу задачу.

ТЕКСТ16 строк
Ты помогаешь оценить модель с архитектурой MoE на конкретной задаче.

Контекст:
- Задача: [ваша задача]
- Модель-кандидат: [название и карточка модели]
- Доступное железо: [GPU, объём памяти]
- Ограничение по времени ответа: [секунды]

Составь чек-лист оценки:
1. Какие поля карточки модели нужно сверить перед запуском.
2. Как собрать тестовый набор из реальных запросов задачи.
3. Какие метрики скорости и памяти замерять.
4. Какие критерии качества ответов использовать.
5. Как сравнить стоимость на тысячу запросов.

Для каждого пункта укажи, какой результат считается приемлемым для моей задачи.

В промпте замените квадратные скобки на свои данные. Если задача про генерацию кода, критерии качества будут одними; если про извлечение фактов — другими.

Частые вопросы

Что такое mixture of experts простыми словами?
Это архитектура одной нейросети, в которой слой прямой связи разбит на несколько подсетей-экспертов. Роутер для каждого токена выбирает, какие эксперты сработают. Часть параметров общая для всей модели, часть принадлежит экспертам.

Что означают moe active parameters?
Active parameters — это параметры, которые участвуют в обработке одного токена. В анонсе Mistral для Mixtral 8x7B указано 12.9B параметров на токен при суммарных 46.7B параметров модели. Для оценки памяти нужны дополнительные сведения о размещении весов и реализации.

Чем moe отличается от dense?
В плотной модели все параметры участвуют в обработке каждого входа. В разреженной MoE активируется лишь часть экспертов. В документации Hugging Face отмечено, что разреженные модели быстрее предобучаются и быстрее выводят результат при том же числе параметров, но требуют больше памяти.

Почему MoE требует много памяти, если активных параметров мало?
Роутер выбирает экспертов динамически, поэтому в памяти должны лежать все веса. В документации Hugging Face сказано, что для Mixtral 8x7B нужен объём видеопамяти, достаточный для плотной модели на 47B параметров. В блоге NVIDIA описана подгрузка параметров выбранных экспертов из памяти на каждом токене.

Можно ли запустить MoE на одном GPU?
Небольшие MoE-модели запускаются на одном устройстве. В блоге NVIDIA отмечено, что frontier-модели MoE слишком велики для одного GPU, и экспертов распределяют по нескольким GPU через экспертный параллелизм. В документации Hugging Face приведён ориентир: top-2 маршрутизация, коэффициент ёмкости 1.25, один эксперт на ядро.

Читайте также

3 материала