Cree un recurso de algoritmos - Amazon SageMaker AI

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

Puede crear un recurso de algoritmo para usarlo con trabajos de entrenamiento en Amazon SageMaker AI y publicarlo en AWS Marketplace. En las secciones siguientes se explica cómo hacerlo con la Consola de administración de AWS y la API de SageMaker.

Para crear un recurso de algoritmo, debe especificar 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.

  • Las métricas que envía su algoritmo a Amazon CloudWatch durante trabajos de entrenamiento.

  • 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 entrenamiento que SageMaker AI utiliza para probar el código de entrenamiento del algoritmo y trabajos de transformación por lotes que SageMaker AI ejecuta 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 AI, exigimos que valide los algoritmos antes de incluirlos en AWS Marketplace. Puede incluir productos en AWS Marketplace solo si la validación se realiza correctamente. Para validar los algoritmos, SageMaker AI utiliza el perfil de validación y datos de ejemplo para ejecutar las siguientes tareas de validación:

    1. Cree un trabajo de entrenamiento en su cuenta para comprobar que la imagen de entrenamiento funciona con SageMaker AI.

    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 ha incluido código de inferencia en el algoritmo, cree un trabajo de transformación en la cuenta utilizando el modelo para comprobar que la imagen de inferencia funciona con SageMaker AI.

    Cuando incluye su producto en AWS Marketplace, las entradas y salidas de este proceso de validación persisten como parte de su producto y se ponen a disposición de sus 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 en su cuenta, en la consola de SageMaker, consulte las páginas Trabajos de entrenamiento y Trabajos de transformación. Si la validación genera un error, es posible acceder a los informes de análisis y validación desde la consola de SageMaker AI. Si se encuentra algún problema, tendrá que volver a crear el algoritmo.

    nota

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

Puede crear un algoritmo utilizando la consola de SageMaker AI o la API de SageMaker AI.

Crear un recurso de algoritmos (consola)

Para crear recurso de algoritmos (consola)
  1. Abra la consola de SageMaker AI 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 la cuenta y la región de AWS. 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 consola de SageMaker AI 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, consulta Ajuste automático de modelos con IA 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 Metric definitions (Definiciones de métricas), especifique las métricas de entrenamiento que desee que emita su algoritmo. SageMaker AI utiliza la expresión regular que usted especifique para buscar las métricas analizando los registros del contenedor de entrenamiento durante el entrenamiento. Los usuarios pueden ver estas métricas cuando se ejecutan trabajos de entrenamiento con el algoritmo y pueden monitorizar y representar en un gráfico las métricas en Amazon CloudWatch. Para obtener más información, consulta Métricas de Amazon CloudWatch para supervisar y analizar trabajos de entrenamiento. 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 Regex, escriba la expresión regular que SageMaker AI 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, consulta Ajuste automático de modelos con IA 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 Tipos de instancias admitidos para inferencia en tiempo real, seleccione los tipos de instancias compatibles con el algoritmo para modelos implementados como puntos de conexión alojados en SageMaker AI. Para obtener más información, consulta 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, consulta Transformación por lotes para inferencias con Amazon AI 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. Para Publish this algorithm on (Publicar este algoritmo en AWS Marketplace), haga clic en Yes (Sí) para publicar el algoritmo en AWS Marketplace.

    2. En Validar este recurso, seleccione si desea que SageMaker ejecute trabajos de entrenamiento o trabajos de transformación por lotes que especifique para probar el código de entrenamiento y/o de inferencia del algoritmo.

      nota

      Para publicar su algoritmo en AWS Marketplace, deberá validarse su algoritmo.

    3. En Rol de IAM, elija un rol de IAM que cuente con los permisos necesarios para ejecutar trabajos de entrenamiento y trabajos de transformación por lotes en SageMaker AI o elija Crear un rol nuevo para permitir que SageMaker AI cree un rol que tenga la política administrada AmazonSageMakerFullAccess asociada. Para obtener más información, consulta Cómo utilizar las funciones de ejecución de la SageMaker IA.

    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 API de SageMaker, llame a la API CreateAlgorithm.