Utilice un algoritmo para ejecutar un trabajo de ajuste de hiperparámetros - Amazon SageMaker

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 un algoritmo para ejecutar un trabajo de ajuste de hiperparámetros

En la siguiente sección se explica cómo utilizar un recurso de algoritmo para ejecutar un trabajo de ajuste de hiperparámetros en Amazon SageMaker. Un trabajo de ajuste de hiperparámetros encuentra la mejor versión de un modelo ejecutando muchos trabajos de capacitación en su conjunto de datos utilizando el algoritmos y los rangos de hiperparámetros que usted especifique. A continuación, elige los valores de hiperparámetros que dan lugar a un modelo con el mejor rendimiento medido por una métrica de su elección. Para obtener más información, consulte Ajuste automático del modelo con SageMaker.

Puede crear y utilizar un recurso de algoritmo para crear un trabajo de ajuste de hiperparámetros mediante la SageMaker consola de Amazon, el Amazon SageMaker API de bajo nivel o Amazon Python SageMaker . SDK

Utilice un algoritmo para ejecutar un trabajo de ajuste de hiperparámetros (consola)

Para utilizar un algoritmo para ejecutar un trabajo de ajuste de hiperparámetros (consola)
  1. Abra la SageMaker consola en. https://console.aws.amazon.com/sagemaker/

  2. Elija Algorithms (Algoritmos).

  3. Elija un algoritmo de los que creado de la lista en la pestaña My algorithms (Mis algoritmos) o elija un algoritmo al que se suscribió en la pestaña subscriptions (Suscripciones de AWS Marketplace ).

  4. Elija Create hyperparameter tuning job (Crear trabajo de ajuste de hiperparámetros)

    El algoritmo que eligió se seleccionará automáticamente.

  5. En la página Create hyperparameter tuning job (Crear trabajo de ajuste de hiperparámetros) proporcione la siguiente información:

    1. En Warm start (Inicio en caliente), elija Enable warm start (Habilitar inicio en caliente) para utilizar la información de trabajos de ajuste de hiperparámetros anteriores como punto de partida para este trabajo de ajuste de hiperparámetros. Para obtener más información, consulte Ejecución de un trabajo de ajuste de hiperparámetros de inicio en caliente.

      1. Elija Identical data and algorithm (Datos idénticos y algoritmo) si los datos de entrada se corresponden con los datos de entrada de los trabajos principales de este trabajo de ajuste de hiperparámetros o elija Transfer learning (Transferir aprendizaje) para utilizar datos de entrada adicional o diferente para este trabajo de ajuste de hiperparámetros.

      2. Para Parent hyperparameter tuning job(s) (Trabajo(s) principal(es) de ajuste de hiperparámetros), elija hasta 5 trabajos de ajuste de hiperparámetros para utilizarlos como principales de este trabajo de ajuste de hiperparámetros.

    2. En Hyperparameter tuning job name (Nombre del trabajo de ajuste de hiperparámetros), escriba un nombre para el trabajo de ajuste.

    3. Para el IAMrol, elija un IAM rol que tenga los permisos necesarios para ejecutar tareas de ajuste de hiperparámetros o elija Crear un nuevo rol SageMaker para permitir crear un rol que tenga asociada la política AmazonSageMakerFullAccess administrada. SageMaker Para obtener más información, consulte Cómo utilizar las funciones SageMaker de ejecución.

    4. Para VPCello, elige un Amazon al VPC que quieras permitir el acceso a los trabajos de formación que lanza el trabajo de ajuste. Para obtener más información, consulte Ofrezca a los trabajos de SageMaker formación acceso a los recursos de su Amazon VPC.

    5. Elija Next (Siguiente).

    6. Para Objective metric (Métrica objetiva), elija la métrica que el trabajo ajuste de hiperparámetros utiliza para determinar la mejor combinación de hiperparámetros y, a continuación, elija si desea minimizar o maximizar esta métrica. Para obtener más información, consulte Visualización del mejor trabajo de entrenamiento.

    7. Para Hyperparameter configuration (Configuración de hiperparámetros), elija rangos para los hiperparámetros ajustables que quiere que el trabajo de ajuste busque y establezca valores estáticos para los hiperparámetros que quiere que permanezcan constantes en todos los trabajos de capacitación lanzados por el trabajo de ajuste de hiperparámetros. Para obtener más información, consulte Definición de intervalos de hiperparámetros.

    8. Elija Next (Siguiente).

    9. Para Input data configuration (Configuración de datos de entrada), especifique los siguientes valores para cada canal de datos de entrada que se va a utilizar para el trabajo de ajuste de hiperparámetros. Puede ver qué canales admite el algoritmo que está utilizando para el ajuste de hiperparámetros y el tipo de contenido, el tipo de compresión admitido y modos de entrada admitidos para cada canal bajo la sección Channel specification (Especificación de canal) de la página Algorithm summary (Resumen del algoritmo) para el algoritmo.

      1. En Channel name (Nombre del canal), escriba el nombre del canal de entrada.

      2. En Content type (Tipo de contenido), escriba el tipo de contenido de los datos que el algoritmo espera para el canal.

      3. Para Compression type (Tipo de compresión), elija el tipo de compresión de datos que se va a utilizar, si procede.

      4. Para Record wrapper (Contenedor de registros), elija RecordIO si el algoritmo espera los datos en el formato RecordIO.

      5. Para S3 data type (Tipo de datos de S3), S3 data distribution type (Tipo de distribución de datos de S3) y S3 location (Ubicación de S3), especifique los valores adecuados. Para obtener más información acerca del significado de estos valores, consulte S3DataSource.

      6. En Input mode (Modo de entrada), seleccione File (Archivo) para descargar los datos desde el volumen de almacenamiento de machine learning provisionado y montar el directorio en un volumen de Docker. Elija Pipe (Canalización) para transmitir los datos directamente desde Amazon S3 al contenedor.

      7. Para añadir otro canal de entrada, elija Add canal (Añadir canal). Si ha terminado de añadir canales de entrada, elija Done (Listo).

    10. En Output location (Ubicación de salida), especifique los siguientes valores:

      1. Para S3 output path (Ruta de salida de S3), elija la ubicación de S3 donde los trabajos de capacitación que este trabajo de ajuste de hiperparámetros almacenan la salida, como los artefactos de modelos.

        nota

        Usted utiliza los artefactos de modelos almacenados en esta ubicación para crear un modelo o paquete de modelos de este trabajo de ajuste de hiperparámetros.

      2. En el caso de la clave de cifrado, si SageMaker desea utilizar una AWS KMS clave para cifrar los datos de salida en reposo en la ubicación S3.

    11. Para Resource configuration (Configuración de recursos) proporcione la siguiente:

      1. En Instance type (Tipo de instancia), elija el tipo de instancia que desea utilizar para cada trabajo de capacitación lanzado por el trabajo de ajuste de hiperparámetros.

      2. En Instance count (Recuento de instancias), escriba el número de instancias de machine learning que desea utilizar para cada trabajo de entrenamiento lanzado por el trabajo de ajuste de hiperparámetros.

      3. En Additional volume per instance (GB) (Volumen adicional por instancia (GB)), escriba el tamaño del volumen de almacenamiento de machine learning que desea aprovisionar para cada trabajo de entrenamiento que el trabajo de ajuste de hiperparámetros lance. Los volúmenes de almacenamiento de ML almacenan artefactos de modelos y estados incrementales.

      4. En el caso de la clave de cifrado, si desea que Amazon SageMaker utilice una AWS clave del Servicio de administración de claves para cifrar los datos del volumen de almacenamiento de aprendizaje automático adjunto a las instancias de formación, especifique la clave.

    12. Para Resource limits (Límites de recursos) proporcione lo siguiente:

      1. En Maximum training jobs (Máximo de trabajos de capacitación), especifique el número máximo de trabajos de capacitación que desea que el trabajo de ajuste de hiperparámetros lance. Un trabajo de ajuste de hiperparámetros puede lanzar un máximo de 500 trabajos de capacitación.

      2. En Maximum parallel training jobs (Máximo de trabajos de capacitación paralelos), especifique el número máximo de trabajos de capacitación simultáneos que el trabajo de ajuste de hiperparámetros puede lanzar. Un trabajo de ajuste de hiperparámetros puede lanzar un máximo de 10 trabajos de capacitación simultáneos.

      3. En Stopping condition (Condición de detención), especifique la cantidad máxima de tiempo en segundos, minutos, horas o días durante el cual desea que se ejecute cada trabajo de capacitación lanzado por el trabajo de ajuste de hiperparámetros.

    13. En Tags (Etiquetas), especifique una o varias etiquetas para administrar el trabajo de ajuste de hiperparámetros. Cada etiqueta consta de una clave y un valor opcional. Las claves de las etiquetas deben ser únicas para cada recurso.

    14. Elija Create jobs (Crear trabajos) para ejecutar el trabajo de ajuste de hiperparámetros.

Utilice un algoritmo para ejecutar un trabajo de ajuste de hiperparámetros () API

Para usar un algoritmo para ejecutar un trabajo de ajuste de hiperparámetros mediante el SageMaker API, especifique el nombre o el nombre del recurso de Amazon (ARN) del algoritmo como AlgorithmName campo del AlgorithmSpecificationobjeto al CreateHyperParameterTuningJobque se pasa. Para obtener información sobre el ajuste de hiperparámetros SageMaker, consulte. Ajuste automático del modelo con SageMaker

Uso de un algoritmo para ejecutar un trabajo de ajuste de hiperparámetros (Amazon SageMaker Python SDK)

Utilice un algoritmo que haya creado o al que se haya suscrito AWS Marketplace para crear un trabajo de ajuste de hiperparámetros, cree un AlgorithmEstimator objeto y especifique el nombre del recurso de Amazon (ARN) o el nombre del algoritmo como valor del algorithm_arn argumento. A continuación, inicialice un objeto HyperparameterTuner con el AlgorithmEstimator que ha creado como el valor del argumento estimator. Por último, llame al método fit de AlgorithmEstimator. Por ejemplo:

from sagemaker import AlgorithmEstimator from sagemaker.tuner import HyperparameterTuner data_path = os.path.join(DATA_DIR, 'marketplace', 'training') algo = AlgorithmEstimator( algorithm_arn='arn:aws:sagemaker:us-east-2:764419575721:algorithm/scikit-decision-trees-1542410022', role='SageMakerRole', instance_count=1, instance_type='ml.c4.xlarge', sagemaker_session=sagemaker_session, base_job_name='test-marketplace') train_input = algo.sagemaker_session.upload_data( path=data_path, key_prefix='integ-test-data/marketplace/train') algo.set_hyperparameters(max_leaf_nodes=10) tuner = HyperparameterTuner(estimator=algo, base_tuning_job_name='some-name', objective_metric_name='validation:accuracy', hyperparameter_ranges=hyperparameter_ranges, max_jobs=2, max_parallel_jobs=2) tuner.fit({'training': train_input}, include_cls_metadata=False) tuner.wait()