Entrenamiento de modelos con el comando modeltraining - Amazon Neptune

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.

Entrenamiento de modelos con el comando modeltraining

El comando modeltraining de Neptune ML se utiliza para crear un trabajo de entrenamiento de modelos, comprobar su estado, detenerlo o enumerar todos los trabajos de entrenamiento de modelos activos.

Creación de un trabajo de entrenamiento de modelos mediante el comando modeltraining de Neptune ML

Un comando modeltraining de Neptune ML para crear un trabajo completamente nuevo tiene el siguiente aspecto:

curl \ -X POST https://(your Neptune endpoint)/ml/modeltraining -H 'Content-Type: application/json' \ -d '{ "id" : "(a unique model-training job ID)", "dataProcessingJobId" : "(the data-processing job-id of a completed job)", "trainModelS3Location" : "s3://(your Amazon S3 bucket)/neptune-model-graph-autotrainer" }'

Un comando modeltraining de Neptune ML para crear un trabajo de actualización para el entrenamiento incremental de modelos tiene el siguiente aspecto:

curl \ -X POST https://(your Neptune endpoint)/ml/modeltraining -H 'Content-Type: application/json' \ -d '{ "id" : "(a unique model-training job ID)", "dataProcessingJobId" : "(the data-processing job-id of a completed job)", "trainModelS3Location" : "s3://(your Amazon S3 bucket)/neptune-model-graph-autotrainer" "previousModelTrainingJobId" : "(the job ID of a completed model-training job to update)", }'

Un comando modeltraining de Neptune ML para crear un nuevo trabajo con una implementación de modelo personalizada proporcionada por el usuario tiene el siguiente aspecto:

curl \ -X POST https://(your Neptune endpoint)/ml/modeltraining -H 'Content-Type: application/json' \ -d '{ "id" : "(a unique model-training job ID)", "dataProcessingJobId" : "(the data-processing job-id of a completed job)", "trainModelS3Location" : "s3://(your Amazon S3 bucket)/neptune-model-graph-autotrainer" "modelName": "custom", "customModelTrainingParameters" : { "sourceS3DirectoryPath": "s3://(your Amazon S3 bucket)/(path to your Python module)", "trainingEntryPointScript": "(your training script entry-point name in the Python module)", "transformEntryPointScript": "(your transform script entry-point name in the Python module)" } }'
Parámetros para la creación de trabajos de modeltraining
  • id: (opcional) un identificador único para el trabajo nuevo.

    Tipo: cadena. Valor predeterminado: un UUID generado automáticamente.

  • dataProcessingJobId: (obligatorio) el ID del trabajo de procesamiento de datos completado que ha creado los datos con los que se trabajará en el entrenamiento.

    Tipo: cadena.

  • trainModelS3Location: (obligatorio) la ubicación en Amazon S3 donde se van a almacenar los artefactos del modelo.

    Tipo: cadena.

  • previousModelTrainingJobId: (opcional) el ID del trabajo de entrenamiento de modelos completado que desee actualizar de forma incremental en función de los datos actualizados.

    Tipo: cadena. Valor predeterminado: ninguno.

  • sagemakerIamRoleArn: (opcional) el ARN de un rol de IAM para la ejecución de SageMaker.

    Tipo: cadena. Nota: Debe figurar en el grupo de parámetros del clúster de base de datos o se producirá un error.

  • neptuneIamRoleArn: (opcional) el ARN de un rol de IAM que proporciona a Neptune acceso a los recursos de SageMaker y Amazon S3.

    Tipo: cadena. Nota: Debe figurar en el grupo de parámetros del clúster de base de datos o se producirá un error.

  • modelName: (opcional) el tipo de modelo para el entrenamiento. De forma predeterminada, el modelo de ML se basa automáticamente en el modelType utilizado en el procesamiento de datos, pero aquí puede especificar otro tipo de modelo.

    Tipo: cadena. Valor predeterminado: rgcn para gráficos heterogéneos y kge para gráficos de conocimientos. Valores válidos: para gráficos heterogéneos: rgcn. Para gráficos de kge: transe, distmult o rotate. Para la implementación de modelos personalizados: custom.

  • baseProcessingInstanceType: (opcional) el tipo de instancia de ML que se utiliza para preparar y administrar el entrenamiento de modelos de ML.

    Tipo: cadena. Nota: Se trata de una instancia de CPU que se elige en función de los requisitos de memoria para procesar los datos y el modelo de entrenamiento. Consulte Selección de una instancia para el entrenamiento y la transformación de modelos.

  • trainingInstanceType: (opcional) el tipo de instancia de ML que se utiliza para el entrenamiento de modelos. Todos los modelos de Neptune ML admiten el entrenamiento con CPU, GPU y varias GPU.

    Tipo: cadena. Valor predeterminado: ml.p3.2xlarge.

    Nota: La elección del tipo de instancia adecuado para el entrenamiento depende del tipo de tarea, del tamaño del gráfico y del presupuesto. Consulte Selección de una instancia para el entrenamiento y la transformación de modelos.

  • trainingInstanceVolumeSizeInGB: (opcional) el tamaño del volumen del disco de la instancia de entrenamiento. Tanto los datos de entrada como los datos de salida se almacenan en el disco, por lo que el tamaño del volumen debe ser lo suficientemente grande como para incluir ambos conjuntos de datos.

    Tipo: número entero. Valor predeterminado: 0.

    Nota: Si no se especifica o el valor es 0, Neptune ML selecciona un tamaño de volumen de disco en función de la recomendación generada en el paso de procesamiento de datos. Consulte Selección de una instancia para el entrenamiento y la transformación de modelos.

  • trainingTimeOutInSeconds: (opcional) tiempo de espera en segundos para el trabajo de entrenamiento.

    Tipo: número entero. Valor predeterminado: 86,400 (un día).

  • maxHPONumberOfTrainingJobs: número total máximo de trabajos de entrenamiento que se deben iniciar para el trabajo de ajuste de hiperparámetros.

    Tipo: número entero. Valor predeterminado: 2.

    Nota: Neptune ML ajusta automáticamente los hiperparámetros del modelo de machine learning. Para obtener un modelo que funcione bien, utilice al menos 10 trabajos (dicho de otro modo, establezca maxHPONumberOfTrainingJobs en 10). Por lo general, cuantos más ajustes se realicen, mejores serán los resultados.

  • maxHPOParallelTrainingJobs: número máximo de trabajos de entrenamiento en paralelo que se deben iniciar para el trabajo de ajuste de hiperparámetros.

    Tipo: número entero. Valor predeterminado: 2.

    Nota: El número de trabajos en paralelo que puede ejecutar está limitado por los recursos disponibles en la instancia de entrenamiento.

  • subnets: (opcional) los ID de las subredes de la VPC de Neptune.

    Tipo: lista de cadenas. Valor predeterminado: ninguno.

  • securityGroupIds: (opcional) los ID del grupo de seguridad de la VPC.

    Tipo: lista de cadenas. Valor predeterminado: ninguno.

  • volumeEncryptionKMSKey: (opcional) la clave de AWS Key Management Service (AWS KMS) que SageMaker utiliza para cifrar los datos del volumen de almacenamiento asociado con las instancias de computación de ML que ejecutan el trabajo de entrenamiento.

    Tipo: cadena. Valor predeterminado: ninguno.

  • s3OutputEncryptionKMSKey: (opcional) la clave AWS Key Management Service (AWS KMS) que SageMaker utiliza para cifrar el resultado del trabajo de procesamiento.

    Tipo: cadena. Valor predeterminado: ninguno.

  • enableInterContainerTrafficEncryption: (opcional) habilite o deshabilite el cifrado del tráfico entre contenedores en trabajos de entrenamiento o de ajuste de hiperparámetros.

    Tipo: booleano. Valor predeterminado: true.

    nota

    El parámetro enableInterContainerTrafficEncryption solo está disponible en la versión 1.2.0.2.R3 del motor.

  • enableManagedSpotTraining: (opcional) optimiza el costo de entrenar modelos de machine learning mediante el uso de instancias de spot de Amazon Elastic Compute Cloud. Para obtener más información, consulte Entrenamiento de spot administrado en Amazon SageMaker.

    Tipo: booleano. Valor predeterminado: false.

  • customModelTrainingParameters: (opcional) la configuración para el entrenamiento de modelos personalizados. Este campo es un objeto de JSON con los siguientes campos:

    • sourceS3DirectoryPath: (obligatorio) la ruta a la ubicación de Amazon S3 donde se encuentra el módulo de Python que implementa el modelo. Debe apuntar a una ubicación válida de Amazon S3 existente que incluya, como mínimo, un script de entrenamiento, un script de transformación y un archivo model-hpo-configuration.json.

    • trainingEntryPointScript: (opcional) el nombre del punto de entrada en el módulo de un script que realiza el entrenamiento de modelos y utiliza los hiperparámetros como argumentos de la línea de comandos, incluidos los hiperparámetros fijos.

      Valor predeterminado: training.py.

    • transformEntryPointScript: (opcional) el nombre del punto de entrada en el módulo de un script que debe ejecutarse después de identificar el mejor modelo de la búsqueda de hiperparámetros, con el fin de calcular los artefactos de modelos necesarios para su implementación. Debería poder ejecutarse sin argumentos de línea de comandos.

      Valor predeterminado: transform.py.

  • maxWaitTime: (Opcional) el tiempo máximo de espera, en segundos, al realizar el entrenamiento del modelo mediante instancias de spot. Debe ser superior a trainingTimeOutInSeconds.

    Tipo: número entero.

Obtención del estado de un trabajo de entrenamiento de modelos mediante el comando modeltraining de Neptune ML

Un ejemplo del comando modeltraining de Neptune ML para el estado de un trabajo:

curl -s \ "https://(your Neptune endpoint)/ml/modeltraining/(the job ID)" \ | python -m json.tool
Parámetros para el estado del trabajo de modeltraining
  • id: (obligatorio) el identificador único del trabajo de entrenamiento de modelos.

    Tipo: cadena.

  • neptuneIamRoleArn: (opcional) el ARN de un rol de IAM que proporciona a Neptune acceso a los recursos de SageMaker y Amazon S3.

    Tipo: cadena. Nota: Debe figurar en el grupo de parámetros del clúster de base de datos o se producirá un error.

Detención de un trabajo de entrenamiento de modelos mediante el comando modeltraining de Neptune ML

Un ejemplo del comando modeltraining de Neptune ML para detener un trabajo:

curl -s \ -X DELETE "https://(your Neptune endpoint)/ml/modeltraining/(the job ID)"

Otro ejemplo:

curl -s \ -X DELETE "https://(your Neptune endpoint)/ml/modeltraining/(the job ID)?clean=true"
Parámetros para el trabajo de detención de modeltraining
  • id: (obligatorio) el identificador único del trabajo de entrenamiento de modelos.

    Tipo: cadena.

  • neptuneIamRoleArn: (opcional) el ARN de un rol de IAM que proporciona a Neptune acceso a los recursos de SageMaker y Amazon S3.

    Tipo: cadena. Nota: Debe figurar en el grupo de parámetros del clúster de base de datos o se producirá un error.

  • clean: (opcional) este indicador especifica que todos los artefactos de Amazon S3 deben eliminarse cuando se detiene el trabajo.

    Tipo: booleano. Valor predeterminado: FALSE.

Enumeración de trabajos de entrenamiento de modelos activos mediante el comando modeltraining de Neptune ML

Un ejemplo del comando modeltraining de Neptune ML para enumerar los trabajos activos:

curl -s "https://(your Neptune endpoint)/ml/modeltraining" | python -m json.tool

Otro ejemplo:

curl -s "https://(your Neptune endpoint)/ml/modeltraining?maxItems=3" | python -m json.tool
Parámetros para los trabajos de enumeración de modeltraining
  • maxItems: (opcional) el número máximo de elementos que devolver.

    Tipo: número entero. Valor predeterminado: 10. Valor máximo permitido: 1024.

  • neptuneIamRoleArn: (opcional) el ARN de un rol de IAM que proporciona a Neptune acceso a los recursos de SageMaker y Amazon S3.

    Tipo: cadena. Nota: Debe figurar en el grupo de parámetros del clúster de base de datos o se producirá un error.