microsoft/DeepSpeed

DeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective.

Обучение⭐ 43 144Pythonпоследний релиз: v0.19.7
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

DeepSpeed — это библиотека оптимизации для глубокого обучения от Microsoft, упрощающая и ускоряющая распределенное обучение и инференс моделей.

Зачем нужен

Инструмент решает проблему масштабирования обучения больших моделей (LLM) на множестве GPU, делая этот процесс эффективным и доступным. Он позволяет тренировать модели, которые иначе не поместились бы в память или требовали бы слишком много времени, за счет системных оптимизаций.

Что можно реализовать

  • Тренировка крупнейших языковых моделей (LLM), таких как MT-530B и BLOOM
  • Распределенное обучение моделей с архитектурой Mixture of Experts (MoE)
  • Инференс и обучение моделей с очень длинными контекстами (Arctic Long Sequence Training)
  • Масштабирование обучения для систем рекомендаций (например, в LinkedIn)

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

  • Технологии ZeRO, ZeRO-Infinity и 3D-Parallelism для эффективного управления памятью
  • Ulysses Sequence Parallelism для работы с длинными последовательностями
  • DeepSpeed-MoE для оптимизации моделей типа Mixture of Experts
  • Новые движки отгрузки данных, такие как ZenFlow и SuperOffload, для снижения задержек
  • Интеграция с Hugging Face через DeepSpeed AutoTP для автоматического тензорного параллелизма

👤 Кому подойдёт: Исследователи в области ИИ, ML-инженеры и разработчики, работающие с крупномасштабными моделями и распределенными вычислениями.

Релизы

v0.19.7minor
🕐 4 дн назад · релиз на GitHub ↗

Исправления ZeRO, AutoTP, Triton и профилировщика; поддержка ARM SVE, macOS MPS и Qwen3.5; оптимизации DeepEP и KV-кэша.

  • Added: Добавлена поддержка архитектуры Qwen3.5 в модулях AutoTP и улучшена работа с RMSNorm.
  • Added: Внедрена опциональная транспортная шина DeepEP для All-to-All в AutoEP и поддержка ARM SVE для CPU-Adam.
  • Added: Добавлен CI для macOS (MPS) и улучшено профилирование этапов prefill и decode в rollout.
  • Fixed: Исправлены ошибки в профилировщике FLOPS, выводе Ulysses all2all и падении Triton при длинных именах устройств.
  • Fixed: Устранены проблемы с AutoTP при включенной активации, стабилизированы страбы ZeRO-3 и исправлены типы аннотаций.
v0.19.6minor
🕐 24 дн назад · релиз на GitHub ↗

DeepSpeed v0.19.6: поддержка Apple Silicon (MPS), DeepCompile, оптимизации ZeRO и исправления багов.

  • Added: Включена поддержка ZeRO Stage 1-3 на Apple Silicon (MPS).
  • Added: Добавлен нативный бэкенд pin_memory для ускорителей и поддержка CUDA Graphs в HybridEngine.
  • Added: Развитие DeepCompile: исправления ZeRO-3, поддержка AutoTP и отключение активаций.
  • Fixed: Исправлены критические ошибки ZeRO-1/2 с нулевыми параметрами, переполнение int32 и падение при универсальных чекпоинтах.
  • Fixed: Уменьшено время ожидания NCCL до 10 минут и исправлено накопление метрик FlopsProfiler.
v0.19.5patch
🕐 1 мес назад · релиз на GitHub ↗

Исправления ZeRO-3, поддержка неуправляемого накопления градиентов и фикс совместимости с PyTorch 2.12+.

  • Fixed: Исправлена асинхронная выгрузка градиентов и буферы pinned для ZeRO-3.
  • Added: Добавлена поддержка неуправляемого накопления градиентов при использовании ZeRO offload.
  • Fixed: Устранена ошибка компиляции для PyTorch 2.12 и выше.
  • Fixed: Исправлено копирование вторичных шейдов для малых параметров в ZeRO++.
  • Fixed: Исправлена универсальная конвертация AutoEP ZeRO-1/2.
v0.19.4minor
🕐 1 мес назад · релиз на GitHub ↗

Исправления MoE, ZeRO-3, LR-планировщиков и добавлена поддержка Triton для Ampere/Ada.

  • Added: Добавлена поддержка Triton grouped-GEMM для экспертов MoE на архитектурах Ampere и Ada.
  • Added: Включена поддержка ZeRO stage 3 для инференса с тензорным параллелизмом (AutoTP).
  • Fixed: Исправлена корректность работы MoE dispatch при использовании Tutel и тензорного параллелизма, ускорены пути вычислений.
  • Fixed: Устранены ошибки в работе LR-планировщиков: сохранение тензорных скоростей обучения, фикс WarmupLR и OneCycle.
  • Fixed: Исправлено слияние чекпоинтов ZeRO-3 с учетом TP и DP, а также корректная работа с выровненными параметрами.
v0.19.3minor
🕐 2 мес назад · релиз на GitHub ↗

Исправления ZeRO-3, поддержка AutoEP/AutoTP, оптимизатор Muon, Hybrid Engine для OPSD и улучшения производительности.

  • Fixed: Исправлены критические ошибки ZeRO-3: корректное использование типов данных для буферов вывода, квантования и сборки при смешанных dtype, а также устранены утечки файловых дескрипторов.
  • Added: Добавлена поддержка параллельного сжатия моделей через объединение AutoEP и AutoTP, а также развертывание Hybrid Engine для обучения On-Policy Distillation (OPSD).
  • Fixed: Запрещено использование оптимизатора Muon с reduce_scatter в режимах ZeRO-1/2 и добавлены тесты на численную корректность.
  • Added: Включена проверка переполнения градиентов для bf16 по умолчанию и добавлена настраиваемая логирование уровня движка.
  • Deprecated: Объявлено об устаревании эластичных чекпоинтов в ZeRO-3.
v0.19.2minor
🕐 3 мес назад · релиз на GitHub ↗

DeepSpeed v0.19.2: поддержка Biren SUPA, автооптимизация AutoEP/SP, улучшена работа ZeRO с torch.func и исправления DeepCompile.

  • Added: Добавлена поддержка ускорителя Biren SUPA и новый модуль AutoEP для автоматизации оптимизаций.
  • Added: Включена поддержка трансформаций torch.func для движка ZeRO 0/1/2 и добавлен метод coalesce_grad_reduction().
  • Fixed: Исправлены критические ошибки в DeepCompile (выбор кандидатов, время жизни параметров/градиентов) и ZenFlow ZeRO-3.
  • Fixed: Устранены проблемы с bank conflicts в Transpose_Kernel и улучшена стабильность FP16 оптимизатора.
  • Fixed: Исправлена интеграция ZenFlow Adam с новым потоком PyTorch backward и улучшена изоляция CI-тестов.