DeepSeek Open-Source Week, день 2: открыт проект DeepEP 253

小编 ·

DeepSeek Open-Source Week, день 2: открыт проект DeepEP

В первый день Open-Source Week DeepSeek проект FlashMLA за полчаса набрал более 300 звёзд на GitHub, а за час превысил 100 тысяч просмотров — невероятный успех. Сегодня, во второй день, DeepSeek открывает исходный код второго проекта — DeepEP.

DeepSeek Open-Source Week, день 2: открыт проект DeepEP

Вчера был первый день недели открытого исходного кода DeepSeek ai, и открытым проектом стал FlashMLA. Менее чем за полчаса на GitHub уже набралось более 300 звёзд, а всего за час количество просмотров превысило 100 000 — проект вызвал огромный ажиотаж. Сегодня второй день недели открытого кода DeepSeek, и компания представила второй проект: Deepep.

DeepSeek开源了第2个项目:Deepep.webp

Что такое Deepep?

Deepep — это библиотека коммуникации EP с открытым исходным кодом для обучения и инференса моделей MOE. Она основана на передовой архитектуре Mixture-of-Experts и в полной мере использует крупномасштабные наборы данных для повышения эффективности предварительного обучения и дообучения. DeepEP разработан с целью снижения вычислительной нагрузки и потребления памяти, что позволяет пользователям эффективно запускать крупномасштабные модели на обычном оборудовании.

Функциональные особенности Deepep

Оптимизация архитектуры MoE:

  • DeepEP специально разработан для Mixture-of-Experts (MoE) и экспертного параллелизма (EP) и предоставляет высокоэффективные ядра all-to-all для GPU, подходящие для задач обучения и инференса.

  • Поддерживает вычисления с пониженной точностью, включая FP8 и BF16, что повышает вычислительную эффективность и экономит видеопамять.

Высокопроизводительная коммуникация:

  • Предоставляет коммуникационные ядра с высокой пропускной способностью и низкой задержкой, поддерживающие сети NVLink и RDMA. В ходе тестирования на GPU H800 максимальная пропускная способность достигает 153 ГБ/с (NVLink) и 46 ГБ/с (RDMA).

  • Оптимизирован для сценариев асимметричной пересылки полосы пропускания между NVLink и RDMA, обеспечивая высокую пропускную способность.

Коммуникация с низкой задержкой:

  • Предоставляет низколатентные ядра на чистом RDMA, особенно подходящие для этапа декодирования при инференсе, с задержкой до 163 микросекунд.

  • Использует метод перекрытия коммуникации и вычислений на основе hook, не занимающий ресурсы SM GPU, что максимизирует вычислительную эффективность.

Аппаратная оптимизация:

  • Использует неопубликованные инструкции PTX для повышения производительности архитектуры Hopper.

  • Поддерживает сети InfiniBand и теоретически совместима с RoCE, предоставляя гибкие варианты сетевой конфигурации.

Сценарии применения Deepep

Крупномасштабное обучение моделей:

  • Подходит для обучения моделей Mixture-of-Experts (MoE), обеспечивая эффективную поддержку параллельной коммуникации и значительно повышая эффективность обучения.

Задачи инференса:

  • Особенно хорошо подходит для сценариев декодирования при инференсе, чувствительных к задержкам: значительно повышает эффективность, снижает задержку и увеличивает пропускную способность инференса.

Потребности высокопроизводительных вычислений:

  • Идеально соответствует современным требованиям высокопроизводительных вычислений, поддерживает множество аппаратных платформ, включая архитектуру Hopper GPU, и в будущем может быть расширена для большего числа устройств.

Использование и интеграция Deepep

Простота использования:

  • Поддерживает архитектуру Hopper GPU, требуется окружение Python 3.8+, CUDA 12.3+ и PyTorch 2.1+.

  • При установке требуется модифицированная командой версия NVSHMEM, руководство по установке подробно описано.

Способы интеграции:

  • Имеет открытый исходный код и легко интегрируется — для сборки и запуска тестов достаточно нескольких команд.

  • После установки можно сразу использовать модуль deep_ep, предоставляются примеры кода и тестовые скрипты.

DeepEP уже опубликован на GitHub по адресу: https://github.com/deepseek-ai/DeepEP

1. Проект открытого кода первого дня DeepSeek: DeepSeek FlashMLA