Expert Parallelism
Узнай, как экспертный параллелизм распределяет модели «мощных экспертов» по графическим процессорам, снижая требования к памяти и обеспечивая баланс маршрутизации, связи и производительности.
Параллелизм экспертов — это метод распределенных вычислений, который размещает разных экспертов из модели смешанных экспертов на разных GPU или ускорителях. Вместо того чтобы каждое устройство хранить каждого эксперта, каждое устройство удерживает подмножество. Обученный маршрутизатор отправляет каждый входной токен выбранным экспертам, позволяя очень большим моделям увеличивать емкость параметров без активации каждого параметра для каждого входа.
Метод применяется конкретно к архитектурам смешанных экспертов, а не к обычным плотным нейронным сетям. Он обычно используется при обучении или обслуживании крупных языковых и моделей «зрение-язык», экспертные слои которых в противном случае потребляли бы слишком много памяти на одном устройстве.
Как работает параллелизм экспертов#
Слой MoE содержит несколько экспертных сетей, обычно полносвязных нейронных сетей, плюс маршрутизатор. Для каждого токена маршрутизатор выдает оценки и выбирает небольшое число экспертов, часто называемое маршрутизацией top-k.
Например, в слое из восьми экспертов, распределенном по четырем GPU, каждый GPU может хранить двух экспертов. Обработка затем следует по четырем основным шагам:
- Маршрутизатор выбирает экспертов для каждого токена.
- Токены обмениваются между GPU, чтобы они достигали устройств, удерживающих этих экспертов.
- Каждый эксперт обрабатывает назначенные ему токены локально.
- Результаты возвращаются в исходные позиции токенов и продолжают движение через модель.
Этот обмен обычно опирается на коммуникацию all-to-all, коллективную операцию, описанную в документации по коллективным операциям NVIDIA NCCL. Руководство по параллелизму NVIDIA Megatron Bridge показывает, как количество экспертов и размер экспертного параллелизма определяют число экспертов, размещаемых на каждом GPU.
Параллелизм экспертов экономит память на каждом устройстве, поскольку веса экспертов секционированы. Однако он не устраняет затраты на вычисления или коммуникацию: токены могут пересекать границы устройств или узлов на каждом слое MoE.
Параллелизм экспертов против связанных методов#
Параллелизм экспертов — это одна из форм распределенного обучения, но он разделяет модель иначе, чем другие стратегии:
- Параллелизм данных: Каждое устройство хранит полную реплику модели и обрабатывает разный батч. Градиенты синхронизируются между репликами, как объясняется в обзоре распределенного обучения PyTorch. Это эффективно, когда полная модель помещается на каждом устройстве.
- Тензорный параллелизм: Индивидуальные весовые матрицы и математические операции внутри слоя разделяются между устройствами. Параллелизм экспертов вместо этого назначает полные эксперты устройствам.
- Конвейерный параллелизм: Последовательные группы слоев выполняются на разных устройствах, с микробэтчами, текущими через них в качестве этапов конвейера.
- Контекстный параллелизм: Длинные входные последовательности секционируются по устройствам для снижения требований к памяти активаций.
- Экспертный тензорный параллелизм: Эксперты распределяются по устройствам, и каждый отдельный эксперт также разделен по тензорам. Этот гибридный подход может вмещать более крупных экспертов, но вводит дополнительную коммуникацию.
Эти подходы дополняют друг друга. Крупные системы MoE могут комбинировать экспертный, дата-, тензорный, конвейерный и контекстный параллелизм в соответствии с размером модели и топологией оборудования.
Практические применения#
Крупномасштабные многоязычные ассистенты: Языковая модель MoE может содержать множество экспертных сетей, активируя лишь немногие для каждого токена. Параллелизм экспертов распределяет эти сети по кластеру инференса, позволяя системе сохранять высокую емкость модели без загрузки каждого эксперта на каждый GPU. Продакшн-рантаймы, такие как развертывание vLLM с параллелизмом экспертов и параллелизм экспертов TensorRT-LLM, поддерживают этот тип схемы инференса.
Мультимодальный анализ контента: Крупная модель MoE, обрабатывающая патчи изображений и текстовые токены, может направлять входы через выбранные эксперты, распределенные по нескольким ускорителям. Это может поддерживать понимание документов, визуальные ответы на вопросы и другие службы мультимодального ИИ, сохраняя при этом управляемой экспертную память на устройство. Тот же принцип может применяться к разреженным крупномасштабным трансформерам зрения, хотя большинство компактных моделей компьютерного зрения в реальном времени в этом не нуждаются.
Преимущества, узкие места и практические рекомендации#
Параллелизм экспертов предлагает три главных преимущества: уменьшенную память весов экспертов на GPU, поддержку моделей с большей общей емкостью и эффективные разреженные вычисления, когда активируются лишь немногие эксперты на токен. Руководство по параллелизму экспертов Amazon SageMaker иллюстрирует, как степень экспертного параллелизма контролирует распределение по кластеру.
Его главная проблема — дисбаланс нагрузки. Если маршрутизатор отправляет слишком много токенов одному эксперту, GPU этого эксперта становится отстающим, пока остальные ждут. Последствия включают более низкую пропускную способность, нестабильную задержку и возможное отбрасывание токенов при ограниченной емкости экспертов. Инженерам следует мониторить токены на эксперта, баланс маршрутизации, время коммуникации, использование памяти и задержку из конца в конец. Высокоскоростные интерконнекты и перекрытие коммуникаций и вычислений могут уменьшить накладные расходы на передачу.
Параллелизм экспертов не нужен при использовании плотной модели, такой как Ultralytics YOLO26. Многоускорительное обучение Ultralytics YOLO использует вместо этого распределенный параллелизм данных:
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
# Two-GPU YOLO training uses data parallelism, not expert parallelism.
results = model.train(
data="coco8.yaml",
epochs=10,
imgsz=640,
device=[0, 1],
)Этот воркфлоу реплицирует YOLO26 на двух GPU и делит обучающие батчи между ними; он не направляет входы между экспертными сетями. Команды также могут использовать облачное обучение Ultralytics Platform для управления датасетами для компьютерного зрения, обучением, метриками, экспортом и деплоем без ручной настройки распределенной инфраструктуры.









