Вслед за выпуском FlashMLA компания DeepSeek запустила второй проект OpenSourceWeek — DeepEP.
Будучи первой библиотекой для EP-коммуникации с открытым исходным кодом, созданной специально для обучения и инференса MoE-моделей (Mixture-of-Experts), DeepEP представляет собой значительный шаг вперёд в области экспертного параллелизма (EP). Её цель — обеспечить MoE-моделям низкую задержку, высокую пропускную способность и высокую производительность коммуникации как между GPU внутри узла, так и между узлами.
Согласно результатам тестирования, DeepEP достигает почти максимальной пропускной способности для внутриузловой многопроцессорной связи GPU, а также значительно повышает эффективность межузлового обмена.

Что такое EP?
Прежде чем углубляться в DeepEP, важно понять, что такое EP.
EP (Expert Parallelism) — это метод распределённых вычислений, специально разработанный для MoE-моделей (Mixture-of-Experts) и впервые опубликованный DeepSeek. MoE — это архитектура модели на основе Transformer, использующая стратегию разреженной активации, что делает её более лёгкой в обучении по сравнению с традиционными плотными моделями. В нейронной сети MoE в каждый момент времени активируется только часть компонентов модели (так называемые «эксперты») для обработки входных данных.
Важность EP (Expert Parallelism) для ускорения инференса больших языковых моделей заключается в его способности эффективно разделять MoE-модели. Когда модель использует архитектуру MoE с сотнями экспертов (например, 320), EP может назначить разных экспертов на независимые вычислительные узлы, причём его степень параллелизма напрямую соответствует количеству экспертов.
В отличие от этого, TP (Tensor Parallelism) опирается на разделение вычислений на основе механизма множества головок в слоях Attention. Например, в типичной конфигурации с 32 головками TP сталкивается с трудностями при масштабировании до 64 и более GPU, так как размерность разделения недостаточна (32 < 64), что затрудняет полное использование аппаратных ресурсов. EP, напротив, разделяет вычисления по размерности экспертов.

из EPS-MoE: Expert Pipeline Scheduler for Cost-Efficient MoE Inference
DP vs TP vs PP vs EP
| Метод | Внутренняя логика | Решаемая проблема |
|---|---|---|
| Data Parallelism (DP) | Копирование модели на все устройства, разбиение входных данных, синхронизация обновлений градиентов. | Медленная скорость обучения из-за большого размера набора данных. |
| Tensor Parallelism (TP) | Разделение матриц параметров по устройствам, распределённые вычисления и агрегация результатов. | Размер параметров одного слоя превышает объём памяти устройства. |
| Pipeline Parallelism (PP) | Разделение слоёв модели по устройствам, организация конвейерной обработки микробатчей. | Недостаток памяти для моделей с очень большим количеством слоёв. |
| Expert Parallelism (EP) | Динамическая маршрутизация входных данных к подсетям экспертов с разреженной активацией параметров. | Неэффективное использование памяти и вычислений при масштабе в триллионы параметров. |
Современные крупномасштабные модели (например, GPT-4, DeepSeek-V3) обычно одновременно используют несколько стратегий параллелизма для максимальной эффективности:
- Tensor Parallelism (TP): Разделяет параметры отдельных слоёв между устройствами.
- Pipeline Parallelism (PP): Распределяет разные слои модели по устройствам для конвейерной обработки.
- Data Parallelism (DP): Синхронизирует обучение на нескольких машинах путём копирования модели и разделения набора данных.
- Expert Parallelism (EP): Расширяет разреженные параметры, распределяя экспертов по устройствам для MoE-моделей.
Комбинируя эти стратегии, большие модели могут эффективно использовать доступные аппаратные ресурсы, масштабируясь до больших размеров модели и наборов данных, сохраняя при этом эффективность обучения и инференса.
Что такое DeepEP?
DeepEP — это библиотека для коммуникации, созданная специально для MoE (Mixture-of-Experts) и EP (Expert Parallelism), обладающая следующими ключевыми преимуществами:
- 1. Высокооптимизированная связь «все со всеми» (All-to-All)
DeepEP предоставляет эффективное ядро для All-to-All коммуникации, значительно сокращая узкие места при передаче данных и обеспечивая более плавный обмен информацией между экспертами в распределённых средах.
- 2. Поддержка NVLink и RDMA для внутриузловой и межузловой связи
DeepEP поддерживает технологии NVLink и RDMA, обеспечивая высокопроизводительную связь внутри узлов и между ними:
-
NVLink: Обеспечивает пропускную способность до 160 ГБ/с для внутриузловой связи.
-
RDMA: Обеспечивает передачу данных с низкой задержкой между узлами, что соответствует требованиям крупномасштабного распределённого обучения.
-
3. Ядро с высокой пропускной способностью
Для этапов обучения и предварительного заполнения (prefill) при инференсе DeepEP предоставляет ядро с высокой пропускной способностью, обеспечивая эффективную обработку больших объёмов данных.
- 4. Ядро с низкой задержкой
DeepEP предлагает ядро с низкой задержкой на основе RDMA/InfiniBand, которое минимизирует задержки инференса. Это особенно полезно для приложений, чувствительных к задержкам, на этапе декодирования инференса.
- 5. Встроенная поддержка распределения данных в формате FP8
DeepEP изначально поддерживает распределение данных в формате FP8, уменьшая объём передаваемых данных при сохранении точности, что дополнительно повышает эффективность коммуникации.
- 6. Гибкое управление ресурсами GPU
DeepEP имеет гибкий механизм планирования ресурсов GPU, позволяющий эффективно совмещать вычисления и коммуникацию. Это минимизирует потери ресурсов и повышает общую производительность.
EP vs DeepEP
По сути, EP определяет «что» (как разделить экспертов и распределить нагрузку), а DeepEP предоставляет «как» (эффективные механизмы коммуникации, которые делают EP быстрее и масштабируемее).

Производительность DeepEP
DeepEP демонстрирует исключительную производительность как во внутриузловой, так и в межузловой связи, особенно в гибридных архитектурах, сочетающих NVLink и RDMA. Ниже приведены результаты производительности в двух типичных сценариях:
Производительность обычного ядра (пересылка через NVLink и RDMA)
-
Тестовая среда:
- GPU: H800 (NVLink с максимальной пропускной способностью ~160 ГБ/с)
- Сеть: CX7 InfiniBand 400 Гбит/с RDMA NIC (макс. пропускная способность ~50 ГБ/с)
- Конфигурация: Конфигурация предварительного обучения DeepSeek-V3/R1 (размер батча: 4096 токенов, скрытый размер: 7168, top-4 слоя, top-8 экспертов, распределение FP8, агрегация BF16)
-
Результаты производительности:
- Внутриузловая связь достигает пропускной способности, близкой к максимуму NVLink (160 ГБ/с), демонстрируя чрезвычайно высокую эффективность передачи данных.
- Межузловая связь сохраняет стабильную пропускную способность при использовании RDMA, отвечая требованиям крупномасштабного распределённого обучения.

Производительность ядра с низкой задержкой (Pure RDMA)
-
Тестовая среда:
- GPU: H800
- Сеть: CX7 InfiniBand 400 Гбит/с RDMA NIC (макс. пропускная способность ~50 ГБ/с)
- Конфигурация: Типичная производственная конфигурация DeepSeek-V3/R1 (размер батча: 128 токенов, скрытый размер: 7168, top-8 экспертов, распределение FP8, агрегация BF16)
-
Результаты производительности:
- Ядро с низкой задержкой достигает задержки на уровне микросекунд в режиме Pure RDMA, что делает его подходящим для задач декодирования инференса, чувствительных к задержке.
- Даже при высокой степени параллелизма (#EP=256) пропускная способность RDMA остаётся стабильной, обеспечивая эффективную передачу данных.

Сценарии применения DeepEP
DeepEP хорошо подходит для различных сценариев обучения и инференса MoE-моделей, особенно в крупномасштабном распределённом обучении. Основные сценарии применения:
-
Обучение MoE-моделей
- Высокопроизводительное ядро DeepEP и эффективный механизм All-to-All коммуникации значительно ускоряют процесс обучения, особенно в средах с несколькими узлами и несколькими GPU.
-
Этап предварительного заполнения (prefill) инференса
- На этапе prefill инференса высокопроизводительное ядро DeepEP эффективно обрабатывает большие объёмы данных, обеспечивая эффективный конвейер инференса.
-
Этап декодирования инференса
- Для этапа декодирования ядро с низкой задержкой DeepEP минимизирует задержки инференса, что делает его идеальным для приложений реального времени.
Заключение
Согласно результатам оценки, DeepGEMM продемонстрировал значительные возможности оптимизации производительности на нескольких GPU, включая H100, H200 и H800, что подчёркивает его отличную универсальность.
Для MoE-моделей на архитектуре Hopper (таких как DeepSeek V3 и R1) интеграция оптимизаций в MoE-модуль фреймворка инференса и замена исходной версии CUTLASS grouped GEMM на реализацию DeepGEMM, как ожидается, обеспечит ускорение инференса примерно в 1,2 раза, значительно повышая общую производительность.
Novita AI — это облачная AI-платформа, которая предоставляет разработчикам простой способ развёртывания AI-моделей с помощью простого API, а также предлагает доступные и надёжные GPU-облака для построения и масштабирования.

Получите $20 кредитов и попробуйте DeepSeek сейчас!
