

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
<a name="kubernetes-sagemaker-components-for-kubeflow-pipelines"></a>

Com os componentes de SageMaker IA para o Kubeflow Pipelines, você pode criar e monitorar trabalhos nativos SageMaker de treinamento, ajuste, implantação de endpoints e transformação em lote de seus pipelines do 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. 

**Topics**
+ [O que são pipelines Kubeflow?](#what-is-kubeflow-pipelines)
+ [Quais são os componentes do Kubeflow Pipeline?](#kubeflow-pipeline-components)
+ [Por que usar componentes de SageMaker IA para pipelines do Kubeflow?](#why-use-sagemaker-components)
+ [SageMaker Componentes de IA para versões do Kubeflow Pipelines](#sagemaker-components-versions)
+ [Lista de componentes de SageMaker IA para pipelines Kubeflow](#sagemaker-components-list)
+ [Permissões do IAM](#iam-permissions)
+ [Conversão de pipelines para usar IA SageMaker](#converting-pipelines-to-use-amazon-sagemaker)
+ [Instalar Pipelines do Kubeflow](kubernetes-sagemaker-components-install.md)
+ [Use componentes de SageMaker IA](kubernetes-sagemaker-components-tutorials.md)

## O que são pipelines Kubeflow?
<a name="what-is-kubeflow-pipelines"></a>

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](https://www.kubeflow.org/docs/pipelines/concepts/graph/). Cada etapa do fluxo de trabalho é expressa como um [componente](https://www.kubeflow.org/docs/pipelines/overview/concepts/component/) 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](https://www.kubeflow.org/docs/pipelines/). 

## Quais são os componentes do Kubeflow Pipeline?
<a name="kubeflow-pipeline-components"></a>

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 do Kubeflow?
<a name="why-use-sagemaker-components"></a>

SageMaker Os componentes de IA para o Kubeflow Pipelines oferecem uma alternativa ao lançamento de 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 seguro e escalável com um clique. Os parâmetros, o status, os registros e as 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, o treinamento e a 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](#sagemaker-components-versions).

Não há cobrança adicional pelo uso de componentes de SageMaker IA para pipelines do Kubeflow. Você incorre em cobranças por todos os recursos de SageMaker IA usados por meio desses componentes.

## SageMaker Componentes de IA para versões do Kubeflow Pipelines
<a name="sagemaker-components-versions"></a>

SageMaker Os componentes de IA para o 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 do Kubeflow Pipelines versão 1 (v1.x ou inferior) usam **[Boto3](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html)** () 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 ](https://github.com/aws-controllers-k8s/sagemaker-controller) 

  AWS introduziu o [ACK](https://aws-controllers-k8s.github.io/community/) para facilitar uma Kubernetes-native forma de gerenciar os recursos da AWS nuvem. O ACK inclui um conjunto de controladores AWS específicos de serviço, um dos quais é o SageMaker controlador AI. O controlador de SageMaker IA facilita que desenvolvedores de aprendizado de máquina e cientistas de dados que usam o Kubernetes como plano de controle treinem, ajustem e implantem modelos de aprendizado de máquina (ML) na IA. SageMaker Para obter mais informações, consulte [Operadores de SageMaker IA para Kubernetes](https://aws-controllers-k8s.github.io/community/docs/tutorials/sagemaker-example/) 

As duas versões do SageMaker AI Components for Kubeflow Pipelines são compatíveis. 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, CLI (`kubectl`) do Kubernetes ou outros aplicativos do Kubeflow, como Notebooks. 

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

1. Tempo de configuração zero para usar os componentes de SageMaker IA se você implantou o [Kubeflow completo no AWS](https://awslabs.github.io/kubeflow-manifests/docs/about/) lançamento, já que o operador de SageMaker IA faz parte de sua implantação. 

## Lista de componentes de SageMaker IA para pipelines Kubeflow
<a name="sagemaker-components-list"></a>

Veja a seguir uma lista de todos os componentes de SageMaker IA para o Kubeflow Pipelines e suas versões disponíveis. Como alternativa, você pode encontrar todos os [componentes de SageMaker IA para pipelines do Kubeflow](https://github.com/kubeflow/pipelines/tree/master/components/aws/sagemaker#versioning) em. GitHub

**nota**  
Incentivamos os usuários a utilizar a versão 2 de um componente de SageMaker IA onde quer que esteja disponível.

### Componentes do Ground Truth
<a name="ground-truth-components"></a>
+ **Ground Truth**

  O componente Ground Truth permite que você envie trabalhos de rotulagem do SageMaker AI Ground Truth diretamente de um fluxo de trabalho do Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)
+ **Equipe de trabalho**

  O componente Workteam permite que você crie trabalhos de equipe de trabalho privados de SageMaker IA diretamente de um fluxo de trabalho do Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)

### Componentes de processamento de dados
<a name="data-processing-components"></a>
+ **Processamento**

  O componente Processing permite que você envie trabalhos de processamento para a SageMaker IA diretamente de um fluxo de trabalho do Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)

### Componentes de treinamento
<a name="training-components"></a>
+ **Treinamento**

  O componente de treinamento permite que você envie trabalhos de SageMaker treinamento diretamente de um fluxo de trabalho do Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)
+ **Otimização de hiperparâmetros**

  O componente Hyperparameter Optimization permite que você envie trabalhos de ajuste de hiperparâmetros para a SageMaker IA diretamente de um fluxo de trabalho do Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)

### Componentes de inferência
<a name="inference-components-kfp"></a>
+ **Implantação de hospedagem**

  Os componentes de hospedagem permitem que você implante um modelo usando serviços de hospedagem de SageMaker IA a partir de um fluxo de trabalho do Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)
+ **Transformação em lote**

  O componente Batch Transform permite que você execute trabalhos de inferência para um conjunto de dados inteiro em SageMaker IA a partir de um fluxo de trabalho do Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)
+ **Model Monitor**

  Os componentes do Model Monitor permitem monitorar a qualidade dos modelos de aprendizado de máquina de SageMaker IA na produção a partir de um fluxo de trabalho do Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)

## Permissões do IAM
<a name="iam-permissions"></a>

A implantação do Kubeflow Pipelines com componentes de SageMaker IA requer as três camadas de autenticação a seguir: 
+ 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:
  + CloudWatchLogsFullAccess 
  + [https://console.aws.amazon.com/iam/home?region=us-east-1#/policies/arn%3Aaws%3Aiam%3A%3Aaws%3Apolicy%2FAWSCloudFormationFullAccess](https://console.aws.amazon.com/iam/home?region=us-east-1#/policies/arn%3Aaws%3Aiam%3A%3Aaws%3Apolicy%2FAWSCloudFormationFullAccess) 
  + IAMFullAccess
  + AmazonS3FullAccess
  + AmazonEC2FullAccess
  + AmazonEKSAdminPolicy (Crie essa política usando o esquema dos [exemplos de Identity-Based políticas do Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/security_iam_id-based-policy-examples.html)) 
+ Uma função de execução do IAM do Kubernetes assumida pelos pods de pipeline do Kubernetes (**kfp-example-pod-role**) ou pelo pod controlador do AI Operator for Kubernetes para acessar a IA. SageMaker SageMaker Essa função é usada para criar e monitorar trabalhos de SageMaker IA 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 do SageMaker AI IAM assumida por trabalhos de SageMaker IA para acessar AWS recursos como Amazon S3 ou Amazon ECR (kfp-example-sagemaker-execution-role).**

  SageMaker Os trabalhos 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 

## Conversão de pipelines para usar IA SageMaker
<a name="converting-pipelines-to-use-amazon-sagemaker"></a>

Você pode converter um pipeline existente para usar a SageMaker IA portando seus contêineres genéricos de [processamento e contêineres de](https://docs.aws.amazon.com/sagemaker/latest/dg/amazon-sagemaker-containers.html) [treinamento](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo.html) do Python. Se você estiver usando SageMaker IA para inferência, também precisará anexar permissões do IAM ao seu cluster e converter um artefato em um modelo.