Transformers documentation

DeepSpeed

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

DeepSpeed

DeepSpeed, работающий на базе Zero Redundancy Optimizer (ZeRO), — это библиотека оптимизации для обучения и подгонки очень больших моделей на GPU. Она доступна в нескольких этапах ZeRO, на каждом из которых последовательно экономится больше памяти GPU за счёт разделения состояния оптимизатора, градиентов и параметров, а также за счёт выгрузки данных на CPU или NVMe. DeepSpeed интегрирован с классом Trainer, и большая часть настройки выполняется автоматически.

Однако, если вы хотите использовать DeepSpeed без Trainer, Transformers предоставляет класс HfDeepSpeedConfig.

Подробнее об использовании DeepSpeed с Trainer см. в руководстве DeepSpeed.

HfDeepSpeedConfig

класс transformers.integrations.HfDeepSpeedConfig

< >

( config_file_or_dict )

Параметры

  • config_file_or_dict (Union[str, Dict]) — путь к файлу конфигурации DeepSpeed или словарь.

Этот объект содержит словарь конфигурации DeepSpeed и позволяет быстро получить такие сведения, как этап zero.

Слабое ссылающееся представление (weakref) этого объекта хранится в глобальных переменных модуля, чтобы обеспечить доступ к конфигурации из тех областей кода, где объекты вроде Trainer недоступны (например, в from_pretrained и _get_resized_embeddings). Поэтому важно, чтобы этот объект оставался живым, пока программа продолжает выполняться.

Trainer использует вместо этого подкласс HfTrainerDeepSpeedConfig. Этот подкласс содержит логику синхронизации конфигурации со значениями TrainingArguments путём замены специальных значений-заполнителей: "auto". Без этой специальной логики конфигурация DeepSpeed не изменяется никак.

Update on GitHub