Criar um recurso de algoritmo - Amazon SageMaker

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Criar um recurso de algoritmo

Para criar um recurso de algoritmo que você possa usar para executar trabalhos de treinamento na Amazon SageMaker e publicar, AWS Marketplace especifique as seguintes informações:

  • Os contêineres do Docker que contêm o código de treinamento e, opcionalmente, o código de inferência.

  • A configuração dos dados de entrada que seu algoritmo espera obter para treinamento.

  • Os hiperparâmetros compatíveis com seu algoritmo.

  • Métricas que seu algoritmo envia para a Amazon CloudWatch durante trabalhos de treinamento.

  • Os tipos de instância compatíveis com seu algoritmo para treinamento e inferência, e se ele oferece suporte para treinamento distribuído entre várias instâncias.

  • Perfis de validação, que são trabalhos de treinamento SageMaker usados para testar o código de treinamento do algoritmo e trabalhos de transformação em lote SageMaker executados para testar o código de inferência do algoritmo.

    Para garantir que compradores e vendedores possam ter a certeza de que os produtos funcionam no SageMaker, exigimos que você valide seus algoritmos antes de os listar no AWS Marketplace. Você pode listar produtos no AWS Marketplace somente se a validação for bem-sucedida. Para validar seus algoritmos, SageMaker use seu perfil de validação e dados de amostra para executar as seguintes tarefas de validação:

    1. Crie um trabalho de treinamento em sua conta para verificar se sua imagem de treinamento funciona com SageMaker.

    2. Se você tiver incluído o código de inferência no seu algoritmo, crie um modelo na sua conta usando a imagem de inferência desse algoritmo e os artefatos de modelo produzidos pelo trabalho de treinamento.

    3. Se você incluiu código de inferência em seu algoritmo, crie um trabalho de transformação em sua conta usando o modelo para verificar se sua imagem de inferência funciona com. SageMaker

    Quando você lista seu produto AWS Marketplace, as entradas e saídas desse processo de validação persistem como parte do seu produto e são disponibilizadas para seus compradores. Isso ajuda os compradores a compreender e avaliar o produto antes de comprá-lo. Por exemplo, os compradores podem inspecionar os dados de entrada que você usou, as saídas geradas e os logs e as métricas emitidos pelo seu código. Quanto mais abrangente for a sua especificação de validação, mais fácil será para os clientes avaliarem o seu produto.

    nota

    No seu perfil de validação, forneça apenas os dados que você deseja expor publicamente.

    A validação pode demorar algumas horas. Para ver o status dos trabalhos em sua conta, no SageMaker console, consulte as páginas Trabalhos de treinamento e Transformar trabalhos. Se a validação falhar, você poderá acessar os relatórios de varredura e validação no console do SageMaker . Se algum problema for encontrado, você terá que criar o algoritmo novamente.

    nota

    Para publicar seu algoritmo AWS Marketplace, é necessário pelo menos um perfil de validação.

Você pode criar um algoritmo usando o SageMaker console ou a SageMaker API.

Criar um recurso de algoritmo (console)

Para criar um recurso de algoritmo (console)
  1. Abra o SageMaker console em https://console.aws.amazon.com/sagemaker/.

  2. No menu à esquerda, escolha Treinamento.

  3. Na lista suspensa, escolha Algoritmos e, em seguida, escolha Criar algoritmo.

  4. Na página Especificações do treinamento, forneça as seguintes informações:

    1. Para Nome do algoritmo, digite um nome para o seu algoritmo. O nome do algoritmo deve ser exclusivo na sua conta e na AWS região. Esse nome deve ter de 1 a 64 caracteres. Os caracteres válidos são a-z, A-Z, 0-9 e hífen (-).

    2. Digite uma descrição para o seu algoritmo. Essa descrição aparece no SageMaker console e no AWS Marketplace.

    3. Para a Imagem de treinamento, digite o caminho no Amazon ECR onde seu contêiner de treinamento está armazenado.

    4. Para Oferece suporte para treinamento distribuído, escolha Sim se o seu algoritmo for compatível com treinamentos em várias instâncias. Caso contrário, escolha Não.

    5. Para Oferecer suporte aos tipos de instâncias para treinamento, escolha os tipos de instância compatíveis com o seu algoritmo.

    6. Para Especificação do canal, especifique até 8 canais de dados de entrada para o seu algoritmo. Por exemplo, você pode especificar três canais de entrada chamados train, validation e test. Para cada canal, especifique as seguintes informações:

      1. Para Nome do canal, digite um nome para o canal. Esse nome deve ter de 1 a 64 caracteres. Os caracteres válidos são a-z, A-Z, 0-9 e hífen (-).

      2. Para exigir o canal para o seu algoritmo, escolha Canal necessário.

      3. Digite uma descrição para o canal.

      4. Para Modos de entrada compatíveis, escolha Modo de pipe, se o seu algoritmo oferecer suporte para o streaming dos dados de entrada, e Modo de arquivo, se o seu algoritmo oferecer suporte para o download dos dados de entrada como um arquivo. Você pode escolher os dois.

      5. Para Tipos de conteúdo compatíveis, digite o tipo MIME esperado pelo seu algoritmo para os dados de entrada.

      6. Para Supported compression type (Tipo de compactação com suporte), escolha Gzip se o seu algoritmo oferecer suporte para a compactação Gzip. Caso contrário, escolha Nenhum.

      7. Escolha Adicionar canal para adicionar outro canal de entrada de dados ou escolha Avançar se tiver terminado de adicionar canais.

  5. Na página Especificações do ajuste, forneça as seguintes informações:

    1. Para Especificação dos hiperparâmetros, especifique os hiperparâmetros aceitos pelo seu algoritmo, editando o objeto JSON. Para cada hiperparâmetro compatível com seu algoritmo, construa um bloco JSON semelhante ao seguinte:

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

      No JSON, forneça o seguinte:

      1. Para DefaultValue, especifique um valor padrão para o hiperparâmetro, se houver um.

      2. Para Description, especifique uma descrição para o hiperparâmetro.

      3. Para IsRequired especifique se o hiperparâmetro é necessário.

      4. Para IsTunable, especifique true se esse hiperparâmetro puder ser ajustado quando um usuário executar um trabalho de ajuste de hiperparâmetro que use esse algoritmo. Para obter mais informações, consulte Execute o ajuste automático do modelo com SageMaker.

      5. Para Name, especifique um nome para o hiperparâmetro.

      6. Para Range, especifique um dos seguintes:

        • IntegerParameterRangeSpecification - os valores do hiperparâmetro são números inteiros. Especifique os valores mínimo e máximo para o hiperparâmetro.

        • ContinuousParameterRangeSpecification - os valores do hiperparâmetro são valores de ponto flutuante. Especifique os valores mínimo e máximo para o hiperparâmetro.

        • CategoricalParameterRangeSpecification - os valores do hiperparâmetro são valores categóricos. Especifique uma lista de todos os valores possíveis.

      7. Para Type, especifique Integer, Continuous ou Categorical. O valor deve corresponder ao tipo de Range que você especificou.

    2. Para definições de métricas, especifique qualquer métrica de treinamento que você deseja que seu algoritmo emita. SageMaker usa a expressão regular que você especifica para encontrar as métricas analisando os registros do seu contêiner de treinamento durante o treinamento. Os usuários podem visualizar essas métricas ao executar trabalhos de treinamento com seu algoritmo e podem monitorar e traçar as métricas na Amazon CloudWatch. Para obter mais informações, consulte Monitore e analise trabalhos de treinamento usando o Amazon CloudWatch Metrics. Para cada métrica, forneça as seguintes informações:

      1. Para Nome da métrica, digite um nome para a métrica.

      2. ParaRegex, digite a expressão regular SageMaker usada para analisar os registros de treinamento para que ela possa encontrar o valor da métrica.

      3. Para Suporte para métrica objetiva, escolha Sim se essa métrica puder ser usada como métrica objetiva para um trabalho de ajuste de hiperparâmetros. Para obter mais informações, consulte Execute o ajuste automático do modelo com SageMaker.

      4. Escolha Adicionar métrica para adicionar outra métrica ou escolha Avançar se tiver acabado de adicionar métricas.

  6. Na página Especificações da inferência, forneça as seguintes informações caso o seu algoritmo ofereça suporte para inferência:

    1. Em Local da imagem de inferência, digite o caminho no Amazon ECR em que seu contêiner de inferência está armazenado.

    2. Para Nome do host DNS do contêiner, digite o nome de um host DNS para sua imagem.

    3. Para Supported instance types for real-time inference (Tipos de instâncias compatíveis para inferência em tempo real), escolha os tipos de instância aos quais seu algoritmo oferece suporte para modelos implantados como endpoints hospedados no SageMaker. Para obter mais informações, consulte Implantar modelos para inferência.

    4. Para Tipos de instâncias compatíveis com trabalhos de transformação em lote, escolha os tipos de instância aos quais seu algoritmo oferece suporte para trabalhos de transformação em lote. Para obter mais informações, consulte Use a transformação em lote para executar inferência com a Amazon SageMaker.

    5. Para Tipos de conteúdo compatíveis, digite o tipo de dados de entrada esperado pelo seu algoritmo para solicitações de inferência.

    6. Para Tipos de respostas de MIME compatíveis, digite os tipos MIME compatíveis pelo seu algoritmo para respostas de inferência.

    7. Escolha Próximo.

  7. Na página Especificações da validação, forneça as seguintes informações:

    1. Em Publicar este algoritmo em AWS Marketplace, escolha Sim para publicar o algoritmo AWS Marketplace.

    2. Para Validar esse recurso, escolha Sim se quiser SageMaker executar trabalhos de treinamento e/ou trabalhos de transformação em lote que você especificar para testar o código de treinamento e/ou inferência do seu algoritmo.

      nota

      Para publicar seu algoritmo em AWS Marketplace, seu algoritmo deve ser validado.

    3. Para a função do IAM, escolha uma função do IAM que tenha as permissões necessárias para executar trabalhos de treinamento e transformar trabalhos em lote SageMaker, ou escolha Criar uma nova função SageMaker para permitir a criação de uma função que tenha a política AmazonSageMakerFullAccess gerenciada anexada. Para obter mais informações, consulte Como usar funções SageMaker de execução.

    4. Para Perfil de validação, especifique o seguinte:

      • Um nome para o perfil de validação.

      • Uma definição de trabalho de treinamento. Este é um bloco JSON que descreve um trabalho de treinamento. Ele está no mesmo formato que o parâmetro de entrada TrainingJobDefinition da API CreateAlgorithm.

      • Uma definição de trabalho de transformação. Este é um bloco JSON que descreve um trabalho de transformação em lote. Ele está no mesmo formato que o parâmetro de entrada TransformJobDefinition da API CreateAlgorithm.

    5. Escolha Criar algoritmo.

Criar um recurso de algoritmo (API)

Para criar um recurso de algoritmo usando a SageMaker API, chame a CreateAlgorithmAPI.