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, 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