Офлайн-фреймворк инференса с открытым исходным кодом от DeepSeek для запуска DeepSeek-V4.1-Flash на NVIDIA SM100 и Huawei Ascend 950.
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
Установите зависимость NCCL
python -m pip install "nvidia-nccl-cu13>=2.32.3" --no-deps - 2
Инициализируйте подмодуль DeepJIT
git submodule update --init --recursive - 3
Соберите wheel и установите его в текущую среду Python
bash install.sh - 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 обновляется ежедневно.
Похожие проекты
SGLang — открытый фреймворк для инференса больших языковых и мультимодальных моделей, а также diffusion-моделей на GPU, TPU и CPU разных платформ.
Быстрая и эффективная по памяти библиотека и сервер для запуска и обслуживания больших языковых моделей через API, совместимый с OpenAI.
Ray — единый фреймворк для масштабирования приложений на Python и ИИ: от ноутбука до кластера, с распределённой средой выполнения и библиотеками для ИИ.
Библиотека для оптимизации глубокого обучения, упрощающая и ускоряющая распределённое обучение и инференс больших моделей.
Официальная реализация FlashAttention — точного и экономного по памяти attention-ядра для обучения и инференса Transformer-моделей на GPU.