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.
Ejecute trabajos PyTorch de entrenamiento con SageMaker Training Compiler
Puede utilizar cualquiera de las SageMaker interfaces para ejecutar un trabajo de formación con SageMaker Training Compiler: Amazon SageMaker Studio Classic, Amazon SageMaker Notebook instances y AWS Command Line Interface. AWS SDK for Python (Boto3)
Uso del SDK SageMaker de Python
SageMaker Training Compiler for PyTorch está disponible a través de las clases de estimación SageMaker PyTorch
HuggingFace
compiler_config
parámetro a los estimadores. SageMaker Importe la clase TrainingCompilerConfig
y pase una instancia de ella al parámetro compiler_config
. Los siguientes ejemplos de código muestran la estructura de las clases de SageMaker estimadores con SageMaker Training Compiler activado.
sugerencia
Para empezar con los modelos prediseñados proporcionados por PyTorch Transformers, intenta usar los tamaños de lote que se proporcionan en la tabla de referencia de. Modelos probados
nota
El PyTorch soporte nativo está disponible en el SDK de SageMaker Python v2.121.0 y versiones posteriores. Asegúrese de actualizar el SDK de SageMaker Python en consecuencia.
nota
A partir de la PyTorch versión 1.12.0, están disponibles los contenedores SageMaker Training Compiler para ellos. PyTorch Tenga en cuenta que los contenedores SageMaker Training Compiler para Hugging Face Transformers no PyTorch vienen preempaquetados. Si necesita instalar la biblioteca en el contenedor, asegúrese de añadir el archivo requirements.txt
en el directorio de origen cuando envíe un trabajo de entrenamiento.
Para la PyTorch versión 1.11.0 y anteriores, utilice las versiones anteriores de los contenedores SageMaker Training Compiler para Hugging Face y. PyTorch
Para ver una lista completa de las versiones de marco y la información de contenedores correspondiente, consulte Marcos admitidos.
Para obtener información que se adapte a su caso de uso, consulte una de las siguientes opciones.
La siguiente lista es el conjunto mínimo de parámetros necesarios para ejecutar un trabajo de SageMaker formación con el compilador.
nota
Cuando utilice el estimador SageMaker Hugging Face, debe especificar transformers_version
los parámetros, pytorch_version
hyperparameters
, compiler_config
y para SageMaker habilitar Training Compiler. No puede utilizar image_uri
para especificar manualmente los contenedores de aprendizaje profundo integrados en el Compilador de entrenamiento que aparecen en Marcos admitidos.
-
entry_point
(str): obligatorio. Especifique el nombre de archivo de su script de entrenamiento.nota
Para ejecutar un entrenamiento distribuido con SageMaker Training Compiler y versiones anteriores, especifique PyTorch el nombre de archivo de un script de inicio para este parámetro. El script de inicio debe estar preparado para encapsular el script de entrenamiento y configurar el entorno de entrenamiento distribuido. Para obtener más información, consulte los ejemplos de cuadernos siguientes:
-
source_dir
(str): opcional. Añada esto si necesita instalar paquetes adicionales. Para instalar paquetes, debe preparar un archivorequirements.txt
en este directorio. -
instance_count
(int): obligatorio. Especifique el número de instancias. -
instance_type
(str): obligatorio. Especifique el tipo de instancia. -
transformers_version
(str) — Necesario solo cuando se utiliza el SageMaker estimador Hugging Face. Especifique la versión de la biblioteca Hugging Face Transformers compatible con SageMaker Training Compiler. Para buscar las versiones disponibles, consulte Marcos admitidos. -
framework_version
orpytorch_version
(str): obligatorio. Especifique la PyTorch versión compatible con Training Compiler SageMaker . Para buscar las versiones disponibles, consulte Marcos admitidos.nota
Cuando utilices el estimador SageMaker Hugging Face, debes especificar tanto como.
transformers_version
pytorch_version
-
hyperparameters
(dict): opcional. Especifique los hiperparámetros para el trabajo de entrenamiento, comon_gpus
,batch_size
ylearning_rate
. Cuando habilites SageMaker Training Compiler, prueba con lotes más grandes y ajusta la tasa de aprendizaje en consecuencia. Para encontrar casos prácticos sobre el uso del compilador y los tamaños de lote ajustados para mejorar la velocidad de entrenamiento, consulte Modelos probados y SageMaker Ejemplos de cuadernos y blogs de Training Compiler.nota
Para ejecutar una formación distribuida con SageMaker Training Compiler y la PyTorch versión 1.10.2 y versiones anteriores, debe añadir un parámetro adicional para especificar el guion de formación
"training_script"
, tal y como se muestra en el ejemplo de código anterior. -
compiler_config
(TrainingCompilerConfig objeto): necesario para activar SageMaker Training Compiler. Incluya este parámetro para activar SageMaker Training Compiler. A continuación se incluyen los parámetros para la claseTrainingCompilerConfig
.-
enabled
(bool): opcional. EspecifiqueTrue
oFalse
active o desactive SageMaker Training Compiler. El valor predeterminado esTrue
. -
debug
(bool): opcional. Para recibir registros de entrenamiento más detallados de sus trabajos de entrenamiento acelerados por el compilador, cámbielo aTrue
. Sin embargo, el registro adicional podría añadir una sobrecarga y ralentizar el trabajo de entrenamiento compilado. El valor predeterminado esFalse
.
-
-
distribution
(dict): opcional. Para ejecutar un trabajo de formación distribuido con SageMaker Training Compiler, añada.distribution = { 'pytorchxla' : { 'enabled': True }}
aviso
Si activas SageMaker Debugger, podría afectar al rendimiento de SageMaker Training Compiler. Te recomendamos que desactives Debugger cuando ejecutes SageMaker Training Compiler para asegurarte de que esto no afecte al rendimiento. Para obtener más información, consulte Consideraciones. Para desactivar las funcionalidades del Depurador, añada los dos argumentos siguientes al estimador:
disable_profiler=True, debugger_hook_config=False
Si el trabajo de entrenamiento con el compilador se ha iniciado correctamente, recibirá los siguientes registros durante la fase de inicialización del trabajo:
-
Con
TrainingCompilerConfig(debug=False)
Found configuration for Training Compiler Configuring SM Training Compiler...
-
Con
TrainingCompilerConfig(debug=True)
Found configuration for Training Compiler Configuring SM Training Compiler... Training Compiler set to debug mode
Uso de la operación de la API SageMaker CreateTrainingJob
SageMaker Las opciones de configuración del compilador de entrenamiento deben especificarse mediante el HyperParameters
campo AlgorithmSpecification
y de la sintaxis de la solicitud para la operación de la CreateTrainingJob
API.
"AlgorithmSpecification": { "TrainingImage": "
<sagemaker-training-compiler-enabled-dlc-image>
" }, "HyperParameters": { "sagemaker_training_compiler_enabled": "true", "sagemaker_training_compiler_debug_mode": "false", "sagemaker_pytorch_xla_multi_worker_enabled": "false" // set to "true" for distributed training }
Para obtener una lista completa de los URI de imágenes de contenedores de aprendizaje profundo que tienen implementado SageMaker Training Compiler, consulte. Marcos admitidos