Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Preguntas frecuentes sobre la biblioteca de paralelismo de datos distribuidos de Amazon SageMaker AI
Utilice lo siguiente para buscar respuestas a las preguntas más frecuentes sobre la biblioteca de SMDDP.
P: Cuando utiliza la biblioteca, ¿cómo se gestionan las instancias de CPU compatibles con allreduce? ¿Tengo que crear CPU-GPU clústeres heterogéneos o el servicio de SageMaker IA crea C5 adicionales para los trabajos que utilizan la biblioteca SMDDP?
La biblioteca de SMDDP solo admite instancias de GPU, más específicamente, instancias P4d y P4de con GPU NVIDIA A100 y EFA. No se lanzan instancias C5 o CPU adicionales; si su trabajo de entrenamiento de SageMaker IA se realiza en un clúster P4d de 8 nodos, solo se utilizan 8 instancias. ml.p4d.24xlarge No se aprovisionan instancias adicionales.
P: Tengo un trabajo de entrenamiento que tarda 5 días en una sola instancia de ml.p3.24xlarge con un conjunto de hiperparámetros H1 (tasa de aprendizaje, tamaño de lote, optimizador, etc.). ¿Utilizar la biblioteca de paralelismo de datos de SageMaker IA y un clúster cinco veces más grande es suficiente para lograr una aceleración aproximada de cinco veces? ¿O tengo que revisar sus hiperparámetros de entrenamiento después de activar la biblioteca de SMDDP?
La biblioteca cambia el tamaño total del lote. El nuevo tamaño general del lote se escala linealmente con la cantidad de instancias de entrenamiento utilizadas. Como resultado de esto, hay que cambiar los hiperparámetros, como la tasa de aprendizaje, para garantizar la convergencia.
P: ¿La biblioteca de SMDDP admite Spot?
Sí. Cómo utilizar el entrenamiento puntual gestionado. La ruta al archivo de puntos de control se especifica en el trabajo de formación. SageMaker Se habilitan los puntos de control para guardar y restaurar en su script de entrenamiento, tal como se menciona en los últimos pasos de Utilice la biblioteca SMDDP en su script de TensorFlow entrenamiento (obsoleta) y Usa la biblioteca SMDDP en tu guion de entrenamiento PyTorch.
P: ¿Es relevante la biblioteca de SMDDP en la configuración de un solo host y varios dispositivos?
Es posible utilizar la biblioteca en el entrenamiento con un solo host y varios dispositivos, pero solo ofrece mejoras de rendimiento en el entrenamiento con varios hosts.
P: ¿Dónde debe almacenarse el conjunto de datos de entrenamiento?
El conjunto de datos de entrenamiento puede almacenarse en un bucket de Amazon S3 o en una unidad de Amazon FSx. Consulte este documento para conocer varios sistemas de archivos de entrada compatibles para un trabajo de entrenamiento
P: Al utilizar la biblioteca de SMDDP, ¿es obligatorio tener datos de entrenamiento en FSx para Lustre? ¿Se pueden utilizar Amazon EFS y Amazon S3?
Por lo general, le recomendamos que utilice Amazon FSx debido a su menor latencia y mayor rendimiento. Si lo prefiere, puede utilizar Amazon EFS o Amazon S3.
P: ¿Se puede utilizar la biblioteca con nodos de CPU?
No. Para buscar tipos de instancias compatibles con la biblioteca SMDDP, consulte Tipos de instancias admitidas.
P: ¿Qué marcos y versiones de marco admite actualmente la biblioteca de SMDDP en la inicialización?
la biblioteca SMDDP actualmente es compatible con la PyTorch versión 1.6.0 o posterior y la versión 2.3.0 o posterior. TensorFlow No es compatible con la versión 1.x. TensorFlow Para obtener más información sobre qué versión de la biblioteca SMDDP está empaquetada en los contenedores de AWS deep learning, consulte Release Notes for Deep Learning Containers.
P: ¿La biblioteca admite AMP?
Sí, la biblioteca de SMDDP admite precisión mixta automática (AMP) desde el primer momento. No se necesita ninguna acción adicional para habilitar AMP que no sean las modificaciones a nivel de marco de su script de entrenamiento. Si los gradientes están en el FP16, la biblioteca de paralelismo de datos de SageMaker IA ejecuta su operación en el FP16. AllReduce Para obtener más información sobre la implementación de API de AMP en su script de entrenamiento, consulte los siguientes recursos:
-
Marcos:
en la documentación de NVIDIA Deep PyTorch Learning Performance -
Marcos: TensorFlow
en la documentación de NVIDIA Deep Learning Performace -
Precisión mixta automática para aprendizaje profundo
en los Documentos para desarrolladores de NVIDIA -
En el blog presentamos la precisión mixta PyTorch automática nativa para un entrenamiento más rápido con las GPU NVIDIA
PyTorch -
TensorFlow API de precisión mixta
en la documentación TensorFlow
P: ¿Cómo puedo identificar si mi trabajo de formación distribuida se ralentiza debido a un cuello de I/O botella?
Con un clúster más grande, el trabajo de formación requiere más I/O rendimiento y, por lo tanto, el rendimiento de la formación puede tardar más (más épocas) en alcanzar el máximo rendimiento. Esto indica que I/O se están produciendo cuellos de botella y que es más difícil acumular memoria caché a medida que se amplían los nodos (requisitos de rendimiento más altos y topología de red más compleja). Para obtener más información sobre la supervisión del rendimiento de Amazon FSx activado CloudWatch, consulte Monitoring FSx for Lustre en la Guía del usuario de FSx for Lustre.
P: ¿Cómo puedo resolver los cuellos de I/O botella al ejecutar un trabajo de formación distribuido con paralelismo de datos?
Le recomendamos encarecidamente que utilice Amazon FSx como canal de datos si utiliza Amazon S3. Si ya utiliza Amazon FSx pero sigue teniendo problemas con los cuellos de I/O botella, es posible que haya configurado su sistema de archivos Amazon FSx con un I/O rendimiento bajo y una capacidad de almacenamiento reducida. Para obtener más información sobre cómo estimar y elegir el tamaño correcto de la capacidad de I/O rendimiento, consulte. Utilice Amazon FSx y configure una capacidad óptima de almacenamiento y rendimiento
P: (Para la biblioteca v1.4.0 o versiones posteriores) ¿Cómo puedo resolver el error Invalid backend al inicializar el grupo de procesos?
Si aparece el mensaje de error ValueError: Invalid backend: 'smddp' al llamar a init_process_group, se debe a un cambio radical en la biblioteca de SMDDP v1.4.0 y versiones posteriores. Debe importar el PyTorch cliente de la bibliotecasmdistributed.dataparallel.torch.torch_smddp, que se registra smddp como servidor. PyTorch Para obtener más información, consulte Usa la biblioteca SMDDP en tu guion de entrenamiento PyTorch.
P: (Para la biblioteca de SMDDP v1.4.0 o versiones posteriores) Me gustaría llamar a las primitivas colectivas de la interfaz torch.distributedsmddp?
En v1.4.0, la biblioteca de SMDDP admite all_reduce, broadcast, reduce, all_gather y barrier de la interfaz de torch.distributed.
P: (Para la biblioteca de SMDDP v1.4.0 o versiones posteriores) ¿Funciona esta nueva API con otras clases o bibliotecas de DDP personalizadas, como Apex DDP?
La biblioteca de SMDDP se ha probado con otras bibliotecas de paralelismo de datos distribuidos por terceros e implementaciones de marcos que utilizan los módulos torch.distribtued. El uso de la biblioteca de SMDDP con clases de DDP personalizadas funciona siempre que la biblioteca de SMDDP admita las operaciones colectivas utilizadas por las clases de DDP personalizadas. Consulte la pregunta anterior para ver una lista de los colectivos compatibles. Si tienes estos casos de uso y necesitas más ayuda, ponte en contacto con el equipo de SageMaker IA a través del AWS Support Center
P: ¿La biblioteca de SMDDP admite la opción de traer su propio contenedor (BYOC)? Si es así, ¿cómo instalo la biblioteca y ejecuto un trabajo de entrenamiento distribuido escribiendo un Dockerfile personalizado?
Si quiere integrar la biblioteca de SMDDP y sus dependencias mínimas en su propio contenedor de Docker, BYOC es el enfoque correcto. Puede crear su propio contenedor utilizando el archivo binario de la biblioteca. El proceso recomendado consiste en escribir un Dockerfile personalizado con la biblioteca y sus dependencias, crear el contenedor Docker, alojarlo en Amazon ECR y utilizar el URI de la imagen ECR para lanzar un trabajo de formación con la clase de estimador genérico de IA. SageMaker Para obtener más instrucciones sobre cómo preparar un Dockerfile personalizado para una formación distribuida en IA con la biblioteca SMDDP, consulte. SageMaker Cree su propio contenedor Docker con la biblioteca paralela de datos distribuidos de SageMaker IA