GUÍA Técnica

Datos completamente fragmentados en paralelo

Fully Sharded Data Parallel (FSDP) es una técnica de entrenamiento distribuido que divide los parámetros, gradientes y estados del optimizador de un modelo en muchas GPU para que cada dispositivo solo contenga una porción.

Escuche esta guíaNarrado por IA · ~2 min

En esta pagina2 minutos de lectura
  1. Descripción general
  2. Buceo profundo
  3. Implementación en el mundo real
  4. El futuro de los datos totalmente fragmentados en paralelo
  5. Poniéndolo en práctica
  6. Sigue explorando
  7. Preguntas frecuentes

Descripción general

Hace posible entrenar modelos enormes en hardware que nunca podría caber el modelo completo en la memoria de una GPU.

Buceo profundo

El paralelismo de datos tradicional mantiene una copia completa del modelo en cada GPU, lo que desperdicia memoria y limita el tamaño del modelo. FSDP, popularizado por PyTorch de Meta e inspirado en ZeRO de Microsoft, fragmenta tres cosas entre dispositivos: parámetros, gradientes y estados del optimizador. Durante el avance, cada GPU reúne temporalmente los pesos completos de la capa que está calculando mediante una recopilación total, ejecuta el cálculo y luego libera inmediatamente la copia recopilada. El paso hacia atrás funciona de manera similar, seguido de una reducción-dispersión que distribuye cortes de gradiente a sus propias GPU. Debido a que cada dispositivo solo almacena permanentemente una fracción del modelo, el uso de memoria disminuye aproximadamente de manera lineal con la cantidad de GPU, lo que permite a los equipos entrenar modelos con decenas o cientos de miles de millones de parámetros.

Implementación en el mundo real

Ajuste de un modelo Llama de 70 mil millones de parámetros en 8 GPU que individualmente no pueden soportar todos los pesos.

Entrenamiento previo de grandes modelos de lenguaje en laboratorios de inteligencia artificial fragmentando los estados del optimizador (que dominan la memoria con Adam) en cientos de aceleradores.

Investigadores que utilizan el contenedor FSDP de PyTorch para entrenar transformadores de visión en un grupo universitario sin comprar GPU emblemáticas de 80 GB.

Combinando FSDP con bfloat16 de precisión mixta para reducir aproximadamente a la mitad la memoria y acelerar el rendimiento del entrenamiento en modelos multimodales.

El futuro de los datos totalmente fragmentados en paralelo

FSDP se está convirtiendo en el valor predeterminado para el entrenamiento abierto de modelos grandes, y FSDP2 en PyTorch mejora la usabilidad y la fragmentación por parámetro. Espere una integración más estrecha con el paralelismo de tensores y canalizaciones para modelos de billones de parámetros, un mejor soporte para precisión mixta y fp8, y un ajuste automático más inteligente que selecciona los límites de fragmentación por usted. A medida que las interconexiones entre GPU como NVLink e InfiniBand se vuelven más rápidas, el costo de comunicación de la fragmentación sigue reduciéndose, lo que la hace práctica a escalas cada vez mayores.

Poniéndolo en práctica

Por qué es importante

  • Costo y presupuesto. Las decisiones de arquitectura impulsan el rendimiento y los costos operativos durante años.
  • Decisiones más claras. La educación técnica ayuda a los equipos a elegir la pila adecuada, no sólo la más nueva.
  • control de calidad. Mejores opciones de ingeniería reducen los incidentes de confiabilidad en la producción.

cuidado con

  • La optimización de un punto de referencia puede ocultar debilidades más amplias del sistema.
  • Los costos de infraestructura y mantenimiento a menudo se subestiman.
  • Las brechas de seguridad y observabilidad pueden crecer a medida que los sistemas se vuelven más complejos.

Próximos pasos

  1. Defina objetivos de latencia, calidad y costos antes de la implementación.
  2. Comparación en condiciones realistas de carga y datos.
  3. Monitoreo de instrumentos para detectar errores, deriva e impacto para el usuario.
  4. Prepare rutas de reversión y respuesta a incidentes antes de escalar.

Sigue explorando

Boletín gratuito

Recibe el resumen diario de IA

Tres noticias verificadas sobre IA cada mañana de lunes a viernes, explicadas con claridad. Gratis para siempre y sin anuncios.

Un correo cada día laborable. Date de baja con un clic. Nunca vendemos ni compartimos tu dirección.

Ponte a prueba

Take the Fully Sharded Data Parallel quiz

Corrección inmediata en cada respuesta y un certificado para compartir, con un ID verificable, cuando apruebas un curso.

Empezar el cuestionario

Apoya la educación gratuita sobre IA. AI Understanding es una organización sin fines de lucro 501(c)(3): sin anuncios ni muros de pago, nunca. Hacer una donación

Preguntas frecuentes

What is Fully Sharded Data Parallel?

Fully Sharded Data Parallel (FSDP) es una técnica de entrenamiento distribuido que divide los parámetros, gradientes y estados del optimizador de un modelo en muchas GPU para que cada dispositivo solo contenga una porción. Hace posible entrenar modelos enormes en hardware que nunca podría caber el modelo completo en la memoria de una GPU.

¿Qué fragmenta FSDP entre GPU que NO hace el paralelismo de datos estándar?

FSDP fragmenta los parámetros, gradientes y estados del optimizador del modelo en todos los dispositivos, mientras que el paralelismo de datos estándar replica el modelo completo en cada GPU.

¿Qué operación colectiva utiliza FSDP para reconstruir los pesos completos de una capa justo antes de calcularla?

Antes de que se ejecute una capa, FSDP realiza una recopilación completa para ensamblar temporalmente los parámetros completos de todos los fragmentos y luego los libera.

¿Por qué FSDP libera los pesos completos recopilados inmediatamente después del cálculo de una capa?

Mantener solo un fragmento de forma permanente y reunir todos los pesos de forma transitoria es lo que mantiene el uso de memoria bajo y aproximadamente proporcional a una fracción del modelo.

¿En qué enfoque anterior de optimización de la memoria se inspiró en gran medida el FSDP?

La fragmentación de parámetros, gradientes y estados del optimizador de FSDP sigue de cerca las ideas introducidas en ZeRO de Microsoft de la biblioteca DeepSpeed.

¿Cómo oculta FSDP gran parte de la latencia de la red para evitar la acumulación de pesos?

FSDP capta previamente los parámetros de la siguiente capa mientras la capa actual todavía está computando, superponiendo la comunicación general con trabajo útil.