# DeepSpeed

[DeepSpeed](https://github.com/deepspeedai/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](/docs/transformers/v5.23.0/es/main_classes/trainer#transformers.Trainer) y la mayor parte de la configuración se gestiona automáticamente.

Sin embargo, si deseas usar DeepSpeed sin el [Trainer](/docs/transformers/v5.23.0/es/main_classes/trainer#transformers.Trainer), Transformers proporciona una clase `HfDeepSpeedConfig`.

Obtenga más información sobre el uso de DeepSpeed con [Trainer](/docs/transformers/v5.23.0/es/main_classes/trainer#transformers.Trainer) en la guía de [DeepSpeed](../deepspeed).

## HfDeepSpeedConfig[[transformers.integrations.HfDeepSpeedConfig]]

#### transformers.integrations.HfDeepSpeedConfig[[transformers.integrations.HfDeepSpeedConfig]]

```python
transformers.integrations.HfDeepSpeedConfig(config_file_or_dict)
```

[Fuente](https://github.com/huggingface/transformers/blob/v5.23.0/src/transformers/integrations/deepspeed.py#L60)

**Parámetros:**

config_file_or_dict (`Union[str, Dict]`) : ruta al archivo de configuración de DeepSpeed o diccionario.

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](/docs/transformers/v5.23.0/es/main_classes/trainer#transformers.Trainer) utiliza en su lugar la subclase `HfTrainerDeepSpeedConfig`. Esa subclase tiene lógica para sincronizar la configuración con los valores de [TrainingArguments](/docs/transformers/v5.23.0/es/main_classes/trainer#transformers.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.

