

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# SageMaker Componentes de IA para tuberías de Kubeflow
<a name="kubernetes-sagemaker-components-for-kubeflow-pipelines"></a>

Con los componentes de SageMaker IA para Kubeflow Pipelines, puedes crear y supervisar trabajos nativos de entrenamiento, ajuste, implementación de terminales y transformación por lotes de SageMaker IA desde tus canalizaciones de Kubeflow. Al ejecutar las tareas de Kubeflow Pipeline con SageMaker IA, puedes trasladar las tareas de procesamiento y formación de datos del clúster de Kubernetes al servicio gestionado optimizado para el aprendizaje automático de la IA. SageMaker En este documento se presupone tener conocimientos previos de Kubernetes y Kubeflow. 

**Topics**
+ [¿Qué son las canalizaciones de Kubeflow?](#what-is-kubeflow-pipelines)
+ [¿Qué son los componentes de una canalización de Kubeflow?](#kubeflow-pipeline-components)
+ [¿Por qué usar componentes de SageMaker IA para las canalizaciones de Kubeflow?](#why-use-sagemaker-components)
+ [SageMaker Componentes de IA para las versiones de Kubeflow Pipelines](#sagemaker-components-versions)
+ [Lista de componentes de SageMaker IA para las canalizaciones de Kubeflow](#sagemaker-components-list)
+ [Permisos de IAM](#iam-permissions)
+ [Conversión de canalizaciones para usar IA SageMaker](#converting-pipelines-to-use-amazon-sagemaker)
+ [Instalar canalizaciones de Kubeflow](kubernetes-sagemaker-components-install.md)
+ [Usa componentes de IA SageMaker](kubernetes-sagemaker-components-tutorials.md)

## ¿Qué son las canalizaciones de Kubeflow?
<a name="what-is-kubeflow-pipelines"></a>

Las canalizaciones de Kubeflow (KFP) son una plataforma para crear e implementar flujos de trabajo de machine learning (ML) portátiles y escalables basados en contenedores de Docker. La plataforma de canalizaciones de Kubeflow consta de lo siguiente:
+ Una interfaz de usuario (UI) para administrar y rastrear experimentos, trabajos y ejecuciones. 
+ Un motor (Argo) para programar flujos de trabajo de ML de varios pasos.
+ Un SDK para definir y manipular canalizaciones y componentes.
+ Cuadernos para interactuar con el sistema mediante el SDK.

Una canalización es una descripción de un flujo de trabajo de ML que se expresa como un [gráfico acíclico dirigido](https://www.kubeflow.org/docs/pipelines/concepts/graph/). [Cada paso del flujo de trabajo se expresa como un componente de Kubeflow Pipeline, que es un módulo.](https://www.kubeflow.org/docs/pipelines/overview/concepts/component/) AWS SDK para Python (Boto3) 

Para obtener más información sobre las canalizaciones de Kubeflow, consulte la [documentación de las canalizaciones de Kubeflow](https://www.kubeflow.org/docs/pipelines/). 

## ¿Qué son los componentes de una canalización de Kubeflow?
<a name="kubeflow-pipeline-components"></a>

Un componente de canalización de Kubeflow es un conjunto de códigos que se utiliza para ejecutar un paso de una canalización de Kubeflow. Los componentes se representan mediante un módulo de Python integrado en una imagen de Docker. Cuando se ejecuta la canalización, se crea una instancia del contenedor del componente en uno de los nodos de trabajo del clúster de Kubernetes que ejecuta Kubeflow, y se ejecuta su lógica. Los componentes de la canalización pueden leer las salidas de los componentes anteriores y crear salidas que el siguiente componente de la canalización puede consumir. Estos componentes facilitan y agilizan la creación de canalizaciones para entornos de experimentación y producción sin tener que interactuar con la infraestructura subyacente de Kubernetes.

Puedes usar componentes de SageMaker IA en tu canalización de Kubeflow. En lugar de encapsular la lógica en un contenedor personalizado, basta con cargar los componentes y describir la canalización mediante el SDK de las canalizaciones de Kubeflow. Cuando la canalización se ejecuta, tus instrucciones se traducen en una tarea o implementación de SageMaker IA. A continuación, la carga de trabajo se ejecuta en la infraestructura totalmente gestionada de la SageMaker IA. 

## ¿Por qué usar componentes de SageMaker IA para las canalizaciones de Kubeflow?
<a name="why-use-sagemaker-components"></a>

SageMaker Los componentes de IA para Kubeflow Pipelines ofrecen una alternativa a las tareas que requieren un uso intensivo de cómputo a partir de la IA. SageMaker Los componentes integran la SageMaker IA con la portabilidad y la organización de Kubeflow Pipelines. Con los componentes de SageMaker IA para Kubeflow Pipelines, puedes crear y supervisar tus recursos de SageMaker IA como parte de un flujo de trabajo de Kubeflow Pipelines. Cada uno de los trabajos en proceso se ejecuta con SageMaker IA y no con el clúster local de Kubernetes, lo que te permite aprovechar las principales funciones de la SageMaker IA, como el etiquetado de datos, el ajuste de hiperparámetros a gran escala y los trabajos de formación distribuidos, o el despliegue de modelos escalables y seguros con un solo clic. Los parámetros del trabajo, el estado, los registros y los resultados de la SageMaker IA siguen siendo accesibles desde la interfaz de usuario de Kubeflow Pipelines. 

Los componentes de SageMaker IA integran las principales funciones de la SageMaker IA en sus flujos de trabajo de aprendizaje automático, desde la preparación de datos hasta la creación, el entrenamiento y la implementación de modelos de aprendizaje automático. Puede crear una canalización de Kubeflow creada íntegramente con estos componentes o integrar componentes individuales en su flujo de trabajo según sea necesario. Los componentes están disponibles en una o dos versiones. Cada versión de un componente utiliza un backend diferente. Para obtener más información acerca de las versiones, consulte [SageMaker Componentes de IA para las versiones de Kubeflow Pipelines](#sagemaker-components-versions).

El uso de componentes de SageMaker IA para Kubeflow Pipelines no conlleva ningún cargo adicional. Se le cobrará por cualquier recurso de SageMaker IA que utilice a través de estos componentes.

## SageMaker Componentes de IA para las versiones de Kubeflow Pipelines
<a name="sagemaker-components-versions"></a>

SageMaker Los componentes de IA para Kubeflow Pipelines vienen en dos versiones. Cada versión utiliza un backend diferente para crear y gestionar los recursos de la IA. SageMaker 
+ **[Los componentes de SageMaker IA de la versión 1 de Kubeflow Pipelines (v1.x o inferior) utilizan Boto3 () como backend.](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html)**AWS SDK para Python (Boto3)
+ [La versión 2 (v2.0.0-alpha2 y versiones posteriores) de AI Components for Kubeflow Pipelines utiliza SageMaker AI Operator for Kubernetes (ACK). SageMaker ](https://github.com/aws-controllers-k8s/sagemaker-controller) 

  AWS [introdujeron ACK para facilitar una forma de gestionar los recursos de la nube.](https://aws-controllers-k8s.github.io/community/) Kubernetes-native AWS ACK incluye un conjunto de controladores AWS específicos para cada servicio, uno de los cuales es el controlador de SageMaker IA. El controlador de SageMaker IA facilita que los desarrolladores de aprendizaje automático y los científicos de datos utilicen Kubernetes como plano de control para entrenar, ajustar e implementar modelos de aprendizaje automático (ML) en la IA. SageMaker Para obtener más información, consulte Operadores de [SageMaker IA](https://aws-controllers-k8s.github.io/community/docs/tutorials/sagemaker-example/) para Kubernetes 

Se admiten ambas versiones de los componentes de SageMaker IA para Kubeflow Pipelines. Sin embargo, la versión 2 ofrece algunas ventajas adicionales. En concreto, ofrece: 

1. Una experiencia coherente para gestionar tus recursos de SageMaker IA desde cualquier aplicación, ya sea que utilices canalizaciones de Kubeflow o la CLI (`kubectl`) de Kubernetes u otras aplicaciones de Kubeflow, como Notebooks. 

1. La flexibilidad necesaria para gestionar y supervisar tus SageMaker recursos de IA fuera del flujo de trabajo de Kubeflow Pipeline. 

1. No tendrás tiempo de configuración para usar los componentes de SageMaker IA si implementaste el [Kubeflow completo en](https://awslabs.github.io/kubeflow-manifests/docs/about/) el momento del AWS lanzamiento, ya que el Operador de SageMaker IA forma parte de su despliegue. 

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

La siguiente es una lista de todos los componentes de SageMaker IA para Kubeflow Pipelines y sus versiones disponibles. Como alternativa, puedes encontrar todos los [componentes de SageMaker IA para Kubeflow](https://github.com/kubeflow/pipelines/tree/master/components/aws/sagemaker#versioning) Pipelines en. GitHub

**nota**  
Recomendamos a los usuarios que utilicen la versión 2 de un componente de SageMaker IA siempre que esté disponible.

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

  El componente Ground Truth le permite enviar trabajos de etiquetado de SageMaker AI Ground Truth directamente desde un flujo de trabajo de Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)
+ **Workteam**

  El componente Workteam te permite crear trabajos de SageMaker IA para equipos de trabajo privados directamente desde un flujo de trabajo de Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)

### Componentes de procesamiento de datos
<a name="data-processing-components"></a>
+ **Procesando**

  El componente de procesamiento te permite enviar trabajos de procesamiento a SageMaker AI directamente desde un flujo de trabajo de Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)

### Componentes de entrenamiento
<a name="training-components"></a>
+ **Entrenamiento**

  El componente de formación te permite enviar trabajos de SageMaker formación directamente desde un flujo de trabajo de Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)
+ **Optimización de hiperparámetros**

  El componente de optimización de hiperparámetros te permite enviar trabajos de ajuste de hiperparámetros a SageMaker AI directamente desde un flujo de trabajo de Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)

### Componentes de inferencias
<a name="inference-components-kfp"></a>
+ **Implementación de alojamiento**

  Los componentes de alojamiento permiten implementar un modelo mediante servicios de alojamiento de SageMaker IA desde un flujo de trabajo de Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)
+ **Transformación por lotes**

  El componente Batch Transform te permite ejecutar trabajos de inferencia para un conjunto de datos completo en SageMaker IA desde un flujo de trabajo de Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)
+ **Monitor de modelos**

  Los componentes de Model Monitor le permiten monitorear la calidad de los modelos de aprendizaje automático de SageMaker IA en producción a partir de un flujo de trabajo de Kubeflow Pipelines.    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/kubernetes-sagemaker-components-for-kubeflow-pipelines.html)

## Permisos de IAM
<a name="iam-permissions"></a>

La implementación de Kubeflow Pipelines con componentes de SageMaker IA requiere los siguientes tres niveles de autenticación: 
+ Un rol de IAM que otorga a su nodo de puerta de enlace (que puede ser su equipo local o una instancia remota) acceso al clúster de Amazon Elastic Kubernetes Service (Amazon EKS).

  El usuario que accede al nodo de puerta de enlace asume este rol para:
  + Crear un clúster de Amazon EKS e instalar KFP.
  + Crear roles de IAM.
  + Crear buckets de Amazon S3 para sus datos de entrada de muestra.

  El rol requiere los siguientes permisos:
  + 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 (Cree esta política con el esquema de [Amazon EKS Identity-Based Policy Examples](https://docs.aws.amazon.com/eks/latest/userguide/security_iam_id-based-policy-examples.html)) 
+ Una función de ejecución de la IAM de Kubernetes asumida por los módulos de canalización de Kubernetes (**kfp-example-pod-role**) o el operador de IA para que el pod controlador de Kubernetes acceda a la IA. SageMaker SageMaker Esta función se utiliza para crear SageMaker y supervisar los trabajos de IA desde Kubernetes.

  El rol requiere el siguiente permiso:
  + AmazonSageMakerFullAccess 

  Puede limitar los permisos a los pods de control y KFP creando y asociando su propia política personalizada.
+ Función de ejecución de IAM de SageMaker IA que asumen los trabajos de SageMaker IA para acceder a AWS recursos como Amazon S3 o Amazon ECR (**kfp-example-sagemaker-execution-role**).

  SageMaker Los trabajos de IA utilizan esta función para:
  + Acceda a los recursos de SageMaker IA
  + Ingresar datos desde Amazon S3.
  + Guardar su modelo de salida en Amazon S3.

  El rol requiere los siguientes permisos:
  + AmazonSageMakerFullAccess 
  + AmazonS3FullAccess 

## Conversión de canalizaciones para usar IA SageMaker
<a name="converting-pipelines-to-use-amazon-sagemaker"></a>

Para convertir una canalización existente para usar SageMaker IA, puedes portar tus contenedores genéricos de [procesamiento de Python y contenedores](https://docs.aws.amazon.com/sagemaker/latest/dg/amazon-sagemaker-containers.html) [de entrenamiento](https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo.html). Si utilizas la SageMaker IA para realizar inferencias, también debes adjuntar los permisos de IAM a tu clúster y convertir un artefacto en un modelo.