Поделиться через


Распределенное обучение с помощью DeepSpeed

Это важно

Эта функция доступна в бета-версии. Администраторы рабочей области могут управлять доступом к этой функции на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".

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

Когда следует использовать DeepSpeed

Используйте DeepSpeed, когда:

  • Требуется расширенная оптимизация памяти за пределами стандартного FSDP
  • Требуется точное управление сегментированием состояния оптимизатора (Этап 1, 2 или 3)
  • Вам нужны дополнительные функции, такие как слияние накопленных градиентов, или разгрузка центрального процессора
  • Вы работаете с большими языковыми моделями (от 1 миллиарда до 100 миллиардов+ параметров)

Для более простых вариантов использования рассмотрим DDP. Сведения о FSDP для обучения больших моделей, собственных для PyTorch, см. здесь.

Контролируемая тонкая настройка с помощью TRL и DeepSpeed ZeRO Стадия 3

В этой записной книжке показано, как использовать API Python для бессерверного GPU для запуска защищенной тонкой настройки (SFT) с помощью библиотеки обучения с подкреплением преобразователей (TRL) с оптимизацией DeepSpeed ZeRO stage 3 на одном узле A10 GPU. Этот подход можно расширить до многоузловых настроек.

TRL DeepSpeed

Получите ноутбук