View a markdown version of this page

Etapa 6. Expandir o pipeline - AWS Orientação prescritiva

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á.

Etapa 6. Expandir o pipeline

Este guia explica como você pode começar a criar pipelines de ML na AWS rapidamente, com uma arquitetura concreta. Há considerações adicionais para amadurecer o pipeline, como gerenciamento de metadados, rastreamento e monitoramento de experimentos. Esses são tópicos importantes que estão fora do escopo deste guia. As seções a seguir discutem outro aspecto do gerenciamento de pipeline, que é a automação do pipeline.

Diferentes níveis de automação

Embora você possa configurar um pipeline de treinamento manualmente no console do SageMaker AI, na prática, recomendamos minimizar os pontos de contato manuais na implantação dos canais de treinamento de ML para garantir que os modelos de ML sejam implantados de forma consistente e repetida. Dependendo dos seus requisitos e dos problemas empresariais que você está abordando, você pode determinar e usar uma estratégia de implantação em três níveis: semiautomatizado, totalmente automatizado e totalmente gerenciado.

  • Semiautomatizado — Por padrão, as etapas discutidas na seção anterior seguem uma abordagem semiautomatizada, pois implantam o pipeline de treinamento e inferência usando modelos CloudFormation. Isso ajuda a garantir a reprodutibilidade do pipeline e contribui para que você possa alterá-lo e atualizá-lo facilmente.

  • Totalmente automatizado — Uma opção mais avançada é usar a integração contínua e a implantação contínua (CI/CD) nos ambientes de desenvolvimento, preparação e produção. A incorporação de práticas de CI/CD à implantação do pipeline de treinamento pode garantir que a automação inclua rastreabilidade e portas de qualidade.

  • Totalmente gerenciado — Em última análise, você pode desenvolver um sistema totalmente gerenciado para implantar um pipeline de treinamento de ML com um conjunto de manifestos simples, e o sistema pode se autoconfigurar e coordenar os serviços AWS necessários.

Neste guia, optamos por apresentar uma arquitetura concreta. No entanto, existem tecnologias alternativas que você pode considerar. As próximas duas seções discutem algumas escolhas alternativas para a plataforma e o mecanismo de orquestração.

Diferentes plataformas para workloads de ML

O Amazon SageMaker AI é o serviço gerenciado da AWS para treinar e distribuir modelos de ML. Muitos usuários apreciam sua ampla variedade de recursos integrados e as muitas opções que ele oferece para executar workloads de ML. O SageMaker AI é particularmente útil se você está começando a implementar ML na nuvem. Os principais recursos do SageMaker AI incluem:

  • Rastreabilidade integrada (incluindo rotulagem, treinamento, rastreamento de modelos, otimização e inferência).

  • Opções integradas com apenas um clique para treinamento e inferência com um mínimo de experiência em Python e ML.

  • Ajuste avançado de hiperparâmetros.

  • Suporte a todos as estruturas importantes de inteligência artificial e machine learning (ML/AI) e contêineres Docker personalizados.

  • Recursos de monitoramento integrados.

  • Rastreamento integrado de históricos, incluindo trabalhos de treinamento, trabalhos de processamento, trabalhos de transformação em lote, modelos, endpoints e capacidade de pesquisa. Alguns históricos, como treinamento, processamento e transformação em lote, são imutáveis e só podem ser anexados.

Uma das alternativas ao uso do SageMaker AI é o AWS Batch. O AWS Batch proporciona um nível mais baixo de controle sobre a computação e a orquestração do seu ambiente, mas não é personalizado para machine learning. Alguns dos seus principais recursos incluem:

  • Ajuste de escala automática pronta para uso dos recursos de computação com base na workload.

  • Suporte pronto para uso para prioridade da tarefa, novas tentativas e dependências do trabalho.

  • Abordagem baseada em filas que oferece suporte à criação de trabalhos recorrentes e sob demanda.

  • Suporte para workloads da CPU e GPU. A capacidade de usar a GPU para compilar modelos de ML é essencial, pois a GPU pode acelerar significativamente o processo de treinamento, especialmente para modelos de aprendizado profundo.

  • Capacidade de definir uma imagem de máquina da Amazon (AMI) personalizada para o ambiente computacional.

Diferentes mecanismos para orquestração do pipeline

O segundo componente principal é a camada de orquestração do pipeline. A AWS fornece Step Functions para uma experiência de orquestração totalmente gerenciada. Uma alternativa popular ao Step Functions é o Apache Airflow. Ao tomar uma decisão entre os dois, considere o seguinte:

  • Infraestrutura necessária — O AWS Step Functions é um serviço totalmente gerenciado e com tecnologia sem servidor, enquanto o Airflow exige o gerenciamento de sua própria infraestrutura e é baseado em software de código aberto. Em consequência, o Step Functions fornece alta disponibilidade pronta para uso, enquanto a administração do Apache Airflow exige etapas adicionais.

  • Recursos de agendamento — Tanto o Step Functions quanto o Airflow oferecem funcionalidades comparáveis.

  • Recursos de visualização e interface de usuário — Tanto o Step Functions quanto o Airflow oferecem funcionalidades comparáveis.

  • Passando variáveis dentro do gráfico computacional — O Step Functions fornece funcionalidade limitada para o uso de funções AWS Lambda, enquanto o Airflow fornece interfaces xCOM.

  • Uso — O Step Functions é muito popular entre clientes AWS, e o Airflow tem sido amplamente adotado pela comunidade de engenharia de dados.