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

Você pode criar um recurso de algoritmo para usar com trabalhos de treinamento na Amazon SageMaker e publicá-lo no AWS Marketplace. As seções a seguir explicam como fazer isso usando o AWS Management Console e SageMaker API o.

Para criar um recurso de algoritmo, você especifica 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 tenham certeza de que os produtos funcionam SageMaker, exigimos que você valide seus algoritmos antes de publicá-los. 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 verificação e validação no SageMaker console. 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 SageMaker API o.

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. Em Imagem de treinamento, digite o caminho na 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. Em Tipos de conteúdo compatíveis, digite o MIME tipo que seu algoritmo espera 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 de hiperparâmetros, especifique os hiperparâmetros que seu algoritmo suporta editando o JSON objeto. Para cada hiperparâmetro compatível com seu algoritmo, construa um JSON bloco semelhante ao seguinte:

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

      NoJSON, 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 ter mais informações, consulte 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 ter mais informações, consulte CloudWatch Métricas da Amazon para monitorar e analisar trabalhos de treinamento. 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 ter mais informações, consulte 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 Localização da imagem de inferência, digite o caminho na Amazon ECR onde seu contêiner de inferência está armazenado.

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

    3. Em Tipos de instância compatíveis para inferência em tempo real, escolha os tipos de instância compatíveis com seu algoritmo para modelos implantados como endpoints hospedados. SageMaker Para ter 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 ter mais informações, consulte Transformação em lote para 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. Em MIME Tipos de resposta compatíveis, digite os MIME tipos que seu algoritmo suporta 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 IAMfunção, escolha uma IAM função 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 ter 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 JSON bloco que descreve um trabalho de treinamento. Isso está no mesmo formato do parâmetro de TrainingJobDefinitionentrada do CreateAlgorithmAPI.

      • Uma definição de trabalho de transformação. Esse é um JSON bloco que descreve um trabalho de transformação em lote. Isso está no mesmo formato do parâmetro de TransformJobDefinitionentrada do CreateAlgorithmAPI.

    5. Escolha Criar algoritmo.

Criar um recurso de algoritmo (API)

Para criar um recurso de algoritmo usando o SageMaker API, chame CreateAlgorithmAPIo.