Transformers documentation

DeepSpeed

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

DeepSpeed

DeepSpeed, movido pelo Zero Redundancy Optimizer (ZeRO), é uma biblioteca de otimização para treinar e ajustar modelos muito grandes em uma GPU. Está disponível em vários estágios do ZeRO, em que cada estágio economiza progressivamente mais memória de GPU ao particionar o estado do otimizador, os gradientes e os parâmetros, e ao permitir o offloading para a CPU ou NVMe. O DeepSpeed é integrado à classe Trainer e a maior parte da configuração é tratada automaticamente para você.

No entanto, se você quiser usar o DeepSpeed sem o Trainer, o Transformers fornece a classe HfDeepSpeedConfig.

Saiba mais sobre o uso do DeepSpeed com o Trainer no guia DeepSpeed.

HfDeepSpeedConfig

classe transformers.integrations.HfDeepSpeedConfig

< >

( config_file_or_dict )

Parâmetros

  • config_file_or_dict (Union[str, Dict]) — caminho para o arquivo de configuração do DeepSpeed ou um dicionário.

Este objeto contém um dicionário de configuração do DeepSpeed e pode ser consultado rapidamente para informações como o estágio zero.

Uma weakref deste objeto é armazenada nos globais do módulo para permitir o acesso à configuração em áreas em que coisas como o objeto Trainer não estão disponíveis (por exemplo, from_pretrained e _get_resized_embeddings). Portanto, é importante que este objeto permaneça vivo enquanto o programa ainda estiver em execução.

O Trainer usa a subclasse HfTrainerDeepSpeedConfig. Essa subclasse possui lógica para sincronizar a configuração com os valores de TrainingArguments, substituindo valores de placeholder especiais: "auto". Sem essa lógica especial, a configuração do DeepSpeed não é modificada de forma alguma.

Update on GitHub