MoE-модели: что скрывается за активными параметрами
MoE, или Mixture of Experts, делит сеть на несколько блоков и для каждого токена выбирает только часть из них. Поэтому вычислений на один шаг может быть меньше, чем у плотной модели с тем же общим числом параметров. Но «активные параметры» — не размер файла и не объём памяти, который нужно подготовить. Неактивные эксперты всё равно нужно хранить, загружать и защищать. Разобраться в этом можно только на измерениях своего движка и своей нагрузки.
Как проходит маршрутизация
Маршрутизатор получает представление токена, выставляет оценки экспертам и отправляет его одному или нескольким блокам. Их результаты объединяются в следующем слое. На соседних токенах могут работать разные эксперты: один чаще получает код, другой — русский текст, третий — числа. Это не означает, что специализация заранее гарантирована; она возникает в процессе обучения и может быть неравномерной.
Если один эксперт получает слишком много токенов, возникает очередь, а часть входа может быть отброшена или обработана упрощённо. Поэтому средняя скорость не показывает всю картину. Измеряйте пиковую задержку и распределение нагрузки, если движок отдаёт такую статистику.
Общие и активные параметры
В карточке модели разделяйте три величины: общее число параметров, число активных на токен и фактический размер весов. Активная часть влияет на вычисления, а все веса — на загрузку, память и время старта. Контекст, KV-cache и временные буферы добавляются сверху.
Перед покупкой оборудования скачайте конкретный файл, проверьте формат чисел и оставьте резерв памяти. Частичная выгрузка экспертов в RAM может снизить требования к VRAM, но добавить задержку и нестабильность. Квантование уменьшает размер, однако способно сильнее испортить редкие слова, числа и код, чем обычный диалог.
Эксперимент на одинаковой нагрузке
Сравните MoE с плотной моделью близкого качества на одном компьютере и одном движке, если это возможно. Подготовьте 24 запроса: шесть русскоязычных, шесть с кодом, шесть арифметических и шесть длинных инструкций. В каждой группе оставьте один запрос с нехваткой данных и один с повтором после изменения порядка предложений.
Запишите время до первого токена, скорость после прогрева, пиковую память, ошибки формата и число ручных исправлений. Повторите каждый запрос дважды с очищенным кэшем и дважды после прогрева. Если API скрывает детали маршрутизации, фиксируйте хотя бы задержку и фактический расход токенов.
| Метрика | Что показывает | На что обратить внимание |
|---|---|---|
| Размер весов | объём хранения | не равен активным параметрам |
| Память во время ответа | запас под контекст и кэш | скачки на длинном входе |
| Первый токен | время старта | подкачка экспертов |
| Скорость после прогрева | пропускную способность | очереди и перекос нагрузки |
| Ошибки на редких примерах | устойчивость качества | деградация после квантования |
Таблица предназначена для собственных замеров. Чужие цифры нельзя переносить на другой GPU, формат и версию движка.
Проверка качества
Оценивайте не только гладкость ответа. Для фактов сверяйте даты и числа, для кода запускайте тесты, для инструкции проверяйте все обязательные пункты. Попросите модель перечислить неизвестные поля и корректно отказаться, если источника нет. Измените порядок примеров и добавьте опечатку: маршрутизатор может реагировать на небольшие изменения иначе.
Если качество падает только на редких терминах, это может быть следствием квантования или распределения данных, а не недостатком общего размера. Сохраните неудачный запрос и повторите его после обновления модели, не подменяя результат более удобным примером.
Баланс экспертов и нагрузка
При доступной статистике сохраните долю токенов по экспертам и максимальную очередь. Перекос означает, что одни блоки перегружены, а другие простаивают; на сервере это проявляется скачками задержки. Не пытайтесь исправить такой дефект изменением temperature: проблема находится в маршрутизаторе, данных или конфигурации обучения.
Для пакетной обработки проверьте несколько длин входа и параллельных пользователей. Модель, которая быстра на одном запросе, может проиграть плотной при одновременной нагрузке из-за обмена между экспертами.
Стоимость API
Тариф провайдера может считать все входные токены, активные вычисления, кэш, инструменты и длинный контекст по-разному. Уточните, есть ли плата за прогрев и хранение состояния. Для бюджета используйте стоимость принятого результата, включая повторные вызовы и ручную проверку, а не рекламное число активных параметров.
Приватность и обновления
Все эксперты могут получить один и тот же чувствительный контекст. MoE не отменяет маскирование, права доступа и защиту журналов. При локальном запуске закройте кэш и временные файлы; при API проверьте срок хранения и использование запросов для обучения.
Сохраняйте версию весов, маршрутизатора и движка. Обновление способно изменить распределение токенов и поведение на редких запросах, поэтому после замены повторяйте закрытый тест.
Когда MoE оправдана
Архитектура интересна при большом потоке запросов и широком наборе задач, если вычислительная эффективность компенсирует сложность хранения и отладки. Для небольшого локального проекта плотная модель часто практичнее: проще установка, прогнозируемее память и легче найти причину ошибки.
Как провести замер перед решением о покупке
Сначала зафиксируйте профиль нагрузки: длина входа, ожидаемый ответ, число одновременных пользователей и доля длинных запросов. Затем прогоните тот же набор на MoE и плотной модели близкого качества. Для каждой версии запишите холодный старт, прогрев, пик памяти и задержку на 95-м процентиле, а не только среднее значение.
Отдельно посмотрите на неудачные случаи. Если редкий русский термин или число ломается после квантования, отметьте это рядом с метрикой, а не прячьте в общей оценке. При росте очереди проверьте размер батча и обмен между памятью и ускорителем: изменение температуры не исправит инфраструктурный перекос.
Решение принимайте по стоимости принятого ответа за неделю тестовой нагрузки. Включите повторные вызовы, ручную проверку, хранение всех экспертов и время инженера на обновление маршрутизатора. Если MoE выигрывает только в идеальном одиночном сценарии, для реального процесса она может оказаться сложнее и дороже плотной модели.
Честный вердикт
MoE может уменьшить вычисления на токен, но не отменяет стоимость всех весов, контекста и контроля маршрутизации. Выбирайте её после одинакового теста на своих задачах, измеряйте пик памяти и задержку под нагрузкой, проверяйте редкие случаи и сохраняйте конфигурацию. Одна цифра активных параметров в презентации недостаточна для решения о внедрении.