>> deep digest // AI на русском
Hugging Face Blog ·

Ускорение обучения моделей MoE: как автомодель NVIDIA NeMo меняет правила игры

Автомодель NVIDIA NeMo позволяет значительно ускорить обучение моделей MoE по сравнению с Transformers v5 — производительность вырастает в 3,4–3,7 раза, а объём используемой памяти графического процессора снижается на 29–32 %. Решение сохраняет совместимость с API HuggingFace Transformers и предлагает ряд оптимизаций, включая экспертный параллелизм и диспетчеризацию DeepEP. Тестирование на моделях Qwen3-30B-A3B и Nemotron 3 Nano 30B A3B подтвердило эффективность подхода.

Ускорение обучения моделей MoE: как автомодель NVIDIA NeMo меняет правила игры

HuggingFace Transformers стала основой экосистемы искусственного интеллекта с открытым исходным кодом. Недавний выпуск Transformers v5 укрепил её позиции, обеспечив первоклассную поддержку моделей со смешанным подходом экспертов (MoE) — доминирующей архитектуры для передовых моделей.

NVIDIA NeMo AutoModel — это открытая библиотека в составе платформы NVIDIA NeMo framework, предназначенная для создания пользовательских моделей ИИ в масштабе. Она построена на базе Transformers v5 и дополнена экспертным параллелизмом, универсальной диспетчеризацией DeepEP и ядрами TransformerEngine. Благодаря этим улучшениям при тонкой настройке моделей MoE производительность обучения оказывается в 3,4–3,7 раза выше, а объём памяти графического процессора — на 29–32 % меньше, чем в родной версии Transformers v5, при использовании того же API from_pretrained().

Модели MoE ставят новые задачи перед эффективным обучением: требуется маршрутизация токенов между сотнями экспертов, объединение экспертных матриц в единое ядро, распределение весов между графическими процессорами и дублирование взаимодействия с вычислениями. В Transformers v5 реализована поддержка MoE — экспертные серверные части, динамическая загрузка веса и тензорные параллельные планы для распределённого выполнения. Версия 5 также сделала распределённое обучение более удобным, интегрировав DeviceMesh от PyTorch непосредственно в from_pretrained().

NeMo AutoModel расширяет возможности v5: он создаёт подкласс AutoModelForCausalLM и добавляет экспертный параллелизм (EP), комплексную диспетчеризацию DeepEP и ядра TransformerEngine. DeepEP перекрывает взаимодействие с expert compute — такой функциональности ещё нет в v5. Благодаря обратимому преобразованию веса v5 NeMo AutoModel может сосредоточиться на многоразовых основных операциях, а не на настройке контрольных точек для каждой модели. При этом save_pretrained() по-прежнему генерирует стандартные контрольные точки HF, которые могут загружать такие инструменты, как vLLM и SGLang.

Одна из целей NeMo AutoModel — обеспечить совместимость API с HuggingFace Transformers, чтобы сформировать сообщество разработчиков с открытым исходным кодом. NeMoAutoModelForCausalLM является подклассом AutoModelForCausalLM, поэтому любой код, работающий с высокочастотными моделями, будет работать и с AutoModel. Для популярных архитектур MoE (Qwen3, NVIDIA Nemotron, GPT-OSS и DeepSeek V3) NeMo AutoModel предлагает реализации, настроенные с учётом особенностей TransformerEngine, объединённых линейных уровней и пользовательских экспертных ядер. В остальных случаях он возвращается к vanilla HF, применяя при этом оптимизации (например, исправление ядра Liger).

В ходе тестирования автомодель NeMo показала хорошие результаты в двух режимах: при полной доводке модели frontier 550B на 16 узлах и при обучении двух моделей MoE 30B на одном узле. Например, при обучении Nemotron 3 Nano 30B A3B с экспертным параллелизмом на 8 графических процессорах H100 ёмкостью 80 ГБ используется конфигурация распределённой сетки. Это обеспечивает скорость, масштабируемость и оптимизацию памяти с помощью FSDP2, экспертного параллелизма, ядер TransformerEngine и диспетчеризации DeepEP — и всё это через вызов from_pretrained().

Тестирование на одноузловых моделях 30B MoE (Qwen3-30B-A3B и Nemotron 3 Nano 30B A3B) показало, что NeMo AutoModel значительно превосходит Transformers v4 и v5 по производительности. Например, для Qwen3-30B-A3B среднее значение TPS/GPU в NeMo AutoModel (EP=8) достигло 11 340, что в 3,69 раза выше, чем в Transformers v5. При этом максимальный объём памяти снизился с 68,2 ГБ до 48,1 ГБ (−29 %), а среднее значение прямого и обратного прохода сократилось в 3–4,26 раза. Аналогичные результаты получены и для Nemotron 3 Nano 30B A3B: среднее значение TPS/GPU в NeMo AutoModel составило 15 421 (в 3,36 раза выше, чем в v5), объём памяти уменьшился с 62,1 ГБ до 42,5 ГБ (−32 %), а время прямого и обратного прохода сократилось в 2,6–3,89 раза.

Ускорение в 3,4–3,7 раза в NeMo AutoModel по сравнению с Transformers v5 достигается за счёт трёх факторов:
1. Экспертный параллелизм снижает нагрузку на память: EP=8 распределяет экспертные веса между графическими процессорами, сокращая объём оперативной памяти на один графический процессор в 8 раз.
2. Комплексная диспетчеризация DeepEP перекрывает взаимодействие с expert compute, оптимизируя процесс обучения.
3. Ядра TransformerEngine и другие оптимизации повышают эффективность вычислений.

Источник: Hugging Face Blog
9 просмотров