Перейти к содержимому
ПереводыQwen, InternLM и другие

ERNIE 4.5 (Baidu): конспект ключевых идей техотчёта

Конспект ERNIE 4.5 от Baidu по официальному описанию в репозитории модели: гетерогенная мультимодальная MoE до 424 млрд параметров, изоляция маршрутизации по модальностям, FP8 и иерархическая балансировка при обучении, «сверточное кодовое» квантование до 2 бит, разделение prefill/decode, пост-трейнинг SFT, DPO и UPO. О техотчёте ERNIE 5.0 — честно о том, что проверить не удалось.

  • ERNIE 4.5 (по-китайски «Вэньсинь» 4.5, июнь 2025) — семейство из 10 моделей под Apache-2.0: MoE с 47 млрд и 3 млрд активных параметров (крупнейшая — 424 млрд всего), плюс плотная модель на 0,3 млрд. Есть текстовые и мультимодальные (текст, картинки, видео) версии, базовые и дообученные.
  • Главная архитектурная идея — гетерогенная мультимодальная MoE: часть параметров общая для текста и изображений, часть — своя у каждой модальности; маршрутизация изолирована по модальностям.
  • Инфраструктура: гетерогенный гибридный параллелизм, иерархическая балансировка нагрузки, экспертный параллелизм внутри узла, обучение в FP8; 47% MFU при предобучении крупнейшей текстовой модели.
  • Инференс: квантование весов до 4 и даже 2 бит «без потерь» (по заявлению авторов), разделение prefill и decode с динамическим переключением ролей.
  • Пост-трейнинг по модальностям: SFT, DPO и собственный вариант RL — UPO (Unified Preference Optimization).
  • Всё обучено и разворачивается на PaddlePaddle (по-китайски «Фэйцзян»), а не на PyTorch: инструменты — ERNIEKit (обучение) и FastDeploy (инференс).

Это отчёт уровня 🔴: читайте после модулей о MoE (5.3) и эффективном обучении (5.4), а мультимодальную часть — после 9.1.1. Полезно сравнить с DeepSeek-V3 (наш разбор в китайском треке): те же задачи — MoE, FP8, балансировка, разделение prefill/decode, — но другие решения и другой фреймворк.

КатегорияМоделиВход → выходКонтекст
Языковые (LLM)ERNIE-4.5-300B-A47B (+ Base), ERNIE-4.5-21B-A3B (+ Base)текст → текст128K
Мультимодальные (VLM)ERNIE-4.5-VL-424B-A47B (+ Base), ERNIE-4.5-VL-28B-A3B (+ Base)текст, изображения, видео → текст128K
ПлотнаяERNIE-4.5-0.3B (+ Base)текст → текст128K

Имена читаются как у Qwen: 300B-A47B — 300 млрд параметров всего, 47 млрд активных на токен. Позже вышли рассуждающие версии ERNIE-4.5-21B-A3B-Thinking и ERNIE-4.5-VL-28B-A3B-Thinking (по журналу изменений ERNIEKit).

Задача: обучить модель сразу на тексте и изображениях так, чтобы одна модальность не мешала другой. Наивный вариант — одна MoE на всё — рискует тем, что визуальные токены «займут» экспертов и текстовое качество просядет.

Решение ERNIE 4.5 (по README):

  • гетерогенная структура MoE — есть параметры, общие для модальностей, и есть параметры, выделенные под каждую модальность;
  • изоляция маршрутизации по модальностям (modality-isolated routing) — текстовые токены выбирают среди «своих» экспертов, визуальные — среди своих;
  • ортогональная потеря маршрутизатора (router orthogonal loss) — штраф, который подталкивает маршрутизаторы разделять экспертов, а не выбирать одних и тех же;
  • мультимодальная потеря балансировки токенов (multimodal token-balanced loss) — учитывает, что токенов разных модальностей в батче разное число.
flowchart TD
T["текстовые токены"] --> RT{"маршрутизатор<br/>текста"}
V["визуальные токены"] --> RV{"маршрутизатор<br/>изображений"}
RT --> ET["эксперты текста"]
RV --> EV["эксперты изображений"]
T --> S["общие параметры<br/>(внимание и др.)"]
V --> S
Идея гетерогенной MoE (наша упрощённая схема по описанию в README, не рисунок из отчёта)

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

  • Гетерогенный гибридный параллелизм и иерархическая балансировка нагрузки — комбинация видов параллелизма, подобранная под разнородные (текстовые и визуальные) части модели; балансировка на нескольких уровнях.
  • Экспертный параллелизм внутри узла (intra-node expert parallelism) — эксперты раскладываются по GPU одного сервера, где связь быстрая, чтобы all-to-all не шёл через медленную межузловую сеть. Сравните с урезанной связью H800 у DeepSeek — та же логика «не гонять данные по медленному каналу» (урок 5.4.3).
  • Экономный по памяти конвейерный график, обучение в FP8 (FP8FP8 (8-битное число с плавающей точкой)EN FP8 (8-bit floating point)Два варианта: E4M3 (точнее, максимум 448) и E5M2 (грубее, максимум 57 344). Требует масштабирования тензоров. DeepSeek-V3 обучалась в FP8 с поблочными масштабами.) и точечный пересчёт активаций (чекпойнтингперевычисление активаций (activation checkpointing)EN activation checkpointing (recomputation)Не хранить часть активаций прямого прохода, а пересчитать их при обратном. Экономит память ценой дополнительных вычислений. только там, где выгодно).
  • Итог: 47% MFU (утилизация FLOPs моделиутилизация FLOPs модели (MFU)EN model FLOPs utilization (MFU)Доля пиковой производительности железа, которая уходит на полезные вычисления модели. Для больших распределённых обучений типичны 30–50 %. — доля теоретической производительности GPU, которая реально идёт на полезные вычисления модели) при предобучении крупнейшей языковой модели. Авторы подают это как один из главных результатов инфраструктуры: у MoE обычно теряется много времени на обмен между GPU.
  • Совместная работа нескольких экспертов в параллели (multi-expert parallel collaboration) — способ распределять экспертов при инференсе.
  • Квантование «сверточным кодом» (convolutional code quantization) — алгоритм, которым авторы получают 4-битное и 2-битное квантование весов «без потерь» (их формулировка). Схема обозначений в README: WxAxCx — точность весов (W), активаций (A) и KV-кэша (C). Например, W4A16C16 — 4-битные веса, 16-битные активации и кэш; для ERNIE-4.5-300B-A47B заявлен и вариант 2 бит. Что такое квантование и почему 2 бита — экстремально мало — в уроке 7.2.1.
  • Разделение prefill и decode с динамическим переключением ролей (PD-дезагрегацияPD-дезагрегация (раздельные prefill и decode)EN prefill-decode disaggregationPrefill и decode выполняются на разных группах GPU, а KV-кэш передаётся между ними по сети. Так фазы не мешают друг другу. Mooncake (Kimi), DistServe, инференс DeepSeek-V3.) — серверы, которые делают prefill, и серверы, которые делают decode, могут меняться ролями по нагрузке.

Каждую модальность дообучают отдельно:

  • языковые модели — под общее понимание и генерацию текста;
  • мультимодальные — под понимание «зрение + язык», с режимами размышления и без (как гибридное мышление Qwen3);
  • методы: SFT, DPO (урок 6.3.3) и собственный модифицированный RL — UPO (Unified Preference Optimization). Подробности UPO в README не раскрыты.
  • ERNIE-4.5-300B-A47B-Base обгоняет DeepSeek-V3-671B-A37B-Base на 22 из 28 бенчмарков.
  • ERNIE-4.5-21B-A3B-Base, будучи примерно на 30% меньше Qwen3-30B-A3B-Base по общему числу параметров, обгоняет её на нескольких тестах математики и рассуждений (BBH, CMATH).
  • ERNIE-4.5-300B-A47B после дообучения — сильнейшие результаты на IFEval, Multi-IF, SimpleQA, ChineseSimpleQA (следование инструкциям и фактические знания).
  • ERNIE-4.5-VL-424B-A47B в режиме размышления сокращает отставание от OpenAI o1 или обходит его на MathVista, MMMU, VisualPuzzle; 28B-A3B сопоставима с Qwen2.5-VL-7B и 32B или лучше их на большинстве тестов.

Как к этому относиться — урок 7.3.1 о ловушках бенчмарков: сравнения выбраны авторами и на момент выпуска (середина 2025 года).

ИнструментЧто умеет (по README)
ERNIEKitпредобучение, полное SFT, DPO, LoRA-варианты SFT и DPO, обучение с учётом квантования (QAT), PTQ (в работе); командная строка erniekit train <config.yaml> и веб-интерфейс
FastDeployинференс LLM и VLM на PaddlePaddle: разделение prefill/decode с многоуровневой балансировкой, много форматов квантования, OpenAI-совместимый сервер, совместимость с интерфейсом vLLM

Минимальный пример из README — SFT самой маленькой модели:

Окно терминала
huggingface-cli download baidu/ERNIE-4.5-0.3B-Paddle --local-dir baidu/ERNIE-4.5-0.3B-Paddle
erniekit train examples/configs/ERNIE-4.5-0.3B/sft/run_sft_8k.yaml # SFT с длиной 8K
  1. Сравните таблицу «что общее, что раздельное» у ERNIE 4.5 и у DeepSeekMoE (общие эксперты, урок 5.3.2). Чем «общие параметры для всех модальностей» похожи на «общих экспертов для всех токенов»?
  2. Посчитайте размер весов ERNIE-4.5-300B-A47B в форматах BF16, W4 и W2 (байт на параметр: 2; 0,5; 0,25). Сколько ваших карт по 32 ГБ понадобится в каждом случае только под веса?
  3. Объясните своими словами, зачем изолировать маршрутизацию по модальностям, на примере: в батче 90% визуальных токенов и 10% текстовых.
EnglishРусский
heterogeneous MoEгетерогенная MoE
modality-isolated routingизолированная по модальностям маршрутизация
hierarchical load balancingиерархическая балансировка нагрузки
MFU (model FLOPs utilization)доля полезно использованной вычислительной мощности
PD disaggregationразделение prefill и decode
convolutional code quantizationквантование «сверточным кодом»