Saltar al contenido principal

Entrenamiento Distribuido

AITraining soporta entrenamiento multi-GPU a través de Accelerate, con optimización opcional DeepSpeed Zero-3 para modelos grandes.

Requisitos

Backends de Distribución

Inicio Rápido

DDP (Por Defecto)

Con múltiples GPUs, DDP se usa automáticamente:

DeepSpeed

Para modelos grandes, usa DeepSpeed Zero-3:

Python API

Configuración YAML

Cómo Funciona

Launch Accelerate

El entrenamiento se inicia a través de Accelerate:
  1. AITraining detecta GPUs disponibles
  2. Inicia entrenamiento vía accelerate launch
  3. Para DeepSpeed, añade flags --use_deepspeed y Zero-3
  4. Registra accelerate env para depuración

Configuraciones DDP

Al usar DDP:
  • ddp_find_unused_parameters=False se establece para rendimiento
  • Cada GPU procesa una porción del batch
  • Los gradientes se sincronizan entre GPUs

DeepSpeed Zero-3

Al usar DeepSpeed:
  • Los parámetros del modelo se fragmentan entre GPUs
  • Usa --deepspeed_multinode_launcher standard para multi-nodo
  • La configuración Zero-3 se aplica automáticamente
  • El guardado de modelo usa accelerator.get_state_dict() con unwrapping

Entrenamiento Multi-Nodo

Para entrenamiento DeepSpeed multi-nodo:
La flag --deepspeed_multinode_launcher standard se pasa automáticamente.

Comportamiento Específico por Tarea

Entrenamiento LLM

  • Por defecto: DDP cuando se detectan múltiples GPUs
  • DeepSpeed: Establecer explícitamente --distributed-backend deepspeed

Seq2Seq y VLM

  • Selecciona automáticamente DeepSpeed para casos de muchas GPUs
  • Usa DDP multi-GPU para combinaciones PEFT + cuantización + bf16

Checkpointing con DeepSpeed

Al usar DeepSpeed, el guardado de adaptador PEFT se maneja de forma diferente. El SavePeftModelCallback no se usa; en su lugar, el guardado usa accelerator.get_state_dict(trainer.deepspeed) y desenvuelve el modelo.

Selección de GPU

Controla qué GPUs usar:

Solución de Problemas

Verificar Entorno Accelerate

Problemas Comunes

Próximos Pasos

LoRA/PEFT

Fine-tuning eficiente

Quantization

Reducir uso de memoria