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, propulsé par le Zero Redundancy Optimizer (ZeRO), est une bibliothèque d’optimisation pour l’entraînement et l’ajustement de très grands modèles sur un GPU. Elle est disponible en plusieurs stades ZeRO, où chaque stade économise progressivement plus de mémoire GPU en partitionnant l’état de l’optimiseur, les gradients et les paramètres, et en permettant le déchargement vers un CPU ou un NVMe. DeepSpeed est intégré à la classe Trainer et la plupart de la configuration est prise en charge automatiquement pour vous.

Cependant, si vous souhaitez utiliser DeepSpeed sans le Trainer, Transformers fournit une classe HfDeepSpeedConfig.

En savoir plus sur l'utilisation de DeepSpeed avec Trainer dans le guide DeepSpeed.

HfDeepSpeedConfig

classe transformers.integrations.HfDeepSpeedConfig

< >

( config_file_or_dict )

Paramètres

  • config_file_or_dict (Union[str, Dict]) — chemin vers le fichier de configuration DeepSpeed ou dictionnaire.

Cet objet contient un dictionnaire de configuration DeepSpeed et permet de consulter rapidement des éléments tels que le niveau zero.

Un weakref de cet objet est stocké dans les variables globales du module afin de pouvoir accéder à la configuration depuis des zones où des éléments comme l’objet Trainer ne sont pas disponibles (par exemple from_pretrained et _get_resized_embeddings). Il est donc important que cet objet reste en vie tant que le programme est en cours d’exécution.

Trainer utilise à la place la sous-classe HfTrainerDeepSpeedConfig. Cette sous-classe contient une logique qui synchronise la configuration avec les valeurs de TrainingArguments en remplaçant les valeurs de remplacement spéciales : "auto". Sans cette logique spéciale, la configuration DeepSpeed n’est modifiée d’aucune manière.

Update on GitHub