Inicie experimentos do piloto automático do Amazon SageMaker diretamente de dentro dos pipelines do Amazon SageMaker para automatizar facilmente fluxos de trabalho de MLOps PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Inicie experimentos do Amazon SageMaker Autopilot diretamente de dentro do Amazon SageMaker Pipelines para automatizar facilmente fluxos de trabalho de MLOps

Piloto automático do Amazon SageMaker, um serviço de aprendizado de máquina (ML) de baixo código que cria, treina e ajusta automaticamente os melhores modelos de ML com base em dados tabulares, agora está integrado ao Pipelines Amazon SageMaker, o primeiro serviço de integração contínua e entrega contínua (CI/CD) para ML. Isso permite a automação de um fluxo de ponta a ponta da construção de modelos de ML usando o Autopilot e integrando modelos nas etapas subsequentes de CI/CD.

Até agora, para iniciar um experimento de piloto automático no Pipelines, você precisa criar um fluxo de trabalho de construção de modelo escrevendo um código de integração personalizado com o Pipelines Lambda or Tratamento degraus. Para mais informações, veja Mova os modelos de ML do Amazon SageMaker Autopilot da experimentação para a produção usando o Amazon SageMaker Pipelines.

Com o suporte para Autopilot como uma etapa nativa no Pipelines, agora você pode adicionar uma etapa de treinamento automatizada (AutoMLStep) em Pipelines e chame um experimento de piloto automático com Modo de treinamento de montagem. Por exemplo, se você estiver criando um fluxo de trabalho de ML de treinamento e avaliação para um caso de uso de detecção de fraude com Pipelines, agora poderá iniciar um experimento de piloto automático usando a etapa AutoML, que executa automaticamente vários testes para encontrar o melhor modelo em um determinado conjunto de dados de entrada . Depois que o melhor modelo é criado usando o Etapa do modelo, seu desempenho pode ser avaliado em dados de teste usando o Etapa de transformação e de um Etapa de Processamento para um script de avaliação personalizado no Pipelines. Eventualmente, o modelo pode ser registrado no registro de modelo do SageMaker usando o Etapa do modelo em combinação com um Etapa de condição.

Nesta postagem, mostramos como criar um fluxo de trabalho de ML de ponta a ponta para treinar e avaliar um modelo de ML gerado pelo SageMaker usando a etapa AutoML recém-lançada em Pipelines e registrá-lo no registro de modelo do SageMaker. O modelo de ML com o melhor desempenho pode ser implantado em um endpoint do SageMaker.

Visão geral do conjunto de dados

Usamos o disponível publicamente Conjunto de dados de renda do censo de adultos da UCI de 1994 para prever se uma pessoa tem uma renda anual superior a $ 50,000 por ano. Este é um problema de classificação binária; as opções para a variável de meta de renda são 50K.

O conjunto de dados contém 32,561 linhas para treinamento e validação e 16,281 linhas para teste com 15 colunas cada. Isso inclui informações demográficas sobre indivíduos e class como a coluna de destino indicando a classe de renda.

Nome da coluna Descrição
idade Contínuo
classe de trabalho Privado, Self-emp-not-inc, Self-emp-inc, Federal-gov, Local-gov, State-gov, Sem remuneração, Nunca trabalhou
fnlwgt Contínuo
educação Bacharelado, alguma faculdade, 11º, HS-grad, Prof-escola, Assoc-acdm, Assoc-voc, 9º, 7º-8º, 12º, Mestrado, 1º-4º, 10º, Doutorado, 5º-6º, Pré-escola
educação-num Contínuo
Estado civil Casado-cônjuge-civil, Divorciado, Nunca casado, Separado, Viúvo, Casado-cônjuge-ausente, Casado-AF-cônjuge
ocupação Suporte técnico, reparo artesanal, outros serviços, vendas, gerenciamento executivo, especialidade profissional, limpeza de manipuladores, inspeção de máquinas, escritório administrativo, pesca agrícola, movimentação de transporte, serviço privado, Protetora, Forças Armadas
relacionamento Esposa, Filho próprio, Marido, Fora da família, Outro parente, Solteira
raça Branco, Asiático-Pac-Ilhéu, Amer-Indian-Eskimo, Outro, Preto
sexo Feminino, Masculino
Ganho de capital Contínuo
perda de capital Contínuo
horas por semana Contínuo
país nativo Estados Unidos, Camboja, Inglaterra, Porto Rico, Canadá, Alemanha, Outlying-US (Guam-USVI-etc), Índia, Japão, Grécia, Sul, China, Cuba, Irã, Honduras, Filipinas, Itália, Polônia, Jamaica , Vietnã, México, Portugal, Irlanda, França, República Dominicana, Laos, Equador, Taiwan, Haiti, Colômbia, Hungria, Guatemala, Nicarágua, Escócia, Tailândia, Iugoslávia, El-Salvador, Trinadad&Tobago, Peru, Hong, Holanda-Holanda
classe Classe de renda, 50K

Visão geral da solução

Usamos Pipelines para orquestrar diferentes etapas do pipeline necessários para treinar um modelo de piloto automático. Criamos e executamos um Experiência de piloto automático como parte de uma etapa do AutoML, conforme descrito neste tutorial.

As etapas a seguir são necessárias para este processo de treinamento de piloto automático de ponta a ponta:

  • Crie e monitore um trabalho de treinamento do piloto automático usando o AutoMLStep.
  • Crie um modelo SageMaker usando ModelStep. Esta etapa busca os metadados e artefatos do melhor modelo renderizados pelo piloto automático na etapa anterior.
  • Avalie o modelo de piloto automático treinado em um conjunto de dados de teste usando TransformStep.
  • Compare a saída da execução anterior TransformStep com os rótulos de destino reais usando ProcessingStep.
  • Registre o modelo de ML no Registro de modelo SageMaker utilização ModelStep, se a métrica de avaliação obtida anteriormente exceder um limite predefinido em ConditionStep.
  • Implante o modelo de ML como um endpoint do SageMaker para fins de teste.

Arquitetura

O diagrama de arquitetura abaixo ilustra as diferentes etapas do pipeline necessárias para agrupar todas as etapas em um pipeline de treinamento SageMaker Autopilot reprodutível, automatizado e escalável. Os arquivos de dados são lidos do bucket S3 e as etapas do pipeline são chamadas sequencialmente.

Passo a passo

Esta postagem fornece uma explicação detalhada das etapas do pipeline. Revemos o código e discutimos os componentes de cada etapa. Para implantar a solução, consulte o caderno de exemplo, que fornece instruções passo a passo para implementar um fluxo de trabalho de MLOps do Autopilot usando Pipelines.

Pré-requisitos

Preencha os seguintes pré-requisitos:

Quando o conjunto de dados estiver pronto para uso, precisamos configurar Pipelines para estabelecer um processo repetível para criar e treinar modelos de ML automaticamente usando o piloto automático. Nós usamos o SDK do SageMaker para definir, executar e rastrear programaticamente um pipeline de treinamento de ML de ponta a ponta.

Etapas do pipeline

Nas seções a seguir, passamos pelas diferentes etapas do pipeline do SageMaker, incluindo treinamento AutoML, criação de modelo, inferência em lote, avaliação e registro condicional do melhor modelo. O diagrama a seguir ilustra todo o fluxo do pipeline.

Inicie experimentos do piloto automático do Amazon SageMaker diretamente de dentro dos pipelines do Amazon SageMaker para automatizar facilmente fluxos de trabalho de MLOps PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Etapa de treinamento do AutoML

An objeto AutoML é usado para definir a execução do trabalho de treinamento do piloto automático e pode ser adicionado ao pipeline do SageMaker usando o AutoMLStep classe, conforme mostrado no código a seguir. O modo de treinamento de combinação precisa ser especificado, mas outros parâmetros podem ser ajustados conforme necessário. Por exemplo, em vez de permitir que o trabalho do AutoML infira automaticamente o ML tipo de problema e métrica objetiva, eles podem ser codificados especificando o problem_type e job_objective parâmetros passados ​​para o objeto AutoML.

automl = AutoML(
    role=execution_role,
    target_attribute_name=target_attribute_name,
    sagemaker_session=pipeline_session,
    total_job_runtime_in_seconds=max_automl_runtime,
    mode="ENSEMBLING",
)
train_args = automl.fit(
    inputs=[
        AutoMLInput(
            inputs=s3_train_val,
            target_attribute_name=target_attribute_name,
            channel_type="training",
        )
    ]
)
step_auto_ml_training = AutoMLStep(
    name="AutoMLTrainingStep",
    step_args=train_args,
)

Etapa de criação do modelo

A etapa AutoML cuida de gerar vários candidatos a modelo de ML, combiná-los e obter o melhor modelo de ML. Os artefatos e metadados do modelo são armazenados automaticamente e podem ser obtidos chamando o get_best_auto_ml_model() método na etapa de treinamento do AutoML. Eles podem ser usados ​​para criar um modelo SageMaker como parte da etapa Modelo:

best_auto_ml_model = step_auto_ml_training.get_best_auto_ml_model(
    execution_role, sagemaker_session=pipeline_session
)
step_args_create_model = best_auto_ml_model.create(instance_type=instance_type)
step_create_model = ModelStep(name="ModelCreationStep", step_args=step_args_create_model)

Transformação em lote e etapas de avaliação

Usamos o objeto transformador para inferência em lote no conjunto de dados de teste, que pode ser usado para fins de avaliação. As previsões de saída são comparadas com os rótulos reais ou reais usando uma função de métricas Scikit-learn. Avaliamos nossos resultados com base no Pontuação F1. As métricas de desempenho são salvas em um arquivo JSON, que é referenciado ao registrar o modelo na etapa subsequente.

Etapas de registro condicional

Nesta etapa, registramos nosso novo modelo Autopilot no registro do modelo SageMaker, se ele exceder o limite de métrica de avaliação predefinido.

Criar e executar o pipeline

Depois de definirmos as etapas, as combinamos em um pipeline do SageMaker:

pipeline = Pipeline(
    name="AutoMLTrainingPipeline",
    parameters=[
        instance_count,
        instance_type,
        max_automl_runtime,
        model_approval_status,
        model_package_group_name,
        model_registration_metric_threshold,
        s3_bucket,
        target_attribute_name,
    ],
    steps=[
        step_auto_ml_training,
        step_create_model,
        step_batch_transform,
        step_evaluation,
        step_conditional_registration,
    ],
    sagemaker_session=pipeline_session,
)

As etapas são executadas em ordem sequencial. O pipeline executa todas as etapas de um trabalho do AutoML usando o Autopilot e os pipelines para treinamento, avaliação de modelo e registro de modelo.

Você pode visualizar o novo modelo navegando até o registro do modelo no console do Studio e abrindo AutoMLModelPackageGroup. Escolha qualquer versão de um trabalho de treinamento para visualizar as métricas objetivas no Qualidade do modelo aba.

Inicie experimentos do piloto automático do Amazon SageMaker diretamente de dentro dos pipelines do Amazon SageMaker para automatizar facilmente fluxos de trabalho de MLOps PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Você pode visualizar o relatório de explicabilidade no Explicação guia para entender as previsões do seu modelo.

Inicie experimentos do piloto automático do Amazon SageMaker diretamente de dentro dos pipelines do Amazon SageMaker para automatizar facilmente fluxos de trabalho de MLOps PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Para visualizar o experimento do piloto automático subjacente para todos os modelos criados em AutoMLStepnavegue até o AutoML página e escolha o nome do trabalho.

Inicie experimentos do piloto automático do Amazon SageMaker diretamente de dentro dos pipelines do Amazon SageMaker para automatizar facilmente fluxos de trabalho de MLOps PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.

Implantar o modelo

Depois de revisar manualmente o desempenho do modelo de ML, podemos implantar nosso modelo recém-criado em um endpoint do SageMaker. Para isso, podemos executar as células no notebook que criam o endpoint do modelo usando a configuração do modelo salva no registro do modelo do SageMaker.

Observe que esse script é compartilhado para fins de demonstração, mas é recomendável seguir um pipeline de CI/CD mais robusto para implantação de produção para inferência de ML. Para mais informações, consulte Criação, automação, gerenciamento e dimensionamento de fluxos de trabalho de ML usando Amazon SageMaker Pipelines.

Resumo

Esta postagem descreve uma abordagem de pipeline de ML fácil de usar para treinar automaticamente modelos tabulares de ML (AutoML) usando Autopilot, Pipelines e Studio. O AutoML melhora a eficiência dos profissionais de ML, acelerando o caminho da experimentação de ML para a produção sem a necessidade de amplo conhecimento em ML. Descrevemos as respectivas etapas do pipeline necessárias para a criação, avaliação e registro do modelo de ML. Comece tentando o caderno de exemplo para treinar e implantar seus próprios modelos personalizados do AutoML.

Para obter mais informações sobre piloto automático e pipelines, consulte Automatize o desenvolvimento de modelos com o Amazon SageMaker Autopilot e Pipelines Amazon SageMaker.

Agradecimentos especiais a todos que contribuíram para o lançamento: Shenghua Yue, John He, Ao Guo, Xinlu Tu, Tian Qin, Yanda Hu, Zhankui Lu e Dewen Qi.


Sobre os autores

Inicie experimentos do piloto automático do Amazon SageMaker diretamente de dentro dos pipelines do Amazon SageMaker para automatizar facilmente fluxos de trabalho de MLOps PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Janisha Anand é Gerente de Produto Sênior na equipe SageMaker Low/No Code ML, que inclui o SageMaker Autopilot. Ela gosta de café, manter-se ativa e passar tempo com sua família.

Inicie experimentos do piloto automático do Amazon SageMaker diretamente de dentro dos pipelines do Amazon SageMaker para automatizar facilmente fluxos de trabalho de MLOps PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Marcelo Aberle é um engenheiro de ML da AWS AI. Ele ajuda Laboratório de soluções de ML da Amazon os clientes criam sistemas e estruturas de ML(-Ops) escaláveis. Em seu tempo livre, ele gosta de fazer caminhadas e andar de bicicleta na área da Baía de São Francisco.

Inicie experimentos do piloto automático do Amazon SageMaker diretamente de dentro dos pipelines do Amazon SageMaker para automatizar facilmente fluxos de trabalho de MLOps PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Geremy Cohen é Arquiteto de Soluções da AWS, onde ajuda os clientes a criar soluções de ponta baseadas em nuvem. Em seu tempo livre, ele gosta de caminhadas curtas na praia, explorando a área da baía com sua família, consertando coisas em casa, quebrando coisas em casa e fazendo churrasco.

Inicie experimentos do piloto automático do Amazon SageMaker diretamente de dentro dos pipelines do Amazon SageMaker para automatizar facilmente fluxos de trabalho de MLOps PlatoBlockchain Data Intelligence. Pesquisa vertical. Ai.Sheng Hua Yue é um engenheiro de desenvolvimento de software no Amazon SageMaker. Ela se concentra na criação de ferramentas e produtos de ML para clientes. Fora do trabalho, ela gosta de atividades ao ar livre, ioga e caminhadas.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS