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.
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 clústeres de CPU y GPU heterogéneos o el servicio de SageMaker IA crea C5 adicionales para los trabajos que utilizan la biblioteca SMDDP?
La biblioteca SMDDP solo admite instancias de GPU, más específicamente, instancias P4d y P4de con NVIDIA A100 y EFA. GPUs No se lanzan instancias C5 o CPU adicionales; si tu 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 Utilice la biblioteca SMDDP en su guion de formación 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 se puede almacenar en un bucket de Amazon S3 o en un Amazon FSx Drive. Consulte este documento para conocer varios sistemas de archivos de entrada compatibles para un trabajo de entrenamiento
P: Al utilizar la biblioteca SMDDP, ¿es obligatorio tener los datos de entrenamiento en Lustre FSx ? ¿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 se incluye 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 hay gradientes FP16, la biblioteca de paralelismo de datos de SageMaker IA ejecuta su operación en ella. AllReduce
FP16 Para obtener más información sobre cómo implementar AMP APIs en tu guion de entrenamiento, consulta los siguientes recursos:
-
Marcos: PyTorch
en la documentación de NVIDIA Deep Learning Performace -
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 GPUs en NVIDIA
PyTorch -
TensorFlow precisión mixta APIs
en la TensorFlow documentación
P: ¿Cómo identifico si mi trabajo de entrenamiento distribuido se ralentiza debido a un cuello de botella de E/S?
Con un clúster más grande, el trabajo de entrenamiento requiere más rendimiento de E/S y, por lo tanto, el rendimiento del entrenamiento podría tardar más (más épocas) en aumentar el rendimiento máximo. Esto indica que E/S está teniendo cuellos de botella y que el caché es más difícil de crear a medida que aumenta la escala de los nodos (mayor requerimiento de rendimiento, topología de red más compleja). Para obtener más información sobre cómo monitorizar el FSx rendimiento de Amazon en CloudWatch, consulta Monitoring FSx for Lustre en la Guía del usuario de FSx for Lustre.
P: ¿Cómo puedo resolver los cuellos de botella de E/S al ejecutar un trabajo de entrenamiento distribuido con paralelismo de datos?
Le recomendamos encarecidamente que utilice Amazon FSx como canal de datos si utiliza Amazon S3. Si ya utilizas Amazon FSx pero sigues teniendo problemas con los cuellos de botella de E/S, es posible que hayas configurado tu sistema de FSx archivos de Amazon con un rendimiento de E/S bajo y una capacidad de almacenamiento pequeña. Para obtener más información sobre cómo estimar y elegir el tamaño correcto de la capacidad de rendimiento de E/S, consulteUsa Amazon FSx y configura 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. Debes 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 Utilice la biblioteca SMDDP en su guion de formación 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.distributed
smddp
?
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 SMDDP admite la opción bring-your-own-container (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