Популярный ИТ-блогер и исследователь Янник Килчер (Yannic Kilcher) разобрал научную статью, посвященную модели Mixtral of Experts (8x7B) от французского стартапа Mistral AI. В своем обзоре ведущий подробно объясняет математическую суть архитектуры разреженной смеси экспертов (Sparse Mixture of Experts) и анализирует сильные стороны модели. Главная интрига релиза заключается в феноменальной производительности на фоне абсолютной секретности вокруг использованных данных обучения.
🤐 «Не упоминай данные»: секретность во благо бизнеса 0:00
Официальная научная статья о модели Mixtral 8x7B примечательна полным отсутствием информации об источниках обучающих данных, из-за чего Янник Килчер в шутку окрестил её «Не говори про датасет». По мнению ведущего, полное сокрытие деталей обучения — это тактически грамотный шаг в современных реалиях ИИ-индустрии. Янник Килчер утверждает, что сейчас среди «профессиональных жалобщиков» в моде судебные иски об авторских правах и обвинения в предвзятости данных. Скрыв источники, Mistral AI обезопасила себя от подобных нападок, хотя для академической статьи, предполагающей воспроизводимость результатов, такой подход выглядит странно.
Французский стартап Mistral AI выбрал радикально открытый путь дистрибуции своих продуктов:
- Модели распространяются под свободной лицензией Apache 2.0, позволяющей любое коммерческое использование.
- Этот подход превосходит по степени свободы даже Stability AI, чьи лицензии содержат различные ограничения на использование.
При этом Stability AI частично раскрывает происхождение своих данных, тогда как французские разработчики ограничились лишь лаконичным упоминанием о «мультиязычных данных».
🧠 Архитектура Mixture of Experts: как устроен «коктейль из экспертов» 2:42
Модель Mixtral 8x7B представляет собой разреженную смесь экспертов (Sparse Mixture of Experts) с открытыми весами. Она превосходит Llama 2 70B и GPT-3.5 на большинства стандартных бенчмарков, обладая при этом меньшим количеством активных параметров на токен. Архитектура построена на базе декодера (decoder-only) и развивает идеи базовой модели Mistral 7B. Главное отличие MoE от классических трансформеров кроется в структуре слоев.
В стандартной архитектуре Transformer каждый входной токен преобразуется в вектор через слой эмбеддингов, проходит через $N$ блоков и на выходе снова превращается в токен. Типичный блок состоит из двух ключевых компонентов:
- Слой внимания (Attention layer), который отвечает за обмен информацией между токенами в контексте.
- Полносвязная нейросеть прямого распространения (Feed-Forward Network, FFN), обрабатывающая каждый токен изолированно.
Янник Килчер обращает внимание на то, что именно в слоях FFN сосредоточена огромная часть параметров модели. В типичной архитектуре вектор токена размерностью 4000 прогоняется через скрытый слой размерностью 14000, применяется нелинейность, после чего размерность возвращается к 4000. Только одна такая матрица содержит порядка 50 миллионов параметров. В классическом трансформере абсолютно каждый токен проходит через одни и те же тяжелые матрицы, что неэффективно.
🚦 Маршрутизация токенов: кто решает, куда идти? 11:24
Концепция Mixture of Experts заменяет один фиксированный блок FFN на несколько альтернативных блоков — «экспертов». В Mixtral 8x7B таких экспертов ровно 8. Вместо того чтобы прогонять токен через все 8 путей, авторы используют разреженный (sparse) подход: для каждого токена выбираются лишь два наиболее подходящих эксперта (Top-2 routing).
Выбор экспертов выполняет отдельная небольшая нейросеть — роутер (routing network), обозначаемая как $G$. По сути, задача роутера сводится к классической классификации:
- На вход подается промежуточный вектор токена $X$.
- Сеть вычисляет логиты для каждого из 8 экспертов.
- Через функцию Softmax формируется распределение весов.
- Выбираются два максимальных значения, а веса остальных экспертов обнуляются.
- Выходные сигналы выбранных экспертов суммируются с учетом назначенных роутером весов.
Ведущий приводит наглядную аналогию: это похоже на распределение людей по задачам на основе их физических качеств. Высокого человека отправляют снимать вещи с верхних полок, то есть сами свойства объекта определяют его дальнейший вычислительный путь.
Янник Килчер также указывает на техническую неточность в тексте научной статьи. Авторы утверждают, что выход функции $G(x)_i$ является $n$-мерным для каждого эксперта. По мнению блогера, это ошибка изложения: на самом деле функция $G(x)$ возвращает $n$-мерный вектор, а $G(x)_i$ — это просто скалярный $i$-й элемент этого вектора, определяющий вес конкретного эксперта. Сам роутер представляет собой обычный линейный слой.
⚡ Разделение труда: параллелизм экспертов и эффективность инференса 20:10
При оценке MoE-моделей важно разделять два понятия:
- Общее (разреженное) число параметров — весь пул весов, который растет с добавлением новых экспертов.
- Количество активных параметров — веса, которые реально участвуют в обработке одного конкретного токена.
Поскольку Mixtral активирует только 2 эксперта из 8 для каждого токена, объем вычислений в слоях FFN сокращается ровно в четыре раза. Это обеспечивает высокую скорость инференса при небольшом размере батча и огромную пропускную способность на больших батчах.
Такая архитектура идеально подходит для реализации параллелизма экспертов (expert parallelism):
- Каждого отдельного эксперта (весовые матрицы $W_1, W_2$ и т.д.) можно разместить на отдельном графическом процессоре (GPU).
- Для конкретного GPU операция с токеном будет выглядеть как стандартное плотное матричное умножение (dense operation), с которыми видеокарты справляются максимально эффективно.
- Роутер выполняет функцию диспетчера, перенаправляя токены между GPU.
При высоком потоке данных (high throughput) это позволяет кратно увеличить производительность системы по сравнению с классическим распределением слоев.
📊 Тесты производительности и «зелёный» контекст в 32k токенов 24:50
Результаты бенчмарков показывают, что Mixtral 8x7B идет вровень или опережает Llama 2 70B и GPT-3.5. Однако Янник Килчер призывает критически относиться к графикам, сравнивающим модели по количеству активных параметров. По его словам, эти сравнения слегка лукавят: высокая эффективность Mixtral достигается именно за счет динамического выбора активного набора параметров под каждый токен, в то время как у Llama 2 все параметры активны всегда.
Модель поддерживает контекстное окно размером в 32 000 токенов. В тесте на извлечение информации Passkey (поиск «иголки в стоге сена») Mixtral показал стопроцентный результат на всей длине контекста, закрасив график идеальным зеленым цветом. Янник Килчер критикует этот тест, заявляя, что когда бенчмарк становится полностью «зеленым», он теряет свою полезность — задачи нужно усложнять, чтобы нащупать предел возможностей модели.
График перплексии стабильно снижается по мере роста заполнения контекста. Это доказывает, что модель реально использует всю длину окна, а не просто забивает память шумом. Тем не менее ведущий отмечает важный нюанс:
- Наибольший прирост качества происходит при добавлении первых порций информации.
- Исходя из личного опыта, Килчер утверждает, что бездумное заталкивание огромных массивов данных в контекст часто лишь вредит результату.
- Гораздо более выигрышная стратегия — умный предварительный отбор релевантной информации.
🛠️ Обучение под копирку и загадки специализации экспертов 28:44
Процесс тонкой настройки (fine-tuning) модели описан в статье крайне скупо. Авторы упоминают классическое supervised fine-tuning (SFT) на инструктивном датасете, за которым следовал этап Direct Preference Optimization (DPO) на наборе парных отзывов. На этот счет Янник Килчер иронизирует, замечая, что такая «информативность» в кавычках делает статью абсолютно бесполезной для независимого воспроизведения. Тем не менее он выражает глубокую признательность Mistral AI за выпуск весов под лицензией Apache 2.0. По его мнению, это колоссальная услуга сообществу, доказывающая регуляторам, что открытие передовых моделей не приводит к глобальным катастрофам.
Особый интерес вызывает анализ поведения роутера: специализируются ли эксперты на конкретных темах? Результаты исследования авторов оказались неожиданными:
- Явных семантических или тематических паттернов в распределении токенов между экспертами не обнаружено.
- Замечена лишь синтаксическая регулярность — последовательные токены часто уходят к одному эксперту.
- В коде на Python пробелы и отступы в начале строк стабильно направляются в адрес одних и тех же фиксированных экспертов.
Янник Килчер выдвигает две гипотезы для объяснения этого феномена. Либо глубокие семантические паттерны в MoE действительно отсутствуют, либо логика распределения нейросети находится на столь высоком абстрактном уровне, что человеческий разум просто не способен уловить её закономерности.