Transformers documentation
DeepSpeed
DeepSpeed
DeepSpeed, impulsado por Zero Redundancy Optimizer (ZeRO), es una biblioteca de optimización para entrenar y ajustar modelos muy grandes en una GPU. Está disponible en varias etapas de ZeRO, donde cada etapa ahorra progresivamente más memoria de GPU al particionar el estado del optimizador, los gradientes y los parámetros, y al habilitar el descargado a una CPU o NVMe. DeepSpeed está integrado con la clase Trainer y la mayor parte de la configuración se gestiona automáticamente.
Sin embargo, si deseas usar DeepSpeed sin el Trainer, Transformers proporciona una clase HfDeepSpeedConfig.
Obtenga más información sobre el uso de DeepSpeed con Trainer en la guía de DeepSpeed.
HfDeepSpeedConfig
clase transformers.integrations.HfDeepSpeedConfig
< source >( config_file_or_dict )
Este objeto contiene un diccionario de configuración de DeepSpeed y se puede consultar rápidamente para obtener información como el nivel de zero.
Se almacena una weakref de este objeto en las variables globales del módulo para poder acceder a la configuración desde áreas donde no están disponibles elementos como el objeto Trainer (p. ej. from_pretrained y _get_resized_embeddings). Por lo tanto, es importante que este objeto permanezca activo mientras el programa siga en ejecución.
Trainer utiliza en su lugar la subclase HfTrainerDeepSpeedConfig. Esa subclase tiene lógica para sincronizar la configuración con los valores de TrainingArguments reemplazando valores de marcador de posición especiales: "auto". Sin esta lógica especial, la configuración de DeepSpeed no se modifica de ninguna manera.