Puntos de comprobación por niveles administrados por HyperPod
En esta sección se explica cómo funcionan los puntos de comprobación por niveles administrados y las ventajas que ofrecen a la hora de entrenar modelos de gran tamaño.
Los puntos de comprobación por niveles administrados por Amazon SageMaker HyperPod le ayudan a entrenar modelos de IA generativa de gran tamaño de manera más eficaz. Utiliza varios niveles de almacenamiento, incluida la memoria de la CPU del clúster. Este enfoque reduce el tiempo de recuperación y minimiza las pérdidas durante el proceso de entrenamiento. También utiliza recursos de memoria infrautilizados de su infraestructura de entrenamiento.
Los puntos de comprobación por niveles administrados permiten guardar los puntos de comprobación con mayor frecuencia en la memoria. Se guardan periódicamente en un almacenamiento duradero. Esto mantiene tanto el rendimiento como la fiabilidad durante el proceso de entrenamiento.
En esta guía se explica cómo definir, configurar y usar los puntos de comprobación por niveles administrados con marcos de PyTorch en los clústeres de Amazon EKS HyperPod.
Funcionamiento de los puntos de comprobación por niveles administrados
Los puntos de comprobación por niveles administrados utilizan un enfoque de almacenamiento de varios niveles. La memoria de la CPU es el nivel principal donde se almacenan los puntos de comprobación del modelo. Los niveles secundarios incluyen opciones de almacenamiento persistente, como Amazon S3.
Al guardar un punto de comprobación, el sistema lo almacena en el espacio de memoria asignado a los nodos de su clúster. Después replica automáticamente los datos en los nodos de computación adyacentes para mejorar la fiabilidad. Esta estrategia de replicación protege contra los fallos de uno o varios nodos y, al mismo tiempo, proporciona un acceso rápido a las operaciones de recuperación.
El sistema también guarda periódicamente los puntos de comprobación en el almacenamiento persistente de acuerdo con su configuración. Esto garantiza la durabilidad a largo plazo de su proceso de entrenamiento.
Los componentes clave son:
-
Sistema de administración de la memoria: es un daemon de administración de memoria que proporciona memoria desagregada como servicio para el almacenamiento en puntos de comprobación.
-
Biblioteca de HyperPod Python: interactúa con las API de almacenamiento desagregado y proporciona utilidades para guardar, cargar y administrar puntos de comprobación en todos los niveles.
-
Replicación de puntos de comprobación: replica automáticamente los puntos de comprobación en varios nodos para garantizar la tolerancia a errores.
El sistema se integra perfectamente con los ciclos de entrenamiento de PyTorch realizando sencillas llamadas a la API. Requiere realizar una serie de cambios mínimos en el código existente.
Ventajas
Los puntos de comprobación por niveles administrados ofrecen varias ventajas para el entrenamiento de modelos de gran tamaño:
-
Mejora del uso: administra la grabación, la replicación, la persistencia y la recuperación de los puntos de comprobación
-
Operaciones de puntos de comprobación más rápidas: el almacenamiento basado en memoria proporciona tiempos de carga y almacenamiento más rápidos en comparación con los puntos de comprobación basados en disco, lo que permite una recuperación más rápida
-
Tolerancia a errores: la replicación automática de puntos de comprobación entre nodos protege contra los fallos de los nodos de hardware
-
Cambios mínimos en el código: la integración sencilla de la API solo requiere modificaciones menores en los scripts de entrenamiento existentes
-
Mejora del rendimiento del entrenamiento: la reducción de la sobrecarga de los puntos de comprobación significa que se dedica más tiempo al entrenamiento real