View a markdown version of this page

SageMaker Componentes de IA para pipelines Kubeflow - SageMaker IA da Amazon

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

SageMaker Componentes de IA para pipelines Kubeflow

Com componentes de SageMaker IA para Kubeflow Pipelines, você pode criar e monitorar tarefas nativas de treinamento, ajuste, implantação de endpoints e transformação em lote de SageMaker IA a partir de seus pipelines Kubeflow. Ao executar trabalhos do Kubeflow Pipeline na SageMaker IA, você move os trabalhos de processamento e treinamento de dados do cluster Kubernetes para o serviço gerenciado otimizado para aprendizado de máquina da SageMaker IA. Este documento pressupõe conhecimento prévio do Kubernetes e do Kubeflow.

O que são pipelines Kubeflow?

O Kubeflow Pipelines (KFP) é uma plataforma para criar e implantar fluxos de trabalho de machine learning (ML) portáteis e escaláveis com base em contêineres do Docker. A plataforma Kubeflow Pipelines consiste no seguinte:

  • Uma interface de usuário (UI) para gerenciar e rastrear experimentos, trabalhos e execuções.

  • Um mecanismo (Argo) para programar fluxos de trabalho de ML em várias etapas.

  • Um SDK para definir e manipular pipelines e componentes.

  • Notebooks para interagir com o sistema usando o SDK.

Um pipeline é uma descrição de um fluxo de trabalho de ML expressa como um gráfico acíclico direcionado. Cada etapa do fluxo de trabalho é expressa como um componente do Kubeflow Pipeline, que é um AWS SDK para Python (Boto3) módulo.

Para obter mais informações sobre o Kubeflow Pipelines, consulte a documentação do Kubeflow Pipelines.

Quais são os componentes do Kubeflow Pipeline?

Um componente do Kubeflow Pipeline é um conjunto de código usado para executar uma etapa de um pipeline do Kubeflow. Os componentes são representados por um módulo Python incorporado em uma imagem do Docker. Quando o pipeline é executado, o contêiner do componente é instanciado em um dos nós de processamento no cluster Kubernetes que executa o Kubeflow, e sua lógica é executada. Os componentes do pipeline podem ler as saídas dos componentes anteriores e criar saídas que o próximo componente do pipeline possa consumir. Esses componentes facilitam e agilizam a criação de pipelines para ambientes de experimentação e produção sem precisar interagir com a infraestrutura subjacente do Kubernetes.

Você pode usar componentes de SageMaker IA em seu pipeline do Kubeflow. Em vez de encapsular sua lógica em um contêiner personalizado, basta carregar os componentes e descrever seu pipeline usando o SDK do Kubeflow Pipelines. Quando o pipeline é executado, suas instruções são traduzidas em um trabalho ou implantação de SageMaker IA. Em seguida, a carga de trabalho é executada na infraestrutura totalmente gerenciada da SageMaker IA.

Por que usar componentes de SageMaker IA para pipelines Kubeflow?

SageMaker Os componentes de IA para canais Kubeflow oferecem uma alternativa para iniciar seus trabalhos de computação intensiva a partir da IA. SageMaker Os componentes integram a SageMaker IA com a portabilidade e a orquestração do Kubeflow Pipelines. Usando os componentes de SageMaker IA para o Kubeflow Pipelines, você pode criar e monitorar seus recursos de SageMaker IA como parte de um fluxo de trabalho do Kubeflow Pipelines. Cada um dos trabalhos em seus pipelines é executado em SageMaker IA em vez do cluster Kubernetes local, permitindo que você aproveite os principais recursos de SageMaker IA, como rotulagem de dados, ajuste de hiperparâmetros em grande escala e trabalhos de treinamento distribuídos, ou implantação de modelo segura e escalável com um clique. Os parâmetros, status, registros e saídas do trabalho da SageMaker IA ainda podem ser acessados na interface do usuário do Kubeflow Pipelines.

Os componentes de SageMaker IA integram os principais recursos de SageMaker IA em seus fluxos de trabalho de ML, desde a preparação de dados até a criação, treinamento e implantação de modelos de ML. Você pode criar um Kubeflow Pipeline construído inteiramente usando esses componentes ou integrar componentes individuais ao seu fluxo de trabalho conforme necessário. Os componentes estão disponíveis em uma ou duas versões. Cada versão de um componente utiliza um backend diferente. Para obter mais informações sobre essas versões, consulte SageMaker Componentes de IA para versões do Kubeflow Pipelines.

Não há custo adicional pelo uso de componentes de SageMaker IA para pipelines Kubeflow. Você incorre em cobranças por qualquer recurso de SageMaker IA usado por meio desses componentes.

SageMaker Componentes de IA para versões do Kubeflow Pipelines

SageMaker Os componentes de IA para Kubeflow Pipelines vêm em duas versões. Cada versão utiliza um back-end diferente para criar e gerenciar recursos em SageMaker IA.

  • Os componentes de SageMaker IA para Kubeflow Pipelines versão 1 (v1.x ou inferior) usam https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html Boto3 () como back-end.AWS SDK para Python (Boto3)

  • A versão 2 (v2.0.0-alpha2 e superior) do SageMaker AI Components for Kubeflow Pipelines usa o AI Operator for Kubernetes (ACK). SageMaker

    AWS introduziu o ACK para facilitar uma Kubernetes-native maneira de gerenciar recursos AWS em nuvem. O ACK inclui um conjunto de controladores AWS específicos do serviço, um dos quais é o SageMaker controlador de IA. O controlador de SageMaker IA facilita que desenvolvedores de aprendizado de máquina e cientistas de dados usem o Kubernetes como plano de controle para treinar, ajustar e implantar modelos de aprendizado de máquina (ML) em IA. SageMaker Para obter mais informações, consulte Operadores de SageMaker IA para Kubernetes

As duas versões do SageMaker AI Components for Kubeflow Pipelines são suportadas. No entanto, a versão 2 oferece algumas vantagens adicionais. Especificamente, ela oferece:

  1. Uma experiência consistente para gerenciar seus recursos de SageMaker IA a partir de qualquer aplicativo, esteja você usando pipelines do Kubeflow, Kubernetes CLI (kubectl) ou outros aplicativos do Kubeflow, como notebooks.

  2. A flexibilidade de gerenciar e monitorar seus recursos de SageMaker IA fora do fluxo de trabalho do pipeline do Kubeflow.

  3. Zero tempo de configuração para usar os componentes de SageMaker IA se você implantou o Kubeflow completo no AWS lançamento, já que o SageMaker AI Operator faz parte de sua implantação.

Lista de componentes de SageMaker IA para pipelines Kubeflow

A seguir está uma lista de todos os componentes de SageMaker IA para pipelines Kubeflow e suas versões disponíveis. Como alternativa, você pode encontrar todos os componentes de SageMaker IA para pipelines Kubeflow em. GitHub

nota

Incentivamos os usuários a utilizar a versão 2 de um componente de SageMaker IA sempre que ele estiver disponível.

  • Model Monitor

    Os componentes do Model Monitor permitem monitorar a qualidade dos modelos de aprendizado de máquina de SageMaker IA em produção a partir de um fluxo de trabalho do Kubeflow Pipelines.

    Essa é a versão 1 do componente Essa é a versão 2 do componente

    X

    Os componentes do Model Monitor consistem em quatro subcomponentes para monitorar a oscilação em um modelo.

    Além disso, para monitoramento dentro do cronograma em uma frequência especificada, um quinto componente, o componente SageMaker AI Monitoring Schedule Kubeflow Pipelines versão 2, é responsável por monitorar os dados coletados de um endpoint em tempo real de acordo com um cronograma.

    Para obter mais informações sobre o Amazon SageMaker Model Monitor, consulteMonitoramento da qualidade de dados e modelos com o Amazon SageMaker Model Monitor.

Permissões do IAM

A implantação dos pipelines do Kubeflow com componentes de SageMaker IA requer as seguintes três camadas de autenticação:

  • Umo perfil do IAM que concede ao seu nó de gateway (que pode ser sua máquina local ou uma instância remota) acesso ao cluster do Amazon Elastic Kubernetes Service (Amazon EKS).

    O usuário que acessa o nó do gateway assume essa função para:

    • Crie um cluster do Amazon EKS e instale o KFP

    • Criar perfil do IAM

    • Crie buckets do Amazon S3 para seus dados de entrada de amostra

    A função requer as seguintes permissões:

  • Uma função de execução do Kubernetes IAM assumida pelos pods de pipeline do Kubernetes (kfp-example-pod-role) ou pelo pod controlador AI Operator for Kubernetes para acessar a IA. SageMaker SageMaker Essa função é usada para criar e monitorar trabalhos de SageMaker IA a partir do Kubernetes.

    A função requer as seguintes permissões:

    • AmazonSageMakerFullAccess

    Você pode limitar as permissões para os pods do KFP e do controlador criando e anexando sua própria política personalizada.

  • Uma função de execução de SageMaker IA IAM assumida por trabalhos de SageMaker IA para acessar AWS recursos como Amazon S3 ou Amazon ECR (kfp-example-sagemaker-execution-role).

    SageMaker Os empregos de IA usam essa função para:

    • Acesse recursos de SageMaker IA

    • Obter dados de entrada do Amazon S3.

    • Armazenar seu modelo de saída no Amazon S3.

    A função requer as seguintes permissões:

    • AmazonSageMakerFullAccess

    • AmazonS3FullAccess

Convertendo pipelines para usar IA SageMaker

Você pode converter um pipeline existente para usar a SageMaker IA ao portar seus contêineres genéricos de processamento e contêineres de treinamento do Python. Se você estiver usando a SageMaker IA para inferência, também precisará anexar permissões do IAM ao seu cluster e converter um artefato em um modelo.