На главную/Технологии/MoE модель (Mixture of Experts): как нейросеть выбирает нужных экспертов
Технологии

MoE модель (Mixture of Experts): как нейросеть выбирает нужных экспертов

MoE модель (Mixture of Experts) - архитектура нейросети, где для обработки каждого токена активируется только часть параметров. Такой подход позволяет увеличивать размер модели без пропорционального роста вычислений. Узнайте, как работает маршрутизация и почему MoE эффективен для масштабирования больших языковых моделей.

2 сент. 2026 г.
13 мин
MoE модель (Mixture of Experts): как нейросеть выбирает нужных экспертов

MoE модель, или Mixture of Experts, - это архитектура нейросети, в которой для обработки данных используется не вся модель целиком, а только часть её блоков. Такие блоки называют экспертами. Для каждого токена система определяет, какие эксперты подходят лучше всего, и активирует именно их.

Главная идея MoE заключается в том, чтобы увеличить количество параметров нейросети без такого же роста вычислительной нагрузки. Модель может содержать десятки или сотни миллиардов параметров, но при генерации одного токена задействовать лишь небольшую их часть. Поэтому размер нейросети и фактическая стоимость вычислений перестают расти строго вместе.

При этом Mixture of Experts не означает, что внутри модели находятся отдельные независимые нейросети для программирования, математики, перевода или других задач. Эксперты являются обучаемыми блоками общей архитектуры, а распределением данных между ними занимается специальный механизм маршрутизации.

Что такое MoE модель и чем она отличается от обычной нейросети

В классической плотной, или dense, нейросети каждый вход последовательно проходит через одни и те же основные слои. Если модель содержит определённое количество параметров, значительная часть соответствующих вычислений выполняется для каждого обрабатываемого токена.

Архитектура Mixture of Experts работает иначе. В некоторых слоях вместо одного большого вычислительного блока размещается несколько альтернативных блоков - экспертов. Перед обработкой токена нейросеть определяет, к какому из них его направить. Остальные эксперты в этот момент могут вообще не участвовать в вычислениях.

Такой подход называют разреженной активацией, или sparse activation. Разреженной является не сама модель в привычном смысле: все её параметры существуют и хранятся в памяти. Разница в том, что одновременно используется лишь их часть.

Например, можно представить слой с восемью экспертами. Вместо того чтобы пропускать каждый токен через все восемь блоков, система может выбрать только один или два. Следующий токен при этом способен отправиться уже к другим экспертам. В результате модель получает большую общую вычислительную ёмкость, но не обязана полностью активировать её при каждом шаге.

Важно не воспринимать слово "эксперт" слишком буквально. Во время обучения отдельные блоки действительно могут начать лучше обрабатывать определённые типы представлений, но разработчики обычно не задают им вручную роли вроде "эксперт по коду" или "эксперт по английскому языку". Специализация формируется внутри процесса обучения и может быть намного сложнее такой простой классификации.

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

Как устроена архитектура Mixture of Experts

В большинстве современных MoE-моделей эксперты не заменяют всю нейросеть. Обычно архитектура по-прежнему состоит из привычных Transformer-блоков, а механизм Mixture of Experts встраивается только в отдельные части модели.

Чаще всего MoE используется вместо обычного feed-forward блока. В стандартном Transformer каждый токен после механизма Attention проходит через одну и ту же полносвязную сеть. В MoE вместо неё располагается сразу несколько альтернативных экспертных блоков, из которых для каждого токена выбирается только часть.

Экспертные блоки

Эксперт можно представить как отдельную небольшую нейросеть внутри одного слоя. Обычно все эксперты имеют похожую структуру, но собственные параметры. Во время обучения они получают разные данные и постепенно начинают по-разному преобразовывать входные представления.

Если в MoE-слое находится восемь экспертов, это не означает, что каждый токен последовательно проходит через все восемь. Архитектура может активировать, например, только два из них. Остальные шесть для этого токена вычислений не выполняют.

При этом на следующем слое выбор может измениться. Один и тот же токен способен пройти через одного эксперта в первом MoE-блоке и через совершенно других экспертов дальше по сети. Поэтому маршрут внутри модели формируется динамически.

Router и механизм маршрутизации

Чтобы определить нужных экспертов, используется router - небольшой обучаемый механизм маршрутизации. Он получает внутреннее представление токена и вычисляет оценки для доступных экспертов.

Чем выше такая оценка, тем предпочтительнее эксперт для обработки конкретного токена. После этого выбираются один или несколько блоков с максимальными значениями, а токен направляется только к ним.

Router не работает по заранее составленному набору правил. Разработчик не прописывает условие вроде "если встретился программный код - отправить токен эксперту №3". Маршрутизация также обучается вместе с остальной нейросетью и постепенно находит полезные способы распределения данных.

Результаты выбранных экспертов затем объединяются и передаются дальше по модели. Если активируется несколько блоков, их выходы могут учитываться с разным весом в зависимости от оценок router.

Какие части модели остаются общими

Название Mixture of Experts может создавать впечатление, будто каждый запрос проходит через отдельную маленькую модель, однако на практике большая часть архитектуры остаётся общей.

Механизм Attention, нормализация слоёв, работа с токенами и другие компоненты Transformer обычно используются независимо от того, какие эксперты были выбраны. Динамически активируется лишь определённая часть вычислительных блоков.

Получается гибридная схема: одни параметры работают практически для каждого токена, а другие подключаются только тогда, когда router направляет к ним данные. Благодаря этому MoE-модель сохраняет общую структуру Transformer, но получает гораздо больше параметров без необходимости использовать их все одновременно.

Как нейросеть выбирает нужных экспертов

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

Сначала токен превращается во внутреннее числовое представление и поступает в router. Маршрутизатор оценивает, насколько каждый доступный эксперт подходит для обработки этого представления. На выходе получается набор оценок, после чего модель выбирает экспертов с наибольшими значениями.

Упрощённо процесс выглядит так: токен поступает в MoE-слой, router оценивает всех экспертов, выбирает наиболее подходящих, передаёт им токен, а полученные результаты объединяются и отправляются дальше по сети.

Что такое Top-K routing

Количество экспертов, которые получают один токен, обычно ограничивается заранее. Для этого используется принцип Top-K routing, где K показывает число активируемых экспертов.

При Top-1 routing выбирается только эксперт с самой высокой оценкой. Такой вариант требует меньше вычислений, поскольку каждый токен проходит всего через один экспертный блок.

При Top-2 routing выбираются уже два наиболее подходящих эксперта. Их результаты затем объединяются с учётом весов, рассчитанных маршрутизатором. Вычислений становится больше, зато модель получает возможность использовать сразу два разных преобразования для одного токена.

Существуют архитектуры и с другими значениями K, но увеличение количества активных экспертов постепенно уменьшает главное преимущество MoE - экономию вычислений. Поэтому разработчикам приходится искать баланс между качеством работы модели и количеством блоков, которые необходимо запускать для каждого токена.

Почему разные токены выбирают разных экспертов

Router принимает решение на основе внутреннего представления токена, а не только его буквального значения. Один и тот же токен в разных контекстах может иметь разные представления и поэтому направляться к разным экспертам.

Например, слово, используемое в обычном разговоре, и такое же слово внутри программного кода могут обрабатываться по-разному. Но это не означает, что в модели обязательно существует отдельный "эксперт по программированию". Маршрутизация основывается на признаках, которые нейросеть сама обнаружила во время обучения.

Кроме того, выбор повторяется в каждом MoE-слое. Токен, попавший к одному эксперту в начале сети, дальше может быть направлен совершенно к другому. Поэтому фактический путь данных через MoE-модель представляет собой последовательность динамических решений.

Как модель учится правильно распределять токены

Router обучается одновременно с экспертами. Если определённый способ маршрутизации помогает модели уменьшать ошибку, параметры постепенно изменяются так, чтобы похожие внутренние представления чаще направлялись по полезным маршрутам.

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

Поэтому при обучении MoE используются механизмы балансировки нагрузки. Они стимулируют router распределять токены между экспертами более равномерно, не позволяя всей модели фактически превратиться в систему из нескольких постоянно активных блоков.

Для каждого эксперта также может устанавливаться ограничение на количество токенов, которые он способен обработать одновременно. Особенно это важно при обучении больших моделей на множестве GPU, где неравномерная маршрутизация способна создать узкие места даже при достаточной общей вычислительной мощности.

Почему MoE экономит вычисления, хотя модель становится больше

Главное преимущество Mixture of Experts связано с тем, что общее количество параметров модели и количество параметров, участвующих в обработке конкретного токена, могут сильно различаться. Именно поэтому MoE-модель способна быть очень большой, но при этом не требовать пропорционально такого же объёма вычислений.

У обычной dense-модели практически все основные параметры слоя участвуют в обработке каждого токена. Если увеличить размер такого слоя в два раза, объём вычислений тоже заметно вырастет. В MoE часть параметров распределена между экспертами, из которых одновременно активируется только несколько.

Например, представим MoE-слой с восемью экспертами одинакового размера и маршрутизацией Top-2. Формально слой содержит параметры всех восьми экспертов, но каждый токен проходит только через два из них. Остальные шесть в этот момент не выполняют вычислений для данного токена.

Из-за этого количество общих параметров может увеличиваться намного быстрее, чем стоимость обработки одного токена. Модель получает дополнительную ёмкость для хранения закономерностей, не заставляя вычислительное оборудование использовать всю эту ёмкость одновременно.

Здесь особенно важно различать размер модели и количество активных параметров. Само по себе число в десятки или сотни миллиардов параметров ещё не показывает, сколько вычислений требуется при генерации ответа. Подробнее этот принцип разобран в материале "Параметры нейросети: что означают миллиарды параметров и почему больше не всегда лучше".

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

Общие параметры - это все обучаемые параметры, которые физически входят в модель. Они должны храниться в памяти и быть доступны во время работы нейросети.

Активные параметры - это та часть модели, которая реально участвует в обработке конкретного токена. В MoE их может быть заметно меньше общего количества благодаря тому, что router выбирает лишь часть экспертов.

Допустим, условная модель содержит 100 миллиардов параметров, но для каждого токена использует только 20 миллиардов. Это не означает, что остальные 80 миллиардов бесполезны. Они могут активироваться для других токенов и в других слоях, просто вся модель не работает одновременно.

Такой подход позволяет увеличивать вычислительную ёмкость нейросети без такого же роста числа операций на каждый токен. Именно поэтому MoE особенно интересен при масштабировании больших языковых моделей.

Почему экономия вычислений не означает экономию памяти

У sparse activation есть важное ограничение. Неактивные эксперты не выполняют вычисления, но их параметры всё равно необходимо где-то хранить.

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

На одном ускорителе такую модель часто разместить невозможно. Эксперты распределяют между несколькими GPU или другими вычислительными устройствами. Когда router выбирает нужный эксперт, данные иногда приходится передавать с одного ускорителя на другой.

В результате часть нагрузки перемещается с непосредственных математических вычислений на память и сеть между ускорителями. Поэтому MoE не делает огромную нейросеть автоматически дешёвой или простой в эксплуатации.

Где появляется дополнительная нагрузка

Маршрутизация сама по себе тоже требует вычислений. Router должен оценить доступных экспертов, выбрать лучшие варианты и правильно распределить между ними токены.

Ещё сложнее ситуация становится при одновременной обработке большого количества запросов. Один эксперт может получить значительно больше токенов, чем остальные, из-за чего часть GPU будет перегружена, пока другие будут использоваться не полностью.

Для решения этой проблемы применяются балансировка нагрузки, ограничения ёмкости экспертов и специальные схемы распределённых вычислений. Поэтому реальная эффективность MoE зависит не только от количества активных параметров, но и от того, насколько хорошо организованы маршрутизация, память и обмен данными между ускорителями.

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

MoE против обычной dense-модели: преимущества и недостатки

Разница между MoE и обычной dense-моделью заключается не только в количестве параметров. Эти архитектуры по-разному используют вычислительные ресурсы, память и масштабирование.

В dense-модели каждый токен проходит через одни и те же вычислительные блоки. В MoE часть блоков заменяется набором экспертов, а router выбирает только несколько из них. Поэтому MoE может иметь значительно больше общих параметров при сопоставимом количестве операций на токен.

ХарактеристикаDense-модельMoE-модель
Общие параметрыОбычно меньшеМогут быть значительно больше
Активные параметрыИспользуется большая часть слояИспользуется только часть экспертов
Вычисления на токенРастут вместе с размером моделиРастут медленнее общего числа параметров
Требования к памятиПроще прогнозироватьМогут быть очень высокими
МаршрутизацияНе требуетсяНужен router
Распределение по GPUОтносительно прощеСложнее из-за экспертов
Балансировка нагрузкиОбычно не требуетсяВажна для эффективной работы

Преимущества Mixture of Experts

Главное преимущество MoE - возможность увеличить ёмкость модели без пропорционального увеличения вычислений для каждого токена. Добавление новых экспертов увеличивает общее количество параметров, однако эти блоки не обязательно активируются одновременно.

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

MoE также позволяет эффективнее использовать вычислительный бюджет. При одинаковом объёме операций на токен sparse-модель может иметь больше доступных параметров, чем dense-модель. Дополнительная ёмкость потенциально позволяет хранить более сложные закономерности и представления.

Ещё одно преимущество связано с разделением вычислений между экспертами. При правильно построенной инфраструктуре разные экспертные блоки можно разместить на отдельных ускорителях и выполнять часть операций параллельно.

Недостатки MoE

Главная сложность MoE заключается в том, что экономия вычислений не делает архитектуру простой. Router должен постоянно распределять токены между экспертами, а система - быстро доставлять данные к нужным блокам.

Особенно заметна эта проблема в распределённых системах. Если эксперты находятся на разных GPU, выбор эксперта может потребовать передачи данных между ускорителями. При недостаточной пропускной способности сети выигрыш от уменьшения математических операций частично теряется из-за коммуникационных задержек.

Существует и проблема неравномерной загрузки. Router может начать слишком часто выбирать несколько экспертов. Тогда одни GPU оказываются перегружены, а другие простаивают. Поэтому при обучении приходится использовать дополнительные механизмы балансировки.

Требования к памяти тоже остаются высокими. Даже если во время обработки токена активна лишь часть параметров, остальные эксперты всё равно являются частью модели и должны храниться в оперативной памяти ускорителей или быть быстро доступными системе.

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

Почему MoE не всегда лучше dense-модели

Из-за преимуществ sparse activation может показаться, что MoE должен полностью заменить обычные нейросети. На практике выбор архитектуры зависит от задачи и доступной инфраструктуры.

Dense-модель проще запускать, распределять между ускорителями и оптимизировать. Её вычислительная нагрузка более предсказуема, а отсутствие динамической маршрутизации снижает требования к обмену данными.

Для относительно небольших моделей дополнительная сложность MoE может вообще не окупаться. Чем крупнее становится нейросеть, тем заметнее преимущество возможности увеличивать число параметров без пропорционального роста вычислений.

Поэтому MoE особенно интересен для очень больших моделей, где стоимость каждого дополнительного dense-слоя становится высокой. Sparse-архитектура позволяет продолжать масштабирование, но требует более сложного управления памятью, сетью и распределением нагрузки.

Mixture of Experts стоит рассматривать не как способ сделать нейросеть "дешёвой", а как другой подход к использованию параметров. Вместо того чтобы заставлять всю модель работать для каждого токена, архитектура пытается активировать только те вычислительные блоки, которые в данный момент наиболее полезны.

Заключение

MoE модель показывает, что размер нейросети и объём вычислений не обязательно должны расти одинаково. Архитектура Mixture of Experts позволяет хранить большое количество параметров, но для обработки каждого токена активировать только несколько нужных экспертных блоков.

Выбор этих блоков выполняет router, который оценивает внутреннее представление токена и направляет его к наиболее подходящим экспертам. Благодаря sparse activation нейросеть получает большую общую ёмкость без необходимости использовать все параметры одновременно.

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

При сравнении MoE и dense-моделей важно смотреть не только на заявленный размер нейросети. Гораздо полезнее учитывать количество активных параметров на токен, вычислительную нагрузку, требования к памяти и особенности распределённого запуска. Именно эти показатели показывают, насколько большая модель действительно сложна и дорога в работе.

Теги:

moe
нейросети
mixture-of-experts
маршрутизация
искусственный-интеллект
sparse-activation
transformer
машинное-обучение

Похожие статьи