Repolode
deepseek-ai

deepseek-ai/DeepEP

Библиотека для обмена данными между GPU при dispatch и combine в MoE с expert parallelism: поддерживает FP8, NVLink и RDMA для обучения и инференса.

Звёзды
10,294
Форки
1,481
Открытые issues
299
Последний коммит
4 дня назад

Что это?

DeepEP — библиотека для обмена данными при обучении и инференсе крупных моделей машинного обучения. В её основе — GPU-ядра all-to-all для expert parallelism (EP) в моделях Mixture-of-Experts: они отправляют токены экспертам и возвращают результаты на исходные ранги, в том числе с использованием FP8. Библиотека поддерживает режимы высокой пропускной способности и низкой задержки через единый интерфейс EPBuffer, а ядра обмена данными компилируются во время выполнения с помощью DeepJIT.

Помимо EP, проект включает экспериментальные примитивы для параллелизма по конвейеру, контексту и данным — через пакетные операции all-gather, reduce-scatter и all-reduce, — а также удалённый доступ к памяти для хранилища Engram. Ещё есть вспомогательные средства для динамических избыточных экспертов, например предварительная загрузка весов по NVLink и редукция градиентов внутри домена NVLink.

Библиотека предназначена для Linux, GPU NVIDIA Hopper и новее, PyTorch с CUDA и NCCL. Для обмена данными внутри узла используется NVLink, а между узлами — сети RDMA, например InfiniBand или RoCE.

Ключевые возможности

  • 01Ядра all-to-all для dispatch и combine в моделях MoE с expert parallelism и поддержкой dispatch в FP8.
  • 02Единый интерфейс EPBuffer для режимов высокой пропускной способности и низкой задержки.
  • 03Компиляция ядер обмена данными во время выполнения с помощью DeepJIT для текущего GPU.
  • 04Предварительная загрузка весов по NVLink и редукция градиентов для динамических избыточных экспертов.
  • 05Экспериментальные пакетные коллективные операции и передача данных send/recv для параллелизма по конвейеру через RDMA.

Сценарии использования

  • Обучение крупных моделей Mixture-of-Experts на нескольких GPU и узлах.
  • Обслуживание моделей MoE с фазами prefill и decoding, которым нужна быстрая маршрутизация к экспертам.
  • Создание собственной балансировки нагрузки экспертов с репликацией часто используемых экспертов внутри домена NVLink.

Быстрый старт

  1. 1

    Установите зависимость NCCL

    python -m pip install "nvidia-nccl-cu13>=2.32.3" --no-deps
  2. 2

    Инициализируйте подмодуль DeepJIT

    git submodule update --init --recursive
  3. 3

    Соберите wheel и установите его в текущую среду Python

    bash install.sh
  4. 4

    Импортируйте deep_ep в свой проект Python

Что важно знать

  • Требуется Linux и графический процессор NVIDIA Hopper или новее.
  • Для связи между узлами требуется сеть RDMA, а для использования внутри узла — NVLink.
  • Функции Bucket, Engram и PP находятся в экспериментальной стадии.

Темы

Частые вопросы

Что такое DeepEP?
Библиотека для обмена данными между GPU при dispatch и combine в MoE с expert parallelism: поддерживает FP8, NVLink и RDMA для обучения и инференса. DeepEP — библиотека для обмена данными при обучении и инференсе крупных моделей машинного обучения. В её основе — GPU-ядра all-to-all для expert parallelism (EP) в моделях Mixture-of-Experts: они отправляют токены экспертам и возвращают результаты на исходные ранги, в том числе с использованием FP8. Библиотека поддерживает режимы высокой пропускной способности и низкой задержки через единый интерфейс EPBuffer, а ядра обмена данными компилируются во время выполнения с помощью DeepJIT.
DeepEP можно использовать бесплатно? Какая у него лицензия?
DeepEP распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
DeepEP всё ещё поддерживается?
Активно поддерживается. Последний коммит в DeepEP — 16 окт. 2026 г..
Для чего можно использовать DeepEP?
Обучение крупных моделей Mixture-of-Experts на нескольких GPU и узлах. Обслуживание моделей MoE с фазами prefill и decoding, которым нужна быстрая маршрутизация к экспертам. Создание собственной балансировки нагрузки экспертов с репликацией часто используемых экспертов внутри домена NVLink.
Как установить DeepEP?
Установите зависимость NCCL: python -m pip install "nvidia-nccl-cu13>=2.32.3" --no-deps Инициализируйте подмодуль DeepJIT: git submodule update --init --recursive Соберите wheel и установите его в текущую среду Python: bash install.sh Импортируйте deep_ep в свой проект Python
Где скачать DeepEP?
Исходный код и инструкции по установке — на GitHub: https://github.com/deepseek-ai/DeepEP

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты