
DeepSeek“开源周”活动 продолжается во второй день, ознаменовавшись выпуском DeepEP — первой в своем роде библиотеки EP-коммуникаций с открытым исходным кодом, предназначенной для обучения и инференса моделей MoE.
Репозиторий AI-инструментария доступен по адресу: https://github.com/deepseek-ai/DeepEP

Согласно официальным заявлениям, DeepEP обладает следующими характеристиками:
- Высокоэффективные и оптимизированные методы коммуникации "все ко всем"
- Поддержка коммуникаций внутри и между узлами, совместимость с технологиями NVLink и RDMA
- Высокопроизводительные ядра, повышающие эффективность префиллинга на этапах обучения и инференса
- Ядра с низкой задержкой, оптимизирующие скорость декодирования при инференсе
- Полная поддержка формата данных FP8
- Гибкое управление ресурсами GPU, обеспечивающее параллельное выполнение вычислений и коммуникаций
Более подробное описание библиотеки DeepEP:
DeepEP — это коммуникационная библиотека, разработанная специально для моделей Mixture of Experts (MoE) и Expert Parallelism (EP). Она предоставляет высокопроизводительные и низколатентные ядра all-to-all GPU, которые обычно используются для операций отправки и объединения MoE. Библиотека также поддерживает вычисления с низкой точностью, включая FP8.
Для обеспечения совместимости с алгоритмом Group Restricted Gating, представленным в статье DeepSeek-V3, DeepEP предлагает ряд ядер, оптимизированных для асимметричной пересылки данных, например, из домена NVLink в домен RDMA. Эти оптимизированные ядра обеспечивают высокую пропускную способность и подходят для задач предварительной подготовки данных при обучении и инференсе, а также поддерживают управление количеством SM (потоковых мультипроцессоров).
Для задач декодирования при инференсе, критичных к задержкам, DeepEP предоставляет набор ядер с низкой задержкой, использующих исключительно технологию RDMA для минимизации задержек. Кроме того, в библиотеке реализован метод перекрытия коммуникаций и вычислений на основе хуков, не занимающий ресурсы SM.
Требования к системе:
- GPU Hopper (в дальнейшем может быть расширена поддержка других архитектур и устройств)
- Python 3.8 и выше
- CUDA 12.3 и выше
- PyTorch 2.1 и выше
- NVLink для коммуникаций между узлами
- RDMA-сеть для коммуникаций между узлами