Cree un recurso de algoritmos - 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.

Cree un recurso de algoritmos

Puedes crear un recurso de algoritmo para usarlo con trabajos de formación en Amazon SageMaker y publicarlo en él AWS Marketplace. En las siguientes secciones se explica cómo hacerlo con AWS Management Console y SageMaker API.

Para crear un recurso de algoritmo, especifique la siguiente información:

  • Los contenedores de Docker que contienen la capacitación y, opcionalmente, código de inferencia.

  • La configuración de los datos de entrada que su algoritmo espera para la capacitación.

  • Los hiperparámetros admitidos por su algoritmo.

  • Métricas que tu algoritmo envía a Amazon CloudWatch durante los trabajos de formación.

  • Los tipos de instancias que admite su algoritmo para la capacitación y la inferencia y si es compatible con la capacitación distribuida en varias instancias.

  • Perfiles de validación, que son trabajos de formación que se SageMaker utilizan para probar el código de entrenamiento del algoritmo y trabajos de transformación por lotes que SageMaker se ejecutan para probar el código de inferencia del algoritmo.

    Para asegurarnos de que los compradores y vendedores estén seguros de que los productos funcionan SageMaker correctamente, te pedimos que valides tus algoritmos antes de publicarlos. AWS Marketplace AWS Marketplace Solo puedes publicar productos en Internet si la validación se realiza correctamente. Para validar los algoritmos, SageMaker utiliza el perfil de validación y los datos de muestra para ejecutar las siguientes tareas de validación:

    1. Crea un trabajo de entrenamiento en tu cuenta para comprobar que tu imagen de entrenamiento funciona. SageMaker

    2. Si incluyó código de inferencia en su algoritmo, cree un modelo en su cuenta con la imagen de la inferencia del algoritmo y los artefactos del modelo producidos por el trabajo de capacitación.

    3. Si has incluido el código de inferencia en tu algoritmo, crea un trabajo de transformación en tu cuenta utilizando el modelo para comprobar que la imagen de inferencia funciona. SageMaker

    Cuando publicas tu producto AWS Marketplace, las entradas y salidas de este proceso de validación permanecen como parte de tu producto y se ponen a disposición de tus compradores. Esto ayuda a los compradores a comprender y evaluar el producto antes de comprarlo. Por ejemplo, los compradores pueden inspeccionar los datos de entrada que utilizó, las salidas generadas y los registros y las métricas emitidas por el código. Cuanto más amplia sea la especificación de validación, más fácil será para los clientes evaluar su producto.

    nota

    En su perfil de validación, proporcione solo los datos que desea exponer públicamente.

    La validación puede tardar varias horas. Para ver el estado de los trabajos de tu cuenta, en la SageMaker consola, consulta las páginas Trabajos de formación y Trabajos de transformación. Si la validación falla, puedes acceder a los informes de escaneo y validación desde la SageMaker consola. Si se encuentra algún problema, tendrá que volver a crear el algoritmo.

    nota

    Para publicar el algoritmo AWS Marketplace, se necesita al menos un perfil de validación.

Puede crear un algoritmo mediante la SageMaker consola o el SageMakerAPI.

Crear un recurso de algoritmos (consola)

Para crear recurso de algoritmos (consola)
  1. Abra la SageMaker consola en https://console.aws.amazon.com/sagemaker/.

  2. En el menú de la izquierda, seleccione Training (Entrenamiento).

  3. En el menú desplegable, seleccione Algorithms (Algoritmos) y, a continuación, seleccione Create algorithm (Crear algoritmo).

  4. En la página Training specifications (Especificaciones de entrenamiento) proporcione la siguiente información:

    1. En Algorithm name (Nombre de algoritmo), escriba un nombre para su algoritmo. El nombre del algoritmo debe ser único en su cuenta y en la AWS región. El nombre tiene que tener entre 1 y 64 caracteres. Los caracteres válidos son a-z, A-Z, 0-9 y - (guion).

    2. Escriba una descripción del algoritmo. Esta descripción aparece en la SageMaker consola y en AWS Marketplace.

    3. En Training image, escribe la ruta en Amazon ECR donde está almacenado tu contenedor de entrenamiento.

    4. En Support distributed training (Compatible con capacitación distribuida), elija Yes (Sí) si su algoritmo admite la capacitación en varias instancias. En caso contrario, elija No.

    5. Para Support instance types for training (Compatible con tipos de instancias para capacitación), elija los tipos de instancias compatibles con su algoritmo.

    6. Para Channel specification (Especificación de canal), especifique hasta 8 canales de datos de entrada para su algoritmo. Por ejemplo, puede especificar 3 canales de entrada denominados train, validation y test. Especifique la siguiente información para cada canal:

      1. En Channel name (Nombre del canal), escriba un nombre para el canal. El nombre tiene que tener entre 1 y 64 caracteres. Los caracteres válidos son a-z, A-Z, 0-9 y - (guion).

      2. Para exigir el canal para su algoritmo, elija Channel required (El canal es obligatorio).

      3. Escriba una descripción para el canal.

      4. Para Supported input modes (Modos de entrada compatibles), elija Pipe mode (Modo de canalización) si el algoritmo es compatible con el streaming de datos de entrada y File mode (Modo de archivo) si su algoritmo permite descargar los datos de entrada como un archivo. Puede elegir ambos.

      5. En Tipos de contenido compatibles, escribe el MIME tipo que el algoritmo espera para los datos de entrada.

      6. Para Supported compression type (Tipo de compresión compatible), elija Gzip si su algoritmo admite compresión Gzip. En caso contrario, elija None (Ninguno).

      7. Seleccione Add channel (Añadir canal) para añadir otro canal de entrada de datos o seleccione Next (Siguiente) si ha terminado de añadir canales.

  5. En la página Tuning specifications (Especificaciones de ajuste) proporcione la siguiente información:

    1. Para la especificación de hiperparámetros, especifique los hiperparámetros que admite el algoritmo editando el JSON objeto. Para cada hiperparámetro compatible con el algoritmo, construya un JSON bloque similar al siguiente:

      { "DefaultValue": "5", "Description": "The first hyperparameter", "IsRequired": true, "IsTunable": false, "Name": "intRange", "Range": { "IntegerParameterRangeSpecification": { "MaxValue": "10", "MinValue": "1" }, "Type": "Integer" }

      En elJSON, introduzca lo siguiente:

      1. En DefaultValue, especifique un valor predeterminado para el hiperparámetro, si existe.

      2. En Description, especifique una descripción para el hiperparámetro.

      3. En IsRequired, especifique si el hiperparámetro es obligatorio.

      4. En IsTunable, especifique true si este hiperparámetro se puede ajustar cuando un usuario ejecuta un trabajo de ajuste de hiperparámetros que usa este algoritmo. Para obtener más información, consulte Ajuste automático del modelo con SageMaker.

      5. En Name, especifique un nombre para el hiperparámetro.

      6. Para Range, especifique uno de los siguientes valores:

        • IntegerParameterRangeSpecification: valores de los hiperparámetros son números enteros. Especifique los valores mínimo y máximo para el hiperparámetro.

        • ContinuousParameterRangeSpecification: los valores de los hiperparámetros son valores de punto flotante. Especifique los valores mínimo y máximo para el hiperparámetro.

        • CategoricalParameterRangeSpecification: los valores de los hiperparámetros son valores categóricos. Especifique una lista de todos los valores posibles.

      7. En Type, especifique Integer, Continuous o Categorical. El valor debe coincidir con el tipo de Range que ha especificado.

    2. Para las definiciones de métricas, especifique las métricas de entrenamiento que desee que emita su algoritmo. SageMaker utiliza la expresión regular que especifiques para buscar las métricas analizando los registros de tu contenedor de entrenamiento durante el entrenamiento. Los usuarios pueden ver estas métricas cuando realizan trabajos de formación con tu algoritmo, y pueden monitorizar y trazar las métricas en Amazon CloudWatch. Para obtener más información, consulte Amazon CloudWatch Metrics para supervisar y analizar los trabajos de formación. Proporcione la siguiente información para cada métrica:

      1. En Metric name (Nombre de la métrica), escriba un nombre para la métrica.

      2. Para elloRegex, escribe la expresión regular que se SageMaker utiliza para analizar los registros de entrenamiento para que pueda encontrar el valor de la métrica.

      3. Para Objective metric support (Soporte de métricas objetivas) elija Yes (Sí) si esta métrica se puede utilizar como la métrica objetiva para un trabajo de ajuste de hiperparámetros. Para obtener más información, consulte Ajuste automático del modelo con SageMaker.

      4. Seleccione Add metric (Añadir métrica) para añadir otra métrica o seleccione Next (Siguiente) si ha terminado de añadir métricas.

  6. En la página Inference specifications (Especificaciones de inferencia), proporcione la siguiente información si su algoritmo es compatible con la inferencia:

    1. En Ubicación de la imagen de inferencia, escribe la ruta en Amazon ECR donde está almacenado el contenedor de inferencia.

    2. En Nombre de DNS host del contenedor, escriba el nombre del DNS host de la imagen.

    3. En Tipos de instancias compatibles para la inferencia en tiempo real, elige los tipos de instancia que admite tu algoritmo para los modelos implementados como puntos de enlace alojados. SageMaker Para obtener más información, consulte Implementar modelos para inferencia.

    4. Para Supported instance types for batch transform jobs (Tipos de instancia admitidos para trabajos de transformación por lotes), seleccione los tipos de instancias que su algoritmo admite para trabajos de transformación por lotes. Para obtener más información, consulte Transformación por lotes para inferencias con Amazon SageMaker.

    5. Para Supported content types (Tipos de contenido compatibles), escriba el tipo de datos de entrada que su algoritmo espera para solicitudes de inferencia.

    6. En MIMETipos de respuesta compatibles, escribe los MIME tipos que admite el algoritmo para las respuestas de inferencia.

    7. Elija Next (Siguiente).

  7. En la página Validation specifications (Especificaciones de validación) proporcione la siguiente información:

    1. En Publicar este algoritmo en AWS Marketplace, seleccione para publicar el AWS Marketplace algoritmo.

    2. En Validar este recurso, seleccione si SageMaker desea ejecutar los trabajos de formación o los trabajos de transformación por lotes que especifique para probar el código de entrenamiento o de inferencia de su algoritmo.

      nota

      Para publicar el algoritmo AWS Marketplace, éste debe estar validado.

    3. En cuanto al IAMrol, elige un IAM rol que tenga los permisos necesarios para ejecutar tareas de formación y transformarlas por lotes SageMaker, o selecciona Crear un nuevo rol SageMaker para poder crear un rol que tenga asociada la política AmazonSageMakerFullAccess gestionada. Para obtener más información, consulte Cómo utilizar las funciones SageMaker de ejecución.

    4. Para Validation profile (Perfil de validación), especifique lo siguiente:

      • Un nombre para el perfil de validación.

      • Una definición de trabajo de capacitación. Se trata de un JSON bloque que describe un trabajo de formación. Tiene el mismo formato que el parámetro de TrainingJobDefinitionentrada del CreateAlgorithmAPI.

      • Una definición de trabajo de transformación. Se trata de un JSON bloque que describe un trabajo de transformación por lotes. Tiene el mismo formato que el parámetro de TransformJobDefinitionentrada del CreateAlgorithmAPI.

    5. Elija Create algorithm (Crear algoritmo).

Crear un recurso de algoritmo (API)

Para crear un recurso de algoritmo mediante el SageMaker API, llame al CreateAlgorithmAPI.