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

Para crear un recurso de algoritmo que puedas usar para ejecutar trabajos de formación en Amazon SageMaker y publicarlos en, AWS Marketplace especifica 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 asegurarse de que los compradores y vendedores tengan la certeza de que los productos funcionan en SageMaker, exigimos que valide los algoritmos antes de incluirlos en AWS Marketplace. AWS Marketplace Solo puedes incluir productos en la lista 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 genera un error, es posible acceder a los informes de análisis y de validación desde la consola de SageMaker . Si se encuentra algún problema, tendrá que volver a crear el algoritmo.

    nota

    Para publicar tu algoritmo AWS Marketplace, necesitas al menos un perfil de validación.

Puede crear un algoritmo mediante la SageMaker consola o la SageMaker API.

Crear un recurso de algoritmos (consola)

Para crear recurso de algoritmos (consola)
  1. Abre 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 imange (Imagen de entrenamiento), escriba la ruta en Amazon ECR donde está almacenado el 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. Para Supported content types (Tipos de contenido compatibles), escriba el tipo MIME que su algoritmo espera para 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 Hyperparameter specification (Especificación de hiperparámetros), especifique los hiperparámetros compatibles con su algoritmo editando el objeto JSON. Para cada hiperparámetro compatible con su algoritmo, construya un bloque JSON similar al siguiente:

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

      En el archivo JSON; escriba 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 Realice un 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 Supervise y analice los trabajos de formación con Amazon CloudWatch Metrics. 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 Realice un 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 Location of inference image (Ubicación de la imagen de inferencia), escriba la ruta en Amazon ECR donde está almacenado el contenedor de inferencias.

    2. En Container DNS host name (Nombre de host de DNS del contenedor), escriba el nombre de un host de DNS para la imagen.

    3. En Supported instance types for real-time inference (Tipos de instancia admitidos para inferencias en tiempo real), seleccione los tipos de instancias compatibles con su algoritmo para modelos implementados como puntos de enlace alojados en 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 Usa la transformación por lotes para realizar 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. Para Supported response MIME types (Tipos MIME de respuestas admitidos), escriba los tipos de algoritmo que su algoritmo admite para respuestas de inferencia.

    7. Elija 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, selecciona para publicar el algoritmo AWS Marketplace.

    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. Para la función de IAM, elija una función de IAM que tenga los permisos necesarios para ejecutar tareas de formación y transformar las tareas por lotes SageMaker, o bien elija Crear una nueva función SageMaker para poder crear una función 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 bloque JSON que describe un trabajo de capacitación. Se trata del mismo formato que el parámetro de entrada TrainingJobDefinition de la API CreateAlgorithm.

      • Una definición de trabajo de transformación. Se trata de un bloque JSON que describe un trabajo de transformación por lotes. Se trata del mismo formato que el parámetro de entrada TransformJobDefinition de la API CreateAlgorithm.

    5. Elija Create algorithm (Crear algoritmo).

Cree un recurso de algoritmos (API)

Para crear un recurso de algoritmo mediante la SageMaker API, llama a la CreateAlgorithmAPI.