Как смесь экспертов (MoE) устроена внутри: кто решает, какому эксперту отдать токен, что такое ёмкость эксперта, зачем балансировать нагрузку и почему такие модели тяжело обучать?
Блок смеси экспертов строится вокруг сети-распределителя (gating network): линейного слоя [d_model] → [num_experts], который для каждого токена оценивает экспертов. Выбор k лучших (top-k routing) отдаёт токен k экспертам с наибольшими оценками (Mixtral k=2, DeepSeek-V3 k=8, Switch Transformer k=1). Ёмкость эксперта ограничивает, сколько токенов достаётся одному эксперту за батч — иначе ломается пакетная обработка. Балансировку нагрузки обеспечивает вспомогательная функция потерь, которая штрафует за скатывание всех токенов к одним и тем же экспертам. Главные проблемы обучения: все токены уходят к одним экспертам, часть экспертов вообще не обучается, градиенты становятся разреженными — лечится вспомогательной функцией потерь, добавлением шума и отключением части экспертов при обучении.